C64 Software  <  SCA: The C64 Software Collection / KKAMPF 10.8 16.2

  Run
1000              ;
1010              ; BREITSCHRIFT
1020              ;
1030              ; RASTER INTERRUPT
1040              ;
1050              ; KKAMPF JS/SPRITES
1060              ;
1070              ;
1080              ; 10. 8. 1985
1090              ;
1100              ;
1110              ORG 20000
1120              ;
1130              ;
1140              ;
1150 CSET         EQU $D000
1160 CSET2        EQU $E000
1170 TMP1         EQU 250
1180 TMP2         EQU 252
1190 TMP3         EQU 254
1200 TMP4         EQU 2
1210 TMP5         EQU 3
1220              ;
1230 JS1          EQU 254
1240 JS2          EQU 255
1250              ;
1260              ;
1270 ZAEHLER      EQU 251
1280 ANZAHL       EQU 252
1290 ANZAHLTMP    EQU 253
1300              ;
1310 CHRGET       EQU $0073
1320 FRMNUM       EQU $AD8A
1330 GETADR       EQU $B7F7
1340              ;
1350              ;
1360              ;********************
1370              ;
1380 VEKTOREN     JMP ZSINIT
1390              JMP EINSPRUNG1
1400              JMP EINSPRUNG2
1410              JMP JOYSTICK
1420              JMP MOVESPRITES
1430              ;
1440              DFB <SPRITEX,>SPRITEX
1450              ;
1460              ;********************
1470              ;
1480              ;
1490              ;
1500 ZSINIT       LDY #0
1510              STY TMP1
1520              STY TMP2
1530              STY TMP3
1540              LDA #>CSET
1550              STA TMP1+1
1560              LDA #>CSET2
1570              STA TMP2+1
1580              ;
1590 VERSCHIEBEN  SEI
1600              LDA #51
1610              STA 1
1620              LDX #16
1630 VSLOOP       LDA (TMP1),Y
1640              STA (TMP2),Y
1650              INY
1660              BNE VSLOOP
1670              INC TMP1+1
1680              INC TMP2+1
1690              DEX
1700              BNE VSLOOP
1710              LDA #53
1720              STA 1
1730              ;
1740              ;
1750 VERBREITERN  LDX #1
1760              LDA #>CSET2
1770              STA TMP1+1
1780              LDA #>CSET2+4
1790              STA TMP2+1
1800              LDA #>CSET2+6
1810              STA TMP3+1
1820              ;
1830              LDA #2
1840              STA TMP5
1850 VBLOOP       LDA (TMP1),Y
1860              STA TMP4
1870              JSR SCHIEB
1880              STA (TMP2),Y
1890              JSR SCHIEB
1900              STA (TMP3),Y
1910              INY
1920              BNE VBLOOP
1930              INC TMP1+1
1940              INC TMP2+1
1950              INC TMP3+1
1960              DEC TMP5
1970              BNE VBLOOP
1980              ;
1990              ;
2000 NEUEZEICHEN  LDX #7
2010 NZLOOP       LDA #255
2020              STA 58624,X
2030              STA 59136,X
2040              LDA Z27,X
2050              STA 57560,X
2060              LDA Z29,X
2070              STA 57576,X
2080              DEX
2090              BPL NZLOOP
2100              ;
2110              ;
2120              LDA #148
2130              STA 56576
2140              LDA #40    ;$CC00
2150              STA 53272
2160              LDA #204
2170              STA 648
2180              LDA #55
2190              STA 1
2200              CLI
2210              LDA #147
2220              JSR 65490
2230              ;
2240              ;
2250              LDA #<OUTPUT
2260              STA 806
2270              LDA #>OUTPUT
2280              STA 807
2290              ;
2300              RTS
2310              ;
2320              ;
2330 SCHIEB       LDX #4
2340 SCHIEB1      ASL TMP4
2350              PHP
2360              ROL
2370              PLP
2380              ROL
2390              DEX
2400              BNE SCHIEB1
2410              RTS
2420              ;
2430              ;
2440 OUTPUT       PHA
2450              LDA $9A
2460              CMP #3
2470              BNE NORMAL
2480              LDA 199     ;RVS
2490              BEQ NORMAL
2500              PLA
2510              PHA
2520              CMP #32
2530              BCC NORMAL
2540              BEQ SPACE
2550              CMP #96
2560              BCS NORMAL
2570              ;
2580              JSR $E716
2590              PLA
2600              ORA #128
2610              JMP $E716
2620              ;
2630 SPACE        PLA
2640              LDA #0
2650              STA 199
2660              LDA #32
2670              JSR $E716
2680              JSR $E716
2690              INC 199
2700              RTS
2710              ;
2720 NORMAL       JMP $F1CB
2730              ;
2740              ;
2750              ;
2760              ;
2770              ;KKAMPF JS/SPRITES
2780              ;
2790              ;
2800 JOYSTICK     NOP
2810              LDA #224
2820              STA 56322
2830              LDA 56321
2840              AND #31
2850              EOR #31
2860              STA JS1
2870              LDA 56320
2880              AND #31
2890              EOR #31
2900              STA JS2
2910              LDA #255
2920              STA 56322
2930              CLI
2940              RTS
2950              ;
2960              ;
2970 MOVESPRITES  LDX #2
2980              LDY JS1
2990              JSR MOVE
3000              LDX #5
3010              LDY JS2
3020              JSR MOVE
3030              RTS
3040              ;
3050              ;
3060 MOVE         STX SPRITENR
3070              TYA
3080              AND #16
3090              BNE BUTTON
3100              ;
3110              TYA
3120              AND #4 ; LINKS
3130              BEQ RECHTS?
3140              LDA SPRITEX,X
3150              CMP #15
3160              BCC MOVE2
3170              DEC SPRITEX,X
3180              DEC SPRITEX+1,X
3190              DEC SPRITEX+2,X
3200              JMP DOIT
3210              ;
3220 RECHTS?      TYA
3230              AND #8
3240              BEQ MOVE2
3250              LDA SPRITEX,X
3260              CMP #158
3270              BCS MOVE2
3280              INC SPRITEX,X
3290              INC SPRITEX+1,X
3300              INC SPRITEX+2,X
3310              JMP DOIT
3320              ;
3330 MOVE2        RTS
3340              ;
3350              ;
3360 DOIT         LDA 53265
3370              BPL DOIT
3380              LDX #7
3390              LDY #14
3400 DOIT1        LDA SPRITEX,X
3410              ASL
3420              STA 53248,Y
3430              ROL UEBERTRAG
3440              DEY
3450              DEY
3460              DEX
3470              BPL DOIT1
3480              LDA UEBERTRAG
3490              STA 53264
3500              RTS
3510              ;
3520 BUTTON       RTS
3530              ;
3540              ;
3550              ;
3560              ;
3570              ; RASTER INTERRUPT
3580              ;
3590              ;
3600              ;
3610 EINSPRUNG1   LDA #0
3620              STA ANZAHLTMP
3630              ;
3640 LOOP1        JSR GETNEXT
3650              BCC WEITER1
3660              ;
3670              CMP #0
3680              BNE IQERR
3690              TYA
3700              LDX ANZAHLTMP
3710              STA BCOL,X
3720              LSR
3730              LSR
3740              LSR
3750              LSR
3760              STA FCOL,X
3770              ;
3780              INX
3790              STX ANZAHLTMP
3800              CPX #21
3810              BCC LOOP1
3820              JMP OUTOFMEM
3830              ;
3840 WEITER1      RTS
3850              ;
3860              ;
3870              ;
3880 EINSPRUNG2   LDA #0
3890              STA ANZAHLTMP
3900              ;
3910 LOOP2        JSR GETNEXT
3920              BCC WEITER2
3930              ;
3940              CMP #1
3950              BEQ PRUEFY
3960              BCC WERTOK
3970              ;
3980 IQERR        JSR RASTERAUS
3990              JMP $B248
4000              ;
4010 PRUEFY       CPY #56
4020              BCS IQERR
4030              LDA #128
4040              ;
4050 WERTOK       ORA #27
4060              LDX ANZAHLTMP
4070              STA RASTERH,X
4080              TYA
4090              STA RASTERL,X
4100              ;
4110              INX
4120              STX ANZAHLTMP
4130              CPX #21
4140              BCC LOOP2
4150              ;
4160 OUTOFMEM     JSR RASTERAUS
4170              JMP $A435
4180              ;
4190              ;
4200 WEITER2      LDA ANZAHLTMP
4210              BEQ RASTERAUS
4220              STA ANZAHL
4230              ;
4240              LDA 789
4250              CMP #>ISR
4260              BEQ WEITER3
4270              ;
4280              SEI
4290              STA VECTOR+1
4300              LDA 788
4310              STA VECTOR
4320              LDA #>ISR
4330              STA 789
4340              LDA #<ISR
4350              STA 788
4360              LDA #129
4370              STA 53274
4380              LDA #127
4390              STA 56333
4400              ;
4410              LDA 53280
4420              STA COLORS
4430              LDA 53281
4440              STA COLORS+1
4450              ;
4460              LDA RASTERL
4470              STA 53266
4480              LDA RASTERH
4490              STA 53265
4500              ;
4510              LDX #0
4520              STX ZAEHLER
4530              ;
4540              CLI
4550              ;
4560 WEITER3      RTS
4570              ;
4580              ;
4590 RASTERAUS    SEI
4600              LDA #128
4610              STA 53274
4620              LDA VECTOR
4630              STA 788
4640              LDA VECTOR+1
4650              STA 789
4660              LDA COLORS
4670              STA 53280
4680              LDA COLORS+1
4690              STA 53281
4700              LDA #129
4710              STA 56333
4720              CLI
4730              RTS
4740              ;
4750              ;
4760 GETNEXT      LDY #0
4770              LDA #$2C    ; KOMMA
4780              CMP ($7A),Y ; ZEICHEN
4790              BNE NONEXT
4800              ;
4810              JSR CHRGET
4820              JSR FRMNUM
4830              JSR GETADR
4840              SEC
4850              RTS
4860 NONEXT       CLC
4870              RTS
4880              ;
4890              ;
4900              ;
4910 ISR          LDA 53273
4920              STA 53273
4930              CLI
4940              ;
4950              LDX ZAEHLER
4960              LDY RASTERL,X
4970              LDA BCOL,X
4980              STA 53280
4990              LDA FCOL,X
5000              STA 53281
5010              STY 53266
5020              LDY RASTERH,X
5030              STY 53265
5040              ;
5050              INX
5060              CPX ANZAHL
5070              BCC ISR1
5080              LDX #0
5090 ISR1         STX ZAEHLER
5100              ;
5110              LDA 56333
5120              AND #1
5130              BNE ISR2
5140              ;
5150              PLA
5160              TAY
5170              PLA
5180              TAX
5190              PLA
5200              RTI
5210              ;
5220 ISR2         DFB 76 ; JMP
5230 VECTOR       DFB 49,234
5240              ;
5250              ;
5260              ;
5270              ;
5280 Z27          DFB 0,96,120,62,31,62,120,96
5290 Z29          DFB 0,6,30,124,248,124,30,6
5300              ;
5310              ;
5320 SPRITENR     DFB 0
5330 UEBERTRAG    DFB 0
5340 SPRITEX      DFB 0,0,0,0,0,0,0,0
5350              ;
5360              ;
5370              ;
5380 COLORS       DFB 14,6
5390              ;
5400 RASTERL      DFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
5410 RASTERH      DFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
5420 BCOL         DFB 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
5430 FCOL         DFB 19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
READY.