Re: BASIC and System ROM replacements

From: Ruud_at_Baltissen.org
Date: Sun, 26 May 2013 09:05:27 +0200
Message-ID: <51A1B437.12206.21DEBB@Ruud.Baltissen.org>
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 list
Received on 2013-05-26 08:00:10

Archive generated by hypermail 2.2.0.