Address Size Description Bits used Read/Write -------+-----+--------------------------------------------+---------- $E00000| |512KB TOS-ROM |R(TT/F030) : | | | $EFFFFF| | | -------+-----+--------------------------------------------+---------- $FA0000| |128KB Cartridge-ROM |R : | | | $FBFFFF| | | -------+-----+--------------------------------------------+---------- ############## Falcon030 IDE Controller ############################# -------+-----+--------------------------------------------+---------- $F00000|???? |??? |??? (F030) : | : | : | : : $F0003F|???? |??? |??? (F030) -------+-----+--------------------------------------------+---------- ############## 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) ---------------'| -------+-----+--------------------------------------------+---------- ############## 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 -----------------------------'| -------+-----+--------------------------------------------+---------- ############## YM2149 Sound Chip #################################### -------+-----+--------------------------------------------+---------- $FF8800|byte |Read data/Register select |R/W | |Port A (register 14) BIT 7 6 5 4 3 2 1 0| | |frei + | | | | | | || (ST/STE) | |LAN/Serial2 Select + | | | | | | || (TT) | |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) | -------+-----+--------------------------------------------+---------- ############## 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) -------+-----+--------------------------------------------+---------- ############## 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) -------+-----+--------------------------------------------+---------- ############## 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| | | -------+-----+--------------------------------------------+----------