C64 Software  <  SCA: The C64 Software Collection / PART 2!!

  Run
1000              ;
1010              ;NORMALSCROLL 1
1020              ;21.6.80   STI
1030              ;
1040 Y            EQU 60   ;POSITION
1050 IY           EQU 100  ;WANN IRQ
1060              ;
1070              ;
1080 EY           EQU 255  ;EXPAND Y
1090              ;
1100 ZEROFREE     EQU 247
1110              ;
1120 ROW          EQU ZEROFREE
1130 CNTR         EQU ZEROFREE+1
1140 TEXT         EQU ZEROFREE+2
1150 PTR1         EQU ZEROFREE+4
1160              ;
1170              ;
1180 SPRITEPTR    EQU 2040
1190 SPRITENR     EQU 128
1200 SPRITES      EQU 8192
1210 LASTSPRITE   EQU SPRITES+448+12
1220 REG          EQU 53270
1230 SPRITEFARB   EQU 53287
1240              ;
1250              ORG $9800
1260              ;
1270              SEI
1280              ;
1290              LDA #52
1300              STA 1
1310              LDX #0
1320 FRAGGEL      LDA $0400,X
1330              STA $D000,X
1340              LDA $FA00,X
1350              STA $0400,X
1360              LDA $0500,X
1370              STA $D100,X
1380              LDA $FB00,X
1390              STA $0500,X
1400              LDA $0600,X
1410              STA $D200,X
1420              LDA $FC00,X
1430              STA $0600,X
1440              LDA $0700,X
1450              STA $D300,X
1460              LDA $FD00,X
1470              STA $0700,X
1480              LDA $2000,X
1490              STA $DA00,X
1500              LDA $2100,X
1510              STA $DB00,X
1520              LDA $2200,X
1530              STA $DC00,X
1540              LDA $2300,X
1550              STA $DD00,X
1560              LDA $2400,X
1570              STA $DE00,X
1580              LDA $2500,X
1590              STA $DF00,X
1600              INX
1610              BNE FRAGGEL
1620              LDA #55
1630              STA 1
1640              ;
1650              TXA
1660 INIT3        STA SPRITES,X
1670              STA SPRITES+256,X
1680              STA SPRITES+512,X
1690              INX
1700              BNE INIT3
1710              ;
1720              LDA #<TEXTTAB
1730              STA TEXT
1740              LDA #>TEXTTAB
1750              STA TEXT+1
1760              ;
1770 INT          LDA #<ISR
1780              STA 788
1790              LDA #>ISR
1800              STA 789
1810              LDA #127
1820              STA 56333
1830              ;
1840              LDX #46
1850 INIT1        LDA VICTAB,X
1860              STA 53248,X
1870              DEX
1880              BPL INIT1
1890              ;
1900              LDX #8
1910              STX CNTR
1920              LDA #SPRITENR+7
1930 INIT2        STA SPRITEPTR-1,X
1940              SEC
1950              SBC #1
1960              DEX
1970              BNE INIT2
1980              ;
1990              CLI
2000 IMMER        JMP IMMER
2010              ;
2020              ;
2030              ;
2040 ISR          LDA #1
2050              STA 53273
2060              ;
2070              JSR SCLOLL
2080              JSR SPRITECYCLE
2090              JSR FARBCYCLE
2100              LDA #53
2110              STA 1
2120              JSR $E02C
2130              LDA #55
2140              STA 1
2150              JSR TASATUR
2160              ;
2170              JMP 59953
2180              ;
2190              ;
2200              ;
2210              ;
2220 SPRITECYCLE  LDA 162
2230              AND #1
2240              BNE CYCLEEND
2250              LDY #7
2260 CYCLELOOP    LDA CYCLEDATA,Y
2270              STA SPRITEFARB,Y
2280              DEY
2290              BPL CYCLELOOP
2300 CYCLEROTATE  LDY #58 ; ANZAHL-1
2310              LDA CYCLEDATA+1,Y
2320              TAX
2330 CYCLELOOP2   LDA CYCLEDATA,Y
2340              STA CYCLEDATA+1,Y
2350              DEY
2360              BPL CYCLELOOP2
2370              STX CYCLEDATA
2380 CYCLEEND     RTS
2390              ;
2400              ;
2410 SCLOLL       LDA #27
2420 SCLOLL1      STA ROW
2430              CLC
2440              ADC #<LASTSPRITE
2450              STA MODIF+1
2460              LDA #>LASTSPRITE
2470              STA MODIF+2
2480              ;
2490              LDY #8
2500 SCLOLL2      LDX #2
2510 MODIF        ROL 65530,X
2520              DEX
2530              BPL MODIF
2540              ;
2550              PHP
2560              LDA MODIF+1
2570              SEC
2580              SBC #64
2590              STA MODIF+1
2600              BCS SCLOLL3
2610              DEC MODIF+2
2620 SCLOLL3      PLP
2630              DEY
2640              BNE SCLOLL2
2650              ;
2660              LDA ROW
2670              SEC
2680              SBC #3
2690              BPL SCLOLL1
2700              ;
2710              DEC CNTR
2720              LDA CNTR
2730              BNE SCLOLLAUS
2740              LDA #8
2750              STA CNTR
2760              LDA #27    ;$D8/8
2770              STA PTR1+1
2780              ;
2790              LDY #0
2800 SCLOLL4      LDA (TEXT),Y
2810              BNE SCLOLL5
2820              ;
2830              LDA #<TEXTTAB
2840              STA TEXT
2850              LDA #>TEXTTAB
2860              STA TEXT+1
2870              BNE SCLOLL4
2880              ;
2890 SCLOLL5      INC TEXT
2900              BNE SCLOLL6
2910              INC TEXT+1
2920              ;
2930 SCLOLL6      ASL
2940              ROL PTR1+1
2950              ASL
2960              ROL PTR1+1
2970              ASL
2980              ROL PTR1+1
2990              STA PTR1
3000              LDA #51
3010              STA 1
3020              LDX #0
3030              LDY #0
3040 SCLOLL7      LDA (PTR1),Y
3050              STA LASTSPRITE+2,X
3060              INX
3070              INX
3080              INX
3090              INY
3100              CPY #8
3110              BCC SCLOLL7
3120              LDA #55
3130              STA 1
3140              ;
3150              ;
3160 SCLOLLAUS    RTS
3170              ;
3180              ;
3190              ;
3200 VICTAB       DFB 0,Y,48,Y,96,Y,144,Y,192,Y,240,Y,32,Y,80,Y,%11000000
3210              DFB 27,IY,0,0,255,8,EY,21,1,129,0,0,255,0,0
3220              DFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3230              ;
3240 CYCLEDATA    DFB 11,12,15,1,15,12,11,0,0,0
3250              DFB 9,8,7,1,7,8,9,0,0,0
3260              DFB 6,14,3,1,3,14,6,0,0,0
3270              DFB 2,10,7,1,7,10,2,0,0,0
3280              DFB 9,5,13,1,13,5,9,0,0,0
3290              DFB 4,10,3,1,3,10,4,0,0,0
3300              ;
3310              ;
3320              ;
3330              ;
3340              ;
3350              ;
3360 FARBCYCLE    LDY #39
3370 SUB1         LDA FARBTAB,Y
3380              STA $D800,Y
3390              ;STA $D800+80,Y
3400              STA $D800+160,Y
3410              STA $D800+240,Y
3420              STA $D800+320,Y
3430              STA $D800+400,Y
3440              STA $D800+480,Y
3450              STA $D800+560,Y
3460              STA $D800+640,Y
3470              STA $D800+720,Y
3480              STA $D800+800,Y
3490              STA $D800+880,Y
3500              STA $D800+960,Y
3510              DEY
3520              BPL SUB1
3530              ;
3540              LDY #0
3550              LDX #39
3560 SUB2         LDA FARBTAB,X
3570              STA $D800+40,Y
3580              ; STA $D800+120,Y
3590              STA $D800+200,Y
3600              STA $D800+280,Y
3610              STA $D800+360,Y
3620              STA $D800+440,Y
3630              STA $D800+520,Y
3640              STA $D800+600,Y
3650              STA $D800+680,Y
3660              STA $D800+760,Y
3670              STA $D800+840,Y
3680              STA $D800+920,Y
3690              DEX
3700              INY
3710              CPY #39
3720              BNE SUB2
3730              ;
3740              LDY #38
3750              LDX FARBTAB+39
3760 ROTATE       LDA FARBTAB,Y
3770              STA FARBTAB+1,Y
3780              DEY
3790              BPL ROTATE
3800              TXA
3810              STA FARBTAB
3820              RTS
3830              ;
3840 FARBTAB      DFB 0,0,2,2,9,9,8,8,7,7,1,1,7,7,8,8,9,9,2,2,0,0,6,6
3850              DFB 4,4,14,14,3,3,1,1,3,3,14,14,4,4,6,6
3860              ;
3870              ;
3880              ;
3890 TEXTTAB      DFB ""
3900              DFB ""
3910              DFB ""
3920              DFB ""
3930              DFB ""
3940              DFB ""
3950              DFB ""
3951              DFB ""
3960              DFB ""
3970              DFB ""
3980              DFB ""
3990              DFB ""
4000              DFB ""
4010              DFB ""
4011              DFB ""
4020              DFB ""
4030              DFB "",0
4040              ;
4050              ;
4060              ;
4070              ;
4080              ;
4090              ;
4100              ;
4110              ;
4120              ;
4130 TASATUR      JSR $FFE4
4140              BNE GEDRUECKT
4150              RTS
4160 GEDRUECKT    TAX
4170              LDA #53
4180              STA 1
4190              CPX #49
4200              BEQ EINS
4210              CPX #50
4220              BEQ ZWEI
4230              CPX #51
4240              BEQ DREI
4250              CPX #52
4260              BEQ VIER
4270              CPX #53
4280              BEQ FUENF
4290              CPX #54
4300              BEQ SHS
4310              CPX #84
4320              BEQ TRAINER
4330              CPX #67
4340              BEQ CHEAT
4350              CPX #32
4360              BEQ GOON
4370              LDA #55
4380              STA 1
4390              RTS
4400 EINS         LDA #1
4410              STA $E003
4420              JSR FOIF
4430              RTS
4440 ZWEI         LDA #$1E
4450              STA $E003
4460              JSR FOIF
4470              RTS
4480 DREI         LDA #$1F
4490              STA $E003
4500              JSR FOIF
4510              RTS
4520 VIER         LDA #$20
4530              STA $E003
4540              JSR FOIF
4550              RTS
4560 FUENF        LDA #$21
4570              STA $E003
4580              JSR FOIF
4590              RTS
4600 SHS          LDA #$23
4610              STA $E003
4620              JSR FOIF
4630              RTS
4640 FOIF         LDA #55
4650              STA 1
4660              RTS
4670 TRAINER      JSR FOIF
4680              LDA #$A6
4690              STA $3A29
4700              JMP GOON
4710 CHEAT        JSR FOIF
4720              LDA #$EA
4730              STA $3A28
4740              STA $3A29
4750              STA $3A2A
4760              JMP GOON
4770 GOON         SEI
4780              JSR FOIF
4790              JSR $FF81
4800              LDA #52
4810              STA 1
4820              LDX #0
4830 FRUGGEL      LDA $D000,X
4840              STA $0400,X
4850              LDA $D100,X
4860              STA $0500,X
4870              LDA $D200,X
4880              STA $0600,X
4890              LDA $D300,X
4900              STA $0700,X
4910              LDA $DA00,X
4920              STA $2000,X
4930              LDA $DB00,X
4940              STA $2100,X
4950              LDA $DC00,X
4960              STA $2200,X
4970              LDA $DD00,X
4980              STA $2300,X
4990              LDA $DE00,X
5000              STA $2400,X
5010              LDA $DF00,X
5020              STA $2500,X
5030              INX
5040              BNE FRUGGEL
5050              JSR FOIF
5060              LDA #49
5070              STA 788
5080              LDA #234
5090              STA 789
5100              LDA #0
5110              STA 54296
5120              JMP $0400
READY.