/
EQ.S
executable file
·494 lines (412 loc) · 5.98 KB
/
EQ.S
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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
tr on
lst off
* eq
*-------------------------------
*
* Equates
*
*-------------------------------
* Main l.c.
rw18 = $d000
peelbuf1 = $d000
peelbuf2 = $d800
hrtables = $e000
unpack = $ea00 ;game only
hires = $ee00
master = $f880
* Auxmem
grafix = $400
tables = $e00
frameadv = $1290
redbufs = $5e00
menudata = $960f ;ed only
imlists = $ac00
endimspace = $b600
blueprnt = $b700
* Aux l.c.
bluecopy = $d000 ;bank 1
*-------------------------------
*
* Jump tables
*
*-------------------------------
dum master
_firstboot ds 3
_loadlevel ds 3
_reload ds 3
_loadstage2 ds 3
ds 3
_attractmode ds 3
_cutprincess ds 3
_savegame ds 3
_loadgame ds 3
_dostartgame ds 3
_epilog ds 3
_loadaltset ds 3
ds 3 ;_screendump
dum master ;ed
ds 15
_edreboot ds 3
_gobuild ds 3
_gogame ds 3
_writedir ds 3
_readdir ds 3
_savelevel ds 3
_savelevelg ds 3
_screendump ds 3
dum hrtables
YLO ds $c0
YHI ds $c0
dum hires
_boot3 ds 3
_cls ds 3
_lay ds 3
_fastlay ds 3
_layrsave ds 3
_lrcls ds 3
_fastmask ds 3
_fastblack ds 3
_peel ds 3
_getwidth ds 3
_copy2000 ds 3
_copy2000aux ds 3
_setfastaux ds 3
_setfastmain ds 3
_copy2000ma ds 3
_copy2000am ds 3
dum unpack
SngExpand ds 3
DblExpand ds 3
DeltaExpPop ds 3
_inverty ds 3
DeltaExpWipe ds 3
purple ds 3
prompt ds 3
blackout ds 3
clr ds 3
text ds 3
setdhires ds 3
fadein ds 3
loadsuper ds 3
fadeout ds 3
dum grafix
gr ds 3
drawall ds 3
controller ds 3
ds 3
saveblue ds 3
reloadblue ds 3
movemem ds 3
buttons ds 3
gtone ds 3
setcenter ds 3
dimchar ds 3
cvtx ds 3
zeropeel ds 3
zeropeels ds 3
pread ds 3
addpeel ds 3
copyscrn ds 3
sngpeel ds 3
rnd ds 3
cls ds 3
lay ds 3
fastlay ds 3
layrsave ds 3
lrcls ds 3
fastmask ds 3
fastblack ds 3
peel ds 3
getwidth ds 3
copy2000 ds 3
copy2000ma ds 3
setfastaux ds 3
setfastmain ds 3
loadlevel ds 3
attractmode ds 3
xminit ds 3
xmplay ds 3
cutprincess ds 3
xtitle ds 3
copy2000am ds 3
reload ds 3
loadstage2 ds 3
ds 3
getselect ds 3
getdesel ds 3
edreboot ds 3 ;ed
gobuild ds 3 ;ed
gogame ds 3 ;ed
writedir ds 3 ;ed
readdir ds 3 ;ed
savelevel ds 3 ;ed
savelevelg ds 3 ;ed
addback ds 3
addfore ds 3
addmid ds 3
addmidez ds 3
addwipe ds 3
addmsg ds 3
savegame ds 3
loadgame ds 3
zerolsts ds 3
screendump ds 3
minit ds 3
mplay ds 3
savebinfo ds 3
reloadbinfo ds 3
inverty ds 3
normspeed ds 3
addmidezo ds 3
calcblue ds 3
zerored ds 3
xplaycut ds 3
checkIIGS ds 3
fastspeed ds 3
musickeys ds 3
dostartgame ds 3
epilog ds 3
loadaltset ds 3
xmovemusic ds 3
whoop ds 3
vblank ds 3
vbli ds 3
dum redbufs
ds 60 ;unused
halfbuf ds 30
redbuf ds 30
fredbuf ds 30
floorbuf ds 30
wipebuf ds 30
movebuf ds 30
objbuf ds 30
whitebuf ds 30
topbuf ds 10
dum menudata ;ed only
menutype ds 30
menuspec ds 30
menubspec ds 30
dum frameadv
sure ds 3
fast ds 3
getinitobj ds 3
dum tables
ByteTable ds $100
OffsetTable ds $100
BlockTable ds $100
PixelTable ds $100
Mult10 ds $10
Mult7 ds $10
Mult30 ds $40
BlockEdge ds 20
BlockTop ds 5
BlockBot ds 5
FloorY ds 5
BlockAy ds 5
dum blueprnt
BLUETYPE ds 24*30
BLUESPEC ds 24*30
LINKLOC ds 256
LINKMAP ds 256
MAP ds 24*4
INFO ds 256
*-------------------------------
*
* Blueprint info
*
*-------------------------------
dum INFO
ds 64
KidStartScrn ds 1
KidStartBlock ds 1
KidStartFace ds 1
ds 1
SwStartScrn ds 1
SwStartBlock ds 1
ds 1
GdStartBlock ds 24
GdStartFace ds 24
GdStartX ds 24
GdStartSeqL ds 24
GdStartProg ds 24
GdStartSeqH ds 24
*-------------------------------
*
* Image lists
*
*-------------------------------
maxback = 200 ;x4
maxfore = 100 ;x4
maxwipe = 20 ;x5
maxpeel = 46 ;x4
maxmid = 46 ;x11
maxobj = 20 ;x12
maxmsg = 32 ;x5
dum imlists
genCLS ds 1
bgX ds maxback
bgY ds maxback
bgIMG ds maxback
bgOP ds maxback
fgX ds maxfore
fgY ds maxfore
fgIMG ds maxfore
fgOP ds maxfore
wipeX ds maxwipe
wipeY ds maxwipe
wipeH ds maxwipe
wipeW ds maxwipe
wipeCOL ds maxwipe
peelX ds maxpeel*2
peelY ds maxpeel*2
peelIMGL ds maxpeel*2
peelIMGH ds maxpeel*2
midX ds maxmid
midOFF ds maxmid
midY ds maxmid
midIMG ds maxmid
midOP ds maxmid
midTYP ds maxmid
midCU ds maxmid
midCD ds maxmid
midCL ds maxmid
midCR ds maxmid
midTAB ds maxmid
objINDX ds maxobj
objX ds maxobj
objOFF ds maxobj
objY ds maxobj
objIMG ds maxobj
objFACE ds maxobj
objTYP ds maxobj
objCU ds maxobj
objCD ds maxobj
objCL ds maxobj
objCR ds maxobj
objTAB ds maxobj
msgX ds maxmsg
msgOFF ds maxmsg
msgY ds maxmsg
msgIMG ds maxmsg
msgOP ds maxmsg
*-------------------------------
*
* Zero page
*
*-------------------------------
* $00-17: Hires parameters
*-------------------------------
dum $00
PAGE ds 1
XCO ds 1
YCO ds 1
OFFSET ds 1
IMAGE ds 2
OPACITY ds 1
TABLE ds 2
PEELBUF ds 2
PEELIMG ds 2
PEELXCO ds 1
PEELYCO ds 1
TOPCUT ds 1
LEFTCUT ds 1
RIGHTCUT ds 1
BANK ds 1
BOTCUT ds 1
height = IMAGE
width = IMAGE+1
*-------------------------------
* $18-3f: Global vars
*-------------------------------
dum $18
JSTKX ds 1
JSTKY ds 1
BTN0 ds 1
BTN1 ds 1
BUTT0 ds 1
BUTT1 ds 1
JSTKUP ds 1
b0down ds 1
b1down ds 1
SINGSTEP ds 1
blackflag ds 1
SCRNUM ds 1
BlueType ds 2
BlueSpec ds 2
CUTTIMER ds 1
PRECED ds 1
spreced ds 1
PREV ds 3
sprev ds 3
scrnLeft ds 1
scrnRight ds 1
scrnAbove ds 1
scrnBelow ds 1
scrnBelowL ds 1
scrnAboveL ds 1
scrnAboveR ds 1
scrnBelowR ds 1
kbdX ds 1
kbdY ds 1
joyX ds 1
joyY ds 1
btn ds 1
butt ds 1
*-------------------------------
*
* Pages 2-3
*
*-------------------------------
dum $200
inmenu ds 1
inbuilder ds 1
ineditor ds 1
soundon ds 1
jctr ds 2
jthres1x ds 1
jthres1y ds 1
jthres2x ds 1
jthres2y ds 1
jvert ds 1
jhoriz ds 1
jbtns ds 1
joyon ds 1
develment ds 1
keypress ds 1
keydown ds 1
IIGS ds 1
dum $3c0
sortX ds $10
BELOW ds $10
SBELOW ds $10
dum $3f0
bluepTRK ds 1
bluepREG ds 1
binfoTRK ds 1
binfoREG ds 1
level ds 1
BBundID ds 1
redherring2 ds 1
pausetemp ds 1
recheck0 ds 1
dend
*-------------------------------
*
* Misc. constants
*
*-------------------------------
ScrnWidth = 140
ScrnHeight = 192
ScrnLeft = 58
ScrnRight = ScrnLeft+ScrnWidth-1
ScrnTop = 0
ScrnBottom = ScrnTop+ScrnHeight-1
secmask = %11000000
reqmask = %00100000
idmask = %00011111
and = 0
ora = 1
sta = 2
eor = 3
mask = 4
lst off