mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-09-07 15:54:26 +00:00
52 lines
1.0 KiB
Plaintext
52 lines
1.0 KiB
Plaintext
|
|
processor 6502
|
|
include "vcs.h"
|
|
include "macro.h"
|
|
include "xmacro.h"
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; Variables segment
|
|
|
|
seg.u Variables
|
|
org $80
|
|
|
|
Temp .byte
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; Code segment
|
|
|
|
seg Code
|
|
org $f000
|
|
|
|
Start
|
|
CLEAN_START
|
|
|
|
NextFrame
|
|
lsr SWCHB ; test Game Reset switch
|
|
bcc Start ; reset?
|
|
; 1 + 3 lines of VSYNC
|
|
VERTICAL_SYNC
|
|
; 37 lines of underscan
|
|
TIMER_SETUP 37
|
|
TIMER_WAIT
|
|
; 192 lines of frame
|
|
TIMER_SETUP 192
|
|
; draw colors based on timer value
|
|
LRainbow
|
|
lda INTIM ; load timer
|
|
sta COLUBK ; store background
|
|
bne LRainbow ; loop until timer == 0
|
|
TIMER_WAIT ; timer is already 0, no-op
|
|
; 29 lines of overscan
|
|
TIMER_SETUP 29
|
|
TIMER_WAIT
|
|
; total = 262 lines, go to next frame
|
|
jmp NextFrame
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; Epilogue
|
|
|
|
org $fffc
|
|
.word Start ; reset vector
|
|
.word Start ; BRK vector
|