forked from visrealm/hbc-56
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpatterns.asm
232 lines (212 loc) · 7.97 KB
/
patterns.asm
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
; Troy's HBC-56 - 6502 - Invaders
;
; Copyright (c) 2021 Troy Schrapel
;
; This code is licensed under the MIT license
;
; https://github.com/visrealm/hbc-56
;
; Sprite / character patterns
;
playerSprite:
!byte $00,$00,$00,$00,$00,$00,$08,$08
!byte $08,$08,$1C,$7F,$FF,$FF,$FF,$63
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$80,$80,$80,$00
bulletSprite:
!byte $80,$80,$80,$80,$80,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
EMPTY:
!byte $00,$00,$00,$00,$00,$00,$00,$00
invaderBomb:
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$40,$80,$40,$80,$40,$80
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER_OFFSET_2 = IP12L - IP10L
INVADER_OFFSET_4 = IP14L - IP10L
INVADER_OFFSET_6 = IP16L - IP10L
INVADER_OFFSET_COLOR = INVADER1_COLOR - IP10L
INVADER1:
IP10L !byte $1E,$FF,$CC,$FF,$FF,$12,$21,$C0
IP10R !byte $00,$C0,$C0,$C0,$C0,$00,$00,$C0
IP12L !byte $07,$3F,$33,$3F,$3F,$04,$08,$0C
IP12R !byte $80,$F0,$30,$F0,$F0,$80,$40,$C0
IP14L !byte $01,$0F,$0C,$0F,$0F,$01,$02,$0C
IP14R !byte $E0,$FC,$CC,$FC,$FC,$20,$10,$0C
IP16L !byte $00,$03,$03,$03,$03,$00,$00,$00
IP16R !byte $78,$FF,$33,$FF,$FF,$48,$84,$CC
IP18LT !byte $00,$00,$00,$00,$1E,$FF,$CC,$FF
IP18RT !byte $00,$00,$00,$00,$00,$C0,$C0,$C0
IP18LB !byte $FF,$12,$21,$33,$00,$00,$00,$00
IP18RB !byte $C0,$00,$00,$00,$00,$00,$00,$00
INVADER1_COLOR: !byte $60
INVADER2:
IP20L !byte $63,$22,$3E,$6B,$FF,$BE,$A2,$36
IP20R !byte $00,$00,$00,$00,$80,$80,$80,$00
IP22L !byte $18,$08,$2F,$2A,$3F,$0F,$08,$30
IP22R !byte $C0,$80,$A0,$A0,$E0,$80,$80,$60
IP24L !byte $06,$02,$03,$06,$0F,$0B,$0A,$03
IP24R !byte $30,$20,$E0,$B0,$F8,$E8,$28,$60
IP26L !byte $01,$00,$02,$02,$03,$00,$00,$03
IP26R !byte $8C,$88,$FA,$AA,$FE,$F8,$88,$06
IP28LT !byte $00,$00,$00,$00,$63,$22,$BE,$AA
IP28RT !byte $00,$00,$00,$00,$00,$00,$80,$80
IP28LB !byte $FF,$3E,$22,$C1,$00,$00,$00,$00
IP28RB !byte $80,$00,$00,$80,$00,$00,$00,$00
INVADER2_COLOR: !byte $50
INVADER3:
IP30L !byte $08,$1C,$3E,$6B,$7F,$14,$22,$41
IP30R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP32L !byte $02,$07,$0F,$1A,$1F,$05,$08,$05
IP32R !byte $00,$00,$80,$C0,$C0,$00,$80,$00
IP34L !byte $00,$01,$03,$06,$07,$01,$02,$04
IP34R !byte $80,$C0,$E0,$B0,$F0,$40,$20,$10
IP36L !byte $00,$00,$00,$01,$01,$00,$00,$00
IP36R !byte $20,$70,$F8,$AC,$FC,$50,$88,$50
IP38LT !byte $00,$00,$00,$00,$08,$1C,$3E,$6B
IP38RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP38LB !byte $7F,$14,$22,$14,$00,$00,$00,$00
IP38RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER3_COLOR: !byte $30
SNAKE:
INVADER4:
IP40L !byte $3E,$2A,$3E,$08,$08,$08,$1C,$1C
IP40R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP42L !byte $0F,$0A,$0F,$02,$04,$08,$1C,$1C
IP42R !byte $80,$80,$80,$00,$00,$00,$00,$00
IP44L !byte $0F,$0A,$0F,$02,$01,$00,$01,$01
IP44R !byte $80,$80,$80,$00,$00,$80,$C0,$C0
IP46L !byte $00,$00,$00,$00,$00,$00,$01,$01
IP46R !byte $F8,$A8,$F8,$20,$40,$80,$C0,$C0
IP48LT !byte $00,$00,$00,$00,$00,$3E,$2A,$3E
IP48RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP48LB !byte $1C,$1C,$00,$00,$00,$00,$00,$00
IP48RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER4_COLOR: !byte $A0
TURNOVER:
INVADER5:
IP50L !byte $00,$00,$00,$1C,$3E,$36,$63,$63
IP50R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP52L !byte $00,$0C,$0E,$07,$03,$01,$01,$01
IP52R !byte $00,$00,$00,$00,$80,$80,$80,$80
IP54L !byte $01,$01,$01,$01,$01,$01,$01,$01
IP54R !byte $80,$80,$80,$80,$80,$80,$80,$80
IP56L !byte $00,$00,$00,$00,$00,$00,$00,$00
IP56R !byte $00,$18,$38,$70,$E0,$C0,$C0,$C0
IP58LT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP58RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP58LB !byte $00,$00,$FF,$FF,$00,$00,$00,$00
IP58RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER5_COLOR: !byte $70
FLASHER_EYES:
INVADER6:
IP60L !byte $3F,$3F,$0C,$7F,$7F,$52,$92,$A1
IP60R !byte $00,$00,$00,$80,$80,$80,$40,$40
IP62L !byte $0F,$0F,$03,$1F,$1F,$14,$14,$0B
IP62R !byte $C0,$C0,$00,$E0,$E0,$A0,$A0,$40
IP64L !byte $00,$04,$00,$00,$00,$00,$00,$00
IP64R !byte $00,$80,$00,$00,$00,$00,$00,$00
IP66L !byte $00,$00,$00,$00,$00,$00,$00,$00
IP66R !byte $00,$12,$00,$00,$00,$00,$00,$00
IP68LT !byte $00,$00,$00,$00,$3F,$3F,$0C,$7F
IP68RT !byte $00,$00,$00,$00,$00,$00,$00,$80
IP68LB !byte $7F,$92,$52,$2D,$00,$00,$00,$00
IP68RB !byte $80,$40,$80,$00,$00,$00,$00,$00
INVADER6_COLOR: !byte $C0
PULSAR:
INVADER7:
IP70L !byte $3C,$7E,$FF,$DB,$FF,$FF,$7E,$3C
IP70R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP72L !byte $00,$0F,$1F,$16,$1F,$1F,$0F,$00
IP72R !byte $00,$00,$80,$80,$80,$80,$00,$00
IP74L !byte $00,$00,$01,$02,$03,$01,$00,$00
IP74R !byte $00,$00,$80,$40,$C0,$80,$00,$00
IP76L !byte $00,$00,$01,$01,$01,$01,$00,$00
IP76R !byte $00,$F0,$F8,$68,$F8,$F8,$F0,$00
IP78LT !byte $00,$00,$00,$00,$00,$3C,$7E,$5A
IP78RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP78LB !byte $7E,$7E,$3C,$00,$00,$00,$00,$00
IP78RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER97COLOR: !byte $D0
BAT:
INVADER8:
IP80L !byte $00,$18,$3C,$5A,$42,$42,$24,$00
IP80R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP82L !byte $00,$00,$36,$4F,$46,$00,$00,$00
IP82R !byte $00,$00,$C0,$20,$20,$00,$00,$00
IP84L !byte $00,$00,$00,$1D,$23,$01,$00,$00
IP84R !byte $00,$00,$00,$B8,$C4,$80,$00,$00
IP86L !byte $00,$00,$03,$04,$04,$00,$00,$00
IP86R !byte $00,$00,$6C,$F2,$62,$00,$00,$00
IP88LT !byte $00,$00,$00,$00,$00,$5A,$BD,$99
IP88RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP88LB !byte $42,$00,$00,$00,$00,$00,$00,$00
IP88RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER8_COLOR: !byte $20
FLASHER:
INVADER9:
IP90L !byte $3F,$3F,$0C,$7F,$7F,$52,$92,$A1
IP90R !byte $00,$00,$00,$80,$80,$80,$40,$40
IP92L !byte $0F,$0F,$03,$1F,$1F,$14,$14,$0B
IP92R !byte $C0,$C0,$00,$E0,$E0,$A0,$A0,$40
IP94L !byte $00,$00,$00,$00,$00,$00,$00,$00
IP94R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP96L !byte $00,$00,$00,$00,$00,$00,$00,$00
IP96R !byte $00,$00,$00,$00,$00,$00,$00,$00
IP98LT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP98RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IP98LB !byte $00,$00,$00,$00,$00,$00,$00,$00
IP98RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADER9_COLOR: !byte $40
FLASHER2:
INVADERA:
IPA0L !byte $00,$00,$00,$00,$00,$00,$00,$00
IPA0R !byte $00,$00,$00,$00,$00,$00,$00,$00
IPA2L !byte $00,$00,$00,$00,$00,$00,$00,$00
IPA2R !byte $00,$00,$00,$00,$00,$00,$00,$00
IPA4L !byte $03,$03,$00,$07,$07,$05,$09,$0A
IPA4R !byte $F0,$F0,$C0,$F8,$F8,$28,$24,$14
IPA6L !byte $00,$00,$00,$01,$01,$01,$01,$00
IPA6R !byte $FC,$FC,$30,$FE,$FE,$4A,$4A,$B4
IPA8LT !byte $00,$00,$00,$00,$3F,$3F,$0C,$7F
IPA8RT !byte $00,$00,$00,$00,$00,$00,$00,$80
IPA8LB !byte $7F,$92,$52,$2D,$00,$00,$00,$00
IPA8RB !byte $80,$40,$80,$00,$00,$00,$00,$00
INVADERA_COLOR: !byte $60
EYES:
INVADERB:
IPB0L !byte $00,$12,$00,$00,$00,$00,$00,$00
IPB0R !byte $00,$00,$00,$00,$00,$00,$00,$00
IPB2L !byte $00,$04,$00,$00,$00,$00,$00,$00
IPB2R !byte $00,$80,$00,$00,$00,$00,$00,$00
IPB4L !byte $00,$01,$00,$00,$00,$00,$00,$00
IPB4R !byte $00,$20,$00,$00,$00,$00,$00,$00
IPB6L !byte $00,$00,$00,$00,$00,$00,$00,$00
IPB6R !byte $00,$48,$00,$00,$00,$00,$00,$00
IPB8LT !byte $00,$00,$00,$00,$00,$12,$00,$00
IPB8RT !byte $00,$00,$00,$00,$00,$00,$00,$00
IPB8LB !byte $00,$00,$00,$00,$00,$00,$00,$00
IPB8RB !byte $00,$00,$00,$00,$00,$00,$00,$00
INVADERB_COLOR: !byte $90
explodeSprite:
!byte $05,$00,$22,$00,$10,$A5,$02,$45
!byte $20,$52,$08,$A0,$15,$60,$00,$00
!byte $00,$00,$20,$00,$40,$28,$00,$80
!byte $20,$50,$80,$28,$40,$30,$00,$00
BBORDR !byte $00,$00,$1F,$3F,$7F,$78,$70,$70
!byte $00,$00,$FF,$FF,$FF,$00,$00,$00
!byte $00,$00,$FC,$FE,$FF,$0F,$07,$07
!byte $70,$70,$70,$70,$70,$70,$70,$70
!byte $07,$07,$07,$07,$07,$07,$07,$07
!byte $70,$70,$70,$70,$78,$7F,$3F,$1F
!byte $00,$00,$00,$00,$00,$FF,$FF,$FF
!byte $07,$07,$07,$07,$0F,$FF,$FE,$FC
SHIELD !byte $00,$03,$07,$0F,$1F,$3F,$3F,$3F
!byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF
!byte $00,$C0,$E0,$F0,$F8,$FC,$FC,$FC
!byte $3F,$3F,$3F,$3F,$3F,$3F,$3F,$3F
!byte $FF,$FF,$FF,$FF,$C3,$81,$81,$81
!byte $FC,$FC,$FC,$FC,$FC,$FC,$FC,$FC