RE: [stella] Supercharger internals...

Subject: RE: [stella] Supercharger internals...
From: Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx (Eckhard Stolberg)
Date: Fri, 16 May 1997 21:52:15 +0200
>That wasn't necessary, Cheetah does just that, as a matter of fact, Cheetah
>also switches banks using code in the RAM area too, take a look at the
>source code, it is on my webpage.

Well, I can't have every single piece of code you wrote in my mind. :-)

>Well, here is what is happening, if you use an indexed address mode as in the
>example above, you don't need a NOP, even though my 6502 opcode chart says
>this takes the same number of cycles as an unindexed address mode as such:
>
>lda $F01D
>nop
>sta $FFF8
>
>the above example NEEDS the nop to work correctly.

That seems to be true only for writes to $FFF8. Writes to every other SC RAM
location need the NOP, no matter if they are indexed or not. This seems to be
independent from the value I set for write pulse delay.

Indirect indexed adressing needs no NOP, of course.

>Yes, it can be anywhere, but if you switch out the bank your code is in,
>then I don't know exactly what happens.  I used the RAM to store my BS
>routine for Cheetah, which saved me a lot of headaches.

I suppose the program continues at the next address after the write in the
bank that is moved in. But maybe the SC isn't fast enough with switching banks
and the program crashes. Someone should try this out.


Ciao, Eckhard Stolberg


--
Archives available at http://www.biglist.com/lists/stella/archives/
E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.

Current Thread