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.