                1  RTCLOC	EQU	$14
                2  VDSLST	EQU	$200
                3  SDMCTL	EQU	$22F
                4  SDLSTL	EQU	$230
                5  PCOLR0	EQU	$2C0
                6  PCOLR1	EQU	$2C1
                7  COLOR2	EQU	$2C6
                8  HPOSP0	EQU	$D000
                9  HPOSP1	EQU	$D001
               10  COLPF2	EQU	$D018
               11  GRACTL	EQU	$D01D
               12  RANDOM	EQU	$D20A
               13  PMBASE	EQU	$D407
               14  WSYNC	EQU	$D40A
               15  NMIEN	EQU	$D40E
               16  SETVBV	EQU	$E45C
               17  XITVBV	EQU	$E462
               18  PAGE0	EQU	$F0
               19  PDATA	EQU	$5000
               20  PLAYR0	EQU	PDATA+$400
               21  PLAYR1	EQU	PDATA+$500
               22  ;
               23  	ORG	$4000
               24  START
4000 A903      25  	LDA	#$03		; SET UP PLAYER/MISSILE GRAPHICS
4002 8D1DD0    26  	STA	GRACTL
4005 A950      27  	LDA	#<PDATA
4007 8D07D4    28  	STA	PMBASE
400A A93E      29  	LDA	#$3E
400C 8D2F02    30  	STA	SDMCTL
400F A900      31  	LDA	#$00		; CLEAR PLAYER RAM
4011 AA        32  	TAX
               33  AA1
4012 9D0054    34  	STA	PLAYR0,X
4015 9D0055    35  	STA	PLAYR1,X
4018 CA        36  	DEX
4019 D0F7      37  	BNE	AA1
401B A207      38  	LDX	#$07
               39  AA2
401D BDC240    40  	LDA	LHALF,X		; PUT LEFT HALF OF BOAT ON SCREEN
4020 9D3C54    41  	STA	PLAYR0+$3C,X
4023 BDCA40    42  	LDA	RHALF,X		; PUT RIGHT HLAF OF BOAT ON SCREEN
4026 9D3C55    43  	STA	PLAYR1+$3C,X
4029 CA        44  	DEX
402A 10F1      45  	BPL	AA2
402C A994      46  	LDA	#$94		; BLUE
402E 8DC602    47  	STA	COLOR2		; TEXT BACKGROUND
4031 A90E      48  	LDA	#$0E		; WHITE
4033 8DC002    49  	STA	PCOLR0		; MAKE BOAT WHITE
4036 8DC102    50  	STA	PCOLR1
4039 A900      51  	LDA	#$00		; SET HORIZONTAL POS. TO 0
403B 8DD440    52  	STA	P0H
403E A908      53  	LDA	#$08		; RIGHT HALF OF BOAT HORIZ. POS. IS 8 GREATER -
4040 8DD540    54  	STA	P1H		; -THAN LEFT HALF
4043 AD3002    55  	LDA	SDLSTL		; MAKE A PAGE 0 POINTER TO CURRENT DISPLAY LIST
4046 85F0      56  	STA	PAGE0
4048 AD3102    57  	LDA	SDLSTL+1
404B 85F1      58  	STA	PAGE0+1
404D A008      59  	LDY	#$08		; FIND THE 4TH TEXT LINE
404F B1F0      60  	LDA	(PAGE0),Y
4051 0980      61  	ORA	#%10000000	; TURN ON HIGH BIT FOR INTERRUPT
4053 91F0      62  	STA	(PAGE0),Y	; STORE IT BACK
4055 A900      63  	LDA	#$00
4057 8DD240    64  	STA	WAVE
405A A973      65  	LDA	#>DLI		; STORE ADDRESS OF DLI IN PAGE 2 VECTOR
405C 8D0002    66  	STA	VDSLST
405F A940      67  	LDA	#<DLI
4061 8D0102    68  	STA	VDSLST+1
4064 A9C0      69  	LDA	#%11000000	; TELL ANTIC TO OK DLI
4066 8D0ED4    70  	STA	NMIEN
4069 A907      71  	LDA	#$07		; SET UP DEFFERRED VBLANK
406B A09B      72  	LDY	#>VBI
406D A240      73  	LDX	#<VBI
406F 205CE4    74  	JSR	SETVBV
4072 60        75  	RTS			; THIS SHOULD RTS BACK TO YOUR ASSEMBLER DEBUGGER
               76  DLI
4073 48        77  	PHA
4074 8A        78  	TXA
4075 48        79  	PHA
4076 98        80  	TYA
4077 48        81  	PHA
4078 A9A2      82  	LDA	#$A2		; DARK BLUE
407A A0A6      83  	LDY	#$A6		; LIGHT BLUE
407C A208      84  	LDX	#$08		; WE ARE GOING TO PLAY WITH THE NEXT 8 SCAN LINES
               85  AB1
407E 4ED340    86  	LSR	TWAVE		; CHECK NEXT BIT OF OUR RANDOM NUMBER
4081 8D0AD4    87  	STA	WSYNC		; WAIT TILL BEAM OFFSCREEN
4084 8D18D0    88  	STA	COLPF2		; ASSUME DARK BLUE
4087 9003      89  	BCC	AB2		; IF RANDOM # BIT WAS OFF
4089 8C18D0    90  	STY	COLPF2		; IF ON TURN LIGHT BLUE
               91  AB2
408C CA        92  	DEX
408D D0EF      93  	BNE	AB1		; TILL ALL 8 LINES DONE
408F 8D0AD4    94  	STA	WSYNC		; WAIT TILL OFF SCREEN
4092 8D18D0    95  	STA	COLPF2		; TURN SCREEN DARK BLUE FOR REMAINDER OF SCREEN
4095 68        96  	PLA			; RESTORE REGISTERS & LEAVE
4096 A8        97  	TAY
4097 68        98  	PLA
4098 AA        99  	TAX
4099 68       100  	PLA
409A 40       101  	RTI
              102  VBI
409B A514     103  	LDA	RTCLOC
409D 2907     104  	AND	#$07		; A NEW WAVE PATTERN IS PICKED EVERY 8TH VBLANK
409F D006     105  	BNE	AC1		; - OTHERWISE IT WOULD CHANGE TOO FAST
40A1 AD0AD2   106  	LDA	RANDOM		; GET A NEW WAVE VALUE
40A4 8DD240   107  	STA	WAVE
              108  AC1
40A7 ADD240   109  	LDA	WAVE		; GET CURRENT WAVE VALUE
40AA 8DD340   110  	STA	TWAVE		; PASS TO DLI VARIABLE
40AD EED440   111  	INC	P0H		; MOVE BOAT ACCROSS SCREEN
40B0 EED540   112  	INC	P1H
40B3 ADD440   113  	LDA	P0H
40B6 8D00D0   114  	STA	HPOSP0		; TELL ANTIC NEW POS.
40B9 ADD540   115  	LDA	P1H
40BC 8D01D0   116  	STA	HPOSP1
40BF 4C62E4   117  	JMP	XITVBV
              118  ;
              119  LHALF
40C2 000060   120  	DB	$00,$00,$60,$EF,$EF,$5F,$40,$C0
              121  RHALF
40CA 804020   122  	DB	$80,$40,$20,$FF,$FC,$F0,$00,$00
              123  ;
40D2 00       124  WAVE	DS	1
40D3 00       125  TWAVE	DS	1
40D4 00       126  P0H	DS	1
40D5 00       127  P1H	DS	1
