10 ;DISPLAY LIST INTERRUPT SERVICE ROUTINE 20 .OPT NOEJECT 30 ; 40 *=1664 ;UPPER HALF PAGE 6 50 ; 60 BAK=53272 ;BACKGROUND COLOR REGISTER 70 LUM=53271 ;LUMINANCE COLOR REGISTER 80 WSYNC=54282 ;WAIT FOR SYNC 90 SETVB=$E45C 0100 JMPEND=$E462 0110 PHA ;SAVE A REGISTER 0120 TXA 0130 PHA ;SAVE X REGISTER 0140 LDX COUNT ;VALUE OF LINE ON SCREEN 0150 LDA COLTAB,X 0160 STA WSYNC ;WAIT FOR SYNC 0170 STA BAK 0180 LDA LUMTAB,X 0190 STA LUM 0200 INC COUNT 0210 PLA 0220 TAX ;RESTORE X 0230 PLA ;RESTORE A 0240 RTI ;RETURN FROM INTERRUPT 0250 COUNT .BYTE 1 0260 ; 0270 ;VERTICAL BLANK INTERRUPT ROUTINE 0280 ; 0290 PLA ;REMOVE ARGUMENT COUNT FROM STACK 0300 LDA #7 ;DEFERRED MODE 0310 LDY #VBI & $00FF ;ADDRESS OF THE 0320 LDX #VBI/256 ;VBI ROUTINE 0330 JSR SETVB 0340 RTS 0350 VBI LDA #1 0360 STA COUNT 0370 JMP JMPEND 0380 ; 0390 ;COLOR AND LUMINANCE TABLES 0400 COLTAB .BYTE $94,$94,$94,$94,$94,$94,$94,$94 0410 .BYTE $94,$94,$94,$94,$94,$94,$94,$94 0420 .BYTE $94,$94,$94,$94,$94,$94,$94,$94 0430 LUMTAB .BYTE $A,$A,$A,$A,$A,$A,$A,$A 0440 .BYTE $A,$A,$A,$A,$A,$A,$A,$A 0450 .BYTE $A,$A,$A,$A,$A,$A,$A,$A 0460 .END