; Delay 2 vertical blanks for smooth scroll DEC 204 198 204 ; Decrement delay counter, initialized to 2 BNE EXIT 208 32 ; Exit if delay counter not equal to 0 LDA #2 169 2 ; Delay over, reset counter to 2 STA 204 133 204 ; Store new counter value in zero page 204 ; Graphics 2 fine scroll LDX 203 166 203 ; Load HSCROL value from zero page 203 DEX 202 ; Decrement HSCROL value, starts out at 16 STX HSCROL 142 4 212 ; Write value to HSCROL hardware register STX 203 134 203 ; Store new HSCROL value in memory 203 CPX #7 224 7 ; Have we fine scrolled 8 color clocks? BNE EXIT 208 16 ; Exit if not done fine scrolling yet ; Time to coarse scroll mode line 2 LDA 1543 173 7 6 ; Load our display list LMS low byte value CLC 24 ; Clear the carry flag for ADC ADC #1 105 1 ; Add 1 to display list LMS low byte STA 1543 141 7 6 ; Save new value in display list ; Done with coarse scroll, need to reset HSCROL LDX #15 162 15 ; Load X register with 15 STX 203 134 203 ; Store new HSCROL in zero page memory 203 STX HSCROL 142 4 212 ; Reset HSCROL to 15 for next fine scroll EXIT JMP XITVBV 76,98,228 ; Time to exit the vertical blank 2010 DATA 198,204,208,32,169,2,133,204 2020 DATA 166,203,202,142,4,212,134,203,224,7,208,16 2030 DATA 173,7,6,24,105,1,141,7,6 2040 DATA 162,15,134,203,142,4,212 2050 DATA 76,98,228