/* Imported from Wayback Machine

 Original URL : https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:crc65:memory_map
 Snapshot date: 2025-09-09
 Generator    : wayback-archiver

*/

CRC65 Memory Map

0xF800-0xFFFF is internal ROM

0xF000-0xF7FF is internal I/O

0xF000 is I2C bit bang register

0xF008 is Serial status

0xF009 is Serial Data register

0xE800-0xEF00 is external I/O

nCFCS pin is asserted when accessing 0xE800-0xEFFF

nCFRD and nCFWR are asserted only for 0xE800-0xEFFF AND A[5] to A[3] are zero and RDY is asserted for 3 clocks.

Example1, CF registers are located at 0xEE00-0xEE07 with 3 wait states

Example2, external I/O located at 0xEE40 has zero wait and only nCFCS is asserted

1110_1xxx_xxyy_yxxx are addresses that has zero wait and only nCFCS asserted, where 'x' is 0 or 1, and one of the 'y' must be 1

examples are 0xE830 (1110_1000_0011_0000), or 0xEEFF (1110_1110_1111_1111), or 0xEC10 (1110_1100_0001_0000), or 0xE808 (1110_1000_0000_1000)

RAM is from 0x0 to 0xE7FF

I2C Bit Bang Register

I2C bit bang register is located at 0xF000 where data bit 0 drives SDA and data bit 1 drives SCL. SDA is open collector with 2.4K pull up. SCL is driven output. At reset both SDA and SCL are high voltage level.