Subject: Re: [stella] A new way to bankswitch From: "Kroko" <Nil.Krokodil@xxxxxxx> Date: Wed, 9 Mar 2005 17:38:48 -0500 |
> But I am not 100% sure it works on real hardware. The problem might > occur when accessing the RTS at $FFF8. When you are in bank 0 and jump to FFF8, the first time FFF8 is seen on the bus is when the controller fetches the RTS opcode from that location. Well, we are already in bank 0 and for that reason we should just stay where we are. After RTS is fetched, a dummy fetch takes place which brings FFF9 to the bus, which then causes the bankswitching logic to switch to bank 1. The RTS then returns to the location you pushed on the stack, but after the switch to bank 1. When you are in bank 1 and jump to FFF7, nothing happens when you fetch the RTS opcode from there. But after the RTS fetch, a dummy fetch from FFF8 takes place and switches to bank 0. After that, RTS returns to the location after the adress on the stack. I really can't think how a bankswitching hardware could be made that would not support the above behaviour. The hardware just watches the bus and switches banks as soon as it can see one of the hotspots. And the dummy fetch causes a perfectly valid hotspot adress for one 6507 cycle. I think it HAS to work ! (unless I missed something obvious :-) Armin Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] A new way to bankswitc, Manuel Rotschkar | Thread | Re: [stella] A new way to bankswitc, Manuel Rotschkar |
Re: [stella] A new way to bankswitc, Fred Quimby | Date | Re: [stella] A new way to bankswitc, Kroko |
Month |