Hallo Jim, > but I would be interested in an idea that would allow the ROM > areas to be "banked" in such a way that you could fit 16kB of > KERNAL or BASIC into a 8kB space. I just sent the links of my last projects to CBM-Hackers, the ones I accidently only sent to Steve. That one mentions exactly what you need. The idea is simple: - Add an 6526. In this case: demirror one of the originals for an address range. - Replace the BASIC and System ROM by a big FlashRAM, as Michał (or Patryk, sorry cannot remember anymore) suggested. Some pins of the 6526 can choose the needed bank. - Start the C64 up with a menu that enables you to choose a bank with System/BASIC combination. Using a 29F020, as I do in the C64 ISA project, means you can have SIXTEEN sets. And there is nothing that can stop you to combine several sets to one huge one. If you need to switch the bank, you just reprogram the 6526. If the new set contains IRQ/NMI vestors as well, IMHO you don't even have to disable the IRQ during the switch. The IRQ and NMI routine don't have to be copies of the original one (But it would simplify things). Just a routine that switches back to the original bank will do. At the end of the routine, the system will return to previous bank. How does the routine know where to return to? Just an idea: the first thing the routine in any bank does is pushing its number on the stack. At the end the original routine knows to what bank to return to. The switching routine has to be executed in RAM of course. Therefore another idea: demirror the VIC or/and the SID for one or two extra areas of 768 bytes each. I'm sure you will find some irregularities in the above ideas but the whole hasn't been worked out yet. -- Kind regards / Met vriendelijke groet, Ruud Baltissen www.Baltissen.org Message was sent through the cbm-hackers mailing listReceived on 2013-05-26 08:00:10
Archive generated by hypermail 2.2.0.