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.

builderpages/plasmo/crc65/memory_map.txt · Last modified: 2023/12/30 08:04 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0