Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If the ROM sees the identifier at $4008007, and bit 0 of $4008006 is 1, the ROM uses DMA to copy 8 KB from $4008000 to $8000 and executes a JMP $8000. This executes the coldStart routine of the cartridge and everything . Everything else is up to the cartridge.

  • A simple cart storing a program less than 8 KB in size can just run from 0.8000.

  • A cart larger than 8 KB in size will need a bootstrap routine to set up memory as desired. All cartridge hardware lines are available at 400.xxxx, so the actual bootstrap code will depend on the cartridge hardware platform.

  • EasyFlash 1 can store up to 1 megabyte, making 16 KB visible at a time in two 8 KB chunks at 400.8000 (ROML) and 400.E000 (ROMH). Only EF bank 0 ROML is DMA’d to 0.8000 during cart start-up. The cart’s bootstrap code should be able to can write to the 400.DE00 EasyFlash bank register to select one of 64 banks to replace ROML and ROMH. This does not change 0.8000 automatically: the cart’s bootstrap needs to decide how to access and install cart data read from 400.xxxx.

  • Custom hardware must serve a DMA’able bootstrap program at $8000-9FFF.

...