C64 Software  <  SCA: The C64 Software Collection / RSCR V6.02

  Run
1000              ;SAVE "",8
1010              ;
1020              ; RAHMENSCROLL V6.02
1030              ;
1040              ; 25.10. 1985 CW
1050              ;
1060              ;
1070              ORG 20000
1080              ;
1090 TEXTPTR      EQU 248
1100 JOBCNTR      EQU 250
1110 MODE         EQU 251
1120 TMP1         EQU 252
1130 TMP2         EQU 254
1140              ;
1150 BSP          EQU 1024
1160 SPRITEPTR    EQU BSP+1016
1170 SPRITENR     EQU 249
1180 SPD          EQU 15872
1190 NORMISR      EQU $EA31
1200              ;
1210              ;
1220              ;
1230 INIT         SEI
1240              LDX #0
1250              TXA
1260 INIT0        STA SPD,X
1270              STA SPD+256,X
1280              INX
1290              BNE INIT0
1300              ;
1310              STA 16383
1320              ;
1330              LDY #46
1340 INIT1        LDA VICTAB,Y
1350              STA 53248,Y
1360              DEY
1370              BPL INIT1
1380              ;
1390              INY
1400              LDA #SPRITENR
1410 INIT2        STA SPRITEPTR,Y
1420              CLC
1430              ADC #1
1440              INY
1450              CPY #8
1460              BCC INIT2
1470              ;
1480              ;
1490              ;
1500              LDA #127
1510              STA 56333
1520              LDA #<ISR
1530              LDY #>ISR
1540              STA 788
1550              STY 789
1560              LDA #2
1570              STA JOBCNTR
1580              LDA 53273 ; REQUEST
1590              STA 53273 ; LOESCHEN
1600              LDA 53265
1610              STA MODE
1620              LDA #<TEXT
1630              STA TEXTPTR
1640              LDA #>TEXT
1650              STA TEXTPTR+1
1660              CLI
1670              RTS
1680              ;
1690              ;
1700              ;
1710 RASTERAUS    SEI
1720              LDA #<NORMISR
1730              LDY #>NORMISR
1740              STA 788
1750              STY 789
1760              LDA #0
1770              STA 53274
1780              LDA 53273
1790              STA 53273
1800              LDA #129
1810              STA 56333
1820              CLI
1830              RTS
1840              ;
1850              ;
1860              ;
1870 ISR          LDA 53273
1880              STA 53273
1890              LDX JOBCNTR
1900              BEQ JOB1
1910              CPX #1
1920              BEQ JOB2
1930              CPX #2
1940              BEQ JOB3
1950              ;
1960              LDA #127
1970              STA 53269
1980              JMP JOBAUS
1990              ;
2000 JOB1         LDA #0
2010              STA 53269
2020              JMP JOBAUS
2030              ;
2040              ;
2050 JOB2         LDA MODE
2060              ORA #8         ; 25 Z
2070              STA 53265
2080              JMP JOBAUS
2090              ;
2100 JOB3         LDA 53265
2110              AND #%11110111 ; 24 Z
2120              STA 53265
2130              ;
2140              ;
2150 JOBAUS       LDX JOBCNTR
2160              INX
2170              CPX #4
2180              BNE JOBAUS1
2190              LDX #0
2200 JOBAUS1      STX JOBCNTR
2210              ;
2220              LDA RASTERTABL,X
2230              STA 53266
2240              LDA 53265
2250              AND #%01111111
2260              ORA RASTERTABH,X
2270              STA 53265
2280              ;
2290              CPX #1
2300              BEQ ISR2
2310              ;
2320              PLA
2330              TAY
2340              PLA
2350              TAX
2360              PLA
2370              RTI
2380              ;
2390 ISR2         JSR MOVE
2400              JSR MOVE
2410              JMP NORMISR
2420              ;
2430              ;
2440              ;
2450 MOVE         LDA 53248
2460              CMP #9
2470              BCC SCLOLL
2480              LDX #64
2490              CMP #17
2500              BCC MOVE1
2510              LDX #96
2520 MOVE1        STX 53264
2530              ;
2540              LDX #14
2550 MOVE2        DEC 53248,X
2560              DEX
2570              DEX
2580              BPL MOVE2
2590              RTS
2600              ;
2610 SCLOLL       LDX #16
2620 SC0          LDA VICTAB,X
2630              STA 53248,X
2640              DEX
2650              BPL SC0
2660              ;
2670              LDA #<SPD+2
2680              LDX #>SPD
2690              STA TMP1
2700              STX TMP1+1
2710              CLC
2720              ADC #62
2730              STA TMP2
2740              BCC SCLOLL1
2750              INX
2760 SCLOLL1      STX TMP2+1
2770              ;
2780              LDX #7
2790 SCLOLLL      LDY #0
2800 SCLOLL2      LDA (TMP2),Y
2810              STA (TMP1),Y
2820              INY
2830              INY
2840              INY
2850              CPY #24
2860              BCC SCLOLL2
2870              ;
2880              LDY #0
2890 SCLOLL3      INY
2900              LDA (TMP2),Y
2910              DEY
2920              STA (TMP2),Y
2930              INY
2940              CPY #24
2950              BCC SCLOLL3
2960              ;
2970              LDA TMP1
2980              CLC
2990              ADC #64
3000              STA TMP1
3010              BCC SCLOLL4
3020              INC TMP1+1
3030 SCLOLL4      LDA TMP2
3040              CLC
3050              ADC #64
3060              STA TMP2
3070              BCC SCLOLL5
3080              INC TMP2+1
3090              ;
3100 SCLOLL5      DEX
3110              BNE SCLOLLL
3120              ;
3130              ;
3140              LDY #0
3150 SCLOLL6      LDA (TEXTPTR),Y
3160              BNE SCLOLL7
3170              ;
3180              LDA #<TEXT
3190              STA TEXTPTR
3200              LDA #>TEXT
3210              STA TEXTPTR+1
3220              BNE SCLOLL6
3230              ;
3240 SCLOLL7      INC TEXTPTR
3250              BNE SCLOLL7A
3260              INC TEXTPTR+1
3270              ;
3280 SCLOLL7A     LDY #27
3290              STY TMP1+1
3300              ASL
3310              ROL TMP1+1
3320              ASL
3330              ROL TMP1+1
3340              ASL
3350              ROL TMP1+1
3360              STA TMP1
3370              ;
3380              LDA #51
3390              STA 1
3400              LDY #7
3410              LDX #23
3420 SCLOLL8      LDA (TMP1),Y
3430              STA SPD+448,X
3440              DEX
3450              DEX
3460              DEX
3470              DEY
3480              BPL SCLOLL8
3490              LDA #55
3500              STA 1
3510              ;
3520              RTS
3530              ;
3540              ;
3550              ;
3560 RASTERTABL   DFB 55,50,248,250
3570 RASTERTABH   DFB 128,0,0,0
3580 VICTAB       DFB 23,10,71,10,119,10,167,10,215,10,7,10,55,10,0,0,96
3590              DFB 27,248,0,0,127,200,0,21,0,1,0,0,127
3600              DFB 0,0,14,6,0,0,0,0,0,1,1,1,1,1,1,1,1
3610 TEXT         DFB ""
3620              DFB "",0
READY.