C64 Software  <  SCA: The C64 Software Collection / NORTHSTARINTRO

  Run
1000              ; NORTHSTAR INTRO
1010              ; 13-APR-1988 BY
1020              ; STI AND SMITH!
1030              ;
1040 ZEILE        EQU 47  ; INTERRUPTZ.
1050              ;
1060 SPRBLINK     EQU 248
1070 SPRBLINK2    EQU 249
1080 BOUNCEPTR    EQU 250
1090 TEXT         EQU 252
1100 STILLFINE    EQU 254
1110 LR           EQU 255
1120              ;
1130 BILDSCH      EQU 1024
1140 BOUNCETAB    EQU $2A00
1150 SPRITES      EQU $2800
1160 SPRITENR     EQU 160
1170 C            EQU 11  ;SPRITEFARBE
1180              ;
1190 TRAINER      EQU $3D80
1200              ;
1210              ;
1220              ORG $3800
1230              ;
1240              ;
1250              JSR TEXTRESET
1260              ;JSR $C5D1
1270              JSR BOUNCERESET
1280              LDA #0
1290              STA 646
1300              STA SPRBLINK2
1310              JSR $E544
1320              ;
1330              LDA #255
1340              STA SPRBLINK
1350              ;
1360              LDA #SPRITENR+7
1370              LDX #7
1380 SPRL         STA BILDSCH+1016,X
1390              SEC
1400              SBC #1
1410              DEX
1420              BPL SPRL
1430              ;
1440              SEI
1450              LDA #127
1460              STA 56333
1470              ;
1480              LDX #46
1490 MAKEVIC      LDA VICTAB,X
1500              STA 53248,X
1510              DEX
1520              BPL MAKEVIC
1530              ;
1540              LDA #<MAIN
1550              STA 788
1560              LDA #>MAIN
1570              STA 789
1580              LDA #1
1590              STA 53273
1600              CLI
1610              ;
1620 SPACEWART    LDX 56321
1630              INX
1640              BEQ SPACEWART
1650              ;
1660              ;
1670              SEI
1680              LDA #11
1690              STA 53265
1700              LDA #0
1710              STA 53274
1720              LDA #129
1730              STA 56333
1740              LDA #1
1750              STA 53273
1760              LDA #$31
1770              STA 788
1780              LDA #$EA
1790              STA 789
1800              ;
1810              LDX #8
1820              LDY #0
1830 SM1          LDA $3000,Y
1840 SM2          STA $C000,Y
1850              INY
1860              BNE SM1
1870              INC SM1+2
1880              INC SM2+2
1890              DEX
1900              BNE SM2
1910              ;
1920              JMP TRAINER
1930              ;
1940              ;
1950 MAIN         ;
1960 MAIN1        LDY #0
1970              LDA (BOUNCEPTR),Y
1980              BNE MAIN2
1990              JSR BOUNCERESET
2000              JMP MAIN1
2010              ;
2020 MAIN2        TAY
2030              INC BOUNCEPTR
2040              BNE MAIN3
2050              INC BOUNCEPTR+1
2060              ;
2070 MAIN3        LDX #ZEILE+2
2080 LOOP0        CPX 53266
2090              BNE LOOP0
2100              ;
2110 LOOP1        LDX 53266
2120 LOOP2        CPX 53266
2130              BEQ LOOP2
2140              LDA 53266
2150              AND #7
2160              EOR #20
2170              STA 53265
2180              ;
2190              DEY
2200              BNE LOOP1
2210              ;
2220 CYCLE        LDY #21
2230              LDX 53266
2240              INX
2250              INX
2260              INX
2270              INX
2280 CYCLE1       LDA CYCLETAB+14,Y
2290 CYCLE2       CPX 53266
2300              BNE CYCLE2
2310              STA 53281
2320              INX
2330              DEY
2340              BNE CYCLE1
2350              ;
2360              STY 53270
2370              STY 53281
2380              ;
2390              JSR NOBORDER
2400              LDA #1
2410              STA 53273
2420              ;
2430              LDA SPRBLINK2
2440              BNE NOCK
2450              DEC SPRBLINK
2460              ;
2470 NOCK         JSR SCLOLL
2480              JSR SCLOLL
2490              JSR CYCLEROTATE
2500              JSR SCABLINK
2510              ;JSR $C5CA
2520              PLA
2530              TAY
2540              PLA
2550              TAX
2560              PLA
2570              RTI
2580              ;
2590              ;
2600 BOUNCERESET  LDA #<BOUNCETAB
2610              STA BOUNCEPTR
2620              LDA #>BOUNCETAB
2630              STA BOUNCEPTR+1
2640              RTS
2650              ;
2660              ;
2670 SCLOLL       LDY STILLFINE
2680              DEY
2690              STY STILLFINE
2700              BMI HARD
2710              STY 53270
2720              RTS
2730              ;
2740 HARD         LDY #7
2750              STY STILLFINE
2760              STY 53270
2770              LDY #0
2780 HARD1        LDA BILDSCH+1,Y
2790              STA BILDSCH,Y
2800              LDA BILDSCH+41,Y
2810              STA BILDSCH+40,Y
2820              INY
2830              CPY #40
2840              BNE HARD1
2850              INC LR
2860              LDA LR
2870              AND #1
2880              BNE RECHTS
2890 LINKS        LDY #0
2900              LDA (TEXT),Y
2910              AND #63
2920              BNE HINEIN
2930              JSR TEXTRESET
2940              JMP LINKS
2950              RTS
2960              ;
2970 RECHTS       LDY #0
2980              LDA (TEXT),Y
2990              INC TEXT
3000              BNE RECHTS1
3010              INC TEXT+1
3020 RECHTS1      ORA #64
3030 HINEIN       STA BILDSCH+39
3040              ORA #128
3050              STA BILDSCH+79
3060              RTS
3070              ;
3080              ;
3090 TEXTRESET    LDA #<TEXTTAB
3100              STA TEXT
3110              LDA #>TEXTTAB
3120              STA TEXT+1
3130              LDA #0
3140              STA LR
3150              RTS
3160              ;
3170              ;
3180 NOBORDER     LDA #255
3190 NOBORD       CMP 53266
3200              BNE NOBORD
3210              LDA #27
3220              STA 53265
3230              RTS
3240              ;
3250              ;
3260 CYCLEROTATE  LDY #0
3270              LDA CYCLETAB
3280              PHA
3290 CYCLEROTATE1 LDA CYCLETAB+1,Y
3300              STA CYCLETAB+0,Y
3310              INY
3320              CPY #95
3330              BNE CYCLEROTATE1
3340              PLA
3350              STA CYCLETAB+95
3360              RTS
3370              ;
3380              ;
3390 SCABLINK     LDA SPRBLINK
3400              BNE SBEND
3410              LDX SPRBLINK2
3420              INX
3430              TXA
3440              AND #31
3450              STA SPRBLINK2
3460              LDA SPRBLINKTAB,X
3470              LDX #7
3480 SPRBLOOP     STA 53287,X
3490              DEX
3500              BPL SPRBLOOP
3510 SBEND        RTS
3520              ;
3530              ;
3540              ;
3550 CYCLETAB     DFB 0,0,9,0,9,9,5,9,5,13,5,13,13,1,13,1,1,7,1,7,7,10,7
3560              DFB 10,10,2,10,2,2,0,2,0
3570              DFB 0,0,6,0,6,6,14,6,14,3,14,3,3,1,3,1,1,13,1,13,13,5,13
3580              DFB 5,5,9,5,9,9,0,9,0
3590              DFB 0,0,2,0,2,2,10,2,10,7,10,7,7,1,7,1,1,3,1,3,3,14,3
3600              DFB 14,14,6,14,6,6,0,6,0
3610 NULLEN       DFB 0,0,0
3620              ;
3630              ;
3640 VICTAB       DFB 130,110,154,110,178,110,202,110
3650              DFB 130,131,154,131,178,131,202,131
3660              DFB 0,27,ZEILE,0,0,255,216
3670              DFB 0,24,0,129,0,0,0,0,0
3680              DFB 0,2,0,0,0,0,0,C,C,C,C,C,C,C,C
3690              ;
3700              ;
3710 SPRBLINKTAB  DFB 11,11,11,6,6,6,14,14,14,3,3,3,3,1,1,1,1,1,3,3
3720              DFB 3,3,14,14,14,6,6,6,11,11,11,11,11
3730              ;
3740              ;
3750 TEXTTAB      DFB ""
3760              DFB ""
3770              DFB ""
3780              DFB ""
3790              DFB ""
3800              DFB ""
3810              DFB ""
3820              DFB ""
3830              DFB ""
3840              DFB ""
3850              DFB ""
3860              DFB ""
3870              DFB ""
3880              DFB ""
3890              DFB ""
3900              DFB ""
3910              DFB "",0
READY.