processor 6502 include vcs.h org $f000 wasTimerChecked = $80 Start SEI CLD LDA #0 LDX #$ff TXS CleanStart STA 0,X DEX BNE CleanStart LDA #2 STA VBLANK VerticalSync LDA #2 STA WSYNC STA VSYNC LDA #0 STA WSYNC STA WSYNC STA WSYNC STA VSYNC TimerTest LDA wasTimerChecked BNE VerticalBlankInit LDX #$82 ; Blue LDY #$42 ; Red LDA #1 STA wasTimerChecked ; Only check once STA TIM64T LDA INTIM BEQ SetBlueBackground SetRedBackground ; Timer held value #1 STY COLUBK JMP VerticalBlankInit SetBlueBackground ; Timer decremented to #0 STX COLUBK VerticalBlankInit LDX #37 VerticalBlank STA WSYNC DEX BNE VerticalBlank STX VBLANK LDX #192 Kernel STA WSYNC DEX BNE Kernel LDA #2 STA VBLANK LDX #29 Overscan STA WSYNC DEX BNE Overscan JMP VerticalSync org $fffc .word Start .word Start