home *** CD-ROM | disk | FTP | other *** search
- This is a complete list of all known hardware register on the Atari
- ST, including the STE hardware list. It is a tranlsation of a german
- article that appered in ST-magazine. We've put (STE) after each new
- specific register on the STE. Since we do not have an STE to test
- this we're not sure that every thing is correct, if you discover an
- error, please let us know.
-
-
- -------------
- Configuration
-
- ff8000 R/W !------------xxxx! Memory configuration
- !!!!
- --------- Bank 0 Bank 1 (not used)
- xx00 128 Kbyte
- xx01 512 Kbyte
- xx10 2 Mbyte
- xx11 Reserved
- 00xx 128 Kbyte
- 01xx 512 Kbyte
- 10xx 2 Mbyte
- 11xx Reserved
-
- -------
- Display
-
- ff8200 R/W !--------xxxxxxxx! Video base high
- ff8202 R/W !--------xxxxxxxx! Video base mid
-
- ff8204 R/W !----------xxxxxx! Video adress counter high (STE)
- ff8206 R/W !--------xxxxxxxx! Video adress counter mid (STE)
- ff8208 R/W !--------xxxxxxx-! Video adress counter low (STE)
-
- The Video adress counter is can now be changed on the spot so be
- careful to only change this on VBL interrupts.
-
- ff820a R/W !------xx! Sync mode
- !!
- ! ------- Externl/_internal sync
- -------- 50 Hz/ 60 Hz Field rate
-
- ff820c R/W !--------xxxxxxx-! Video base low (STE)
-
- This register contains low byte of the screen, enables word alignment
- of the video base and therefore also smooth vertical scrolling.
-
-
- ff820e R/W !--------xxxxxxxx! Linewidth (STE)
-
- With this you can have an offset added to video adress counter after
- a pixelline is displayed.
-
- ff8240 R/W !----032103210321! Palette color 0/0 (Border)
- !!!!!!!!!!!!
- !!! !!! !! --- Inverted/ normal monochrome
- !!! !!! !!!
- !!! !!! ----- Blue
- !!! --------- Green
- ------------- Red
-
- The format of 0321 is needed to keep compatible with the standard ST.
-
- ff8242 R/W !----032103210321! Palette color 1/1
- ff8244 R/W !----032103210321! Palette color 2/2
- ff8246 R/W !----032103210321! Palette color 3/3
- ff8248 R/W !----032103210321! Palette color 4
- ff824a R/W !----032103210321! Palette color 5
- ff824c R/W !----032103210321! Palette color 6
- ff824e R/W !----032103210321! Palette color 7
- ff8250 R/W !----032103210321! Palette color 8
- ff8252 R/W !----032103210321! Palette color 9
- ff8254 R/W !----032103210321! Palette color 10
- ff8256 R/W !----032103210321! Palette color 11
- ff8258 R/W !----032103210321! Palette color 12
- ff825a R/W !----032103210321! Palette color 13
- ff825c R/W !----032103210321! Palette color 14
- ff825e R/W !----032103210321! Palette color 15
-
- ff8260 R/W !------xx! Shift mode
- !!
- 00 320 x 200, 4 plane
- 01 640 x 200, 2 plane
- 10 640 x 400, 1 plane
- 11 Reserved
-
- ff8264 R/W !------------xxxx! Horizontal scroll (STE)
-
- This determines how many bits the screendisplay will be shifted when
- it's displayed, special made for smooth horizontal scrolling together
- with a suitable value in register ff820e.
-
-
- --------
- Reserved
-
- ff8400 !----------------! Reserved
-
-
- --------
- DMA/Disk
-
- ff8600 !----------------! Reserved
- ff8602 !----------------! Reserved
-
- ff8604 R/W !--------xxxxxxxx! Disk controller (Word access)
- ff8606 R !-------------xxx! DMA Status (Word access)
- !!!
- !! ---- Error status
- ! ----- Sector count zero status
- ------ Data request inact status
-
- ff8606 W !-------xxxxxxxx-! DMA Mode control (Word access)
- !!!!!!!!
- !!!!!!! ---- A0
- !!!!!! ----- A1
- !!!!! ------ HDC / FDC register select
- !!!! ------- Sector count register select
- !!! -------- 0, Reserved
- !! --------- Disable / enable DMA
- ! ---------- FDC / HDC
- ----------- Write / read
-
- ff8609 R/W !xxxxxxxx! DMA base and counter high
- ff860b R/W !xxxxxxxx! DMA base and counter mid
- ff860d R/W !xxxxxxxx! DMA base and counter low
-
-
- -----
- Sound
-
- ff8800 R !xxxxxxxx! PSG read data
- !!!!!!!! I/O port B
- ----------- Parallel interface data
- ff8800 W !xxxxxxxx! PSG Register select
- !!!!
- --------- Register number
- 0000 Channel A fine tune
- 0001 Channel A coarse tune
- 0010 Channel B fine tune
- 0011 Channel B coarse tune
- 0100 Channel C fine tune
- 0101 Channel C coarse tune
- 0110 Noise generator control
- 0111 Mixer control - I/O enabled
- 1000 Channel A amplitude
- 1001 Channel B amplitude
- 1010 Channel C amplitude
- 1011 Envelope period fine tune
- 1100 Envelope period coarse tune
- 1101 I/O port A (output only)
- 1111 I/O port B
-
- ff8802 W !xxxxxxxx! PSG write data
- !!!!!!!! I/O port A
- !!!!!!! ----- Floppy side 0/1 select
- !!!!!! ------ Floppy drive 0 select
- !!!!! ------- Floppy drive 1 select
- !!!! -------- RS232 request to send
- !!! --------- RS232 data terminal ready
- !! ---------- Centronics STROBE
- ! ----------- General purpose output
- ------------ Reserved
- !!!!!!!! I/P port B
- ------------ Parallel interface data
-
-
- --------------------
- Extra joystick ports
-
- ff9200 R !------------xxxx! Fire 0-3 (STE)
- !!!!
- !!! ---- Firebutton joystick 0
- !! ----- Firebutton joystick 2
- ! ------ Firebutton joystick 1
- ------- Firebutton joystick 3
- ff9202 R/W !xxxxxxxxxxxxxxxx! Joystick 0-3 (STE)
- !!!!!!!!!!!!!!!!
- !!!!!!!!!!!!!!! ---- Joystick 0, right
- !!!!!!!!!!!!!! ----- Joystick 0, left
- !!!!!!!!!!!!! ------ Joystick 0, down
- !!!!!!!!!!!! ------- Joystick 0, up
- !!!!!!!! ----------- Joystick 2, same as above
- !!!! --------------- Joystick 1, same as above
- ------------------- Joystick 3, same as above
- Joystick 1 and 3 are the two old ports and 0, 2 are the new ones,
- only 0 and 2 can be written to.
-
- ff9210 R !--------xxxxxxxx! X paddle 0 (STE)
- ff9212 R !--------xxxxxxxx! Y paddle 0 (STE)
- ff9214 R !--------xxxxxxxx! X paddle 1 (STE)
- ff9216 R !--------xxxxxxxx! Y paddle 1 (STE)
-
- You can attach two pairs of paddles to the new joyports, giving you a
- total of four paddles. Fire is the same as for joystick, trigger for
- paddles are in bit 0 and bit 1 of adress ff9202.
-
- ff9220 R !------xxxxxxxxxx! Light X (STE)
- ff9222 R !------xxxxxxxxxx! Light Y (STE)
-
- This is for lightpen or lightgun that can be placed in joystickport 0
- . Y cordinate is always exact but X has a lower resolution then the
- screen.
- 4 pixel in 320x200 mode
- 8 pixel in 640x200 mode
- 16 pixel in 640x400 mode
- Therefore you will also have to multiply the X cordinate result with
- 2 or 4 when you are in medium or high resolution.
-
-
- ---------
- Sound-DMA
-
- ff8900 R/W !-------------xxx! Sound DMA control (STE)
- !!
- ------
- 00 Sound-DMA turned off
- 01 Sound-DMA on, play and stop
- 10 Sound-DMA on, play and repeat
-
- ff8902 R/W !----------xxxxxx! Framebase high (STE)
- ff8904 R/W !--------xxxxxxxx! Framebase mid (STE)
- ff8906 R/W !--------xxxxxxx-! Framebase low (STE)
-
- Start of sample to be played.
-
- ff8908 R !----------xxxxxx! Frame adress counter high (STE)
- ff890a R !--------xxxxxxxx! Frame adress counter mid (STE)
- ff890c R !--------xxxxxxx-! Frame adress counter low (STE)
-
- ff890e R/W !----------xxxxxx! Frame end adress high (STE)
- ff8910 R/W !--------xxxxxxxx! Frame end adress mid (STE)
- ff8912 R/W !--------xxxxxxx-! Frame end adress low (STE)
-
- ff8920 R/W !--------x-----xx! Sound mode control (STE)
- ! !!
- ! ------- Sample frequence
- ! 00 6258 Hz
- ! 01 12517 Hz
- ! 10 25033 Hz
- ! 11 50066 Hz
- ------------- Stereo(0)/Mono(1) mode
-
- In stereo the sample frequency is halfed.
-
- ff8922 R/W !xxxxxxxxxxxxxxxx! Microwire data (STE)
- ff8924 R/W !xxxxxxxxxxxxxxxx! Microwire mask (STE)
-
- The Microwire interface allows for future chip expansion, one is
- already present. The LMC1992-computer takes care of tone and volume
- of DMA sample-sounds. LMC1992 has the device adress of 01. To use it
- you must always put $7fff into the mask register.
- The command is placed into the dataregister in the following form:
-
- -- 01 011 xxx xxx - Set main volume
- 000 000 - -80 dB
- 010 100 - -40 dB (2 dB resolution)
- 101 000 - 0 dB
-
- -- 01 101 -xx xxx - Set left volume
- 00 000 - -40 dB
- 01 010 - -20 dB (2 dB resolution)
- 10 100 - 0 dB
-
- -- 01 100 -xx xxx - Set right volume
- 00 000 - -40 dB
- 01 010 - -20 dB (2 dB resolution)
- 10 100 - 0 dB
-
- -- 01 010 --x xxx - Set treble
- 0 000 - -12 dB
- 0 110 - 0 dB (2 dB resolution)
- 1 100 - +12 dB
-
- -- 01 001 --x xxx - Set bass
- 0 000 - -12 dB
- 0 110 - 0 dB (2 dB resolution)
- 1 100 - +12 dB
-
- -- 01 000 --- -xx - Define mixing
- 00 - -12 dB
- 01 - Mix with GI sound chip
- 10 - Don't mix with GI sound chip
- 11 - Reserved
-
-
- -------
- MC68xxx
-
- fffa01 !xxxxxxxx! MFP general purpose I/O
- fffa03 !xxxxxxxx! MFP active edge
- fffa05 !xxxxxxxx! MFP data direction
- fffa07 !xxxxxxxx! MFP interrupt enable A
- fffa09 !xxxxxxxx! MFP interrupt enable B
- fffa0b !xxxxxxxx! MFP interrupt pending A
- fffa0d !xxxxxxxx! MFP interrupt pending B
- fffa0f !xxxxxxxx! MFP interrupt in-service A
- fffa11 !xxxxxxxx! MFP interrupt in-service B
- fffa13 !xxxxxxxx! MFP interrupt mask A
- fffa15 !xxxxxxxx! MFP interrupt mask B
- fffa17 !xxxxxxxx! MFP vector
- fffa19 !xxxxxxxx! MFP timer A control
- fffa1b !xxxxxxxx! MFP timer B control
- fffa1d !xxxxxxxx! MFP timers C & D control
- fffa1f !xxxxxxxx! MFP timer A data
- fffa21 !xxxxxxxx! MFP timer B data
- fffa23 !xxxxxxxx! MFP timer C data
- fffa25 !xxxxxxxx! MFP timer D data
- fffa27 !xxxxxxxx! MFP sync character
- fffa29 !xxxxxxxx! MFP USART control
- fffa2b !xxxxxxxx! MFP receiver status
- fffa2d !xxxxxxxx! MFP transmitter status
- fffa2d !xxxxxxxx! MFP USART data
-
-
- ------
- MC68xx
-
- fffc00 !xxxxxxxx! Keyboard ACIA control
- fffc02 !xxxxxxxx! Keyboard ACIA data
-
- fffc04 !xxxxxxxx! MIDI ACIA control
- fffc06 !xxxxxxxx! MIDI ACIA data
-
-
-