/* 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.