1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-11-30 06:50:39 +00:00
8bitworkshop/presets/vcs/examples/tigervision[3E].a
2018-09-30 21:07:45 -04:00

78 lines
1.5 KiB
Plaintext

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 64K Tigervision bank-switching example
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIA_BASE_ADDRESS = $40 ; use TIA mirrors @ $40-$7F
processor 6502
include "vcs.h"
include "macro.h"
include "xmacro.h"
seg.u Variables
org $80
Temp .byte
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Macro that performs bank switch
MAC BANK_SWITCH
.Bank SET {1}
ldx #.Bank
stx $3F
ENDM
seg Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; BANK 0 ($1000-$17ff)
org $1000
rorg $1000
Main_1
inc Temp
lda Temp
sta COLUBK ; make rainbows
bit INPT4 ; test button
bpl Main_1 ; button is pressed, repeat
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; BANK 1 ($1000-$17ff)
org $1800
rorg $1000
Main_2
lda Temp
eor #2
sta Temp
sta WSYNC
sta WSYNC
sta COLUBK
bit INPT4 ; test button
bmi Main_2 ; button not pressed, repeat
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Last 2K bank ($1800-$1fff)
org $10800
rorg $1800
Start
CLEAN_START
BANK_SWITCH 0
jsr Main_1
BANK_SWITCH 1
jsr Main_2
jmp Start
; Epilogue (CPU vectors)
org $10FFA
rorg $10FFA
.word Start ; NMI
.word Start ; RESET
.word Start ; BRK