.cpu "65816" * = $1000 .as .xs start clc xce sep #$30 lda start lda $2000 phk plb lda start lda $2000 lda #$02 pha plb lda $1000 lda bank2 & $ffff ldx #$08 tax pha plb jsl bank2 jsl L24000 lda #$02 pha plb jsl bank3 phk plb bit start jml L2400F L103A .word _L103C _L103C rts L103D .long L2202E .logical $022000 bank2 lda bank2 lda bank2 & $ffff ldx #$00 jsr _L2202B jsr _L22025 jsr _L22028 nop lda #$03 pha plb lda L33028 & $ffff rep #$30 .al .xl lda #$00a9 pha plb plb sep #$30 .as .xs rtl _L22025 jmp (L103A) _L22028 jml [L103D] _L2202B jmp (bank2addr,x) L2202E nop rts bank2addr .word L2202E & $ffff .here .logical $033000 bank3 lda bank3 lda bank2 & $ffff jsr _L33020 beq _L33024 phk .here .logical $033020 _L33020 plb nop bra _L33024 _L33024 lda $2030 rtl L33028 .word L33028 & $ffff .here .logical $024000 L24000 lda L24000 phb phk plb lda bank2 & $ffff lda $3000 plb rtl L2400F rts .here