[Coco] 256K SuperROMPak (32 Banks)

RETRO Innovations go4retro at go4retro.com
Wed Feb 11 17:39:35 EST 2015


On 2/11/2015 2:58 AM, Tormod Volden wrote:
> On Wed, Feb 11, 2015 at 6:50 AM, RETRO Innovations wrote:
>> So, what are the options to map RAM into the address space from the cart
>> port?  That is the key, right?
>>
>> I admit my signal understanding is weak, but I would assume SLENB would do
>> it, so you could do:
>>
>> map a latch into IO space on the cart.
>> Have one of the bits of the latch drag SLENB active (via some logic that
>> only makes SLENB go active on writes on some address range (0000-7fff?)
>> Then, any writes to some address range would trigger SLENB, which would map
>> the FLASH into the address space.  Hitting the latch again would move the
>> FLASH out of the write space.
>>
>> Someone is going to shoot me design down, but surely something like that
>> would work.
> I assume you are talking about the need to write to special EEPROM
> addresses for programming ($5555 etc).
>
> (On the other hand, for writing to the cartridge address space, the
> only issue is that CTS is not asserted on writes, so you have to do
> your own address decoding in the cartridge instead.)
True, I was thinking that as well.


>
> The only catch here is that SLENB does not deactivate writes to
> internal RAM. The SAM (talking CoCo1/2/Dragon here) always latches the
> data bus into the internal RAM according to its memory map. SLENB only
> deactivates the ROMs ands PIAs. This might not be a blocker though
> because only a few addresses are needed for programming the EEPROM so
> you can live with the shadow RAM writes by taking a few software
> precautions.
Yeah, I was thinking that you'd have the FLASH at c000->feff, like a cart
Add a bank register for which 16kB spot you want.
trigger SLENB (this would remap cart FLASH into c000->feff, but also 
allow bank reg to stay mapped into map at $ffxx
Use bank reg and address to send commands to FLASH
write data to c000-feff
rinse lather repeat.
turn off SLENB

Yes, ram at c000-feff internal would be hosed, but plan on that by 
ensuring that main code is not in that space.

JIm


More information about the Coco mailing list