0100 ; SAVE#D:SNOW.PT4 0110 ; 0120 ;------------------------- 0130 ;Intro Screen for SNOWPLOW 0140 ; 0150 ;by: Bryan Schappel 0160 ; 0170 ;------------------------- 0180 ; 0190 CLS .BYTE $92,$0A,$00,$42,$00 0200 WEATHER .SBYTE "national weat" 0210 .SBYTE "her service bulle" 0220 .SBYTE "tin snow w" 0230 .SBYTE "arning" 0240 ; 0250 STARTI LDY #0 ;turn off vbi 0260 STY VFLG 0270 STY ICEON ;storm off 0280 JSR SNDOFF 0290 LDX IFLAG ;falling 0300 BNE INTRO ;letters? 0310 LDA #8 0320 STA CONSOL 0330 LDA #90 ;scroll len 0340 STA SLENGTH 0350 CP1 LDA SET+$0200,Y ;copy chrset 0360 STA SET2,Y ;out 0370 LDA #0 0380 STA SET+$0200,Y 0390 STA SCRLMEM,Y 0400 INY 0410 BNE CP1 0420 ; 0430 INTRO LDX #5 ;copy high score 0440 TSLP LDA SCRS,X ;to intro 0450 STA TOPSCORE+12,X ;screen 0460 DEX 0470 BPL TSLP 0480 LDX #7 0490 LDA #0 ;players off 0500 WWLP STA HPOSP0,X 0510 DEX 0520 BPL WWLP 0530 ; 0540 TAY ;set up scroll 0550 CWLP STA SCRLMEM,Y ;message 0560 DEY 0570 BNE CWLP 0580 LDY #53 0590 WCP LDA WEATHER,Y 0600 STA SCRLMEM+22,Y 0610 DEY 0620 BPL WCP 0630 ; 0640 LDY #4 ;put in colors 0650 GCL LDA CLS,Y 0660 STA COLOR0,Y 0670 DEY 0680 BPL GCL 0690 ; 0700 LDA #0 ;ptrs for chset 0710 STA IND2 ;move 0720 STA INDR 0730 STA COLOR2 0740 LDA # >SET2 0750 STA INDR+1 0760 LDA # >[SET+$0200] 0770 STA IND2+1 0780 LDA # IDLST 0810 STA SDLSTL+1 0820 ; 0830 LDA IFLAG ;first time? 0840 BNE SKIPSNOW ;for snow 0850 INC IFLAG ;letters? 0860 JSR GETRAND 0870 LDA #15 0880 STA IIY3 0890 LP1 LDA #15 0900 STA ICNT 0910 LOOP LDY ICNT 0920 LDA RANDS,Y 0930 TAY 0940 LDA TAB16,Y 0950 STA INDR 0960 STA IND2 0970 LDY IIY3 0980 LDA (INDR),Y 0990 JSR MOVEDN 1000 BCS SKIPSNOW 1010 DEC ICNT 1020 BPL LOOP 1030 DEC IIY3 1040 BPL LP1 1050 ; 1060 SKIPSNOW LDY #0 1070 STY LMS 1080 SK1 LDA SET2,Y 1090 STA SET+$0200,Y 1100 INY 1110 BNE SK1 1120 ; 1130 ;Scroll Weather Message 1140 ; 1150 ISCRL LDX #7 1160 ISC STX HSCROL 1170 LDA #0 1180 STA RTCLOK 1190 WT1 LDA CONSOL 1200 BEQ SKPPER 1210 CMP #6 1220 BEQ GSTART 1230 LDA RTCLOK 1240 BEQ WT1 1250 DEX 1260 BPL ISC 1270 LDY LMS 1280 INY 1290 CPY SLENGTH 1300 BNE ISK 1310 LDY #0 1320 ISK STY LMS 1330 JMP ISCRL 1340 ; 1350 GSTART LDA #0 1360 STA DIRF 1370 GST STA LMS 1380 STA HSCROL 1390 RTS 1400 ; 1410 SKPPER LDA #1 1420 STA DIRF 1430 LDA #0 1440 BEQ GST 1450 ; 1460 ;Move byte down 1470 ; 1480 MOVEDN STY IISY 1490 CMP #0 1500 BEQ MRTS 1510 LDY #0 1520 MLP STA (IND2),Y 1530 CPY IISY 1540 BEQ MRTS 1550 LDX #0 1560 STX RTCLOK 1570 WL LDX CH 1580 CPX #$FF 1590 BNE BRTS 1600 LDX RTCLOK 1610 BEQ WL 1620 PHA 1630 LDA #0 1640 STA (IND2),Y 1650 PLA 1660 INY 1670 BNE MLP 1680 MRTS LDY IISY 1690 CLC 1700 RTS 1710 BRTS LDX #$FF 1720 STX CH 1730 SEC 1740 RTS 1750 ; 1760 ;Get 16 Random Numbers 1770 ; 1780 GETRAND LDA #1 1790 STA RAND 1800 LDA RANDOM 1810 AND #$0F 1820 STA RANDS 1830 RLOOP LDA RANDOM 1840 AND #$0F 1850 LDY #0 1860 RSRCH CMP RANDS,Y 1870 BEQ RLOOP 1880 INY 1890 CPY RAND 1900 BNE RSRCH 1910 STA RANDS,Y 1920 INY 1930 STY RAND 1940 CPY #16 1950 BNE RLOOP 1960 RTS 1970 ; 1980 TAB16 .BYTE 0,16,32,48 1990 .BYTE 64,80,96,112 2000 .BYTE 128,144,160,176 2010 .BYTE 192,208,224,240 2020 ; 2030 STAR = * 2040 *= $7B00 2050 ; 2060 SNOWMEM .SBYTE " " 2070 .BYTE "@BDFHJLNPRTVXZ\^" 2080 .SBYTE " " 2090 .SBYTE " " 2100 .BYTE "ACEGIKMOQSUWY[]_" 2110 .SBYTE " " 2120 .SBYTE " BY: BARRY KOL" 2130 .SBYTE "BE AND BRYAN SCH" 2140 .SBYTE "APPEL " 2150 .SBYTE " COPYRIGHT 1" 2160 .SBYTE "988 BBK ENTERPRI" 2170 .SBYTE "SES " 2180 ; 2190 TOPSCORE .SBYTE " top score " 2200 .SBYTE "000000 " 2210 *= STAR