Revision 6.5.2015 C64 - IO addresses, standard for the development ----------------------------------------------- by Tomas Pribyl (C)1998-2015 ----------------------- IO_1 area - Address range $de00 - $deff ======================================= $de00 - $de0f DUART (RS-232 card) MC68681 $de00 - $de0f - The 'Amiga' Clock Port card registers (R or R/W) ====================================================== $de00 - $de03 Swiftlink, ACia card (fast serial port) 6551 $de00 - Transmit Data Register (W) $de00 - Receive Data Register (R) $de01 - Status Register (R/W) $de02 - Command Register (R/W) $de03 - Control Register (R/W) ====================================================== $de00 - $de03 Midi interface sequential Motorola 6850 $de00 - Control register (W) $de01 - Transmit data register (W) $de02 - Status register (R) $de03 - Receive data register (R) ====================================================== $de04 - $de07 Midi interface Passport Motorola 6850 $de04 - Control register (W) $de05 - Transmit data register (W) $de06 - Status register (R) $de07 - Receive data register (R) ====================================================== $de08 - $de09 Midi interface Siel/JMS Motorola 6850 $de08 - Control register (W) $de08 - Status register (R) $de09 - Transmit data register (W) $de09 - Receive data register (R) ====================================================== $de10 - $de1f ETH64 (Ethernet card) alternative registers to $de00-$de0f LAN91C96 $de10 - $de1d - Bank registers (R and R/W) $de1e - Bank select registers (R/W 2B) ====================================================== $de20 - $de31 IDE64 HDD IDE CHIP $de20 - $de27 Primary HDD Registers $de28 - select primary IDE interface (Compact Flash) (W) (V4.x) $de29 - select secondary IDE interface (IDE connector) (W) (V4.x) $de28 - $de29 - IDE/LED switch (R) $de2a - $de2d - reserved (unused 4 registers) $de2e - $de2f - Control Block Registers $de30 - Low Data HDD register (reserved/unused in V4.x) $de31 - High Data HDD register (R/W) $de32 - > d7 - 0/0/1 d6 - 0/0/romaddr18 (V4.2) d5 - 0/1/romaddr17 (4.2) d4 - 1/romaddr16 (V4.1) d3 - romaddr15 d2 - romaddr14 d1 - game d0 - exrom $de32 - $de35 (W) IDE64 ROM bank select registers (V1-V3.x) $de60 - $de67 (W) PEROM bank switching (B0-B7) (V4.1) $de68 - $de7f (W) PEROM bank switching (B8-B31) (V4.2) ====================================================== $de38 - $de39 FAST SERIAL NET Intel 8251 USART $de38 - Transmit data register (W) $de38 - Receive data register (R) $de39 - Control register (W) $de39 - Status register (R) ====================================================== $de40 - $de43 HexCard ports (W or R/W) ====================================================== $de5d - USB DATA (V4.x) $de5e - USB status (RO) (V4.x) $de5f - Clock IDE64 (R/W) (bit 0) $defb - IDE64 clock reset, kill the cartridge (W) $defc - $deff IDE64 ROM configuration registers (W) ====================================================== $de60 - $deff Software for IDE64 cartridge serving (R) IO_2 area - Adress range $df00 - $dfff ====================================== $df00 - $df0a Ram Expansion Unit REU 1700, 1764, 1750 $df00 - Status Register (R) $df01 - Command Register (R/W) $df02 - C64 Base Address Register (low) (R/W) $df03 - C64 Base Address Register (high) (R/W) $df04 - $df06 - REU Base Address Register (R/W) $df07 - $df08 - Transfer Lenght Register (R/W) $df09 - Interrupt mask register (R/W) $df0a - Address control register !!! NOTE: REU registers are mirrored in whole IO_2 AREA!!!! !!! Use some address decoders for decoding area $df00-$df0a!!!