C64 Software  <  SCA: The C64 Software Collection / SIDEBORDERSCROLL

  Run
1000              ;
1010              ;BREITSCROLL 1
1020              ;21.6.86   STI
1030              ;
1040 Y            EQU 247
1050 IY           EQU Y+2
1060 AZ           EQU 10   ;ANZ BREITZ
1070 C            EQU 3    ;SPRITEFARBE
1080 EY           EQU 0    ;EXPAND Y
1090 ROW          EQU 250
1100 CNTR         EQU 251
1110 TEXT         EQU 252
1120 PTR1         EQU 254
1130              ;
1140 SPRITEPTR    EQU 2040
1150 SPRITENR     EQU 128
1160 SPRITES      EQU 8192
1170 LASTSPRITE   EQU SPRITES+448+12
1180 REG          EQU 53270
1190              ;
1200              ORG 20000
1210              ;
1220              ;
1230 INT          SEI
1240              LDA #<ISR
1250              STA 788
1260              LDA #>ISR
1270              STA 789
1280              LDA #127
1290              STA 56333
1300              ;
1310              LDX #46
1320 INIT1        LDA VICTAB,X
1330              STA 53248,X
1340              DEX
1350              BPL INIT1
1360              ;
1370              LDX #8
1380              STX CNTR
1390              LDA #SPRITENR+7
1400 INIT2        STA SPRITEPTR-1,X
1410              SEC
1420              SBC #1
1430              DEX
1440              BNE INIT2
1450              ;
1460              TXA
1470 INIT3        STA SPRITES,X
1480              STA SPRITES+256,X
1490              STA SPRITES+512,X
1500              INX
1510              BNE INIT3
1520              ;
1530              LDA #<TEXTTAB
1540              STA TEXT
1550              LDA #>TEXTTAB
1560              STA TEXT+1
1570              ;
1580              CLI
1590              RTS
1600              ;
1610              ;
1620              ;
1630 ISR          LDA #1
1640              STA 53273
1650              LDA #19
1660              STA 53265
1670              NOP
1680              LDY #5
1690 ISR1         DEY
1700              BNE ISR1
1710              LDA #8
1720              LDX #AZ
1730 ISR3         DEC REG
1740              STA REG
1750              LDY #5
1760 ISR4         DEY
1770              BNE ISR4
1780              NOP
1790              CMP 1; 3 CYCLES
1800              DEX
1810              BNE ISR3
1820              ;
1830              LDA #27
1840              STA 53265
1850              ;
1860              JSR SCLOLL
1870              ;
1880              JMP 59953
1890              PLA
1900              TAY
1910              PLA
1920              TAX
1930              PLA
1940              RTI
1950              ;
1960 SCLOLL       LDA #27
1970 SCLOLL1      STA ROW
1980              CLC
1990              ADC #<LASTSPRITE
2000              STA MODIF+1
2010              LDA #>LASTSPRITE
2020              STA MODIF+2
2030              ;
2040              LDY #8
2050 SCLOLL2      LDX #2
2060 MODIF        ROL 65530,X
2070              DEX
2080              BPL MODIF
2090              ;
2100              PHP
2110              LDA MODIF+1
2120              SEC
2130              SBC #64
2140              STA MODIF+1
2150              BCS SCLOLL3
2160              DEC MODIF+2
2170 SCLOLL3      PLP
2180              DEY
2190              BNE SCLOLL2
2200              ;
2210              LDA ROW
2220              SEC
2230              SBC #3
2240              BPL SCLOLL1
2250              ;
2260              DEC CNTR
2270              LDA CNTR
2280              BNE SCLOLLAUS
2290              LDA #8
2300              STA CNTR
2310              LDA #27    ;$D8/8
2320              STA PTR1+1
2330              ;
2340              LDY #0
2350 SCLOLL4      LDA (TEXT),Y
2360              BNE SCLOLL5
2370              ;
2380              LDA #<TEXTTAB
2390              STA TEXT
2400              LDA #>TEXTTAB
2410              STA TEXT+1
2420              BNE SCLOLL4
2430              ;
2440 SCLOLL5      INC TEXT
2450              BNE SCLOLL6
2460              INC TEXT+1
2470              ;
2480 SCLOLL6      ASL
2490              ROL PTR1+1
2500              ASL
2510              ROL PTR1+1
2520              ASL
2530              ROL PTR1+1
2540              STA PTR1
2550              LDA #51
2560              STA 1
2570              LDX #0
2580              LDY #0
2590 SCLOLL7      LDA (PTR1),Y
2600              STA LASTSPRITE+2,X
2610              INX
2620              INX
2630              INX
2640              INY
2650              CPY #8
2660              BCC SCLOLL7
2670              LDA #55
2680              STA 1
2690              ;
2700              ;
2710 SCLOLLAUS    RTS
2720              ;
2730              ;
2740              ;
2750 VICTAB       DFB 0,Y,48,Y,96,Y,144,Y,192,Y,240,Y,32,Y,80,Y,%11000000
2760              DFB 27,IY,0,0,255,8,EY,21,1,129,0,0,255,0,0
2770              DFB 0,0,0,0,0,0,0,C,C,C,C,C,C,C,C
2780              ;
2790 TEXTTAB      DFB ""
2800              DFB ""
2810              DFB ""
2820              DFB "",0
READY.