1000 ; DLI routine voor 1010 ; keyboard controller 1020 ; Versie 21 juni 1996 1030 ALLPOT = $D208 1040 PACTL = $D302 1050 PORTA = $D300 1060 POTGO = $D20B 1070 SKCTL = $D20F 1080 STRING = $0600 1090 TRIG0 = $D010 1100 TRIG1 = $D011 1110 VCOUNT = $D40B 1120 *=$4000 1130 ; 1140 ; Display List Interrupt 1150 ; Wordt 4 maal per beeld gedaan 1160 ; 1170 ; Alle registers bewaren 1180 DLI PHP 1190 PHA 1200 TYA 1210 PHA 1220 TXA 1230 PHA 1240 ; Bepaal schermlijn nummer 1250 LDA VCOUNT 1260 CMP #19 1270 BNE RIJ2 1280 ; Vierde DLI 1290 ; Meet eerste rij 1300 ; 1310 RIJ1 LDA #$03 1320 STA SKCTL 1330 LDA #$07 1340 STA SKCTL 1350 STA POTGO 1360 LDX ALLPOT 1370 LDA TRIG1 1380 BNE RIJ1KOL2 1390 LDA #'3 1400 LDY #3 1410 STA STRING,Y 1420 STA STRING 1430 RIJ1KOL2 TXA 1440 AND #$04 1450 BEQ RIJ1KOL1 1460 LDA #'2 1470 LDY #2 1480 STA STRING,Y 1490 STA STRING 1500 RIJ1KOL1 TXA 1510 AND #$08 1520 BEQ RIJ1END 1530 LDA #'1 1540 LDY #1 1550 STA STRING,Y 1560 STA STRING 1570 ; Activeer vierde rij 1580 RIJ1END LDA #$77 1590 STA PORTA 1600 EINDE1 BNE EINDE2 1610 ; Derde DLI 1620 ; Meet tweede rij 1630 ; 1640 RIJ2 CMP #15 1650 BNE RIJ3 1660 LDA #$03 1670 STA SKCTL 1680 LDA #$07 1690 STA SKCTL 1700 STA POTGO 1710 LDX ALLPOT 1720 LDA TRIG1 1730 BNE RIJ2KOL2 1740 LDA #'6 1750 LDY #6 1760 STA STRING,Y 1770 STA STRING 1780 RIJ2KOL2 TXA 1790 AND #$04 1800 BEQ RIJ2KOL1 1810 LDA #'5 1820 LDY #5 1830 STA STRING,Y 1840 STA STRING 1850 RIJ2KOL1 TXA 1860 AND #$08 1870 BEQ RIJ2END 1880 LDA #'4 1890 LDY #4 1900 STA STRING,Y 1910 STA STRING 1920 ; Activeer eerste rij 1930 RIJ2END LDA #$EE 1940 STA PORTA 1950 EINDE2 BNE EINDE3 1960 ; Tweede DLI 1970 ; Meet derde rij 1980 ; 1990 RIJ3 CMP #11 2000 BNE RIJ4 2010 LDA #$03 2020 STA SKCTL 2030 LDA #$07 2040 STA SKCTL 2050 STA POTGO 2060 LDX ALLPOT 2070 LDA TRIG1 2080 BNE RIJ3KOL2 2090 LDA #'9 2100 LDY #9 2110 STA STRING,Y 2120 STA STRING 2130 RIJ3KOL2 TXA 2140 AND #$04 2150 BEQ RIJ3KOL1 2160 LDA #'8 2170 LDY #8 2180 STA STRING,Y 2190 STA STRING 2200 RIJ3KOL1 TXA 2210 AND #$08 2220 BEQ RIJ3END 2230 LDA #'7 2240 LDY #7 2250 STA STRING,Y 2260 STA STRING 2270 ; Activeer tweede rij 2280 RIJ3END LDA #$DD 2290 STA PORTA 2300 EINDE3 BNE EINDEDLI 2310 ; Eerste DLI 2320 ; Zet joystick poort op output 2330 ; Meet vierde rij 2340 ; 2350 RIJ4 LDA #$38 2360 STA PACTL 2370 LDA #$F0 2380 STA PORTA 2390 LDA #$3C 2400 STA PACTL 2410 LDA #$03 2420 STA SKCTL 2430 LDA #$07 2440 STA SKCTL 2450 STA POTGO 2460 LDX ALLPOT 2470 LDA TRIG1 2480 BNE RIJ4KOL2 2490 LDA #'# 2500 LDY #12 2510 STA STRING,Y 2520 STA STRING 2530 RIJ4KOL2 TXA 2540 AND #$04 2550 BEQ RIJ4KOL1 2560 LDA #'0 2570 LDY #11 2580 STA STRING,Y 2590 STA STRING 2600 RIJ4KOL1 TXA 2610 AND #$08 2620 BEQ RIJ4END 2630 LDA #'* 2640 LDY #10 2650 STA STRING,Y 2660 STA STRING 2670 ; Activeer derde rij 2680 RIJ4END LDA #$BB 2690 STA PORTA 2700 EINDEDLI PLA 2710 TAX 2720 PLA 2730 TAY 2740 PLA 2750 PLP 2760 RTI