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 |