home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-10 | 61.4 KB | 1,016 lines |
-
- .---------------------------------------------------.
- |Atari ST/STe/MSTe/TT/F030 Hardware Register Listing|
- `---------------------------------------------------'
-
- Version 5.6 - 6/6/93
- By Dan Hollis
- Copyright (C) 1993 MicroImages Software
-
- ------------------------------------------------------------------------------
- This document may only be copied unmodified, in its entirety. This document
- may only be copied freely, and may not be sold. I make no guarantees as to the
- accuracy of this document. I cannot be responsible for the use or misuse of
- information contained within this document. Use at your own risk! In any case,
- every effort has been taken to ensure this document is as complete and
- accurate as possible.
- ------------------------------------------------------------------------------
-
- Thanks to the following people for their contributions!
-
- Markus Gutschke, Alexander Herzlinger, Karsten Isakovic, Thomas Binder
-
-
- Corrections, additions, or comments should be sent to me. I can be contacted
- at the following addresses:
-
- InterNet : dhollis@bitsink.gbdata.com
- dhollis@zero.cypher.com
- Snail : Dan Hollis
- P.O. Box 580448
- Houston, TX 77258
-
- Address Size Description Bits used Read/Write
- -------+-----+--------------------------------------------+----------
- ##############ADSPEED Configuration registers ###########
- -------|-----|--------------------------------------------|----------
- $F00000|byte |Switch to 16 Mhz |W
- $F10000|byte |Switch to 8 Mhz |W
- $F20000|byte |Turn on high speed ROM option in 16 Mhz |W
- $F30000|byte |Turn off high speed ROM option |W
- $F40000|byte |Unknown |W
- $F50000|byte |Turn off cache while in 16 Mhz |W
- | | >> Write 0 to an address to set it. << |
- -------+-----+--------------------------------------------+----------
- ##############Falcon IDE Controller ###########
- -------+-----+--------------------------------------------+----------
- $F00000|???? |??? |??? (F030)
- : | : | : | : :
- $F0003F|???? |??? |??? (F030)
- -------+-----+--------------------------------------------+----------
- ##############ST MMU Controller ###########
- -------+-----+--------------------------------------------+----------
- $FF8001|byte |MMU memory configuration BIT 3 2 1 0|R/W
- | |Bank 0 | | | ||
- | |00 - 128k ---------------------------+-+ | ||
- | |01 - 512k ---------------------------+-+ | ||
- | |10 - 2m -----------------------------+-+ | ||
- | |11 - reserved -----------------------+-' | ||
- | |Bank 1 | ||
- | |00 - 128k -------------------------------+-+|
- | |01 - 512k -------------------------------+-+|
- | |10 - 2m ---------------------------------+-+|
- | |11 - reserved ---------------------------+-'|
- -------+-----+--------------------------------------------+----------
- ##############Falcon030 Processor Control ###########
- -------+-----+--------------------------------------------+----------
- $FF8007|byte |Falcon Bus Control BIT . . 5 . . 2 . 0|R/W (F030)
- | |STe Bus Emulation (0 - on) ------' | ||
- | |Blitter (0 - 8mhz, 1 - 16mhz) ---------' ||
- | |68030 (0 - 8mhz, 1 - 16mhz) ---------------'|
- -------+-----+--------------------------------------------+----------
- ##############SHIFTER Video Controller ###########
- -------+-----+--------------------------------------------+----------
- $FF8201|byte |Video screen memory position (high byte) |R/W
- $FF8203|byte |Video screen memory position (mid byte) |R/W
- $FF820D|byte |Video screen memory position (low byte) |R/W (STe)
- $FF8205|byte |Video address pointer (high byte) |R
- $FF8207|byte |Video address pointer (mid byte) |R
- $FF8209|byte |Video address pointer (low byte) |R
- $FF820E|word |Offset to next line |R/W (F030)
- $FF820F|byte |Width of a scanline (width in words-1) |R/W (STe)
- $FF8210|word |Width of a scanline (width in words) |R/W (F030)
- $FF8265|byte |Horizontal scroll register (0-15) |R/W (STe)
- -------+-----+--------------------------------------------+----------
- $FF820A|byte |Video synchronization mode BIT 1 0|R/W
- | | 0 - 60hz, 1 - 50hz -' ||
- | | 0 - internal, 1 - external sync ---'|
- | +--------------------------------------------+
- | |NOTE: On the TT these bits are reversed, and|
- | |50/60hz is inoperative on the TT! Check what|
- | |machine you are running on before twiddling|
- | |with these bits. |
- -------+-----+--------------------------------------------+----------
- | | BIT 11111198 76543210|
- | | 543210 |
- | | ST color value .....RRR .GGG.BBB|
- | |STe/TT Color value ....rRRR gGGGbBBB|
- $FF8240|word |Video palette register 0 |R/W
- : | : | : : : : | :
- $FF825E|word |Video palette register 15 |R/W
- -------+-----+--------------------------------------------+----------
- $FF8260|byte |Shifter resolution BIT 1 0|R/W
- | |00 320x200x4 bitplanes (16 colors) ------+-+|
- | |01 640x200x2 bitplanes (4 colors) -------+-+|
- | |10 640x400x1 bitplane (1 colors) -------+-'|
- $FF8262|byte |TT Shifter resolution BIT 2 1 0|R/W (TT)
- | |000 320x200x4 bitplanes (16 colors) --+-+-+|
- | |001 640x200x2 bitplanes (4 colors) ---+-+-+|
- | |010 640x400x1 bitplane (2 colors) ---+-+-+|
- | |100 640x480x4 bitplanes (16 colors) --+-+-+|
- | |110 1280x960x1 bitplane (1 color) ----+-+-+|
- | |111 320x480x8 bitplanes (256 colors) -+-+-'|
- -------+-----+--------------------------------------------+----------
- $FF827E|???? |STACY Display Driver |???(STACY)
- -------+-----+--------------------------------------------+----------
- $FF8400|word |TT Palette 0 |R/W (TT)
- : | : | : : : | : :
- $FF85FE|word |TT Palette 255 |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############Falcon030 VIDEL Video Controller ###########
- -------+-----+--------------------------------------------+----------
- $FF8006|byte |Monitor Type BIT 1 0|R (F030)
- | |00 - Monochrome (SM124) -----------------+-+|
- | |01 - Color (SC1224) ---------------------+-+|
- | |10 - VGA Color --------------------------+-+|
- | |11 - Television -------------------------+-'|
- $FF820E|word |Offset to next line |R/W (F030)
- $FF8210|word |VWRAP - Linewidth in words |R/W (F030)
- $FF8266|word |SPSHIFT BIT 1 . 8 . 6 5 4 . . . .|R/W (F030)
- | | 0 | | | | |
- | |2-colour mode ---------' | | | | |
- | |Truecolour mode -----------' | | | |
- | |Use external hsync ------------' | | |
- | |Use external vsync --------------' | |
- | |Bitplane mode ---------------------' |
- | +--------------------------------------------+
- | | Horizontal Control Registers (9bit)|
- $FF8280|word |HHC - Horizontal Hold Counter |R (F030)
- $FF8282|word |HHT - Horizontal Hold Timer |R/W (F030)
- $FF8284|word |HBB - Horizontal Border Begin |R/W (F030)
- $FF8286|word |HBE - Horizontal Border End |R/W (F030)
- $FF8288|word |HDB - Horizontal Display Begin |R/W (F030)
- $FF828A|word |HDE - Horizontal Display End |R/W (F030)
- $FF828C|word |HSS - Horizontal SS |R/W (F030)
- $FF828E|word |HFS - Horizontal FS |R/W (F030)
- $FF8290|word |HEE - Horizontal EE |R/W (F030)
- | +--------------------------------------------+
- | | Vertical Control Registers (10bit)|
- $FF82A0|word |VFC - Vertcial Frequency Counter |R (F030)
- $FF82A2|word |VFT - Vertical Frequency Timer |R/W (F030)
- $FF82A4|word |VBB - Vertical Border Begin |R/W (F030)
- $FF82A6|word |VBE - Vertical Border End (count 1/2 lines)|R/W (F030)
- $FF82A8|word |VDB - Vertical Display Begin |R/W (F030)
- $FF82AA|word |VDE - Vertical Display End |R/W (F030)
- $FF82AC|word |VSS - Vertical SS |R/W (F030)
- | +--------------------------------------------+
- $FF82C2|word |VCO - Video Control BIT 3 2 1 0|R/W (F030)
- | |Quarter pixel width (4x pixels) -----' | | ||
- | |Halve pixel width (double pixels) -----' | ||
- | |Skip line (interlace) -------------------' ||
- | |Line doubling -----------------------------'|
- -------+-----+--------------------------------------------+----------
- ##############DMA/WD1772 Disk controller ###########
- -------+-----+--------------------------------------------+----------
- $FF8600| |Reserved |
- $FF8602| |Reserved |
- $FF8604|word |FDC access/sector count |R/W
- $FF8606|word |DMA mode/status BIT 2 1 0|R
- | |Condition of FDC DATA REQUEST signal --' | ||
- | |0 - sector count null,1 - not null ------' ||
- | |0 - no error, 1 - DMA error ---------------'|
- $FF8606|word |DMA mode/status BIT 8 7 6 . 4 3 2 1 .|W
- | |0 - read FDC/HDC,1 - write ' | | | | | | | |
- | |0 - HDC access,1 - FDC access' | | | | | | |
- | |0 - DMA on,1 - no DMA ---------' | | | | | |
- | |reserved ------------------------' | | | | |
- | |0 - FDC reg,1 - sector count reg --' | | | |
- | |0 - FDC access,1 - HDC access -------' | | |
- | |0 - pin A1 low, 1 - pin A1 high -------' | |
- | |0 - pin A0 low, 1 - pin A0 high ---------' |
- $FF8609|byte |DMA base and counter (High byte) |R/W
- $FF860B|byte |DMA base and counter (Mid byte) |R/W
- $FF860D|byte |DMA base and counter (Low byte) |R/W
- -------+-----+--------------------------------------------+----------
- ##############TT-SCSI DMA Controller ###########
- -------+-----+--------------------------------------------+----------
- $FF8701|byte |TT-SCSI-DMA Address Pointer (Highest byte) |R/W (TT)
- $FF8703|byte |TT-SCSI-DMA Address Pointer (High byte) |R/W (TT)
- $FF8705|byte |TT-SCSI-DMA Address Pointer (Low byte) |R/W (TT)
- $FF8707|byte |TT-SCSI-DMA Address Pointer (Lowest byte) |R/W (TT)
- $FF8709|byte |TT-SCSI-DMA Address Counter (Highest byte) |??? (TT)
- $FF870B|byte |TT-SCSI-DMA Address Counter (High byte) |??? (TT)
- $FF870D|byte |TT-SCSI-DMA Address Counter (Low byte) |??? (TT)
- $FF870F|byte |TT-SCSI-DMA Address Counter (Lowest byte) |??? (TT)
- $FF8710|???? |TT-SCSI-DMA Continue Data Register High Word|R/W (TT)
- $FF8712|???? |TT-SCSI-DMA Continue Data Register Low Word |R/W (TT)
- $FF8714|???? |TT-SCSI-DMA Control register |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############TT-SCSI Drive Controller 5380 ###########
- -------+-----+--------------------------------------------+----------
- $FF8781|byte |Contents of SCSI-Data buses |R/W (TT)
- $FF8783|byte |Init-Command Register |R/W (TT)
- $FF8785|byte |Transfer Start Register |R/W (TT)
- $FF8787|byte |Target-Command Register |R/W (TT)
- $FF8789|byte |Bus Status Register |R/W (TT)
- $FF878B|byte |Status Register |R/W (TT)
- $FF878D|byte |Command Data from SCSI-Bus |R/W (TT)
- $FF878F|byte |Reset DMA/Parity error/begin DMA transfer |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############YM2149 Sound Chip ###########
- -------+-----+--------------------------------------------+----------
- $FF8800|byte |Read data/Register select |R/W
- | |Port A (register 14) BIT 7 6 5 4 3 2 1 0|
- | |IDE Drive On/OFF ------------' | | | | | | || (F030)
- | |Monitor jack GPO pin ----------+ | | | | | ||
- | |Internal Speaker On/Off -------' | | | | | || (F030)
- | |Centronics strobe ---------------' | | | | ||
- | |RS-232 DTR output -----------------' | | | ||
- | |RS-232 RTS output -------------------' | | ||
- | |Drive select 1 ------------------------' | ||
- | |Drive select 0 --------------------------' ||
- | |Drive side select -------------------------'|
- | |Port B - (register 15) Parallel port |
- $FF8802|byte |Write data |W
- | +--------------------------------------------+
- | |Note: PSG Registers are now fixed at these|
- | |addresses. All other addresses are masked|
- | |out on the Falcon. Any writes to the shadow|
- | |registers $8804-$8900 will cause a bus error|
- -------+-----+--------------------------------------------+----------
- ##############DMA Sound System ###########
- -------+-----+--------------------------------------------+----------
- $FF8900|byte |Buffer interrupts BIT 3 2 1 0|R/W (F030)
- | |TimerA-Int at end of record buffer --' | | ||
- | |TimerA-Int at end of replay buffer ----' | ||
- | |MFP-15-Int (I7) at end of record buffer -' ||
- | |MFP-15-Int (I7) at end of replay buffer ---'|
- -------+-----+--------------------------------------------+----------
- $FF8901|byte |DMA Control Register BIT 7 . 5 4 . . 1 0|R/W
- | |1 - select record register --+ | | | || (F030)
- | |0 - select replay register --' | | | || (F030)
- | |Loop record buffer --------------' | | || (F030)
- | |DMA Record on ---------------------' | || (F030)
- | |Loop replay buffer ----------------------' || (STe)
- | |DMA Replay on -----------------------------'| (STe)
- -------+-----+--------------------------------------------+----------
- $FF8903|byte |Frame start address (high byte) |R/W (STe)
- $FF8905|byte |Frame start address (mid byte) |R/W (STe)
- $FF8907|byte |Frame start address (low byte) |R/W (STe)
- $FF8909|byte |Frame address counter (high byte) |R (STe)
- $FF890B|byte |Frame address counter (mid byte) |R (STe)
- $FF890D|byte |Frame address counter (low byte) |R (STe)
- $FF890F|byte |Frame end address (high byte) |R/W (STe)
- $FF8911|byte |Frame end address (mid byte) |R/W (STe)
- $FF8913|byte |Frame end address (low byte) |R/W (STe)
- -------+-----+--------------------------------------------+----------
- $FF8920|byte |DMA Track Control BIT 5 4 . . 1 0|R/W (F030)
- | |00 - Set DAC to Track 0 ---------+-+ | ||
- | |01 - Set DAC to Track 1 ---------+-+ | ||
- | |10 - Set DAC to Track 2 ---------+-+ | ||
- | |11 - Set DAC to Track 3 ---------+-' | ||
- | |00 - Play 1 Track -----------------------+-+|
- | |01 - Play 2 Tracks ----------------------+-+|
- | |10 - Play 3 Tracks ----------------------+-+|
- | |11 - Play 4 Tracks ----------------------+-'|
- -------+-----+--------------------------------------------+----------
- $FF8921|byte |Sound mode control BIT 7 6 . . . . 1 0|R/W (STe)
- | |0 - Stereo, 1 - Mono --------' | | ||
- | |0 - 8bit ----------------------+ | ||
- | |1 - 16bit (F030 only) ---------' | || (F030)
- | |Frequency control bits | ||
- | |00 - Off (F030) -------------------------+-+| (F030)
- | |00 - 6258hz frequency (STe only) --------+-+|
- | |01 - 12517hz frequency ------------------+-+|
- | |10 - 25033hz frequency ------------------+-+|
- | |11 - 50066hz frequency ------------------+-'|
- | |Samples are always signed. In stereo mode, |
- | |data is arranged in pairs with high pair the|
- | |left channel, low pair right channel. Sample|
- | |length must ALWAYS be even in either mono or|
- | |stereo mode. |
- | |Example: 8 bit Stereo : LRLRLRLRLRLR |
- | | 16 bit Stereo : LLRRLLRRLLRR (F030) |
- | |2 track 16 bit stereo : LLRRllrrLLRR (F030) |
- -------+-----+--------------------------------------------+----------
- ##############STe Microwire Controller (STe only!) ###########
- -------+-----+--------------------------------------------+----------
- $FF8922|byte |Microwire data register |R/W (STe)
- $FF8924|byte |Microwire mask register |R/W (STe)
- | +--------------------------------------------+
- | |Volume/tone controller commands(Address %10)|
- | |Master Volume 10 011 DDDDDD|
- | |Left Volume 10 101 xDDDDD|
- | |Right Volume 10 100 xDDDDD|
- | |Treble 10 010 xxDDDD|
- | |Bass 10 001 xxDDDD|
- | |Mixer 10 000 xxxxDD|
- | +--------------------------------------------+
- | |Volume/tone controller values |
- | |Master Volume : 0-40 (0 -80db, 40=0db)|
- | |Left/Right Volume : 0-20 (0 80db, 20=0db)|
- | |Treble/bass : 0-12 (0 -12db, 12 +12db)|
- | |Mixer : 0-3 (0 -12db, 1 mix PSG)|
- | | (2 don't mix,3 reserved)|
- | +--------------------------------------------+
- | |Procedure: |
- | |Set mask register to $7ff |
- | |Read data register and save original value |
- | |Write data register |
- | |Compare data register with original value, |
- | |repeat until data register returns to |
- | |original value to ensure data has been sent |
- | |over the interface. |
- | +--------------------------------------------+
- | |Interrupts: |
- | |Timer A can be set to interrupt at the end |
- | |of a frame. Alternatively, the GPI7 (MFP |
- | |mono detect) can be used to generate |
- | |interrupts thereby freeing up Timer A. In |
- | |this case, the active edge $FFFA03 must be |
- | |set by or-ing the active edge $FFFA03 with |
- | |the contents of $ff8260 as follows: |
- | |$FF8260 - 2 (mono) or.b #$80 with edge |
- | |$FF8260 - 0,1 (colour) and.b #$7f with edge |
- | |This will generate an interrupt at the START|
- | |of a frame, instead of at the end as with |
- | |Timer A. To generate an interrupt at the END|
- | |of a frame, simply reverse the edge values. |
- -------+-----+--------------------------------------------+----------
- ##############Falcon030 DMA/DSP Controllers ###########
- -------+-----+--------------------------------------------+----------
- $FF8930|word |Crossbar Source Controller |R/W (F030)
- | +--------------------------------------------+
- | |Source: External Input BIT 3 2 1 0|
- | |0 - DSP IN, 1 - All others ----------' | | ||
- | |00 - 25.175Mhz clock ------------------+-+ ||
- | |01 - External clock -------------------+-+ ||
- | |10 - 32Mhz clock ----------------------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Source: A/D Convertor BIT 7 6 5 4|
- | |1 - Connect, 0 - disconnect ---------' | | ||
- | |00 - 25.175Mhz clock ------------------+-+ ||
- | |01 - External clock -------------------+-+ ||
- | |10 - 32Mhz clock (Don't use) ----------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Source: DMA-PLAYBACK BIT 11 10 9 8|
- | |0 - Handshaking on, dest DSP-REC ---+ | | ||
- | |1 - Destination is not DSP-REC -----' | | ||
- | |00 - 25.175Mhz clock ------------------+-+ ||
- | |01 - External clock -------------------+-+ ||
- | |10 - 32Mhz clock ----------------------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Source: DSP-XMIT Bit 15 14 13 12|
- | |0 - Tristate and disconnect DSP --+ | | ||
- | | (Only for external SSI use) | | | ||
- | |1 - Connect DSP to multiplexer ---' | | ||
- | |00 - 25.175Mhz clock ----------------+--+ ||
- | |01 - External clock -----------------+--+ ||
- | |10 - 32Mhz clock --------------------+--' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- -------+-----+--------------------------------------------+----------
- $FF8932|word |Crossbar Destination Controller |R/W (F030)
- | +--------------------------------------------+
- | |Destination: External Output BIT 3 2 1 0|
- | |0 - DSP out, 1 - All others ---------' | | ||
- | |00 - Source DMA-PLAYBACK --------------+-+ ||
- | |01 - Source DSP-XMIT ------------------+-+ ||
- | |10 - Source External Input ------------+-+ ||
- | |11 - Source A/D Convertor -------------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Destination: D/A Convertor BIT 7 6 5 4|
- | |1 - Connect, 0 - Disconnect ---------' | | ||
- | |00 - Source DMA-PLAYBACK --------------+-+ ||
- | |01 - Source DSP-XMIT ------------------+-+ ||
- | |10 - Source External Input ------------+-+ ||
- | |11 - Source A/D Convertor -------------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Destination: DMA-Record BIT 11 10 9 8|
- | |0 - Handshaking on, src DSP-XMIT ---+ | | ||
- | |1 - Source is not DSP-XMIT ---------' | | ||
- | |00 - Source DMA-PLAYBACK --------------+-+ ||
- | |01 - Source DSP-XMIT ------------------+-+ ||
- | |10 - Source External Input ------------+-+ ||
- | |11 - Source A/D Convertor -------------+-' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- | +--------------------------------------------+
- | |Destination: DSP-RECORD BIT 15 14 13 12|
- | |0 - Tristate and disconnect DSP --+ | | ||
- | | (Only for external SSI use) | | | ||
- | |1 - Connect DSP to multiplexer ---' | | ||
- | |00 - Source DMA-PLAYBACK ------------+--+ ||
- | |01 - Source DSP-XMIT ----------------+--+ ||
- | |10 - Source External Input ----------+--+ ||
- | |11 - Source A/D Convertor -----------+--' ||
- | |0 - Handshake on, 1 - Handshake off -------'|
- -------+-----+--------------------------------------------+----------
- $FF8934|byte |Frequency Divider External Clock BIT 3 2 1 0|R/W (F030)
- | |0000 - STe-Compatible mode |
- | |0001 - 1111 Divide by 256 and then number |
- -------+-----+--------------------------------------------+----------
- $FF8935|byte |Frequency Divider Internal Sync BIT 3 2 1 0|R/W (F030)
- | |0000 - STe-Compatible mode 1000 - 10927Hz*|
- | |0001 - 49170Hz 1001 - 9834Hz |
- | |0010 - 32780Hz 1010 - 8940Hz*|
- | |0011 - 24585Hz 1011 - 8195Hz |
- | |0100 - 19668Hz 1100 - 7565Hz*|
- | |0101 - 16390Hz 1101 - 7024Hz*|
- | |0110 - 14049Hz* 1110 - 6556Hz*|
- | |0111 - 12292Hz 1111 - 6146Hz*|
- | | * - Invalid for CODEC |
- -------+-----+--------------------------------------------+----------
- $FF8936|byte |Record Tracks Select BIT 1 0|R/W (F030)
- | |00 - Record 1 Track ---------------------+-+|
- | |01 - Record 2 Tracks --------------------+-+|
- | |10 - Record 3 Tracks --------------------+-+|
- | |11 - Record 4 Tracks --------------------+-'|
- -------+-----+--------------------------------------------+----------
- $FF8937|byte |CODEC Input Source from 16bit adder BIT 1 0|R/W (F030)
- | |Source: Multiplexer ---------------------' ||
- | |Source: A/D Convertor ---------------------'|
- -------+-----+--------------------------------------------+----------
- $FF8938|byte |CODEC ADC-Input for L+R Channel BIT 1 0|R/W (F030)
- | |0 - Microphone, 1 - Soundchip L R|
- -------+-----+--------------------------------------------+----------
- $FF8939|byte |Channel amplification BIT LLLL RRRR|R/W (F030)
- | | Amplification is in +1.5dB steps |
- -------+-----+--------------------------------------------+----------
- $FF893A|word |Channel attenuation BIT LLLL RRRR ....|R/W (F030)
- | | Attenuation is in -1.5dB steps |
- -------+-----+--------------------------------------------+----------
- $FF893C|byte |CODEC-Status BIT 1 0|R/W (F030)
- | |Left Channel Overflow -------------------' ||
- | |Right Channel Overflow --------------------'|
- -------+-----+--------------------------------------------+----------
- $FF8941|byte |GPx Data Direction BIT 2 1 0|R/W (F030)
- | |0 - In, 1 - Out -----------------------+-+-'|
- | | For the GP0-GP2 pins on the DSP connector |
- -------+-----+--------------------------------------------+----------
- $FF8943|byte |GPx Data Port BIT 2 1 0|R/W (F030)
- -------+-----+--------------------------------------------+----------
- ##############TT Clock Chip ###########
- -------+-----+--------------------------------------------+----------
- $FF8961|byte |Register select |???? (TT)
- $FF8963|byte |Data of selected clock chip registers |???? (TT)
- -------+-----+--------------------------------------------+----------
- ##############Blitter (Not present on a TT!) ###########
- -------+-----+--------------------------------------------+----------
- $FF8A00|word |Halftone-RAM, Word 0 |R/W (Blit)
- : | : | : : : : | : :
- $FF8A1E|word |Halftone-RAM, Word 15 |R/W (Blit)
- $FF8A20|word |Source X Increment (signed,even)|R/W (Blit)
- $FF8A22|word |Source Y Increment (signed,even)|R/W (Blit)
- $FF8A24|long |Source Address Register (24 bit,even)|R/W (Blit)
- $FF8A28|word |Endmask 1 (First write of a line)|R/W (Blit)
- $FF8A2A|word |Endmask 2 (All other line writes)|R/W (Blit)
- $FF8A2C|word |Endmask 3 (Last write of a line)|R/W (Blit)
- $FF8A2E|word |Destination X Increment (signed,even)|R/W (Blit)
- $FF8A30|word |Destination Y Increment (signed,even)|R/W (Blit)
- $FF8A32|long |Destination Address Register (24 bit,even)|R/W (Blit)
- $FF8A36|word |Words per Line in Bit-Block (0=65536)|R/W (Blit)
- $FF8A38|word |Lines per Bit-Block (0=65536)|R/W (Blit)
- $FF8A3A|byte |Halftone Operation Register BIT 1 0|R/W (Blit)
- | |00 - All ones ---------------------------+-+|
- | |01 - Halftone ---------------------------+-+|
- | |10 - Source -----------------------------+-+|
- | |11 - Source AND Halftone ----------------+-'|
- $FF8A3B|byte |Logical Operation Register BIT 3 2 1 0|R/W (Blit)
- | |0000 All zeros ----------------------+-+-+-+|
- | |0001 Source AND destination ---------+-+-+-+|
- | |0010 Source AND NOT destination -----+-+-+-+|
- | |0011 Source -------------------------+-+-+-+|
- | |0100 NOT source AND destination -----+-+-+-+|
- | |0101 Destination --------------------+-+-+-+|
- | |0110 Source XOR destination ---------+-+-+-+|
- | |0111 Source OR destination ----------+-+-+-+|
- | |1000 NOT source AND NOT destination -+-+-+-+|
- | |1001 NOT source XOR destination -----+-+-+-+|
- | |1010 NOT destination ----------------+-+-+-+|
- | |1011 Source OR NOT destination ------+-+-+-+|
- | |1100 NOT source ---------------------+-+-+-+|
- | |1101 NOT source OR destination ------+-+-+-+|
- | |1110 NOT source OR NOT destination --+-+-+-+|
- | |1111 All ones -----------------------+-+-+-'|
- $FF8A3C|byte |Line Number Register BIT 7 6 5 . 3 2 1 0|R/W (Blit)
- | |BUSY ------------------------' | | | | | ||
- | |0 - Share bus, 1 - Hog bus ----' | | | | ||
- | |SMUDGE mode ---------------------' | | | ||
- | |Halftone line number ----------------+-+-+-'|
- $FF8A3D|byte |SKEW Register BIT 7 6 . . 3 2 1 0|R/W (Blit)
- | |Force eXtra Source Read -----' | | | | ||
- | |No Final Source Read ----------' | | | ||
- | |Source skew -------------------------+-+-+-'|
- -------+-----+--------------------------------------------+----------
- ##############SCC-DMA (TT Only!) ###########
- -------+-----+--------------------------------------------+----------
- $FF8C01|byte |DMA-Address Pointer (Highest Byte) |R/W (TT)
- $FF8C03|byte |DMA-Address Pointer (High Byte) |R/W (TT)
- $FF8C05|byte |DMA-Address Pointer (Low Byte) |R/W (TT)
- $FF8C07|byte |DMA-Address Pointer (Lowest Byte) |R/W (TT)
- $FF8C09|byte |DMA-Address Counter (Highest-Byte) |R/W (TT)
- $FF8C0B|byte |DMA-Address Counter (High-Byte) |R/W (TT)
- $FF8C0D|byte |DMA-Address Counter (Low-Byte) |R/W (TT)
- $FF8C0F|byte |DMA-Address Counter (Lowest-Byte) |R/W (TT)
- $FF8C10|byte |Continue Data Register (High-Word) |R/W (TT)
- $FF8C12|byte |Continue Data register (Low-Word) |R/W (TT)
- $FF8C14|byte |Control register |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############SCC Z8530 SCC (MSTe/TT/F030) ###########
- -------+-----+--------------------------------------------+----------
- $FF8C81|byte |Channel A - Control-Register |R/W (SCC)
- $FF8C83|byte |Channel A - Data-Register |R/W (SCC)
- $FF8C85|byte |Channel B - Control-Register |R/W (SCC)
- $FF8C87|byte |Channel B - Data-Register |R/W (SCC)
- -------+-----+--------------------------------------------+----------
- ##############MSTe/TT VME Bus ###########
- -------+-----+--------------------------------------------+----------
- $FF8E01|byte |VME sys_mask BIT 7 6 5 4 . 2 1 .|R/W (VME)
- $FF8E03|byte |VME sys_stat BIT 7 6 5 4 . 2 1 .|R/W (VME)
- | |_SYSFAIL in VMEBUS ----------' | | | | | |program
- | |MFP ---------------------------' | | | | |autovec
- | |SCC -----------------------------' | | | |autovec
- | |VSYNC -----------------------------' | | |program
- | |HSYNC ---------------------------------' | |program
- | |System software INT ---------------------' |program
- | +--------------------------------------------+
- | |Reading sys_mask resets pending int-bits in |
- | |sys_stat, so read sys_stat first. |
- -------+-----+--------------------------------------------+----------
- $FF8E05|byte |VME sys_int BIT 0|R/W (VME)
- | |Setting bit 0 to 1 forces an INT of level 1 |Vector $64
- | |INT must be enabled in sys_mask to use it |
- -------+-----+--------------------------------------------+----------
- $FF8E0D|byte |VME vme_mask BIT 7 6 5 4 3 2 1 .|R/W (VME)
- $FF8E0F|byte |VME vme_stat BIT 7 6 5 4 3 2 1 .|R/W (VME)
- | |_IRQ7 from VMEBUS -----------' | | | | | | |program
- | |_IRQ6 from VMEBUS/MFP ---------' | | | | | |program
- | |_IRQ5 from VMEBUS/SCC -----------' | | | | |program
- | |_IRQ4 from VMEBUS -----------------' | | | |program
- | |_IRQ3 from VMEBUS/soft --------------' | | |prog/autov
- | |_IRQ2 from VMEBUS ---------------------' | |program
- | |_IRQ1 from VMEBUS -----------------------' |program
- | +--------------------------------------------+
- | |MFP-int and SCC-int are hardwired to the |
- | |VME-BUS-ints (or'ed) |
- | |Reading vme_mask resets pending int-bits in |
- | |vme_stat, so read vme_stat first. |
- -------+-----+--------------------------------------------+----------
- $FF8E07|byte |VME vme_int BIT 0|R/W (TT)
- | |Setting bit 0 to 1 forces an INT of level 3 |Vector $6C
- | |INT must be enabled in vme_mask to use it |
- -------+-----+--------------------------------------------+----------
- $FF8E09|byte |General purpose register - does nothing |R/W (TT)
- $FF8E0B|byte |General purpose register - does nothing |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############Mega STe Cache/Processor Control ###########
- -------+-----+--------------------------------------------+----------
- $FF8E21|byte |Mega STe Cache/Processor Control |R/W (MSTe)
- -------+-----+--------------------------------------------+----------
- ##############STe Extended Joystick/Lightpen Ports ###########
- -------+-----+--------------------------------------------+----------
- $FF9200|???? |Fire buttons 1-4 |R (STe)
- $FF9202|???? |Joysticks 1-4 |R (STe)
- $FF9210|???? |Paddle 0 Position |R (STe)
- $FF9212|???? |Paddle 1 Position |R (STe)
- $FF9214|???? |Paddle 2 Position |R (STe)
- $FF9216|???? |Paddle 3 Position |R (STe)
- $FF9220|???? |Lightpen X-Position |R (STe)
- $FF9222|???? |Lightpen Y-Position |R (STe)
- -------+-----+--------------------------------------------+----------
- ##############Falcon VIDEL Palette Registers ###########
- -------+-----+--------------------------------------------+----------
- | | BIT 33222222 22221111 11111198 76543210|
- | | 10987654 32109876 543210 |
- | | RRRRRR.. GGGGGG.. ........ BBBBBB..|
- $FF9800|long |Palette Register 0 |R/W (F030)
- : | : | : : : | : :
- $FF98fc|long |Palette Register 255 |R/W (F030)
- -------+-----+--------------------------------------------+----------
- ##############Falcon DSP Host Interface ###########
- -------+-----+--------------------------------------------+----------
- $FFA200|byte |Interrupt Ctrl Register BIT 7 6 5 4 3 . 1 0|R/W (F030)
- X:$FFE9| |INIT bit --------------------' | | | | | ||
- | |00 - Interupt mode (DMA off) --+-+ | | | ||
- | |01 - 24-bit DMA mode ----------+-+ | | | ||
- | |10 - 16-bit DMA mode ----------+-+ | | | ||
- | |11 - 8-bit DMA mode -----------+-' | | | ||
- | |Host Flag 1 -----------------------' | | ||
- | |Host Flag 0 -------------------------' | ||
- | | Host mode Data transfers: | ||
- | | Interrupt mode | ||
- | |00 - No interrupts (Polling) ------------+-+|
- | |01 - RXDF Request (Interrupt) -----------+-+|
- | |10 - TXDE Request (Interrupt) -----------+-+|
- | |11 - RXDF and TXDE Request (Interrupts) -+-+|
- | | DMA Mode | ||
- | |00 - No DMA -----------------------------+-+|
- | |01 - DSP to Host Request (RX) -----------+-+|
- | |10 - Host to DSP Request (TX) -----------+-+|
- | |11 - Undefined (Illegal) ----------------+-'|
- $FFA201|byte |Command Vector Register |R/W (F030)
- X:$FFE9| | BIT 7 . . 4 3 2 1 0|
- | |Host Command Bit (Handshake)-' | | | | ||
- | |Host Vector (0-31) ----------------+-+-+-+-'|
- $FFA202|byte |Interrupt Status Reg BIT 7 6 . 4 3 2 1 0|R (F030)
- X:$FFE8| |ISR Host Request ------------' | | | | | ||
- | |ISR DMA Status ----------------' | | | | ||
- | |Host Flag 3 -----------------------' | | | ||
- | |Host Flag 2 -------------------------' | | ||
- | |ISR Transmitter Ready (TRDY) ----------' | ||
- | |ISR Transmit Data Register Empty (TXDE) -' ||
- | |ISR Receive Data Register Full (RXDF) -----'|
- $FFA203|byte |Interrupt Vector Register |R/W (F030)
- $FFA204|byte |Unused | (F030)
- $FFA205|byte |DSP-Word High |R/W (F030)
- X:$FFEB| | |
- $FFA206|byte |DSP-Word Mid |R/W (F030)
- X:$FFEB| | |
- $FFA207|byte |DSP-Word Low |R/W (F030)
- X:$FFEB| | |
- -------+-----+--------------------------------------------+----------
- ##############MFP 68901 - Multi Function Peripheral Chip ###########
- -------+-----+--------------------------------------------+----------
- | |MFP Master Clock is 2,457,600 cycles/second |
- -------+-----+--------------------------------------------+----------
- $FFFA01|byte |Parallel Port Data Register |R/W
- -------+-----+--------------------------------------------+----------
- $FFFA03|byte |Active Edge Register BIT 7 6 5 4 . 2 1 0|R/W
- | |Monochrome monitor detect ---' | | | | | | ||
- | |RS-232 Ring indicator ---------' | | | | | ||
- | |FDC/HDC interrupt ---------------' | | | | ||
- | |Keyboard/MIDI interrupt -----------' | | | ||
- | |Reserved ----------------------------' | | ||
- | |RS-232 CTS (input) --------------------' | ||
- | |RS-232 DCD (input) ----------------------' ||
- | |Centronics busy ---------------------------'|
- | +--------------------------------------------+
- | | When port bits are used for input only: |
- | |0 - Interrupt on pin high-low conversion |
- | |1 - Interrupt on pin low-high conversion |
- -------+-----+--------------------------------------------+----------
- $FFFA05|byte |Data Direction BIT 7 6 5 4 3 2 1 0|R/W
- | |0 - Pin becomes an input |
- | |1 - Pin becomes an output |
- -------+-----+--------------------------------------------+----------
- $FFFA07|byte |Interrupt Enable A BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA0B|byte |Interrupt Pending A BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA0F|byte |Interrupt In-service A BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA13|byte |Interrupt Mask A BIT 7 6 5 4 3 2 1 0|R/W
- | |MFP Address | | | | | | | ||
- | |$13C GPI7-Monochrome Detect -' | | | | | | ||
- | |$138 RS-232 Ring Detector ---' | | | | | ||
- | |$134 (STe sound) Timer A -----' | | | | ||
- | |$130 Receive buffer full -------' | | | ||
- | |$12C Receive buffer empty ---------' | | ||
- | |$128 Sender buffer empty -----------' | ||
- | |$124 Sender error -------------' ||
- | |$120 (HBL) Timer B ---------------'|
- | |1 - Enable Interrupt 0 - Disable Interrupt|
- -------+-----+--------------------------------------------+----------
- $FFFA09|byte |Interrupt Enable B BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA0D|byte |Interrupt Pending B BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA11|byte |Interrupt In-service B BIT 7 6 5 4 3 2 1 0|R/W
- $FFFA15|byte |Interrupt Mask B BIT 7 6 5 4 3 2 1 0|R/W
- | |MFP Address | | | | | | | ||
- | |$11C FDC/HDC -' | | | | | | ||
- | |$118 Keyboard/MIDI ---' | | | | | ||
- | |$114 (200hz clock) Timer C -----' | | | | ||
- | |$110 (USART timer) Timer D -------' | | | ||
- | |$10C Blitter done ---------' | | ||
- | |$108 RS-232 CTS - input -----------' | ||
- | |$104 RS-232 DCD - input -------------' ||
- | |$100 Centronics Busy ---------------'|
- | |1 - Enable Interrupt 0 - Disable Interrupt|
- -------+-----+--------------------------------------------+----------
- $FFFA17|byte |Vector Register BIT 3|R/W
- | |1 - Software End-of-interrupt mode (Default)|
- | |0 - Automatic End-of-interrupt mode |
- -------+-----+--------------------------------------------+----------
- $FFFA19|byte |Timer A Control BIT 3 2 1 0|R/W
- $FFFA1B|byte |Timer B Control BIT 3 2 1 0|R/W
- | +--------------------------------------------+
- | |0000 - Timer stop, no function executed |
- | |0001 - Delay mode, divide by 4 |
- | |0010 - : : 10 |
- | |0011 - : : 16 |
- | |0100 - : : 50 |
- | |0101 - : : 64 |
- | |0110 - : : 100 |
- | |0111 - Delay mode, divide by 200 |
- | |1000 - Event count mode |
- | |1xxx - Pulse extension mode, divide as above|
- | +--------------------------------------------+
- $FFFA1F|byte |Timer A Data |R/W
- $FFFA21|byte |Timer B Data |R/W
- -------+-----+--------------------------------------------+----------
- $FFFA1D|byte |Timer C & D Control BIT 6 5 4 . 2 1 0|R/W
- | | Timer Timer|
- | | C D |
- | +--------------------------------------------+
- | |000 - Timer stop |
- | |001 - Delay mode, divide by 4 |
- | |010 - : : 10 |
- | |011 - : : 16 |
- | |100 - : : 50 |
- | |101 - : : 64 |
- | |110 - : : 100 |
- | |111 - Delay mode, divide by 200 |
- | +--------------------------------------------+
- $FFFA23|byte |Timer C Data |R/W
- $FFFA25|byte |Timer D Data |R/W
- -------+-----+--------------------------------------------+----------
- $FFFA27|byte |Sync Character |R/W
- $FFFA29|byte |USART Control BIT 7 6 5 4 3 2 1 .|R/W
- | |Clock divide (1 - div by 16) ' | | | | | | ||
- | |Word Length 00 - 8 bits -------+-+ | | | | ||
- | | 01 - 7 bits | | | | | | ||
- | | 10 - 6 bits | | | | | | ||
- | | 11 - 5 bits -------+-' | | | | ||
- | |Bits Stop Start Format ------------+-+ | | ||
- | |00 0 0 Synchronous | | | | ||
- | |01 1 1 Asynchronous | | | | ||
- | |10 1 1.5 Asynchronous | | | | ||
- | |11 1 2 Asynchronous ------+-' | | ||
- | |Parity (0 - ignore parity bit) --------' | ||
- | |Parity (0 - odd parity,1 - even) --------' ||
- | |Unused ------------------------------------'|
- $FFFA2B|byte |Receiver Status BIT 7 6 5 4 3 2 1 0|R/W
- | |Buffer full -----------------' | | | | | | ||
- | |Overrun error -----------------' | | | | | ||
- | |Parity error --------------------' | | | | ||
- | |Frame error -----------------------' | | | ||
- | |Found - Search/Break detected -------' | | ||
- | |Match/Character in progress -----------' | ||
- | |Synchronous strip enable ----------------' ||
- | |Receiver enable bit -----------------------'|
- $FFFA2D|byte |Transmitter Status BIT 7 6 5 4 3 2 1 0|R/W
- | |Buffer empty ----------------' | | | | | | ||
- | |Underrun error ----------------' | | | | | ||
- | |Auto turnaround -----------------' | | | | ||
- | |End of transmission ---------------' | | | ||
- | |Break -------------------------------' | | ||
- | |High bit ------------------------------' | ||
- | |Low bit ---------------------------------' ||
- | |Transmitter enable ------------------------'|
- $FFFA2F|byte |USART data |R/W
- -------+-----+--------------------------------------------+----------
- #############Floating Point Coprocessor (in MSTe) ###########
- -------+-----+--------------------------------------------+----------
- $FFFA40|???? |FP_stat Response-Register |??? (MSTe)
- $FFFA42|???? |FP_ctl Control-Register |??? (MSTe)
- $FFFA44|???? |FP_save Save-Register |??? (MSTe)
- $FFFA46|???? |FP_restor Restore-Register |??? (MSTe)
- $FFFA4A|???? |FP_cmd Command-Register |??? (MSTe)
- $FFFA4E|???? |FP_ccr Condition-Code-Register |??? (MSTe)
- $FFFA50|???? |FP_op Operanden-Register |??? (MSTe)
- $FFFA54|???? |FP_selct Register Select |??? (MSTe)
- $FFFA58|???? |FP_iadr Instruction Address |??? (MSTe)
- -------+-----+--------------------------------------------+----------
- ##############MFP 68901 #2 (MFP2) - TT Only ###########
- -------+-----+--------------------------------------------+----------
- $FFFA81|byte |Parallel Port Data Register |R/W (TT)
- -------+-----+--------------------------------------------+----------
- $FFFA83|byte |Active Edge Register BIT 7 6 5 4 . 2 1 0|R/W (TT)
- | +--------------------------------------------+
- | | When port bits are used for input only: |
- | |0 - Interrupt on pin high-low conversion |
- | |1 - Interrupt on pin low-high conversion |
- -------+-----+--------------------------------------------+----------
- $FFFA85|byte |Data Direction BIT 7 6 5 4 3 2 1 0|R/W (TT)
- | |0 - Pin becomes an input |
- | |1 - Pin becomes an output |
- -------+-----+--------------------------------------------+----------
- $FFFA87|byte |Interrupt Enable A BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA8B|byte |Interrupt Pending A BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA8F|byte |Interrupt In-service A BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA93|byte |Interrupt Mask A BIT 7 6 5 4 3 2 1 0|R/W (TT)
- | |MFP Address | | | | | | | ||
- | |$17C ------------------------' | | | | | | ||
- | |$178 --------------------------' | | | | | ||
- | |$174 ----------------------------' | | | | ||
- | |$170 ------------------------------' | | | ||
- | |$16C --------------------------------' | | ||
- | |$168 ----------------------------------' | ||
- | |$164 ------------------------------------' ||
- | |$160 --------------------------------------'|
- | |1 - Enable Interrupt 0 - Disable Interrupt|
- -------+-----+--------------------------------------------+----------
- $FFFA89|byte |Interrupt Enable B BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA8D|byte |Interrupt Pending B BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA91|byte |Interrupt In-service B BIT 7 6 5 4 3 2 1 0|R/W (TT)
- $FFFA95|byte |Interrupt Mask B BIT 7 6 5 4 3 2 1 0|R/W (TT)
- | |MFP Address | | | | | | | ||
- | |$15C ------------------------' | | | | | | ||
- | |$158 --------------------------' | | | | | ||
- | |$154 ----------------------------' | | | | ||
- | |$150 ------------------------------' | | | ||
- | |$14C --------------------------------' | | ||
- | |$148 ----------------------------------' | ||
- | |$144 ------------------------------------' ||
- | |$140 --------------------------------------'|
- | |1 - Enable Interrupt 0 - Disable Interrupt|
- -------+-----+--------------------------------------------+----------
- $FFFA97|byte |Vector Register BIT 3|R/W (TT)
- | |1 - Software End-of-interrupt mode (Default)|
- | |0 - Automatic End-of-interrupt mode |
- -------+-----+--------------------------------------------+----------
- $FFFA99|byte |Timer A Control BIT 3 2 1 0|R/W (TT)
- $FFFA9B|byte |Timer B Control BIT 3 2 1 0|R/W (TT)
- | +--------------------------------------------+
- | |0000 - Timer stop, no function executed |
- | |0001 - Delay mode, divide by 4 |
- | |0010 - : : 10 |
- | |0011 - : : 16 |
- | |0100 - : : 50 |
- | |0101 - : : 64 |
- | |0110 - : : 100 |
- | |0111 - Delay mode, divide by 200 |
- | |1000 - Event count mode |
- | |1xxx - Pulse extension mode, divide as above|
- | +--------------------------------------------+
- $FFFA9F|byte |Timer A Data |R/W (TT)
- $FFFAA1|byte |Timer B Data |R/W (TT)
- -------+-----+--------------------------------------------+----------
- $FFFA9D|byte |Timer C & D Control BIT 6 5 4 . 2 1 0|R/W (TT)
- | | Timer Timer|
- | | C D |
- | +--------------------------------------------+
- | |000 - Timer stop |
- | |001 - Delay mode, divide by 4 |
- | |010 - : : 10 |
- | |011 - : : 16 |
- | |100 - : : 50 |
- | |101 - : : 64 |
- | |110 - : : 100 |
- | |111 - Delay mode, divide by 200 |
- | +--------------------------------------------+
- $FFFAA3|byte |Timer C Data |R/W (TT)
- $FFFAA5|byte |Timer D Data |R/W (TT)
- -------+-----+--------------------------------------------+----------
- $FFFAA7|byte |Sync Character |R/W (TT)
- $FFFAA9|byte |USART Control BIT 7 6 5 4 3 2 1 .|R/W (TT)
- | |Clock divide (1 - div by 16) ' | | | | | | ||
- | |Word Length 00 - 8 bits -------+-+ | | | | ||
- | | 01 - 7 bits | | | | | | ||
- | | 10 - 6 bits | | | | | | ||
- | | 11 - 5 bits -------+-' | | | | ||
- | |Bits Stop Start Format ------------+-+ | | ||
- | |00 0 0 Synchronous | | | | ||
- | |01 1 1 Asynchronous | | | | ||
- | |10 1 1.5 Asynchronous | | | | ||
- | |11 1 2 Asynchronous ------+-' | | ||
- | |Parity (0 - ignore parity bit) --------' | ||
- | |Parity (0 - odd parity,1 - even) --------' ||
- | |Unused ------------------------------------'|
- $FFFAAB|byte |Receiver Status BIT 7 6 5 4 3 2 1 0|R/W (TT)
- | |Buffer full -----------------' | | | | | | ||
- | |Overrun error -----------------' | | | | | ||
- | |Parity error --------------------' | | | | ||
- | |Frame error -----------------------' | | | ||
- | |Found - Search/Break detected -------' | | ||
- | |Match/Character in progress -----------' | ||
- | |Synchronous strip enable ----------------' ||
- | |Receiver enable bit -----------------------'|
- $FFFAAD|byte |Transmitter Status BIT 7 6 5 4 3 2 1 0|R/W (TT)
- | |Buffer empty ----------------' | | | | | | ||
- | |Underrun error ----------------' | | | | | ||
- | |Auto turnaround -----------------' | | | | ||
- | |End of transmission ---------------' | | | ||
- | |Break -------------------------------' | | ||
- | |High bit ------------------------------' | ||
- | |Low bit ---------------------------------' ||
- | |Transmitter enable ------------------------'|
- $FFFAAF|byte |USART data |R/W (TT)
- -------+-----+--------------------------------------------+----------
- ##############6850 ACIA I/O Chips ###########
- -------+-----+--------------------------------------------+----------
- $FFFC00|byte |Keyboard ACIA control |R/W
- $FFFC02|byte |Keyboard ACIA data |R/W
- $FFFC04|byte |MIDI ACIA control |R/W
- $FFFC06|byte |MIDI ACIA data |R/W
- -------+-----+--------------------------------------------+----------
- ##############Realtime Clock ###########
- -------+-----+--------------------------------------------+----------
- $FFFC21|byte |s_units |???
- $FFFC23|byte |s_tens |???
- $FFFC25|byte |m_units |???
- $FFFC27|byte |m_tens |???
- $FFFC29|byte |h_units |???
- $FFFC2B|byte |h_tens |???
- $FFFC2D|byte |weekday |???
- $FFFC2F|byte |day_units |???
- $FFFC31|byte |day_tens |???
- $FFFC33|byte |mon_units |???
- $FFFC35|byte |mon_tens |???
- $FFFC37|byte |yr_units |???
- $FFFC39|byte |yr_tens |???
- $FFFC3B|byte |cl_mod |???
- $FFFC3D|byte |cl_test |???
- $FFFC3F|byte |cl_reset |???
- -------+-----+--------------------------------------------+----------
- $FA0000| | |
- : | |128K ROM expansion cartridge port |R
- $FBFFFF| | |
- -------+-----+--------------------------------------------+----------
- $FC0000| | |
- : | |192K System ROM |R
- $FEFFFF| | |
- -------+-----+--------------------------------------------+----------
-
-
- Cookie Jar
- Atari "Official" Cookies
-
- This section is preliminary. I can't think of a better format yet for
- this section, so it will be messy for a while. I know I'm missing
- most of the new cookies in the F030, can someone provide docus for
- these cookies?
-
- Cookie Description
- -------+-------------------------------------------------------------
- _CPU | CPU Type (Decimal) (0 - 68000, 40 - 68040)
- _VDO | Shifter Type 0 - ST, 1 - STe, 2 - TT
- _SND | Sound Hardware BIT 4 3 2 1 0
- | Connection Matrix ----' | | | |
- | DSP56001 ---------------' | | |
- | 16 Bit DMA Sound ---------' | |
- | 8 Bit DMA Sound ------------' |
- | YM2149 -----------------------'
- _MCH | Hardware Description High Word + Low word
- | $00000000 - ST $00010000 - Mega 1/2/4 ST $00020000 - STe
- | $00030000 - TT $00010010 - MSTe (?)
- _SWI | State of configuration switches (MSTe/TT only)
- _FRB | Fast Ram Buffer (TT specific) 64k buffer for ACSI DMA
- | 0 - no buffers assigned >0 - address of FastRam buffer
- _FPU | FPU Type High word - hardware Low word - software
- | 0 - No FPU
- | 1 - SFP004 or compatible 68881
- | 2 - 68881 or 68882 unsure which one 3 - plus SFP004
- | 4 - 68881 for sure 5 - plus SFP004
- | 6 - 68882 for sure 7 - plus SFP004
- | 8 - 68040's internal FPU 9 - plus SFP004
- _OOL | Poolfix ID
- -------+-------------------------------------------------------------
-
- 68000 Exception Vector Assignments
-
- Vector Number Address Space Assignment
- ---------------+---------+-------+--------------------------------
- 0 |0/$0 |SP |Reset:Initial SSP
- 1 |4/$4 |SP |Reset:Initial PC
- Reset vector (0) requires four words, unlike other vectors which only
- require two words, and is located in the supervisor program space.
- ---------------+---------+-------+--------------------------------
- 2 |8/$8 |SD |Bus Error
- 3 |12/$C |SD |Address Error
- 4 |16/$10 |SD |Illegal Instruction
- 5 |20/$14 |SD |Zero Divide
- 6 |24/$18 |SD |CHK, CHK2 Instruction
- 7 |28/$1C |SD |cpTRAPcc, TRAPcc, TRAPV Instruction
- 8 |32/$20 |SD |Privilege Violation
- 9 |36/$24 |SD |Trace
- 10 |40/$28 |SD |Line 1010 Emulator (LineA)
- 11 |44/$2C |SD |Line 1111 Emulator (LineF)
- 12 |48/$30 |SD |(Unassigned, Reserved)
- 13 (68030)|52/$34 |SD |Coprocessor Protocol Violation
- 14 (68010)|56/$38 |SD |Format Error
- 15 |60/$3C |SD |Uninitialized Interrupt Vector
- 16-23 |64/$40 |SD |(Unassigned, Reserved)
- |95/$5F |SD |-
- 24 |96/$60 |SD |Spurious Interrupt
- Spurious interrupt vector is taken when there is a bus error
- during interrupt processing.
- ---------------+---------+-------+--------------------------------
- 68000 Auto-Vector Interrupt Table
- ---------------+---------+-------+--------------------------------
- 25 |100/$64 |SD |Level 1 Int Autovector (TT VME)
- 26 |104/$68 |SD |Level 2 Int Autovector (HBL)
- 27 |108/$6C |SD |Level 3 Int Autovector (TT VME)
- 28 |112/$70 |SD |Level 4 Int Autovector (VBL)
- 29 |116/$74 |SD |Level 5 Int Autovector
- 30 |120/$78 |SD |Level 6 Int Autovector (MFP)
- 31 |124/$7C |SD |Level 7 Int Autovector
- ---------------+---------+-------+--------------------------------
- 32-47 |128/$80 |SD |Trap Instruction Vectors
- |191/$BF |SD |(Trap #n = vector number 32+n)
- ---------------+---------+-------+--------------------------------
- Math Coprocessor Vectors (68020 and higher)
- ---------------+---------+-------+--------------------------------
- 48 |192/$C0 |SD |FFCP Branch or Set
- | | | on Unordered Condition
- 49 |196/$C4 |SD |FFCP Inexact Result
- 50 |200/$C8 |SD |FFCP Divide by Zero
- 51 |204/$CC |SD |FFCP Underflow
- 52 |208/$D0 |SD |FFCP Operand Error
- 53 |212/$D4 |SD |FFCP Overflow
- 54 |216/$D8 |SD |FFCP Signaling NAN
- 55 |220/$DC |SD |(Unassigned, Reserved)
- ---------------+---------+-------+--------------------------------
- 56 |224/$E0 |SD |MMU Configuration Error
- 57 |228/$E4 |SD |MC68851, not used by MC68030
- 58 |232/$E8 |SD |MC68851, not used by MC68030
- ---------------+---------+-------+--------------------------------
- 59-63 |236/$EC |SD |(Unassigned, Reserved)
- |255/$FF |SD |-
- ---------------+---------+-------+--------------------------------
- 64-254 |256/$100 |SD |User Defined Interrupt Vectors
- |1019/$3FB|SD |-
- 255 |1020/$3FC|SD |DSP-IRQ Vector (F030)
- ---------------+---------+-------+--------------------------------
-
-