]> github.com/historicalsource and other repositories - mspacman-7800.git/blob - MSDEF.S
Initial import.
[mspacman-7800.git] / MSDEF.S
1 \r
2 *  MSDEF.S        MS PAC MAN SYMBOL DEFINITIONS\r
3 *  ADDRESS DEFINITIONS\r
4 \r
5 *  ZERO PAGE\r
6 \r
7 *  ZERO PAGE VARIABLES THAT ARE NOT ERASED  $40-$9F\r
8 \r
9 STLEVEL   EQU     $40                    ;STARTING LEVEL OF GAME\r
10 TWOPLAYR  EQU     $41                    ;WHETHER TWO-PLAYER MODE\r
11 AUTOPLAY  EQU     $42                    ;1 IF AUTO-PLAY MODE\r
12 \r
13 NEWRAND   EQU     $43                    ;CURRENT SEED FOR RAND ROUTINE\r
14 OLDRAND   EQU     $44                    ;OLD SEED FOR RAND ROUTINE\r
15 \r
16 PLAYER    EQU     $45                    ;WHICH PLAYER IS PLAYING\r
17 P1SCORE   EQU     $46                    ;PLAYER 1 SCORE - 4 BYTES\r
18 P1BONUS   EQU     $4A                    ;TIME TILL PLAYER 1 GETS BONUS LIFE\r
19 P2SCORE   EQU     $4C                    ;PLAYER 2 SCORE - 4 BYTES\r
20 P2BONUS   EQU     $50                    ;TIME TILL PLAYER 2 GETS BONUS LIFE\r
21 \r
22 RACKRAND  EQU     $52                    ;NUMBER BETWEEN 0..3 FOR THE RACK\r
23 MENUFLAG  EQU     $53                    ;WHETHER IN MENU MODE OR NOT\r
24 KNLTEMP0  EQU     $54                    ;STATE VARIABLE FOR KERNAL\r
25 KNLTEMP1  EQU     $55                    ;STATE VARIABLE FOR KERNAL\r
26 \r
27 *  LOADER VARIABLES\r
28 HPLIST    EQU     $56                    ;6 BYTES - HORIZONTAL POSITION\r
29 VZLIST    EQU     $5C                    ;6 BYTES - VERTICAL ZONE\r
30 VOLIST    EQU     $62                    ;6 BYTES - VERTICAL OFFSET\r
31 SLLIST    EQU     $68                    ;6 BYTES - LOW BYTE STAMP ADDRESS\r
32 SHLIST    EQU     $6E                    ;6 BYTES - HI BYTE STAMP ADDRESS\r
33 DOLIST    EQU     $74                    ;6 BYTES - SOMETHING CHANGED - RELOAD\r
34 OLDZONE   EQU     $7A                    ;6 BYTES - LAST ZONE CHARACTER IN\r
35 \r
36 *  SHADOWS FOR MONSTER COLORS (USED FOR FRUIT PALETTES)\r
37 P0C1      EQU     $81                    ;PALETTE 2, COLOR 1\r
38 P0C2      EQU     $82                    ;PALETTE 2, COLOR 2\r
39 P0C3      EQU     $83                    ;PALETTE 2, COLOR 3\r
40 \r
41 RACKFRT   EQU     $84                    ;TYPE OF FRUIT TO DISPLAY UNDER RACK\r
42 \r
43 P1C1      EQU     $85                    ;PALETTE 3, COLOR 1\r
44 P1C2      EQU     $86                    ;PALETTE 3, COLOR 2\r
45 P1C3      EQU     $87                    ;PALETTE 3, COLOR 3\r
46 \r
47 DBSELECT  EQU     $88                    ;DEBOUNCE BYTE FOR SELECT\r
48 \r
49 P2C1      EQU     $89                    ;PALETTE 4, COLOR 1\r
50 P2C2      EQU     $8A                    ;PALETTE 4, COLOR 2\r
51 P2C3      EQU     $8B                    ;PALETTE 4, COLOR 3\r
52 \r
53 DBRESET   EQU     $8C                    ;DEBOUNCE BYTE FOR RESET\r
54 \r
55 P3C1      EQU     $8D                    ;PALETTE 5, COLOR 1\r
56 P3C2      EQU     $8E                    ;PALETTE 5, COLOR 2\r
57 P3C3      EQU     $8F                    ;PALETTE 5, COLOR 3\r
58 \r
59 DBPAUSE   EQU     $90                    ;DEBOUNCE BYTE FOR PAUSE\r
60 \r
61 P4C1      EQU     $91                    ;PALETTE 2, COLOR 1\r
62 P4C2      EQU     $92                    ;PALETTE 2, COLOR 2\r
63 P4C3      EQU     $93                    ;PALETTE 2, COLOR 3\r
64 \r
65 SCRNSTAT  EQU     $94                    ;SCREEN STATE, OFF IF $FF\r
66 \r
67 P5C1      EQU     $95                    ;PALETTE 3, COLOR 1\r
68 P5C2      EQU     $96                    ;PALETTE 3, COLOR 2\r
69 P5C3      EQU     $97                    ;PALETTE 3, COLOR 3\r
70 \r
71 TWOPORTS  EQU     $98                    ;WHETHER THE SECOND PORT HAS BEEN USED\r
72 \r
73 P6C1      EQU     $99                    ;PALETTE 4, COLOR 1\r
74 P6C2      EQU     $9A                    ;PALETTE 4, COLOR 2\r
75 P6C3      EQU     $9B                    ;PALETTE 4, COLOR 3\r
76 \r
77 HSCHERE   EQU     $9C                    ;IS HIGH SCORE CART PLUGGED IN\r
78 \r
79 P7C1      EQU     $9D                    ;PALETTE 5, COLOR 1\r
80 P7C2      EQU     $9E                    ;PALETTE 5, COLOR 2\r
81 P7C3      EQU     $9F                    ;PALETTE 5, COLOR 3\r
82 \r
83 *  ZERO PAGE VARIABLES THAT ARE ERASED IN GAMEINIT  $A0-$FF\r
84 \r
85 RTLOCAL   EQU     $A0                    ;TWO BYTES - MY CLOCK\r
86 GAMEOVER  EQU     $A2                    ;FLAG FOR GAME OVER\r
87 \r
88 TOTLIVES  EQU     $A3                    ;TOTAL NUMBER OF LIVES\r
89 *  $64-$6F ARE SWAPPED BETWEEN PLAYERS\r
90 LIVES     EQU     $A4                    ;NUMBER OF LIVES\r
91 RACK      EQU     $A5                    ;RACK PLAYER IS AT\r
92 LEVEL     EQU     $A6                    ;LEVEL PLAYER IS AT\r
93 ADJLEVEL  EQU     $A7                    ;LEVEL ADJUSTED FOR 'WRAP' AT HIGH LVL\r
94 DOTS      EQU     $A8                    ;NUMBER OF DOTS\r
95 DOTSEATN  EQU     $AA                    ;NUMBER OF DOTS EATEN\r
96 DEATHFLG  EQU     $AB                    ;TRUE IF THE PAC HAS DIED YET\r
97 PINKDOTS  EQU     $AC                    ;PINK RELEASE COUNTER\r
98 BLUEDOTS  EQU     $AD                    ;BLUE RELEASE COUNTER\r
99 GOLDDOTS  EQU     $AE                    ;GOLD RELEASE COUNTER\r
100 FDOTS     EQU     $AF                    ;FRUIT RELEASE COUNTER\r
101 \r
102 *  TEMP VARIABLES\r
103 TEMP0     EQU     $B0                    ;SCRATCH DATA FOR PROGRAM USE\r
104 TEMP1     EQU     $B1                    ;MORE SCRATCH DATA\r
105 TEMP2     EQU     $B2                    ;MORE SCRATCH DATA\r
106 TEMP3     EQU     $B3                    ;MORE SCRATCH DATA\r
107 TEMP4     EQU     $B4                    ;MORE SCRATCH DATA\r
108 TEMP5     EQU     $B5                    ;MORE SCRATCH DATA\r
109 TEMP6     EQU     $B6                    ;MORE SCRATCH DATA\r
110 TEMP7     EQU     $B7                    ;MORE SCRATCH DATA\r
111 TEMP8     EQU     $B8                    ;MORE SCRATCH DATA\r
112 TEMP9     EQU     $B9                    ;MORE SCRATCH DATA\r
113 TEMP10    EQU     $BA                    ;MORE SCRATCH DATA\r
114 TEMP11    EQU     $BB                    ;MORE SCRATCH DATA\r
115 TEMP12    EQU     $BC                    ;MORE SCRATCH DATA\r
116 TEMP13    EQU     $BD                    ;MORE SCRATCH DATA\r
117 TEMP14    EQU     $BE                    ;MORE SCRATCH DATA\r
118 TEMP15    EQU     $BF                    ;MORE SCRATCH DATA\r
119 TEMP16    EQU     $C0                    ;MORE SCRATCH DATA\r
120 TEMP17    EQU     $C1                    ;MORE SCRATCH DATA\r
121 TEMP18    EQU     $C2                    ;MORE SCRATCH DATA\r
122 TEMP19    EQU     $C3                    ;MORE SCRATCH DATA\r
123 TEMP20    EQU     $C4                    ;MORE SCRATCH DATA\r
124 TEMP21    EQU     $C5                    ;MORE SCRATCH DATA\r
125 TEMP22    EQU     $C6                    ;MORE SCRATCH DATA\r
126 TEMP23    EQU     $C7                    ;MORE SCRATCH DATA\r
127 \r
128 LDRTEMP0  EQU     $C8                    ;SCRATCH DATA FOR KERNAL USE\r
129 LDRTEMP1  EQU     $C9                    ;MORE SCRATCH DATA\r
130 LDRTEMP2  EQU     $CA                    ;MORE SCRATCH DATA\r
131 LDRTEMP3  EQU     $CB                    ;MORE SCRATCH DATA\r
132 LDRTEMP4  EQU     $CC                    ;MORE SCRATCH DATA\r
133 LDRTEMP5  EQU     $CD                    ;MORE SCRATCH DATA\r
134 LDRTEMP6  EQU     $CE                    ;MORE SCRATCH DATA\r
135 LDRTEMP7  EQU     $CF                    ;MORE SCRATCH DATA\r
136 SOUNDZP   EQU     $C8                    ;ZERO PAGE FOR SOUND - SAME AS LOADER\r
137 \r
138 NEWDIR    EQU     $D0                    ;CURRENT JOYSTICK DIRECTION\r
139 OLDDIR    EQU     $D1                    ;PREVIOUS DIFFERENT JOYSTICK DIRECTION\r
140 BUTSTATE  EQU     $D2                    ;BOTTON STATUS - ON OR 0\r
141 \r
142 RTSAVE    EQU     $D4                    ;A PLACE TO SAVE RTLOCAL - 2 BYTES\r
143 \r
144 INDRJUMP  EQU     $D6                    ;PLACE TO PUT VALUES FOR INDERECT JUMP\r
145 \r
146 MONWAIT   EQU     $D8                    ;WAIT TILL NEXT MONSTER MOVE\r
147 PACWAIT   EQU     $D9                    ;WAIT TILL NEXT PAC MOVE\r
148 FRTWAIT   EQU     $DA                    ;WAIT TILL NEXT FRUIT MOVE\r
149 FLSHWAIT  EQU     $DB                    ;WAIT TILL NEXT RACK INC\r
150 BLUWAIT   EQU     $DC                    ;WAIT TILL END OF BLUE TIME\r
151 SCORWAIT  EQU     $DD                    ;WAIT TILL NEXT ITER OF TIGHT LOOP\r
152 RESWAIT   EQU     $DE                    ;WAIT TILL END OF RESET\r
153 \r
154 BAKLIVES  EQU     $E4                    ;OTHER PLAYER VERSION OF $54-$5F\r
155 \r
156 *  TIME LAST DOT WAS EATEN\r
157 DOTTIME   EQU     $F0                    ;TWO BYTES\r
158 \r
159 * GLOBAL MONSTER STATE INFO\r
160 SCORTIME  EQU     $F2                    ;MONSTER SCORE DELAY COUNTER\r
161 BLUETIME  EQU     $F3                    ;BLUE TIME FOR THIS RACK\r
162 M1REL     EQU     $F4                    ;MONSTER RELEASE THRESHHOLDS\r
163 M2REL     EQU     $F5\r
164 M3REL     EQU     $F6\r
165 EATNDOTS  EQU     $F7                    ;DOTS EATEN SINCE LAST PAC DEATH\r
166 TRELEASE  EQU     $F8                    ;COUNTER FOR MONSTER RELEASE\r
167 REDTHRSH  EQU     $F9                    ;2 BYTES - RED SPEED THRESHHOLD\r
168 NORMTIME  EQU     $FB                    ;2 BYTES - TIME SINCE BOR WHILE NOT BLU\r
169 ISBLUE    EQU     $FD                    ;PAC IN BLUE MODE\r
170 GREEDCNT  EQU     $FE                    ;MONSTERS EATEN ON THIS POWER DOT\r
171 BORED     EQU     $FF                    ;MONSTERS ARE BORED\r
172 \r
173 \r
174 *  HIGH RAM - NOTE, 1800-1DFF IS ZEROED IN ZERORAM\r
175 \r
176 *  HIGH SCORE RAM - SMASHED WHEN HIGH SCORE ROUTINES ARE CALLED\r
177 HSCRAM    EQU     $1800                  ;$200 BYTES\r
178 \r
179 *  HIGH SCORE CART DIFFICULTY NAME\r
180 HSCDIF    EQU     $1A00                  ;$20 BYTES\r
181 \r
182 *  SCREEN MAP - THROUGH $1BFF\r
183 SCREEN    EQU     $1800                  ;SCREEN MAP\r
184 SCORE     EQU     $1B48                  ;SCORE MAP - EFFECTIVELY THE 31ST LINE\r
185 \r
186 *  DOT ARRAYS - THROUGH $1CFF\r
187 DOTARRAY  EQU     $1C00                  ;CURRENT PLAYER DOT ARRAY\r
188 BAKDOTS   EQU     $1C80                  ;OTHER PLAYER DOT ARRAY\r
189 \r
190 *  TUNE VARIABLES\r
191 TUNON     EQU     $1D00                  ;4 BYTES - WHETHER TUNE IS ACTIVE\r
192 TUNINDEX  EQU     $1D04                  ;4 BYTES - WHAT TUNE IS PLAYING\r
193 TUNPRIOR  EQU     $1D08                  ;4 BYTES - WHAT THE PRIORITY OF TUNE IS\r
194 TUNBASE   EQU     $1D0C                  ;4 BYTES - BASE ADDRESS OF TUNE DATA\r
195 TUNBASE1  EQU     $1D10                  ;4 BYTES - HI BYTE OF BASE ADDRESS\r
196 FREQOFF   EQU     $1D14                  ;4 BYTES - OFFSET INTO DATA FOR FREQ'S\r
197 CTLOFF    EQU     $1D18                  ;4 BYTES - OFFSET INTO DATA FOR CTL'S\r
198 VOLOFF    EQU     $1D1C                  ;4 BYTES - OFFSET INTO DATA FOR VOL'S\r
199 FREQTIME  EQU     $1D20                  ;4 BYTES - NUMBER FRAMES TILL NEXT FREQ\r
200 CTLTIME   EQU     $1D24                  ;4 BYTES - NUMBER FRAMES TILL NEXT CTL\r
201 VOLTIME   EQU     $1D28                  ;4 BYTES - NUMBER FRAMES TILL NEXT VOL\r
202 TUNNUM    EQU     $1D2C                  ;WHAT TUNE YOU WANT - PARAMETER\r
203 TUNTEMP0  EQU     $1D2D                  ;TEMP VALUE FOR TUNE DRIVER\r
204 TUNTEMP1  EQU     $1D2E                  ;TEMP VALUE FOR TUNE DRIVER\r
205 TUNOFF    EQU     $1D2F                  ;ARE TUNES TURNED OFF?\r
206 \r
207 *  KERNAL DISPLAY TABLES\r
208 MSADDR    EQU     $1E40                  ;$1E BYTES - MS ADDRESS TABLE\r
209 FRTADDR   EQU     $1E60                  ;$1E BYTES - FRUIT ADDRESS TABLE\r
210 M0ADDR    EQU     $1E80                  ;$1E BYTES - MONSTER 0 ADDRESS TABLE\r
211 M1ADDR    EQU     $1EA0                  ;$1E BYTES - MONSTER 1 ADDRESS TABLE\r
212 M2ADDR    EQU     $1EC0                  ;$1E BYTES - MONSTER 2 ADDRESS TABLE\r
213 M3ADDR    EQU     $1EE0                  ;$1E BYTES - MONSTER 3 ADDRESS TABLE\r
214 \r
215 *  KERNAL DISPLAY LISTS - MUST BE ON SAME PAGE\r
216 DLIST0    EQU     $1F00                  ;$27 BYTES - DISPLAY LIST FOR GAME\r
217 BDLIST0   EQU     $1F27                  ;$32 BYTES - DISPLAY LIST FOR INDICATOR\r
218 DLIST1    EQU     $1F59                  ;$27 BYTES - DISPLAY LIST FOR GAME\r
219 BDLIST1   EQU     $1F80                  ;$32 BYTES - DISPLAY LIST FOR INDICATOR\r
220 TOPDLIST  EQU     $1FB2                  ;$07 BYTES - DISPLAY LIST FOR SCORE\r
221 NULDLIST  EQU     $1FB7                  ;$02 BYTES - NULL DISPLAY LIST\r
222 \r
223 *  DISPLAY LIST LIST\r
224 DLL       EQU     $1FC0                  ;$72 BYTES - LIST OF DISPLAY LISTS\r
225 \r
226 *         ***** HOLE FROM $2040 TO $20FF - SHADOWED IN PAGE 0 *****\r
227 \r
228 *  PAC STATE VARIABLES\r
229 PVPOS     EQU     $2100                  ;VERTICAL POSITION\r
230 PHPOS     EQU     $2101                  ;HORIZONTAL POSITION\r
231 PZONE     EQU     $2102                  ;ROW\r
232 POFF      EQU     VOLIST                 ;OFFSET\r
233 PCOL      EQU     $2103                  ;COLUMN\r
234 PDIR      EQU     $2104                  ;DIRECTION\r
235 PDISP     EQU     $2105                  ;DISPLAY STATE\r
236 PMOVING   EQU     $2106                  ;WHETHER IT IS STOPPED\r
237 PTZONE    EQU     $2107                  ;ZONE OF LAST TURN\r
238 PTCOL     EQU     $2108                  ;COLUMN OF LAST TURN\r
239 PTEMP     EQU     $2109                  ;TEMP VARIABLE\r
240 PDELAY    EQU     $210A                  ;DELAY FOR NEXT MOVE\r
241 PTUNNEL   EQU     $210B                  ;WHETHER PAC IN TUNNEL\r
242 \r
243 *  FRUIT STATE VARIABLES\r
244 FENABLE   EQU     $2110                  ;WHETHER FRUIT IS 'ON'\r
245 FVPOS     EQU     $2111                  ;VERTICAL POSITION\r
246 FHPOS     EQU     $2112                  ;HORIZONTAL POSITION\r
247 FZONE     EQU     $2113                  ;ROW\r
248 FOFF      EQU     VOLIST+1               ;OFFSET\r
249 FCOL      EQU     $2114                  ;COLUMN\r
250 FDIR      EQU     $2115                  ;DIRECTION\r
251 FFRUIT    EQU     $2116                  ;WHICH FRUIT IT IS\r
252 FCOUNT    EQU     $2117                  ;WHERE WE ARE RELATIVE TO CHAR CENTER\r
253 FGZONE    EQU     $2118                  ;GOAL ZONE\r
254 FGCOL     EQU     $2119                  ;GOAL COLUMN\r
255 FGCOUNT   EQU     $211A                  ;WHAT GOAL TO LOOK FOR NEXT\r
256 FSCORE    EQU     $211B                  ;IF NON-ZERO, FRUIT IS A SCORE\r
257 FTUNNEL   EQU     $211C                  ;WHETHER FRUIT IN TUNNEL\r
258 FSOUND    EQU     $211D                  ;SOUND STATE VARIABLE\r
259 \r
260 *  MONSTER STATE VARIABLES\r
261 M0VPOS    EQU     $2120                  ;VERTICAL POSITION\r
262 M0HPOS    EQU     $2124                  ;HORIZONTAL POSITION\r
263 M0ZONE    EQU     $2128                  ;ROW\r
264 M0OFF     EQU     VOLIST+2               ;OFFSET\r
265 M0COL     EQU     $212C                  ;COLUMN\r
266 M0DIR     EQU     $2130                  ;DIRECTION\r
267 M0DISP    EQU     $2134                  ;DISPLAY STATE\r
268 M0STATE   EQU     $2138                  ;STATE - ACTIVE, BLUE, EYES, ETC\r
269 M0SLOW    EQU     $213C                  ;USED TO SLOW DOWN MONSTERS IN PEN\r
270 M0BLUE    EQU     $2140                  ;BLUE MODE FLAG\r
271 M0SPEED   EQU     $2144                  ;MONSTER SPEED\r
272 M0TUNNEL  EQU     $2148                  ;IS IN TUNNEL\r
273 M0FLIP    EQU     $214C                  ;IS ABOUT TO FLIP\r
274 \r
275 * SPEED REGISTER STUFF\r
276 M0SPEED0  EQU     $2150                  ;MONSTER SPEED REGISTERS (BY 5 SPEEDS)\r
277 M0SPEED1  EQU     $2155\r
278 M0SPEED2  EQU     $215A\r
279 M0SPEED3  EQU     $215F\r
280 P0SPEED0  EQU     $2164                  ;PAC SPEED REGISTERS (BY 2 SPEEDS)\r
281 P0SPEED1  EQU     $2166\r
282 P0SPEED2  EQU     $2168\r
283 P0SPEED3  EQU     $216A\r
284 REVWAIT   EQU     $216C                  ; REVERSE TIME\r
285 \r
286 *  VARIABLES FOR ANIMATION DRIVER - OVERLAPS MONSTER VARIABLES\r
287 ANAOFF    EQU     $2120                  ;OFFSET INTO ANIMATION DATA\r
288 ANSOFF    EQU     $2121                  ;OFFSET INTO ANIMATION SEGMENT DATA\r
289 ANCOUNT   EQU     $2122                  ;TICS TILL NEXT SEGMENT\r
290 ANSTATE   EQU     $2123                  ;VARIOUS USES\r
291 ANWHICH   EQU     $2124                  ;WHICH ANIMATION WE ARE WORKING ON\r
292 ANFRM     EQU     $2125                  ;HOW MANY FRAMES PER TIC\r
293 A0ENABLE  EQU     $2130                  ;WHETHER THIS CHARACTER IS ON\r
294 A0VPOS    EQU     $2136                  ;VERTICAL POSITION OF THIS CHARACTER\r
295 A0CHAR    EQU     $213C                  ;STAMP FOR THIS CHARACTER\r
296 A0HPDIF   EQU     $2142                  ;INDEX INTO HPOS DELTA TABLE\r
297 A0VPDIF   EQU     $2148                  ;INDEX INTO VPOS DELTA TABLE\r
298 A0ANDIF   EQU     $214E                  ;INDEX INTO ANIMATE CHARACTER TABLE\r
299 \r
300 *         ***** HOLE FROM $2140 TO $21FF SHADOWED IN PAGE 1 *****\r
301 \r
302 *  STAMP DATA AREA - STAMPS IN $1X00-$1X2F, FONT IN $1X30-$1XFF\r
303 STAMPS    EQU     $2200                  ;THROUGH THE END OF RAM - INCLUDES FONT\r
304 *                 0-1                    BLANK\r
305 *                 2-3                    BLACK BAR\r
306 *                 4-9                    MS PAC\r
307 *                 A-21                   MONSTERS (6 PER)\r
308 *                 22-27                  FRUIT\r
309 *                 28-2B                  MS PAC BONUS LIFE INDICATOR (4 PER)\r
310 *                 30-BF                  FONT\r
311 *                 E0-FF                  FRUIT INDICATORS (4 PER) - BANANA FIRST\r
312 \r
313 \r
314 *\r
315 *  MS CONSTANTS\r
316 \r
317 *  SOME SCREEN CONSTANTS\r
318 LEFTSIDE  EQU     $18                    ;LEFT SIDE OF VISIBLE SCREEN\r
319 RGHTSIDE  EQU     $88                    ;RIGHT SIDE OF VISIBLE SCREEN\r
320 TOPSIDE   EQU     $00                    ;TOP SIDE OF VISIBLE SCREEN\r
321 OFFSCRN   EQU     $B0                    ;AN OFF SCREEN LOCATION TO PUT INVIS.\r
322 LEFTEDGE  EQU     27                     ;A MONSTER HERE IS ON LEFT OF SCREEN\r
323 LEFTWRAP  EQU     19                     ;A MONSTER HERE IS ABOUT TO WRAP AROUND\r
324 RGHTEDGE  EQU     131                    ;A MONSTER HERE IS ON RIGHT OF SCREEN\r
325 RGHTWRAP  EQU     139                    ;A MONSTER HERE IS ABOUT TO WRAP AROUND\r
326 WRAPSIZE  EQU     RGHTWRAP-LEFTWRAP      ;SIZE OF TUNNEL WRAP\r
327 *\r
328 NUMRACKS  EQU     $04                    ;NUMBER OF RACKS\r
329 *\r
330 *  MONSTER CONSTANTS\r
331 MSTATPEN  EQU     $04                    ; IT IS SITTING IN THE PEN *\r
332 MSTINPEN  EQU     $03                    ; EYES TRYING TO GET INTO PEN\r
333 MSTLVPEN  EQU     $02                    ; MONSTER LEAVING PEN *\r
334 MSTEYES   EQU     $01                    ; EYES MOVING ARROUND\r
335 MSTNORM   EQU     $00                    ; NORMAL MOVEMENT *\r
336 SPDNORM   EQU     $00\r
337 SPDBLUE   EQU     $01\r
338 SPDSLOW   EQU     $02\r
339 SPDRED1   EQU     $03\r
340 SPDRED2   EQU     $04\r
341 *\r
342 * EVENT DRIVER CONSTANTS\r
343 MAXEVENT  EQU     $F\r
344 *\r
345 *  SCREEN LOCATIONS\r
346 INITHPOS  EQU     $4F                    ;HPOS OF INITIAL MS PAC PLACE\r
347 INITVPOS  EQU     $81                    ;VPOS OF INITIAL MS PAC PLACE\r
348 *\r
349 *  CONSTANT TIMES TO WAIT FOR THINGS\r
350 WAITMON   EQU     $01                    ;WAIT FOR MONSTER MOVES\r
351 WAITPAC   EQU     $01                    ;WAIT FOR PAC MOVES\r
352 WAITFRT   EQU     $05                    ;WAIT FOR FRUIT MOVES\r
353 WAITFLSH  EQU     $08                    ;WAIT FOR FLASHING POWER DOTS\r
354 *\r
355 *  COLOR DEFINITIONS\r
356 BLACK     EQU     $00\r
357 LTPINK    EQU     $5E\r
358 WHITE     EQU     $0C\r
359 PINK      EQU     $57\r
360 RED       EQU     $32\r
361 GREEN     EQU     $E7\r
362 PURPLE    EQU     $63\r
363 BLUE      EQU     $98\r
364 YELLOW    EQU     $1E\r
365 LTBLUE    EQU     $AE\r
366 DKBLUE    EQU     $82\r
367 BROWN     EQU     $15\r
368 LTGREEN   EQU     $EB\r
369 LTBROWN   EQU     $3B\r
370 GOLD      EQU     $2A\r
371 HOTPINK   EQU     $54\r
372 ORANGE    EQU     $35\r
373 *\r
374 *  FONT DEFINITIONS\r
375 BLNKCHAR  EQU     $50                    ;BLANK\r
376 DOTCHAR   EQU     $51                    ;DOT\r
377 EDOTCHAR  EQU     $52                    ;ENERGY DOT\r
378 DOORCHAR  EQU     $3D                    ;DOOR TO THE PEN\r
379 MARQCHAR  EQU     $7B                    ;START OF MARQUEE CHARACTERS\r
380 *\r
381 *  JOYSTICK DIRECTIONS\r
382 DRIGHT    EQU     0\r
383 DDOWN     EQU     1\r
384 DLEFT     EQU     2\r
385 DUP       EQU     3\r
386 DCENTER   EQU     4\r
387 DDWRIGHT  EQU     5\r
388 DDWLEFT   EQU     6\r
389 DUPLEFT   EQU     7\r
390 DUPRIGHT  EQU     8\r
391 *\r
392 P1SCRCOL  EQU     $00                    ;COLUMN FOR PLAYER 1 SCORE\r
393 P2SCRCOL  EQU     $15                    ;COLUMN FOR PLAYER 2 SCORE\r
394 *\r
395 STACKPTR  EQU     $FF                    ;WHERE STACK IS ON PAGE 1\r
396 *\r
397 GRAPHON   EQU     $48                    ;CTL VALUE FOR NORMAL GRAPHICS\r
398 GRAPHOFF  EQU     $FF                    ;CTL VALUE FOR GRAPHICS OFF\r