-
Notifications
You must be signed in to change notification settings - Fork 82
/
omega007
139 lines (125 loc) · 1.61 KB
/
omega007
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
.PAGE 'OMEGA007'
*=$FF40
;*--------------------------------------------------*
;* SOUND CONTROL SUBROUTIN CALL BY ONE CYCLE *
;*--------------------------------------------------*
SOUNDM
;
;----- MISSLE
SNM200
LDA LASER
BEQ SNM400
ASL A
ASL A
ASL A
STA FREHI2
DEC LASER
BNE SNM400
LDA #$20
STA VCREG2
;
;----- ENEMY BOMB
SNM400
LDA BOMBFL
BEQ SNM500
ASL A
ASL A
ASL A
STA FREHI1
DEC BOMBFL
BNE SNM500
LDA #$20
STA VCREG1
;
;----- EXPLOD
SNM500
LDA EXPLOD
BEQ SNM600
LDA SP1Y
STA FREHI3
;
;----- BACK
SNM600
LDA EXPLOD
ORA BOMBFL
; ORA EMARGE
BNE SNM700
LDA SPRITA+5
ORA SPRITA+6
CMP #$02
BCC *+4
DEC SNDTIM
DEC SNDTIM
BPL SNM700
LDA #$21
STA VCREG1
LDY SNDDAT
INC SNDDAT
INC SNDDAT
INC SNDDAT
LDA SNDTB1+2,Y
STA SNDTIM
LDA SNDTB1+1,Y
STA FRELO1
LDA SNDTB1,Y
STA FREHI1
BNE SNM700
STA SNDDAT
LDA #$20
STA VCREG1
;
;----- EMARGENCY
SNM700
; LDA EMARGE
; BEQ SNM800
; LDA TIMER1
; AND #$7F
; STA FREHI1
; BNE SNM800
; DEC EMARGE
; LDA #$21
; STA VCREG1
SNM800
RTS
;
;----- ENEMY ALL KILL
SND600
;
;----- THRUST OFF
SNF300
CMP #$83
BNE SNF500
LDA #$00
STA THRSND
LDA EXPLOD
BNE SNF399
LDA #$80
STA VCREG3
SNF399
RTS
;
;----- EXPLOD OFF
SNF500
CMP #$85
BNE SNF599
LDA #$80
STA VCREG3
LDA #$20
STA VCREG1
STA VCREG2
LDA #$00
STA EXPLOD
STA BOMBFL
STA LASER
STA SNDDAT
SNF599
RTS
;
;----- SPRITE MOTION DISTANCE TABLE
WALKY
.BYTE $FE,$FE,$FE,$FF,$00,$01,$02,$02
.BYTE $02,$02,$02,$01,$00,$FF,$FE,$FE
WALKX
.BYTE $00,$01,$02,$02,$02,$02,$02,$01
.BYTE $00,$FF,$FE,$FE,$FE,$FE,$FE,$FF
.END