Open lydon42 opened 1 year ago
The definition how the cartridge is detected is done, and basically also the startup implementation in ROM.
The important part for Batch 3 is that MEGAFLASH can detect and choose the right core, everything that happens afterwards does not need to go into the Factory Core, so we are done with that part for now.
The MEGA65 has special code for handling a C64 style cartridge and ensuring that it is started when detected. This was recently expanded by letting the slot 0 cores MEGAFLASH decide which core slot to start, depending on the type of cartridge detected.
This brings up the need to define a pattern by which a MEGA65 style cartridge can be detected, so that a MEGA65 core is started, as all the default
/EXROM
and/GAME
settings should bring up a C64 core (if the user chooses this to be their default).There are two possible patterns that come to mind naturally:
CBM
for the C128, we can useM65
for the MEGA65), and then map or DMA copy this memory and call special setup and start vectorsAs the Ultimax approach is kind of tedious (we stay in C64 personality, only RAM below $1000 is accessible), we implement both approaches for now, so that the slot 0 core will detect both types and start a MEGA65 core if it does.