C64 Software  <  SCA: The C64 Software Collection / COMPETITION.SAUR

  Run
1000              ;
1010              ;BREITSCROLL 1
1020              ;21.6.86   STI
1030              ;
1040 ZEROFREE     EQU 247
1050 Y            EQU 247
1060 IY           EQU Y+2
1070 AZ           EQU 14   ;ANZ BREITZ
1080 C            EQU 3    ;SPRITEFARBE
1090 EY           EQU 0    ;EXPAND Y
1100 ROW          EQU ZEROFREE
1110 CNTR         EQU ZEROFREE+1
1120 TEXT         EQU ZEROFREE+2
1130 PTR1         EQU ZEROFREE+4
1140 ZELLE        EQU ZEROFREE+5
1150 COUNTER      EQU ZEROFREE+6
1160 AKKU         EQU ZEROFREE+7
1170              ;
1180 CHARHI       EQU $06 ; $30/8
1190 SPRITEPTR    EQU 2040
1200 SPRITENR     EQU 128
1210 SPRITES      EQU 8192
1220 LASTSPRITE   EQU SPRITES+448+18
1230 REG          EQU 53270
1240              ;
1250 BILDSCHIRM   EQU $400
1260 FARBRAM      EQU $D800
1270              ;
1280 INIT         EQU $C357
1290 MUZAK        EQU $BDE4
1300              ;
1310              ;
1320              ORG $4E20
1330              ;
1340              ;
1350 INT          SEI
1360              LDA #<ISR
1370              STA 788
1380              LDA #>ISR
1390              STA 789
1400              LDA #127
1410              STA 56333
1420              LDA #$36
1430              STA 1
1440              ;
1450 PICINIT      LDY #0
1460 PICINIT1     LDA #32 ; REVERSSPACE
1470              STA BILDSCHIRM+120,Y
1480              STA BILDSCHIRM+376,Y
1490              STA BILDSCHIRM+400,Y
1500              LDA #31 ; NORMALSPACE
1510              STA BILDSCHIRM+640,Y
1520              STA BILDSCHIRM+768,Y
1530              LDA #0
1540              STA FARBRAM+120,Y
1550              STA FARBRAM+376,Y
1560              STA FARBRAM+400,Y
1570              LDA #6
1580              STA FARBRAM+640,Y
1590              STA FARBRAM+768,Y
1600              DEY
1610              BNE PICINIT1
1620              ;
1630 FARBRAMINIT  LDX #39
1640 FARBLADEN    LDA FARBDAT2,X
1650              STA FARBRAM+80,X
1660              DEX
1670              BPL FARBLADEN
1680              ;
1690 OBENTEXTINIT LDA #239
1700              STA 657
1710              LDY #119
1720 F            STA BILDSCHIRM,Y
1730              SEC
1740              SBC #1
1750              DEY
1760              BPL F
1770              ;
1780              JSR CYCLEJA
1790              ;
1800              LDX #39
1810 TEXTMITTE    LDA FIVELINES,X
1820              STA BILDSCHIRM+200,X
1830              LDA FIVELINES+40,X
1840              STA BILDSCHIRM+280,X
1850              LDA FIVELINES+80,X
1860              STA BILDSCHIRM+360,X
1870              LDA FIVELINES+120,X
1880              STA BILDSCHIRM+440,X
1890              LDA FIVELINES+160,X
1900              STA BILDSCHIRM+520,X
1910              DEX
1920              BPL TEXTMITTE
1930              ;
1940              LDY #160
1950 SCAUNT       LDA SCAUNTEN-1,Y
1960              STA BILDSCHIRM+679,Y
1970              DEY
1980              BNE SCAUNT
1990              ;
2000              LDX #46
2010 INIT1        LDA VICTAB,X
2020              STA 53248,X
2030              DEX
2040              BPL INIT1
2050              ;
2060              LDX #8
2070              STX CNTR
2080              LDA #SPRITENR+7
2090 INIT2        STA SPRITEPTR-1,X
2100              SEC
2110              SBC #1
2120              DEX
2130              BNE INIT2
2140              ;
2150              TXA
2160 INIT3        STA SPRITES,X
2170              INX
2180              BNE INIT3
2190              ;
2200              LDA #<TEXTTAB
2210              STA TEXT
2220              LDA #>TEXTTAB
2230              STA TEXT+1
2240              ;
2250              LDA #1
2260              STA 53273
2270              CLI
2280              ;
2290              LDA #12
2300              JSR INIT
2310              ;
2320              ;
2330 ZEICHENGET   JSR 65508
2340              BEQ ZEICHENGET
2350              SBC #64
2360              STA AKKU
2370              BMI ZEICHENGET
2380              SBC #13
2390              BPL ZEICHENGET
2400              LDA AKKU
2410              JSR INIT
2420              JMP ZEICHENGET
2430              ;
2440              ;
2450 RASTERCYCLE  LDA #80
2460 WAIT         CMP 53266
2470              BNE WAIT
2480              LDY #80
2490 DATCYCLE     LDA FARBDAT,Y
2500              LDX 53266
2510 WARTE        CPX 53266
2520              BEQ WARTE
2530              STA 53281
2540              DEY
2550              BPL DATCYCLE
2560              ;
2570 CYCLE        DEC COUNTER
2580              BEQ CYCLEJA
2590              RTS
2600 CYCLEJA      LDA #4 ;VERZOEGERUNG
2610              STA COUNTER
2620              ;
2630              LDY #1
2640              LDX FARBDAT+1
2650 CYCLE1       LDA FARBDAT+1,Y
2660              STA FARBDAT,Y
2670              INY
2680              CPY #79
2690              BNE CYCLE1
2700              STX FARBDAT+79
2710              RTS
2720              ;
2730              ;
2740              ;
2750              ;
2760 ZEICHENCYCLE LDY #38
2770              LDA FARBRAM+39
2780              PHA
2790 SUB          LDA FARBRAM+80,Y
2800              STA FARBRAM+3,Y
2810              STA FARBRAM+42,Y
2820              STA FARBRAM+81,Y
2830              DEY
2840              BPL SUB
2850              PLA
2860              STA FARBRAM+3
2870              STA FARBRAM+41
2880              STA FARBRAM+80
2890              LDA FARBRAM+40
2900              STA FARBRAM+1
2910              LDA FARBRAM+41
2920              STA FARBRAM+2
2930              RTS
2940              ;
2950              ;
2960              ;
2970 ISR          LDA #1
2980              STA 53273
2990              LDA #19
3000              STA 53265
3010              NOP
3020              LDY #5
3030 ISR1         DEY
3040              BNE ISR1
3050              LDA #8
3060              LDX #AZ
3070 ISR3         DEC REG
3080              STA REG
3090              LDY #5
3100 ISR4         DEY
3110              BNE ISR4
3120              NOP
3130              CMP 1; 3 CYCLES
3140              DEX
3150              BNE ISR3
3160              ;
3170              LDA #27
3180              STA 53265
3190              ;
3200              ;LDA #11
3210              ;STA 53280
3220              JSR SCLOLL
3230              JSR SPRITECYCLE
3240              JSR MUZAK
3250              JSR RASTERCYCLE
3260              JSR ZEICHENCYCLE
3270              ;LDA #0
3280              ;STA 53280
3290              ;
3300              JMP 59953
3310              ;
3320              ;
3330 SCLOLL       LDA #27
3340 SCLOLL1      STA ROW
3350              CLC
3360              ADC #<LASTSPRITE
3370              STA MODIF+1
3380              LDA #>LASTSPRITE
3390              STA MODIF+2
3400              ;
3410              LDY #8
3420 SCLOLL2      LDX #2
3430 MODIF        ROL 65530,X
3440              DEX
3450              BPL MODIF
3460              ;
3470              PHP
3480              LDA MODIF+1
3490              SEC
3500              SBC #64
3510              STA MODIF+1
3520              BCS SCLOLL3
3530              DEC MODIF+2
3540 SCLOLL3      PLP
3550              DEY
3560              BNE SCLOLL2
3570              ;
3580              LDA ROW
3590              SEC
3600              SBC #3
3610              BPL SCLOLL1
3620              ;
3630              DEC CNTR
3640              LDA CNTR
3650              BNE SCLOLLAUS
3660              LDA #8
3670              STA CNTR
3680              LDA #CHARHI
3690              STA PTR1+1
3700              ;
3710              LDY #0
3720 SCLOLL4      LDA (TEXT),Y
3730              BNE SCLOLL5
3740              ;
3750              LDA #<TEXTTAB
3760              STA TEXT
3770              LDA #>TEXTTAB
3780              STA TEXT+1
3790              BNE SCLOLL4
3800              ;
3810 SCLOLL5      INC TEXT
3820              BNE SCLOLL6
3830              INC TEXT+1
3840              ;
3850 SCLOLL6      ASL
3860              ROL PTR1+1
3870              ASL
3880              ROL PTR1+1
3890              ASL
3900              ROL PTR1+1
3910              STA PTR1
3920              LDA #51
3930              STA 1
3940              LDX #0
3950              LDY #0
3960 SCLOLL7      LDA (PTR1),Y
3970              EOR #255 ; REVERSEN
3980              STA LASTSPRITE+2,X
3990              INX
4000              INX
4010              INX
4020              INY
4030              CPY #8
4040              BCC SCLOLL7
4050              LDA #54
4060              STA 1
4070              ;
4080              ;
4090 SCLOLLAUS    RTS
4100              ;
4110 SPRITECYCLE  INC ZELLE
4120              LDA ZELLE
4130              AND #3
4140              BNE SCLOLLAUS
4150              LDX 53294 ;FARBE7
4160              LDY #6
4170 SPRSCH       LDA 53287,Y
4180              STA 53288,Y
4190              DEY
4200              BPL SPRSCH
4210              STX 53287
4220              RTS
4230              ;
4240              ;
4250 VICTAB       DFB 0,Y,48,Y,96,Y,144,Y,192,Y,240,Y,32,Y,80,Y,%11000000
4260              DFB 27,IY,0,0,255,8,EY,29,1,129,0,0,255,0,0
4270              DFB 0,0,0,0,0,0,0,1,3,14,6,0,6,14,3
4280              ;
4290              ;
4300              ;
4310 FARBDAT      DFB 0,11,12,15,1,15,12,11,0
4320              DFB 0,0,0,0,0,0,0,0
4330              DFB 2,10,7,1,7,10,2,0
4340              DFB 0,0,0,0,0,0,0,0
4350              DFB 5,3,13,1,13,3,5,0
4360              DFB 0,0,0,0,0,0,0,0
4370              DFB 9,8,7,1,7,8,9,0
4380              DFB 0,0,0,0,0,0,0,0
4390              DFB 6,14,3,1,3,14,6,0
4400              DFB 0,0,0,0,0,0,0,0
4410              ;
4420              ;
4430 FARBDAT2     DFB 10,10,10,10,4,4,4,4,14,14,14
4440              DFB 14,3,3,3,3,13,13
4450              DFB 13,13,1,1,1,1,13
4460              DFB 13,13,13,3,3,3,3
4470              DFB 14,14,14,14,4,4,4,4
4480              ;
4490              ;
4500 FIVELINES    DFB ""
4510              DFB ""
4520              DFB ""
4530              DFB ""
4540              DFB ""
4550              ;
4560              ;
4570 SCAUNTEN     DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4580              DFB 0,1,2,3,1,1,4,5,6,7
4590              DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4600              DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4610              DFB 9,1,1,10,1,11,12,13,1,14
4620              DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4630              DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4640              DFB 15,16,17,18,1,17,18,4,17,8
4650              DFB 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
4660              DFB 8,8,8,8,8,8,8,8,8,8,8
4670              DFB 91,92,93,94,95,96,97,98,99
4680              DFB 100,101,102,103,104,105,106,107,108
4690              DFB 8,8,8,8,8,8,8,8,8,8,8
4700              ;
4710 TEXTTAB      DFB ""
4720              DFB ""
4730              DFB ""
4740              DFB ""
4750              DFB ""
4760              DFB ""
4770              DFB ""
4780              DFB ""
4790              DFB ""
4800              DFB ""
4810              DFB ""
4820              DFB ""
4830              DFB ""
4840              DFB ""
4850              DFB ""
4860              DFB ""
4870              DFB ""
4880              DFB ""
4890              DFB ""
4900              DFB ""
4910              DFB ""
4920              DFB ""
4930              DFB ""
4940              DFB ""
4950              DFB ""
4960              DFB ""
4970              DFB ""
4980              DFB ""
4990              DFB ""
5000              DFB ""
5010              DFB ""
5020              DFB ""
5030              DFB ""
5040              DFB ""
5050              DFB ""
5060              DFB ""
5070              DFB ""
5080              DFB ""
5090              DFB ""
5100              DFB ""
5110              DFB ""
5120              DFB "",0
READY.