|
Subject: Re: [stella] I think I got F8 bankswitching to work. From: Thomas Jentzsch <tjentzsch@xxxxxx> Date: Thu, 19 Jun 2003 11:44:28 +0200 |
Aaron Bergstrom wrote:
> The file seems to run fine in both stella and z26.
But only due to some luck!
> Could you check it once more please?
It's not correct.
org $1fea
rorg $dfea
Start2
LDX $1ff9
After the instruction the program counter (PC) is at $2fed in the other
bank. But there is "nothing", because the code starts at $2ff0:
org $2ff0 ;other bank start
rorg $fff0 ;
jmp Start
But you are lucky here. DASM fills all unused gaps with $FF. And $FF is
a valid illegal opcode (ISB abs,x; ISB = increase M and subtract from A)
that doesn't crash the CPU and has the correct length of the 3 missing
bytes.
So when your code starts at the 1st bank this happens:
$1fea LDX $1ff9 ; X = $FF
$2fed ISB $ffff,x ; M = $FFFF + X = $00FE
$2ff0 jmp Start ; back on track again!
And because you initialize whole zeropage anyway, you won't notice that
change at the end of the RAM. :-)
Have fun!
Thomas
_______________________________________________________
Thomas Jentzsch | *** Every bit is sacred ! ***
tjentzsch at web dot de |
----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] I think I got F8 banks, Aaron Bergstrom | Thread | Re: [stella] I think I got F8 banks, Aaron Bergstrom |
| Re: [stella] whither voch?, Thomas Jentzsch | Date | Re: [stella] A warning to newbies -, tower |
| Month |