1000 ;
1010 ; LUCKY LUKE INTRO
1020 ;
1030 ORG 20000
1040 COUNTER EQU 2
1050 ZEROFREE EQU 100
1060 SCOLLBTS EQU ZEROFREE
1070 SCOLLSPEED EQU ZEROFREE+1
1080 TEXT EQU ZEROFREE+2
1090 ACTUAL EQU ZEROFREE+4
1100 RRKIND EQU ZEROFREE+5
1110 SOLLSBLINKEN EQU ZEROFREE+6
1120 BLINKA EQU ZEROFREE+7
1130 BLINKB EQU ZEROFREE+8
1140 BLINKC EQU ZEROFREE+9
1150 TIME EQU ZEROFREE+10
1160 ;
1170 COL EQU 53281
1180 ;
1190 BILDSCHIRM EQU $400
1200 SCOLLADR EQU BILDSCHIRM+320
1210 CHAR EQU 8192
1220 FARBWURST EQU 828
1230 ;
1240 SOUND1 EQU 4096
1250 SOUND2 EQU 4114
1260 EFFECT EQU 4111
1270 SOUNDOFF EQU 4099
1280 ;
1290 SEI
1300 INIT LDA #0
1310 STA 53280
1320 STA 646
1330 ;
1340 TAX
1350 LOS STA $D800,X
1360 LOS STA $D800,X
1370 STA $D900,X
1380 STA $DA00,X
1390 STA $DB00,X
1400 INX
1410 BNE LOS
1420 ;
1430 JSR 4102
1440 ;
1450 LDA #<INTERRUPT
1460 STA 788
1470 LDA #>INTERRUPT
1480 STA 789
1490 LDA #127
1500 STA 56333
1510 LDA #48
1520 STA 53266
1530 LDA #91-16
1540 STA 53265
1550 LDA #129
1560 STA 53274
1570 CLI
1580 ;
1590 LDA #1
1600 STA COUNTER
1610 LDA #6
1620 STA ACTUAL
1630 ;
1640 LDA #1
1650 STA SCOLLSPEED
1660 STA BLINKA
1670 STA BLINKB
1680 STA BLINKC
1690 STA SOLLSBLINKEN
1700 JSR DOSCOINIT
1710 JSR CHARINIT
1720 ;
1730 LDA #5
1740 JSR EFFECT
1750 LDA #70
1760 JSR WARTEN
1770 LDA #91
1780 STA 53265
1790 LDA #5
1800 JSR SOUND1
1810 ;
1820 ;
1830 GETC JSR 65508
1840 CMP #65 ; 'A'
1850 BCC ZAHL
1860 CMP #71 ; 'G'
1870 BCS ZAHL
1880 CMP #66
1890 BNE PSCHISS
1900 LDA #71
1910 PSCHISS SEC
1920 SBC #65
1930 JSR SOUND1
1940 JMP GETC
1950 ;
1960 ZAHL CMP #$31 ; '1'
1970 BCC GETC
1980 CMP #$36 ; '6'
1990 BCS GETC
2000 CMP #$35 ; '5'
2010 BNE WEITER1
2020 LDA #$36 ; '6'
2030 WEITER1 STA NAME+3
2040 ;
2050 LDX #112
2060 CMP #$34 ; '4'
2070 BNE WEITER2
2080 LDX #115
2090 WEITER2 STX 44
2100 ;
2110 JSR SOUNDOFF
2120 LDA #10
2130 JSR EFFECT
2140 LDA #70
2150 JSR WARTEN
2160 ;
2170 SEI
2180 LDA #$31
2190 STA 788
2200 LDA #$EA
2210 STA 789
2220 LDA #129
2230 STA 56333
2240 LDA #128
2250 STA 53274
2260 STA 53273
2270 LDA 56333
2280 LDA #0
2290 STA 54296
2300 CLI
2310 LDA #11
2320 STA 53265
2330 ;
2340 LDA #1
2350 LDX #8
2360 LDY #2
2370 JSR 65466
2380 LDA #4
2390 LDX #<NAME
2400 LDY #>NAME
2410 JSR 65469
2420 LDA #0
2430 JSR 65493
2440 STX 45
2450 STY 46
2460 ;
2470 NAJ ;INC 53280
2480 ;JSR 65508
2490 ;BEQ NAJ
2500 ;
2510 JSR $E5A0 ;VIDEORESET
2520 LDA #11
2530 STA 53265
2540 LDA #0
2550 STA 53280
2560 STA 53281
2570 JSR $A659
2580 JMP $A7AE
2590 ;
2600 ;
2610 CHARINIT SEI
2620 LDA #51
2630 STA 1
2640 LDX #0
2650 CHARINIT1 LDA $D000,X
2660 EOR #$FF
2670 STA CHAR,X
2680 LDA $D100,X
2690 EOR #$FF
2700 STA CHAR+256,X
2710 INX
2720 BNE CHARINIT1
2730 ;
2740 LDX #7
2750 LDA #0
2760 SPACEBACK STA CHAR,X
2770 DEX
2780 BPL SPACEBACK
2790 ;
2800 ;
2810 LDA #55
2820 STA 1
2830 LDA #24
2840 STA 53272
2850 CLI
2860 RTS
2870 ;
2880 ;
2890 INTERRUPT LDX #49
2900 LDY #49
2910 MAIN LDA FARBWURST,Y
2920 WARTE CPX 53266
2930 BCS WARTE
2940 STA COL
2950 INX
2960 DEY
2970 BPL MAIN
2980 INY
2990 STY 53281
3000 ;
3010 LDA #1
3020 STA 53273
3030 INC TIME
3040 ;
3050 JSR BLINKER
3060 JSR SCOLL
3070 JSR CYCLE
3080 JSR SOUND2
3090 JMP $EA31
3100 ;
3110 CYCLE DEC COUNTER
3120 BEQ CYCLEJA
3130 RTS
3140 ;
3150 CYCLEJA LDA #2
3160 STA COUNTER
3170 ;
3180 LDY #1
3190 LDX FARBDAT+1
3200 CYCLE1 LDA FARBDAT+1,Y
3210 STA FARBDAT,Y
3220 STA FARBWURST,Y
3230 INY
3240 CPY #62
3250 BNE CYCLE1
3260 STX FARBDAT+62
3270 ;
3280 ;
3290 FARBRAUF LDA ACTUAL
3300 NORMAL LDY #13
3310 JSR CONTROUL
3320 LOS LDA FARBLINE,Y
3330 PHA
3340 TYA
3350 CLC
3360 ADC ACTUAL
3370 TAX
3380 PLA
3390 STA FARBWURST-9,X
3400 DEY
3410 BPL LOS
3420 ;LDA #1
3430 ;STA FARBWURST
3440 RTS
3450 ;
3460 CONTROUL LDA RRKIND
3470 AND #1
3480 BEQ HINAB
3490 INC ACTUAL
3500 INC ACTUAL
3510 LDA ACTUAL
3520 CMP #60
3530 BEQ RUNTERMACH
3540 RTS
3550 RUNTERMACH INC RRKIND
3560 RTS
3570 ;
3580 HINAB DEC ACTUAL
3590 DEC ACTUAL
3600 BEQ RAUFMACH
3610 RTS
3620 RAUFMACH DEC RRKIND
3630 RTS
3640 ;
3650 ;
3660 SCOLL LDA #112
3670 LDX SCOLLBTS
3680 SCOLL0 CMP 53266
3690 BCS SCOLL
3700 STX 53270
3710 LDA #1
3720 STA 53281
3730 ;
3740 SCOLL1 LDA 53266
3750 CMP #124
3760 BCC SCOLL1
3770 LDA #200
3780 STA 53270
3790 ;
3800 LDA SCOLLSPEED
3810 SCOLL2 PHA
3820 JSR SCOLLIT
3830 PLA
3840 SEC
3850 SBC #1
3860 BNE SCOLL2
3870 ;
3880 RTS
3890 ;
3900 ;
3910 SCOLLIT DEC SCOLLBTS
3920 BMI DOSCOLLIT
3930 RTS
3940 ;
3950 DOSCOLLIT LDA #7
3960 STA SCOLLBTS
3970 ;
3980 LDX #0
3990 DOSCO1 LDA SCOLLADR+1,X
4000 STA SCOLLADR,X
4010 INX
4020 CPX #40
4030 BNE DOSCO1
4040 ;
4050 DOSCO2 LDY #0
4060 LDA (TEXT),Y
4070 BNE DOSCO3
4080 ;
4090 DOSCOINIT LDA #<TEXTTAB
4100 STA TEXT
4110 LDA #>TEXTTAB
4120 STA TEXT+1
4130 BNE DOSCO2
4140 ;
4150 DOSCO3 INC TEXT
4160 BNE DOSCO4
4170 INC TEXT+1
4180 ;
4190 DOSCO4 CMP #245
4200 BCC DOSCO5
4210 ;
4220 SEC
4230 SBC #244
4240 STA SCOLLSPEED
4250 JMP DOSCO2
4260 ;
4270 DOSCO5 STA SCOLLADR+39
4280 RTS
4290 ;
4300 BLINKER DEC SOLLSBLINKEN
4310 BEQ BLINK
4320 RTS
4330 BLINK LDA #4
4340 STA SOLLSBLINKEN
4350 LDX BLINKA
4360 LDA COLA,X
4370 STA 53282
4380 DEX
4390 STX BLINKA
4400 BNE NEXT1
4410 LDA #7
4420 STA BLINKA
4430 NEXT1 LDX BLINKB
4440 LDA COLB,X
4450 STA 53283
4460 DEX
4470 STX BLINKB
4480 BNE NEXT2
4490 LDA #17
4500 STA BLINKB
4510 NEXT2 LDX BLINKC
4520 LDA COLC,X
4530 STA 53284
4540 DEX
4550 STX BLINKC
4560 BMI BLINKINIT
4570 RTS
4580 BLINKINIT LDA #15
4590 STA BLINKC
4600 RTS
4610 ;
4620 WARTEN CLC
4630 ADC TIME
4640 WAR2 CMP TIME
4650 BNE WAR2
4660 RTS
4670 ;
4680 ;
4690 FARBDAT DFB 0,0,11,11,12,12,15,15,1,1,15,15,12,12,11,11,0,0
4700 DFB 6,6,14,14,3,3,1,1,3,3,14,14,6,6,0,0
4710 DFB 2,2,10,10,7,7,1,1,7,7,10,10,2,2,0,0
4720 ;DFB 5,5,3,3,13,13,1,1,13,13,3,3,5,5,0,0
4730 DFB 9,9,8,8,7,7,1,1,7,7,8,8,9,9
4740 ;
4750 FARBLINE ;DFB 6,14,3,1,3,14,6,0
4760 DFB 5,5,3,3,13,13,1,1,13,13,3,3,5,5
4770 ;
4780 ;
4790 COLA DFB 0,11,12,15,1,15,12,11
4800 COLB DFB 6,14,13,7,1,7,13,14,6,0,9,5,13,1,13,5,9,0
4810 COLC DFB 2,10,7,1,7,10,2,0,9,8,7,1,7,8,9,0
4820 ;
4830 ;
4840 NAME DFB ""
4850 ;
4860 TEXTTAB DFB 245,""
4870 TEXTTAB DFB 246,"",0
READY.