RE: BASIC and System ROM replacements

From: Baltissen, GJPAA (Ruud) <ruud.baltissen_at_apg.nl>
Date: Mon, 27 May 2013 10:20:40 +0000
Message-ID: <54F350D2C6501448A3EE14B7854C5FB508FBF1BE@WSV10441N3.office01.internalcorp.net>
Hallo Micha, 


> Still it does not solve the problem of how to return to the
> previous bank after interrupt ...

I thought I mentioned a solution that can be used in an earlier email. 
Assume that the main bank contains the main interrupt routines. The interrupt vectors of the other banks point to a small routine. This small routine pushes A, Y and X, and then reads the bank register and pushes that as well. Next it JSRs to a routine in RAM that 1) switches to the main bank and 2) JSRs to the main interrupt routine. The main routine pushes the same value but can skip the RAM routine.

At the end the main routine a RTS will take care of returning to the RAM routine again. The RAM routine pulls the bank value, restores the bank and a RTS takes care of returning to the original interrupt routine. 

Another idea, but it will cost (just) a bit more RAM: let the vectors point directly to RAM and let the routine in RAM do the first four pushes, etc. etc. No small routines in the individual banks needed anymore.

Jut my two cents....


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org


 De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de 
geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te 
nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit 
e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. 
Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige 
overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij 
overgebrachte virussen.

APG Algemene Pensioen Groep NV is gevestigd te Heerlen en is ingeschreven in het 
handelsregister van de Kamer van Koophandel Limburg onder nummer 14099617


The information contained in this e-mail is confidential and may be privileged. 
It may be read, copied and used only by the intended recipient. 
If you have received it in error, please contact the sender immediately by 
return e-mail; please delete in this case the e-mail and do not disclose its 
contents to any person. We don't accept liability for any errors, omissions, 
delays of receipt or viruses in the contents of this message which arise as a 
result of e-mail transmission.

APG Algemene Pensioen Groep NV is registered in the trade register of the Chamber 
of Commerce Limburg, The Netherlands, registration number: 14099617


       Message was sent through the cbm-hackers mailing list
Received on 2013-05-27 11:00:14

Archive generated by hypermail 2.2.0.