Re: [stella] The mother of all bankswitching trickery :-)

Subject: Re: [stella] The mother of all bankswitching trickery :-)
From: Manuel Polik <cybergoth@xxxxxxxx>
Date: Sun, 08 Dec 2002 12:41:56 +0100
Hi Thomas!

Let me provide some more info about this confusing BS 
thing.

Here's the original code in both banks:

; First bank
       ORG $1000
       RORG $B000

       LDA    $FFF8   ;4
       JMP    $BC96   ;3

-> All entry vectors are pointing to $BC96

; Second bank
       ORG $2000
       RORG $F000

       LDA    $FFF8   ;4
       JMP    $BC96   ;3

-> All entry vectors are pointing to $F000

Executing in Z26 as is provides the log as I posted 
yesterday:

f000: ad f8 ff lda  fff8   
f003: 4c 96 bc jmp  bc96   
bc96: 78       sei

Now I needed 3 bytes for a STA WSYNC, Replacing the JMP 
in the second bank with STA WSYNC:

; Second bank
       ORG $2000
       RORG $F000

       LDA    $FFF8   ;4
       STA    WSYNC   ;3

When doing that, I get only a _black screen_ , even 
though the Z26 log is starting straight with:

bc96: 78       sei          

Next I tried this:

; Second bank
       ORG $2000
       RORG $F000

       LDA    $FFF8   ;4
       BRK
	  NOP
       NOP

This works as _fine_ as the original code, producing 
even the same log again:

f000: ad f8 ff lda  fff8   
f003: 4c 96 bc jmp  bc96   
bc96: 78       sei

Phew...

Actually I now don't understand anything anymore.

What is the difference between placing either

STA WSYNC

or

BRK/NOP/NOP

after acessing a BS hotspot read when neither of the two 
versions is actually executed?!?

Greetings,
	Manuel

----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread