[Coco] CocoFLASH Production

RETRO Innovations go4retro at go4retro.com
Mon Nov 7 09:41:52 EST 2016

On 11/7/2016 6:50 AM, Mark McDougall wrote:
> On 7/11/2016 6:07 PM, RETRO Innovations wrote:
>>  * 8 Megabyte of FLASH ROM storage, accessible in 4kB offsets
>>  * dual offset capability (master 4kB bank register + optional 16kB
>>    offset register)
> I'm not fully understanding the banking capabilities... are you able 
> to explain in more details for dummies like me?
> I'm hoping that it's suitable for Lode Runner... :O
> Regards,
> Mark


The flash ROM is addressed at $8000-$ffef (I think that's the upper 
bound in the memory map for Coco carts)

Call that CocoAddress

The bank register sets the origin of the memory access in the flash, on 
4kB boundaries (0 = 0, 1 = 4kB, etc.)

The offset register optionally increments the origin in 16kB increments. 
(to support carts like RoboCop)

Thus, the flash address is computed with the following equation:

FLASHAddress = (CocoAddress - $8000) + (bank * 4096) + (offset * 16384)

This gives you granularity of 4kB to set ROM images into the flash 
space, and the offset being relative to that granularity provides the 
capability of banking within that range.

Note that on Coco1 and 2, one cannot access $8000-$bffff on the cart 
port, but that does not affect the calculations (it just hides the first 
4 4kB chunks of ROM. Never fear, though. They appear at the top end of 
the FLASH memory map,via wraparound of the addressing).

So, is there something else needed to support LodeRunner?


RETRO Innovations, Contemporary Gear for Classic Systems

More information about the Coco mailing list