mirror of https://github.com/stella-emu/stella.git
103 lines
950 B
NASM
103 lines
950 B
NASM
|
;;A bankswitching demo for the 0840 EconoBanking technique. 2 4K banks (8K)
|
||
|
;;By: Rick Skrbina 3/29/09
|
||
|
|
||
|
processor 6502
|
||
|
include "vcs.h"
|
||
|
include "macro.h"
|
||
|
|
||
|
|
||
|
seg.u vars
|
||
|
org $80
|
||
|
BG_Color ds 1
|
||
|
|
||
|
seg Bank0
|
||
|
org $E000
|
||
|
rorg $F000
|
||
|
Start0
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
|
||
|
CLEAN_START
|
||
|
|
||
|
Start_Frame
|
||
|
lda #2
|
||
|
sta VBLANK
|
||
|
sta VSYNC
|
||
|
sta WSYNC
|
||
|
sta WSYNC
|
||
|
sta WSYNC
|
||
|
lsr
|
||
|
sta VSYNC
|
||
|
ldy #37
|
||
|
VerticalBlank
|
||
|
sta WSYNC
|
||
|
dey
|
||
|
bne VerticalBlank
|
||
|
|
||
|
sta VBLANK
|
||
|
|
||
|
ldy #192
|
||
|
Picture
|
||
|
sta WSYNC
|
||
|
dey
|
||
|
bne Picture
|
||
|
|
||
|
lda #2
|
||
|
sta VBLANK
|
||
|
|
||
|
ldy #30
|
||
|
OverScan
|
||
|
sta WSYNC
|
||
|
dey
|
||
|
bne OverScan
|
||
|
|
||
|
jsr SwchTo1
|
||
|
|
||
|
lda BG_Color
|
||
|
sta COLUBK
|
||
|
|
||
|
jmp Start_Frame
|
||
|
|
||
|
org $EFE0
|
||
|
rorg $FFE0
|
||
|
SwchTo1
|
||
|
lda $0FFF
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
rts
|
||
|
|
||
|
org $EFFC
|
||
|
rorg $FFFC
|
||
|
.word Start0
|
||
|
.byte "B0"
|
||
|
|
||
|
seg Bank1
|
||
|
org $F000
|
||
|
rorg $F000
|
||
|
Start1
|
||
|
lda $0800
|
||
|
|
||
|
Bank1Sub
|
||
|
|
||
|
inc BG_Color
|
||
|
rts
|
||
|
|
||
|
org $FFE0
|
||
|
rorg $FFE0
|
||
|
|
||
|
nop
|
||
|
nop
|
||
|
nop
|
||
|
jsr Bank1Sub
|
||
|
lda $0800
|
||
|
|
||
|
org $FFFC
|
||
|
rorg $FFFC
|
||
|
.word Start1
|
||
|
.byte "B1"
|