Login
Back to forumSee the full topicGo to last reply

Posted By

indi
on 2007-01-07
13:47:08
 Re: Plus/4 Expansion port...

Not sure....but if you could force certain lines then you might be able to force in a ROM and overwrite vectors etc... I don't know.

One thing I have been thinking about is using the ROM lines and putting RAM there. That way although the RAM under the ROM would just be filled with rubbish, the MMU that deals with the ROM would allow you to have external RAM for reads - which is the hard part. The address+RW lines would allow you to write to the RAM easily enough. Then you could introduce a memory location and have the RAM banked in 8 or 16K regions. Its a bit of a hack, but should allow you to have proper external RAM on a cartridge.

So...it would work something like this....

Disable interrupts.
Set External RAM bank to 0
Set ROM enable
Enable the external ROM's by writing to FDDx (whatever value works.. %1010 I think)
$8000->$BFFF is now pagable RAM while $c000->$ffff is a single fixed page.

You then read and write to/from it as normal, and using the ExternalRAM bank register(s) to swap them.... If you ever disabled the ROM's then the RAM from $8000->$ffff would be rubbish - just random writes, but that doesn't matter as you never have to disable it - even if you don't BANK it.

Having 4,8 or 16K banks would be fine...4K would allow the most flexibility, but 16K would be by far the easiest, and only require a single byte register.

Theres obviously some limits you'd have to handle... IO space, and $FC00 would always be bank 0 etc... aside from that - I think it should work..

What do you think? RAM that pretends to be ROM....?



Back to top


Copyright © Plus/4 World Team, 2001-2024