1 /**************************************************************************************\
2 *                                                                                      *
3 *       OS and ROM symbols - used for debugging.  This list was produced from various  *
4 *       sources.                                                                       *
5 *                                                                                      *
6 *         This is a derrived work, no copyright is claimed on this file.               *
7 *                                                                                      *
8 \**************************************************************************************/
9 
10 #define IN_SYMBOLS_C
11 
12 #include <vars.h>
13 #ifdef DEBUG
14 
15 
16 /**************************************************************************************\
17 *                                                                                      *
18 *       Standard 680000 Vector table                                                   *
19 *                                                                                      *
20 *                                                                                      *
21 \**************************************************************************************/
22 
23 char vectxt[128];
getvector(int v)24 char *getvector(int v)
25 {
26  switch (v)
27  {
28 
29      case 0:      sprintf(vectxt,"0x%x (%d) reset ssp",v,v); return vectxt;                       // 0
30      case 1:      sprintf(vectxt,"0x%x (%d) reset initial pc",v,v); return vectxt;                // 4
31      case 2:      sprintf(vectxt,"0x%x (%d) bus error",v,v); return vectxt;                       // 8
32      case 3:      sprintf(vectxt,"0x%x (%d) address error",v,v); return vectxt;                   // 12
33      case 4:      sprintf(vectxt,"0x%x (%d) illegal instruction",v,v); return vectxt;             // 16
34      case 5:      sprintf(vectxt,"0x%x (%d) zero divide",v,v); return vectxt;
35      case 6:      sprintf(vectxt,"0x%x (%d) chk instruction",v,v); return vectxt;
36      case 7:      sprintf(vectxt,"0x%x (%d) trapv",v,v); return vectxt;
37      case 8:      sprintf(vectxt,"0x%x (%d) priviledge violation",v,v); return vectxt;
38      case 9:      sprintf(vectxt,"0x%x (%d) trace",v,v); return vectxt;
39      case 10:     sprintf(vectxt,"0x%x (%d) A-line trap",v,v); return vectxt;
40      case 11:     sprintf(vectxt,"0x%x (%d) F-line trap",v,v); return vectxt;
41 
42      case 14:     sprintf(vectxt,"0x%x (%d) format error (RTE/TRAP?)",v,v); return vectxt;
43 
44      case 15:     sprintf(vectxt,"0x%x (%d) uninitialized interrupt vector",v,v); return vectxt;
45 
46      case 24:     sprintf(vectxt,"0x%x (%d) spurious irq - buserr during irq processing causes this",v,v); return vectxt;
47 
48      case 25:     sprintf(vectxt,"0x%x (%d) other (disk,vertical,via) autovect #1 ",v,v); return vectxt;
49      case 26:     sprintf(vectxt,"0x%x (%d) keybd autovect #2 ",v,v); return vectxt;
50      case 27:     sprintf(vectxt,"0x%x (%d) slot2 autovect #3 ",v,v); return vectxt;
51      case 28:     sprintf(vectxt,"0x%x (%d) slot1 autovect #4 ",v,v); return vectxt;
52      case 29:     sprintf(vectxt,"0x%x (%d) slot0 autovect #5 ",v,v); return vectxt;
53      case 30:     sprintf(vectxt,"0x%x (%d) rs232 autovect #6 ",v,v); return vectxt;
54      case 31:     sprintf(vectxt,"0x%x (%d) NMI autovector #7 ",v,v); return vectxt;
55 
56      case 32:     sprintf(vectxt,"0x%x (%d) trap #0  ",v,v); return vectxt;
57      case 33:     sprintf(vectxt,"0x%x (%d) trap #1  ",v,v); return vectxt;
58      case 34:     sprintf(vectxt,"0x%x (%d) trap #2  ",v,v); return vectxt;
59      case 35:     sprintf(vectxt,"0x%x (%d) trap #3  ",v,v); return vectxt;
60      case 36:     sprintf(vectxt,"0x%x (%d) trap #4  ",v,v); return vectxt;
61      case 37:     sprintf(vectxt,"0x%x (%d) trap #5 (hwlib) ",v,v); return vectxt;
62      case 38:     sprintf(vectxt,"0x%x (%d) trap #6 (setup mmuseg) ",v,v); return vectxt;
63      case 39:     sprintf(vectxt,"0x%x (%d) trap #7 (D0=%04x->SR, JMP (A0=%08x) ",v,v,(uint16)(reg68k_regs[0] & 0xffff),reg68k_regs[8]); return vectxt;
64      case 40:     sprintf(vectxt,"0x%x (%d) trap #8  ",v,v); return vectxt;
65      case 41:     sprintf(vectxt,"0x%x (%d) trap #9  ",v,v); return vectxt;
66      case 42:     sprintf(vectxt,"0x%x (%d) trap #a  ",v,v); return vectxt;
67      case 43:     sprintf(vectxt,"0x%x (%d) trap #b  ",v,v); return vectxt;
68      case 44:     sprintf(vectxt,"0x%x (%d) trap #c  ",v,v); return vectxt;
69      case 45:     sprintf(vectxt,"0x%x (%d) trap #d  ",v,v); return vectxt;
70      case 46:     sprintf(vectxt,"0x%x (%d) trap #e  ",v,v); return vectxt;
71      case 47:     sprintf(vectxt,"0x%x (%d) trap #f  ",v,v); return vectxt;
72 }
73 if (v>63)    sprintf(vectxt,"0x%x (%d) user irq vector #%d",v,v,v-64); return vectxt;
74 
75 sprintf(vectxt,"0x%x (%d) unassigned/reserved",v,v); return vectxt;
76 }
77 
78 
79 /**************************************************************************************\
80 *                                                                                      *
81 *       Lisa OS library traps - From Lisa programming documentation                    *
82 *                                                                                      *
83 *                                                                                      *
84 \**************************************************************************************/
85 
86 
lisaos_trap5(void)87 void lisaos_trap5(void)
88     {
89         char *label="unknown";
90 
91         if (!debug_log_enabled) return;
92 
93         switch(reg68k_regs[7] & 0x0000ffff)
94         {
95         case 0x00:     /* 0028  */ label="driverin"; break;
96         case 0x68:     /* 0032  */ label="diskdriv"; break;
97         case 0x6a:     /* 0046  */ label="twiggydr"; break;
98         case 0x6c:     /* 005a  */ label="disksync"; break;
99         case 0x8c:     /* 006a  */ label="nmisync "; break;
100         case 0xaa:     /* 0076  */ label="copsync "; break;
101         case 0x9e:     /* 0082  */ label="poll    "; break;
102         case 0x02:     /* 008e  */ label="mouseloc"; break;
103         case 0x04:     /* a4    */ label="mouseupd"; break;
104         case 0x06:     /* b4    */ label="mousesca"; break;
105         case 0x08:     /* c4    */ label="mousethr"; break;
106         case 0xa8:     /* d4    */ label="nouseodo"; break;
107         case 0x0a:     /* e4    */ label="cursorlo"; break;
108         case 0x0c:     /* f8    */ label="cursortr"; break;
109         case 0x0e:     /* 108   */ label="cursorim"; break;
110         case 0x10:     /* 158   */ label="cursorhi"; break;
111         case 0x12:     /* 164   */ label="cursorsh"; break;
112         case 0x14:     /* 188   */ label="cursordi"; break;
113         case 0x6e:     /* 194   */ label="cursorob"; break;
114         case 0x70:     /* 1a0   */ label="cursorin"; break;
115         case 0x9c:     /* 1ac   */ label="cursorre"; break;
116         case 0x86:     /* 1b8   */ label="busyimag"; break;
117         case 0x88:     /* 208   */ label="busydela"; break;
118         case 0x16:     /* 218   */ label="framecou"; break;
119         case 0x8a:     /* 228   */ label="screensi"; break;
120         case 0x18:     /* 23e   */ label="screenad"; break;
121         case 0x1a:     /* 24e   */ label="altscree"; break;
122         case 0x8e:     /* 25e   */ label="screenke"; break;
123         case 0x90:     /* 26e   */ label="setscree"; break;
124         case 0x1c:     /* 27e   */ label="contrast"; break;
125         case 0x1e:     /* 28e   */ label="setcontr"; break;
126         case 0x20:     /* 29e   */ label="rampcont"; break;
127         case 0x82:     /* 2ae   */ label="dimcontr"; break;
128         case 0x84:     /* 2be   */ label="setdimco"; break;
129         case 0x22:     /* 2ce   */ label="fadedela"; break;
130         case 0x24:     /* 2de   */ label="setfaded"; break;
131         case 0x26:     /* 2ee   */ label="powerdow"; break;
132         case 0x28:     /* 2fa   */ label="powercyc"; break;
133         case 0x2a:     /* 30a   */ label="volume  "; break;
134         case 0x2c:     /* 31a   */ label="setvolum"; break;
135         case 0x2e:     /* 32a   */ label="noise   "; break;
136         case 0x30:     /* 33a   */ label="silece  "; break;
137         case 0x32:     /* 346   */ label="beep    "; break;
138         case 0x38:     /* 358   */ label="keyboard"; break;
139         case 0x96:     /* 368   */ label="legends "; break;
140         case 0x98:     /* 378   */ label="setlegen"; break;
141         case 0x34:     /* 388   */ label="keyisdow"; break;
142         case 0x36:     /* 39c   */ label="keymap  "; break;
143         case 0x3c:     /* 3b8   */ label="keybdpee"; break;
144         case 0x92:     /* 3d0   */ label="altkeype"; break;
145         case 0x3a:     /* 3fa   */ label="keybdeve"; break;
146         case 0x94:     /* 412   */ label="altkeyev"; break;
147         case 0x3e:     /* 43c   */ label="repeatra"; break;
148         case 0x40:     /* 452   */ label="setrepea"; break;
149         case 0x42:     /* 464   */ label="keypushe"; break;
150         case 0x72:     /* 476   */ label="nmikey  "; break;
151         case 0x74:     /* 486   */ label="setnmike"; break;
152         case 0xa0:     /* 498   */ label="toggleke"; break;
153         case 0xa2:     /* 4ab   */ label="settoggl"; break;
154         case 0x9a:     /* 4ba   */ label="microtim"; break;
155         case 0x44:     /* 4ca   */ label="timer   "; break;
156         case 0x46:     /* 4da   */ label="alarmass"; break;
157         case 0x48:     /* 4f2   */ label="alarmret"; break;
158         case 0x4a:     /* 502   */ label="alarmabs"; break;
159         case 0x4c:     /* 514   */ label="alarmrel"; break;
160         case 0x4e:     /* 526   */ label="alarmoff"; break;
161         case 0x50:     /* 536   */ label="datetime"; break;
162         case 0x52:     /* 558   */ label="setdatet"; break;
163         case 0x54:     /* 57a   */ label="datetoti"; break;
164         case 0x58:     /* 5a4   */ label="timestam"; break;
165         case 0x5a:     /* 5b4   */ label="settimes"; break;
166         case 0x5c:     /* 5c4   */ label="timetoda"; break;
167         }
168         fprintf(buglog,"TRAP #5 Hardware Library call taken D7=%08x, (%s)\n",reg68k_regs[7],label);
169     }
170 
171 
172 
173 
174 /**************************************************************************************\
175 *                                                                                      *
176 *       BOOT ROM Symbols - used for debugging, from the ROM sources                    *
177 *                                                                                      *
178 \**************************************************************************************/
179 
get_rom_label(uint32 pc24)180 char *get_rom_label(uint32 pc24)
181 {
182 
183 //if (!debug_log_enabled) return "";
184 
185 
186 switch ( pc24 & 0x00ffff)
187 {
188 case 0x0000:   return "BASE     ";
189 case 0x0008:   return "2BUSVCT   ";
190 case 0x000C:   return "3ADRVCT   ";
191 case 0x0010:   return "ILLVCT   ";
192 case 0x0014:   return "DIV0VCT  ";
193 case 0x0018:   return "CHKVCT   ";
194 case 0x001C:   return "TRAPVCT  ";
195 case 0x0020:   return "PRIVCT   ";
196 case 0x0024:   return "TRCVCT   ";
197 case 0x0028:   return "L10VCT   ";
198 case 0x002C:   return "L11VCT   ";
199 case 0x0030:   return "EXCPERR  ";
200 case 0x003A:   return "SAVEREGS ";
201 case 0x003E:   return "SAVEREG2 ";
202 case 0x0052:   return "SVCMSG   ";
203 case 0x0060:   return "SPURVCT  ";
204 case 0x0064:   return "LVL1VCT  ";
205 case 0x0068:   return "LVL2VCT  ";
206 case 0x006C:   return "LVL3VCT  ";
207 case 0x0070:   return "LVL4VCT  ";
208 case 0x0074:   return "LVL5VCT  ";
209 case 0x0078:   return "LVL6VCT  ";
210 case 0x007C:   return "LVL7V-NMI";
211 case 0x0080:   return "DORESET ";
212 case 0x0084:   return "INITMON ";
213 case 0x0088:   return "CONVRTD5";
214 case 0x008C:   return "WRTMMU  ";
215 case 0x0090:   return "PROREAD ";
216 case 0x0094:   return "TWGREAD ";
217 case 0x0098:   return "RAMTEST ";
218 case 0x00A4:   return "READMMU ";
219 case 0x00A8:   return "COPSCMD ";
220 case 0x00AC:   return "READCLK ";
221 case 0x00B0:   return "DSPDEC  ";
222 case 0x00B4:   return "CONSET2 ";
223 case 0x00B8:   return "TONE    ";
224 case 0x00BC:   return "VFYCHKSM";
225 case 0x00C0:   return "WRTSUM  ";
226 case 0x00C4:   return "RDSERN  ";
227 case 0x00C8:   return "SPIN     ";
228 case 0x00CA:   return "NMIEXCP??";
229 case 0x00F6:   return "BEGIN    ";
230 case 0x0152:   return "BEGIN2   ";
231 case 0x018A:   return "BEGIN3   ";
232 case 0x0194:   return "ROMTST   ";
233 case 0x019E:   return "DOSUM    ";
234 case 0x01B0:   return "MMUTST   ";
235 case 0x01D8:   return "MMUERR   ";
236 case 0x01E0:   return "MMULP    ";
237 case 0x0200:   return "TSTLOOP  ";
238 case 0x0202:   return "REGTST   ";
239 case 0x0216:   return "MMUINIT  ";
240 case 0x022A:   return "MMURW    ";
241 case 0x023C:   return "RWCHK1   ";
242 case 0x024C:   return "RWCHK2   ";
243 case 0x0254:   return "RWCHK3   ";
244 case 0x025E:   return "CHKBASE  ";
245 case 0x0270:   return "MMUACHK  ";
246 case 0x0286:   return "ACHK1    ";
247 case 0x0290:   return "MMUSET   ";
248 case 0x029C:   return "ACHK2    ";
249 case 0x02B0:   return "MADRERR  ";
250 case 0x02B4:   return "CHKRW    ";
251 case 0x02C2:   return "RWERR    ";
252 case 0x02C6:   return "SETMMU   ";
253 case 0x02E4:   return "LOADORG  ";
254 case 0x0316:   return "LOADLMT  ";
255 case 0x0348:   return "MMUTST2  ";
256 case 0x03F4:   return "MMUERR2  ";
257 case 0x03FA:   return "MMUERR3  ";
258 case 0x0408:   return "MMULPCHK ";
259 case 0x0410:   return "CONCHK   ";
260 case 0x043E:   return "CONOK    ";
261 case 0x0440:   return "START    ";
262 case 0x0446:   return "MEMSIZ   ";
263 case 0x045E:   return "CHKLO    ";
264 case 0x04BC:   return "SAVELO   ";
265 case 0x04CE:   return "TSTHI    ";
266 case 0x04E2:   return "CHKHI    ";
267 case 0x04FA:   return "SAVEHI   ";
268 case 0x0500:   return "WRAPXIT  ";
269 case 0x0502:   return "SIZXIT   ";
270 case 0x0508:   return "CHKMEM   ";
271 case 0x0554:   return "LOTONE   ";
272 case 0x0566:   return "RSTMMU   ";
273 case 0x0590:   return "REMAP    ";
274 case 0x05A4:   return "MAPINV   ";
275 case 0x05BA:   return "WRTMMU   ";
276 case 0x05D0:   return "READMMU  ";
277 case 0x0620:   return "MEMTST1  ";
278 case 0x0654:   return "TONEDLY  ";
279 case 0x066C:   return "INITMEM  ";
280 case 0x06A6:   return "INITVCT  ";
281 case 0x06AC:   return "SETVCTRS ";
282 case 0x06E2:   return "SETBUSVC ";
283 case 0x06EC:   return "MISC     ";
284 case 0x06F8:   return "IERR     ";
285 case 0x0704:   return "NMI      ";
286 case 0x0730:   return "NOTPE    ";
287 case 0x0736:   return "TRPERR   ";
288 case 0x0742:   return "BERR     ";
289 case 0x074E:   return "AERR     ";
290 case 0x0758:   return "EXCP0    ";
291 case 0x0764:   return "EXCP1    ";
292 case 0x0774:   return "SCCSET   ";
293 //case 0x0780:   return "VIA2CHK  ";
294 case 0x0780:   return "VIA2TST  ";
295 case 0x07AE:   return "VIA2VCT  ";
296 case 0x07B8:   return "VIATST   ";
297 case 0x07D0:   return "VIARW    ";
298 case 0x07F4:   return "VIAFAIL  ";
299 case 0x07F6:   return "VIARWEND ";
300 case 0x07FA:   return "CONSET   ";
301 case 0x0800:   return "CONOFF   ";
302 case 0x0802:   return "CONSET2  ";
303 case 0x0822:   return "SCRNTST  ";
304 case 0x086A:   return "SCRNERR  ";
305 case 0x086C:   return "SCRNOK   ";
306 case 0x0874:   return "SCRNSAV  ";
307 case 0x0886:   return "SETVLTCH ";
308 case 0x08A2:   return "VIA1TST  ";
309 //case 0x08A2:   return "INVTST   ";
310 case 0x08B0:   return "VIA1CHK  ";
311 case 0x08DC:   return "DSPCPURM ";
312 case 0x08EA:   return "COPSENBL ";
313 case 0x090A:   return "COPSBAD  ";
314 case 0x0916:   return "COPSVCT  ";
315 case 0x0918:   return "IOVCT    ";
316 case 0x0920:   return "CPSINIT  ";
317 case 0x093E:   return "TURNON   ";
318 case 0x0956:   return "COPSCMD  ";
319 case 0x09C2:   return "RSTSCAN  ";
320 case 0x09DC:   return "RST0     ";
321 case 0x09F0:   return "GET0     ";
322 case 0x09F6:   return "RST2     ";
323 case 0x0A06:   return "RST1     ";
324 case 0x0A38:   return "GETJMP   ";
325 case 0x0A3C:   return "RSTXIT   ";
326 case 0x0A52:   return "MSCHK    ";
327 case 0x0A60:   return "SCANERR  ";
328 case 0x0A66:   return "IOCERR   ";
329 case 0x0A6A:   return "SCANXIT  ";
330 case 0x0A7E:   return "GETDATA  ";
331 case 0x0AA2:   return "GETIT    ";
332 case 0x0AAA:   return "RSTKBD   ";
333 case 0x0AC4:   return "CLRRST   ";
334 case 0x0ACC:   return "DELAY_1  ";
335 case 0x0AD4:   return "DELAY5   ";
336 case 0x0ADC:   return "KBDDELAY ";
337 case 0x0AE2:   return "DELAY    ";
338 case 0x0AE8:   return "BEEP     ";
339 case 0x0AEE:   return "CLICK    ";
340 case 0x0AF6:   return "TONE     ";
341 case 0x0B06:   return "TONE2    ";
342 case 0x0B52:   return "SILENCE  ";
343 case 0x0B5A:   return "NOIO     ";
344 case 0x0B76:   return "NOIO2    ";
345 case 0x0B8E:   return "NOIO3    ";
346 case 0x0B96:   return "VIDTST   ";
347 case 0x0BA2:   return "VIDCHK   ";
348 case 0x0BD4:   return "VIDERR   ";
349 case 0x0BE0:   return "VIDXIT   ";
350 case 0x0BF6:   return "RDSERN   ";
351 case 0x0C1C:   return "GETBITS1 ";
352 case 0x0C50:   return "GETBITS2 ";
353 case 0x0C82:   return "GETBYTES ";
354 case 0x0CB2:   return "CHECKSUM ";
355 case 0x0CF8:   return "EXIT     ";
356 case 0x0D0A:   return "FINDSYNC ";
357 case 0x0D34:   return "GETNIBBL ";
358 case 0x0D58:   return "TAG      ";
359 case 0x0D5C:   return "PARTST   ";
360 case 0x0DD2:   return "PARERR   ";
361 case 0x0DE8:   return "PARXIT   ";
362 case 0x0DF4:   return "WWPERR   ";
363 case 0x0DF8:   return "VIA1VCT  ";
364 case 0x0E02:   return "MEMTST2  ";
365 case 0x0E0E:   return "MEMLOOP  ";
366 case 0x0E4E:   return "TSTDONE  ";
367 case 0x0E6A:   return "BASICTST ";
368 //case 0x0E6A:   return "RUNTESTS ";
369 case 0x0E6C:   return "CALL3    ";
370 case 0x0E84:   return "TSTINIT  ";
371 case 0x0E98:   return "SAVRSLT  ";
372 case 0x0EB0:   return "RAMTEST  ";
373 case 0x0EC0:   return "RAMRW    ";
374 case 0x0ECC:   return "RAMCHK2  ";
375 case 0x0EDE:   return "RAMNXT   ";
376 case 0x0EE6:   return "ADRTST   ";
377 case 0x0EF6:   return "ADRCHK   ";
378 case 0x0F00:   return "ADRCLR   ";
379 case 0x0F0C:   return "RDERR    ";
380 case 0x0F14:   return "PRTYINT1 ";
381 case 0x0F68:   return "TSTSTAT  ";
382 case 0x0F72:   return "PRTYINT2 ";
383 case 0x0FC6:   return "PRIXIT   ";
384 case 0x0FD0:   return "PCERR    ";
385 case 0x0FF0:   return "GETPADDR ";
386 case 0x1000:   return "IOTST    ";
387 case 0x1008:   return "SCCTEST  ";
388 case 0x101A:   return "VECTLOOP ";
389 case 0x1038:   return "B96DATA  ";
390 case 0x1048:   return "SETSCC   ";
391 case 0x1054:   return "LPTEST   ";
392 case 0x1058:   return "SCCLOOP  ";
393 case 0x1066:   return "SCCOUT   ";
394 case 0x106C:   return "SCCLOOP2 ";
395 case 0x107A:   return "SCCIN    ";
396 case 0x108A:   return "SCCLXIT  ";
397 case 0x108C:   return "SCCLERR  ";
398 case 0x108E:   return "SCCEXIT  ";
399 case 0x10BE:   return "WRITESCC ";
400 case 0x10CA:   return "INITBDAT ";
401 case 0x10CE:   return "INITB2   ";
402 case 0x10D0:   return "RSTSCC   ";
403 case 0x10EE:   return "SCCVCT   ";
404 case 0x110C:   return "DSKTST   ";
405 case 0x1174:   return "INTERR   ";
406 case 0x1180:   return "DSKXIT   ";
407 case 0x1186:   return "DSKVCT   ";
408 case 0x1198:   return "SETTYPE  ";
409 case 0x11C0:   return "COPSCHK  ";
410 case 0x11E2:   return "SCANCPS  ";
411 case 0x11EA:   return "KEYSCAN  ";
412 case 0x125E:   return "XLATE    ";
413 case 0x127A:   return "KEYTBL   ";
414 case 0x128B:   return "TBLEND   ";
415 case 0x128C:   return "CLKTST   ";
416 case 0x12A0:   return "READCLK  ";
417 case 0x12B2:   return "RDCLK0   ";
418 case 0x12D4:   return "RDCLK1   ";
419 case 0x12E2:   return "CLKERR   ";
420 case 0x12EE:   return "CONFIG   ";
421 case 0x12F6:   return "CONFIG2  ";
422 case 0x1306:   return "RDSLOTS  ";
423 case 0x1332:   return "NOCRD1   ";
424 case 0x1334:   return "SLOT2    ";
425 case 0x1350:   return "NOCRD2   ";
426 case 0x1352:   return "SLOT3    ";
427 case 0x136E:   return "NOCRD3   ";
428 case 0x1370:   return "CFGEXIT  ";
429 case 0x1380:   return "CHKID    ";
430 case 0x139A:   return "TSTCHK   ";
431 case 0x13AA:   return "TST2     ";
432 case 0x140E:   return "EXCHK    ";
433 case 0x145E:   return "IOCHK    ";
434 case 0x14EA:   return "ERRDISP  ";
435 case 0x14F8:   return "KBDCHK   ";
436 case 0x1514:   return "MEMCHK   ";
437 case 0x153C:   return "CHKMADR  ";
438 case 0x154C:   return "SCNRSLTS ";
439 case 0x1572:   return "MERRCHK  ";
440 case 0x1582:   return "MEMERR   ";
441 case 0x1590:   return "IOSCHK   ";
442 case 0x15C0:   return "TSTXIT   ";
443 case 0x15C4:   return "TSTXIT2  ";
444 case 0x15CC:   return "GOTOMON  ";
445 case 0x15DC:   return "PMVCT    ";
446 case 0x15E6:   return "OTHER    ";
447 case 0x1622:   return "DSPCODE  ";
448 case 0x1630:   return "DSPDEC   ";
449 case 0x1634:   return "GETDIG   ";
450 case 0x1668:   return "DSPCXIT  ";
451 case 0x166E:   return "OUTCHR   ";
452 case 0x1678:   return "OUTCH    ";
453 case 0x1696:   return "OUTNIB   ";
454 case 0x16A8:   return "ALPHA    ";
455 case 0x16B0:   return "DSPCH    ";
456 case 0x16B8:   return "NOTIFY   ";
457 case 0x16C8:   return "HIPTCH   ";
458 case 0x16CC:   return "LOPTCH   ";
459 case 0x16CE:   return "SETDUR   ";
460 case 0x16DE:   return "SYSOK    ";
461 case 0x16E2:   return "DOBOOT   ";
462 case 0x16E6:   return "BOOTCHK  ";
463 case 0x1754:   return "DVCECHK  ";
464 case 0x1818:   return "PMEXIT   ";
465 case 0x1820:   return "PMERR    ";
466 case 0x182E:   return "LSTCHK   ";
467 case 0x1836:   return "CHKPM    ";
468 case 0x184E:   return "SAV2PM   ";
469 case 0x187E:   return "WRTSUM   ";
470 case 0x188C:   return "VFYCHKSM ";
471 case 0x1890:   return "CKLOOP   ";
472 case 0x18AE:   return "CKXIT    ";
473 case 0x18B0:   return "EXPAND   ";
474 case 0x18D6:   return "SEARCH   ";
475 case 0x18F8:   return "BOOTMENU ";
476 case 0x1986:   return "ICONCHK  ";
477 case 0x19D6:   return "SCNSLTS  ";
478 case 0x19EE:   return "CHKS2    ";
479 case 0x1A00:   return "CHKS3    ";
480 case 0x1A14:   return "WT4BOOT  ";
481 case 0x1A36:   return "CHKPROFI ";
482 case 0x1A94:   return "DSPMNTRY ";
483 case 0x1AAA:   return "ICONMENU ";
484 case 0x1B44:   return "CHKSLOT  ";
485 case 0x1B68:   return "CHKICONS ";
486 case 0x1B94:   return "CHKSXIT  ";
487 case 0x1B9A:   return "RDSLT    ";
488 case 0x1BCC:   return "TWGBOOT  ";
489 case 0x1C24:   return "CLRINT   ";
490 case 0x1C2C:   return "DOREAD   ";
491 case 0x1C48:   return "RDRETRY  ";
492 case 0x1C6C:   return "RDSCTR1  ";
493 case 0x1C82:   return "STRTBOOT ";
494 case 0x1C98:   return "DSKTIMER ";
495 case 0x1C9A:   return "DSKCHK   ";
496 case 0x1CAA:   return "DSKBAD   ";
497 case 0x1CBC:   return "DSKOUT   ";
498 case 0x1CC0:   return "DSKDIS   ";
499 case 0x1CC4:   return "DSKERR   ";
500 case 0x1D0A:   return "TBOOTERR ";
501 case 0x1D0E:   return "DSKERR2  ";
502 case 0x1D14:   return "DSKERR3  ";
503 case 0x1D1C:   return "SAVEXCP  ";
504 case 0x1D2A:   return "BTERR    ";
505 case 0x1D46:   return "DSABLDSK ";
506 case 0x1D5C:   return "CHKDRIVE ";
507 case 0x1D70:   return "TWGRD    ";
508 case 0x1D76:   return "TWGREAD  ";
509 case 0x1DB4:   return "XFRHDR   ";
510 case 0x1DCE:   return "XFRDATA  ";
511 case 0x1DF0:   return "TWGOUT   ";
512 case 0x1DF2:   return "TWGERR   ";
513 case 0x1DFA:   return "TWGOK    ";
514 case 0x1DFE:   return "TWGRXIT  ";
515 case 0x1E04:   return "CMDCHK   ";
516 case 0x1E3E:   return "CHKFIN   ";
517 case 0x1E56:   return "EJCTDSK  ";
518 case 0x1E72:   return "CLRFDIR  ";
519 case 0x1E96:   return "CHKFDIR  ";
520 case 0x1EA6:   return "DSPWTICO ";
521 //case 0x1EA6:   return "WAITALRT ";
522 case 0x1EB0:   return "VCTRINIT ";
523 case 0x1ECE:   return "PROBOOT  ";
524 case 0x1EFC:   return "PBOOT    ";
525 case 0x1F10:   return "HDSKERR  ";
526 case 0x1F3A:   return "BOOTFAIL ";
527 case 0x1F3E:   return "BFAIL2   ";
528 case 0x1F5E:   return "HDERR2   ";
529 case 0x1F66:   return "HDERR3   ";
530 case 0x1F70:   return "PROREAD  ";
531 case 0x1F82:   return "CHKBSY   ";
532 case 0x1F90:   return "TRYRD    ";
533 case 0x1FD2:   return "RDDATA   ";
534 case 0x1FDE:   return "PROERR   ";
535 case 0x1FE6:   return "PROXIT   ";
536 case 0x1FEA:   return "PROXIT2  ";
537 case 0x1FF0:   return "PROINIT  ";
538 case 0x2032:   return "READIT   ";
539 case 0x2048:   return "STRTRD   ";
540 case 0x2060:   return "GETSTAT  ";
541 case 0x2074:   return "STRTXIT  ";
542 case 0x2076:   return "STAT01   ";
543 case 0x2092:   return "COPY6    ";
544 case 0x20A0:   return "COPY6LP  ";
545 case 0x20B2:   return "STATERR  ";
546 case 0x20B6:   return "STATXIT  ";
547 case 0x20BC:   return "FINDD2   ";
548 case 0x20CE:   return "GETRSP   ";
549 case 0x20DC:   return "RSPOK    ";
550 case 0x20DE:   return "SNDR1    ";
551 case 0x20E6:   return "FINDERR  ";
552 case 0x20F6:   return "FNDXIT   ";
553 case 0x20FC:   return "WFBSY    ";
554 case 0x2100:   return "WFBSY1   ";
555 case 0x210E:   return "SENDRSP  ";
556 case 0x2122:   return "WFNBSY   ";
557 case 0x212A:   return "WFNBSY2  ";
558 case 0x2132:   return "WFNBSY3  ";
559 case 0x2138:   return "WFNBSY1  ";
560 case 0x2146:   return "DOCRES   ";
561 case 0x215E:   return "IOSBOOT  ";
562 case 0x2186:   return "STATOK   ";
563 case 0x2194:   return "NOCRD    ";
564 case 0x219E:   return "INVID    ";
565 case 0x21A2:   return "BADBRD   ";
566 case 0x21A6:   return "SENDMSG  ";
567 case 0x21CC:   return "RDIOSLT  ";
568 case 0x21EA:   return "LOADPGM  ";
569 case 0x222A:   return "INVSUM   ";
570 case 0x222C:   return "SAVERR   ";
571 case 0x2234:   return "RDIOXIT  ";
572 case 0x223A:   return "CHKPASS  ";
573 case 0x2244:   return "CHKPAS2  ";
574 case 0x2250:   return "CLRPM    ";
575 case 0x229A:   return "CHKTIM   ";
576 case 0x22EA:   return "TWGCHK   ";
577 case 0x2344:   return "TSTERR   ";
578 case 0x2364:   return "DISINT   ";
579 case 0x2376:   return "WRTMSG   ";
580 case 0x238A:   return "CNTINC   ";
581 case 0x2398:   return "DSPTIM   ";
582 case 0x23BE:   return "NOCHG    ";
583 case 0x23E8:   return "SHUTDOWN ";
584 case 0x23FC:   return "DSCONT   ";
585 case 0x2444:   return "SELF     ";
586 case 0x2448:   return "SETERR1  ";
587 case 0x244C:   return "SETERR2  ";
588 case 0x244E:   return "DSPERR   ";
589 case 0x245E:   return "CMDERR   ";
590 case 0x2466:   return "TODSET   ";
591 case 0x247C:   return "SETXIT   ";
592 case 0x247E:   return "TWGTST   ";
593 case 0x249A:   return "TWGLOOP  ";
594 case 0x24C2:   return "TOOLONG  ";
595 case 0x24C4:   return "TERR     ";
596 case 0x24CA:   return "DSPCLK   ";
597 case 0x2510:   return "TWGDSP   ";
598 case 0x2534:
599 
600                if (debug_log_enabled)
601                    {ALERT_LOG(0,"Returning to Lisa POST Monitoring, so disabling debug now.");
602                     debug_off();
603                    }
604 
605                return "INITMON  ";
606 case 0x2544:   return "INIT1    ";
607 case 0x255C:   return "INIT2    ";
608 case 0x2570:   return "INIT3    ";
609 case 0x259C:   return "MONITOR  ";
610 case 0x25A4:   return "LEVEL1   ";
611 //case 0x25EC:   return "OTHRBTNS ";
612 case 0x25EC:   return "DOMENU   ";
613 case 0x262A:   return "GETL1    ";
614 case 0x2652:   return "DORESET  ";
615 case 0x265E:   return "CONTCHK  ";
616 case 0x26DA:   return "GETL1XIT ";
617 case 0x26DE:   return "LEV1LOOP ";
618 case 0x26E6:   return "GETERR   ";
619 case 0x26F0:   return "CLRSCRN  ";
620 case 0x26F2:   return "WRTSCRN  ";
621 case 0x2702:   return "READKEY  ";
622 case 0x270C:   return "SQUAWK   ";
623 case 0x271A:   return "KEYTOASC ";
624 case 0x273C:   return "LEVEL2   ";
625 case 0x2744:   return "DSPMENU  ";
626 case 0x274C:   return "GETLEV2  ";
627 case 0x27A0:   return "WRTMENU  ";
628 case 0x27D0:   return "DSPMENUB ";
629 case 0x2814:   return "MAKESVCW ";
630 case 0x2836:   return "DSPMEM   ";
631 case 0x285E:   return "RDCNT    ";
632 case 0x28A2:   return "SETMEM   ";
633 case 0x28C6:   return "RDDTA    ";
634 case 0x2908:   return "CALLRTN  ";
635 case 0x2934:   return "LOOPTST  ";
636 case 0x29C0:   return "MMUTSTE1 ";
637 case 0x29CA:   return "MEMTST3  ";
638 case 0x29DC:   return "LOOPTBL  ";
639 case 0x29F4:   return "VIDAJST  ";
640 case 0x2A26:   return "DRWHORZ  ";
641 case 0x2A40:   return "DRWVERT  ";
642 case 0x2A6C:   return "POWERCYC ";
643 case 0x2A74:   return "INVALID  ";
644 case 0x2A82:   return "LEV2LOOP ";
645 case 0x2A86:   return "INVXIT   ";
646 case 0x2A92:   return "PROMPT   ";
647 case 0x2ABA:   return "RDINPUT  ";
648 case 0x2AC4:   return "READIN   ";
649 case 0x2B08:   return "SCROLL   ";
650 case 0x2B50:   return "PUTLF    ";
651 case 0x2B6C:   return "PUTBS    ";
652 case 0x2B7A:   return "CLRIT    ";
653 case 0x2B86:   return "ENQKBD   ";
654 case 0x2B96:   return "GETCH    ";
655 case 0x2BA4:   return "GETA     ";
656 case 0x2BB2:   return "GETPARM  ";
657 case 0x2BB6:   return "READQ    ";
658 case 0x2BDC:   return "OKCH     ";
659 case 0x2BE8:   return "GETEXIT  ";
660 case 0x2BEE:   return "INVPARM  ";
661 case 0x2BF2:   return "GETXIT2  ";
662 case 0x2BF4:   return "CONVERT  ";
663 case 0x2C0A:   return "DBOXDSPL ";
664 case 0x2C28:   return "CLRDBOX  ";
665 case 0x2C46:   return "GETINPUT ";
666 case 0x2C4E:   return "GET1     ";
667 case 0x2C52:   return "CHKIT    ";
668 //case 0x002CBA:   return "GET2     ";
669 case 0x2CBA:   return "WAIT2    ";
670 case 0x2CBE:   return "CHKIT2   ";
671 case 0x2D0C:   return "GET3     ";
672 case 0x2D0E:   return "WAIT3    ";
673 case 0x2D38:   return "WT4INPUT ";
674 //case 0x2D38:   return "COPS0    ";
675 case 0x2D48:   return "COPS1    ";
676 case 0x2D5C:   return "COPS2    ";
677 case 0x2D9E:   return "COPS4    ";
678 case 0x2DBE:   return "READCOPS ";
679 case 0x2DD8:   return "POWEROFF ";
680 case 0x2E2A:   return "ENBLDRVS ";
681 case 0x2E46:   return "CHKPOSN  ";
682 case 0x2E5A:   return "GETNTRY  ";
683 case 0x2E9C:   return "CHKPXIT  ";
684 case 0x2EA2:   return "CHKINPUT ";
685 case 0x2EAC:   return "RDENTRY  ";
686 case 0x2EC2:   return "INVERT   ";
687 case 0x2F2A:   return "MOUSEMOV ";
688 case 0x2F42:   return "SCALE    ";
689 case 0x2F56:   return "FINE     ";
690 case 0x2F6C:   return "COARSE   ";
691 case 0x2F7C:   return "BOUNDS   ";
692 case 0x2FB2:   return "MOUSINIT ";
693 case 0x2FCC:   return "CURSORIN ";
694 case 0x2FEA:   return "CURSORHI ";
695 case 0x300E:   return "CURSORDI ";
696 case 0x30D6:   return "DRAWDESK ";
697 case 0x30DA:   return "CLRDESK  ";
698 case 0x30EE:   return "GRAY     ";
699 case 0x30F4:   return "GRAY1    ";
700 case 0x3106:   return "BLACKEN  ";
701 case 0x3108:   return "WHITEN   ";
702 case 0x3114:   return "CLRMENU  ";
703 case 0x3128:   return "PAINT_BO ";
704 //case 0x3128:   return "PAINTB1  ";
705 case 0x312E:   return "INVERSE  ";
706 case 0x3132:   return "CONT     ";
707 case 0x3136:   return "PAINTB2  ";
708 case 0x3148:   return "STARTOP  ";
709 case 0x314A:   return "MOVINST  ";
710 case 0x314E:   return "EXCLUSIV ";
711 case 0x3150:   return "COMPARE  ";
712 case 0x3156:   return "NEXTLINE ";
713 case 0x3164:   return "MAKEPCAL ";
714 case 0x3168:   return "MAKEALER ";
715 case 0x3180:   return "MAKETEST ";
716 case 0x31B2:   return "MAKEDBOX ";
717 case 0x31C6:   return "MAKEWIND ";
718 case 0x31E6:   return "MAKEBOX  ";
719 case 0x325A:   return "PAINTV1  ";
720 //case 0x325A:   return "PAINT_V  ";
721 case 0x326A:   return "PAINTBIT ";
722 case 0x327A:   return "MAKEBUTN ";
723 case 0x32F8:   return "DRAWBUTN ";
724 case 0x3342:   return "DRAWSIDE ";
725 case 0x336A:   return "MAKEMENU ";
726 case 0x33B8:   return "WRITETIT ";
727 case 0x3406:   return "GETROWCO ";
728 case 0x3418:   return "GETLENGT ";
729 case 0x3424:   return "DSPRGICO ";
730 case 0x342C:   return "OUTPUT   ";
731 case 0x3432:   return "LOOP0    ";
732 case 0x3438:   return "LOOP1    ";
733 case 0x343A:   return "LOOP2    ";
734 case 0x3450:   return "DSPNUMIC ";
735 case 0x3464:   return "DSPNUM   ";
736 case 0x34DA:   return "DSPERRIC ";
737 case 0x34EC:   return "DSPBAD   ";
738 case 0x34FA:   return "MRGICON  ";
739 case 0x352C:   return "DSPALRTI ";
740 case 0x3556:   return "DSPQICON ";
741 case 0x3574:   return "INVICON  ";
742 case 0x3588:   return "DSPCPU   ";
743 case 0x3592:   return "DSPMBRD  ";
744 case 0x359C:   return "DSPIOB   ";
745 case 0x35A6:   return "DSPXCRD  ";
746 case 0x35AE:   return "DODSPLY  ";
747 case 0x35B6:   return "CHKCPU   ";
748 case 0x35BE:   return "CHKMBRD  ";
749 case 0x35C6:   return "CHKIOBRD ";
750 case 0x35CE:   return "CHKXCRD  ";
751 case 0x35D4:   return "DSPCHECK ";
752 case 0x35E2:   return "DSPICON  ";
753 case 0x35EC:   return "DLOOP    ";
754 case 0x35F2:   return "MLOOP    ";
755 case 0x35FC:   return "BLACK    ";
756 case 0x35FE:   return "CHECK    ";
757 case 0x360A:   return "DONE     ";
758 case 0x361A:   return "XLOOP    ";
759 case 0x3634:   return "DSPSTRIN ";
760 case 0x3686:   return "DSPALL   ";
761 case 0x36A6:   return "DSPGERMN ";
762 case 0x36AA:   return "DSPFRNCH ";
763 case 0x36B0:   return "DSPOUT   ";
764 case 0x36B8:   return "DSPIT    ";
765 case 0x36D2:   return "DSPMSLSH ";
766 case 0x36DA:   return "DSPALRTM ";
767 case 0x36EE:   return "CONVRTD5 ";
768 case 0x36F6:   return "DSPMSGR  ";
769 case 0x3700:   return "DSPMSG   ";
770 case 0x3716:   return "DSPDONE  ";
771 case 0x371A:   return "SETCRSR  ";
772 case 0x371E:   return "SETCRSR2 ";
773 case 0x373A:   return "DSPVAL   ";
774 case 0x37A0:   return "OUT      ";
775 case 0x37B4:   return "DSPVXIT  ";
776 case 0x37BA:   return "SPACE    ";
777 case 0x37C0:   return "FONTTBL  ";
778 case 0x38AA:   return "QUESTCH  ";
779 case 0x38B0:   return "INVCHAR  ";
780 case 0x38B6:   return "APPLICON ";
781 case 0x38BC:   return "ASCIITAB ";
782 case 0x391C:   return "CRSRMASK ";
783 //case 0x391C:   return "CRSRDATA ";
784 case 0x393C:   return "ONE      ";
785 case 0x3941:   return "TWO      ";
786 case 0x3946:   return "THREE    ";
787 case 0x394B:   return "IOBRD    ";
788 case 0x398B:   return "CPUBRD   ";
789 case 0x39CE:   return "MEMBRD   ";
790 case 0x3A14:   return "XCARD    ";
791 case 0x3A3D:   return "WAITICON ";
792 case 0x3A9F:   return "PROICON  ";
793 case 0x3ADA:   return "UPPER    ";
794 case 0x3B1E:   return "DRIVEN   ";
795 case 0x3B56:   return "INSERTD  ";
796 case 0x3BA5:   return "KEYBDOUT ";
797 case 0x3C2B:   return "MOUSEOUT ";
798 case 0x3C65:   return "QUESTION ";
799 case 0x3C88:   return "CHECKMRK ";
800 case 0x3CD6:   return "BADMRK   ";
801 case 0x3D1E:   return "DISKETTE ";
802 case 0x3D54:   return "LISA     ";
803 case 0x3DCE:   return "BRNMSG   ";
804 case 0x3DE0:   return "TIMMSG   ";
805 case 0x3DE9:   return "TWGMSG   ";
806 case 0x3DF4:   return "LOOPMSG  ";
807 case 0x3E03:   return "PMMSG    ";
808 case 0x3E10:   return "TWGFAIL  ";
809 case 0x3E23:   return "TWGRSLT  ";
810 case 0x3E3A:   return "CHKMSG   ";
811 case 0x3E58:   return "RTRYMSG  ";
812 case 0x3E78:   return "CONTMSG  ";
813 case 0x3E98:   return "STRTMSG  ";
814 case 0x3EBD:   return "PERIODS  ";
815 case 0x3EC1:   return "MENUHDG  ";
816 case 0x3EC9:   return "DISPMSG  ";
817 case 0x3ED9:   return "SETMSG   ";
818 case 0x3EE9:   return "CALLMSG  ";
819 case 0x3EF9:   return "LPMSG    ";
820 case 0x3F09:   return "VIDMSG   ";
821 case 0x3F19:   return "CYCLMSG  ";
822 case 0x3F29:   return "QUITMSG  ";
823 case 0x3F39:   return "MENUID   ";
824 case 0x3F40:   return "TSTMENU  ";
825 case 0x3FBB:   return "ADDRMSG  ";
826 case 0x3FC5:   return "DATAMSG  ";
827 case 0x3FCC:   return "CNTMSG   ";
828 case 0x3FD4:   return "TSTMSG   ";
829 case 0x3FDB:   return "WHATMSG  ";
830 case 0x3FF4:   return "HDGMSG   ";
831 case 0x3FFC:   return "VRSN     ";
832 case 0x3FFD:   return "REV      ";
833 case 0x3FFE:   return "LAST     ";
834 default: return NULL;
835 }
836 
837 }
838 
839 
840 
841 /**************************************************************************************\
842 *                                                                                      *
843 *       Macintosh OS Traps - used for debugging.  This list was produced from the      *
844 *       excellent compilation Mac Alamanac II which can be found here:                 *
845 *                  http://www.mac.linux-m68k.org/devel/macalmanac.php                  *
846 *                                                                                      *
847 *  This is a derrived work from the above URL, no copyright is claimed on this file.   *
848 *                                                                                      *
849 \**************************************************************************************/
850 
851 
mac_aline_traps(uint16 opcode)852 char *mac_aline_traps(uint16 opcode)
853 {
854 
855 // Since this isn't used for anything other than debugging, we don't really care about
856 // speed here.
857 
858 switch (opcode)
859 {
860 case 0xA000: return "_Open";
861 case 0xA001: return "_Close";
862 case 0xA002: return "_Read";
863 case 0xA003: return "_Write";
864 case 0xA004: return "_Control";
865 case 0xA005: return "_Status";
866 case 0xA006: return "_KillIO";
867 case 0xA007: return "_GetVolInfo";
868 case 0xA008: return "_Create";
869 case 0xA009: return "_Delete";
870 case 0xA00A: return "_OpenRF";
871 case 0xA00B: return "_Rename";
872 case 0xA00C: return "_GetFileInfo";
873 case 0xA00D: return "_SetFileInfo";
874 case 0xA00E: return "_UnmountVol";
875 case 0xA00F: return "_MountVol";
876 case 0xA010: return "_Allocate";
877 case 0xA011: return "_GetEOF";
878 case 0xA012: return "_SetEOF";
879 case 0xA013: return "_FlushVol";
880 case 0xA014: return "_GetVol";
881 case 0xA015: return "_SetVol";
882 case 0xA016: return "_InitQueue";
883 case 0xA017: return "_Eject";
884 case 0xA018: return "_GetFPos";
885 case 0xA019: return "_InitZone";
886 case 0xA01B: return "_SetZone";
887 case 0xA01C: return "_FreeMem";
888 case 0xA01F: return "_DisposPtr";
889 case 0xA020: return "_SetPtrSize";
890 case 0xA021: return "_GetPtrSize";
891 case 0xA023: return "_DisposHandle";
892 case 0xA024: return "_SetHandleSize";
893 case 0xA025: return "_GetHandleSize";
894 case 0xA027: return "_ReallocHandle";
895 case 0xA029: return "_HLock";
896 case 0xA02A: return "_HUnlock";
897 case 0xA02B: return "_EmptyHandle";
898 case 0xA02C: return "_InitApplZone";
899 case 0xA02D: return "_SetApplLimit";
900 case 0xA02E: return "_BlockMove";
901 case 0xA02F: return "_PostEvent";
902 case 0xA030: return "_OSEventAvail";
903 case 0xA031: return "_GetOSEvent";
904 case 0xA032: return "_FlushEvents";
905 case 0xA033: return "_VInstall";
906 case 0xA034: return "_VRemove";
907 case 0xA035: return "_Offline";
908 case 0xA036: return "_MoreMasters";
909 case 0xA038: return "_WriteParam";
910 case 0xA039: return "_ReadDateTime";
911 case 0xA03A: return "_SetDateTime";
912 case 0xA03B: return "_Delay";
913 case 0xA03C: return "_CmpString";
914 case 0xA03D: return "_DrvrInstall";
915 case 0xA03E: return "_DrvrRemove";
916 case 0xA03F: return "_InitUtil";
917 case 0xA040: return "_ResrvMem";
918 case 0xA041: return "_SetFilLock";
919 case 0xA042: return "_RstFilLock";
920 case 0xA043: return "_SetFilType";
921 case 0xA044: return "_SetFPos";
922 case 0xA045: return "_FlushFile";
923 case 0xA047: return "_SetTrapAddress";
924 case 0xA049: return "_HPurge";
925 case 0xA04A: return "_HNoPurge";
926 case 0xA04B: return "_SetGrowZone";
927 case 0xA04C: return "_CompactMem";
928 case 0xA04D: return "_PurgeMem";
929 case 0xA04E: return "_AddDrive";
930 case 0xA04F: return "_RDrvrInstall";
931 case 0xA050: return "_RelString";
932 case 0xA054: return "_UprString";
933 case 0xA055: return "_StripAddress";
934 case 0xA057: return "_SetAppBase";
935 case 0xA05D: return "_SwapMMUMode";
936 case 0xA061: return "_MaxBlock";
937 case 0xA062: return "_PurgeSpace";
938 case 0xA063: return "_MaxApplZone";
939 case 0xA064: return "_MoveHHi";
940 case 0xA065: return "_StackSpace";
941 case 0xA066: return "_NewEmptyHandle";
942 case 0xA067: return "_HSetRBit";
943 case 0xA068: return "_HClrRBit";
944 case 0xA069: return "_HGetState";
945 case 0xA06A: return "_HSetState";
946 case 0xA06E: return "_SlotManager";
947 case 0xA06F: return "_SlotVInstall";
948 case 0xA070: return "_SlotVRemove";
949 case 0xA071: return "_AttachVBL";
950 case 0xA072: return "_DoVBLTask";
951 case 0xA075: return "_SIntInstall";
952 case 0xA076: return "_SIntRemove";
953 case 0xA077: return "_CountADBs";
954 case 0xA078: return "_GetIndADB";
955 case 0xA079: return "_GetADBInfo";
956 case 0xA07A: return "_SetADBInfo";
957 case 0xA07B: return "_ADBReInit";
958 case 0xA07C: return "_ADBOp";
959 case 0xA07D: return "_GetDefaultStartup";
960 case 0xA07E: return "_SetDefaultStartup";
961 case 0xA07F: return "_InternalWait";
962 case 0xA080: return "_GetVideoDefault";
963 case 0xA081: return "_SetVideoDefault";
964 case 0xA082: return "_DTInstall";
965 case 0xA083: return "_SetOSDefault";
966 case 0xA084: return "_GetOSDefault";
967 case 0xA090: return "_SysEnvirons";
968 case 0xA11A: return "_GetZone";
969 case 0xA11D: return "_MaxMem";
970 case 0xA11E: return "_NewPtr";
971 case 0xA122: return "_NewHandle";
972 case 0xA126: return "_HandleZone";
973 case 0xA128: return "_RecoverHandle";
974 case 0xA12F: return "_PPostEvent";
975 case 0xA146: return "_GetTrapAddress";
976 case 0xA148: return "_PtrZone";
977 case 0xA260: return "_HFSDispatch";
978 case 0xA808: return "_InitProcMenu";
979 case 0xA809: return "_GetCVariant";
980 case 0xA80A: return "_GetWVariant";
981 case 0xA80B: return "_PopUpMenuSelect";
982 case 0xA80C: return "_RGetResource";
983 case 0xA80D: return "_Count1Resources";
984 case 0xA80E: return "_Get1IxResource";
985 case 0xA80F: return "_Get1IxType";
986 case 0xA810: return "_Unique1ID";
987 case 0xA811: return "_TESelView";
988 case 0xA812: return "_TEPinScroll";
989 case 0xA813: return "_TEAutoView";
990 case 0xA815: return "_SCSIDispatch";
991 case 0xA816: return "_Pack8";
992 case 0xA817: return "_CopyMask";
993 case 0xA818: return "_FixAtan2";
994 case 0xA81C: return "_Count1Types";
995 case 0xA81F: return "_Get1Resource";
996 case 0xA820: return "_Get1NamedResource";
997 case 0xA821: return "_MaxSizeRsrc";
998 case 0xA826: return "_InsMenuItem";
999 case 0xA827: return "_HideDItem";
1000 case 0xA828: return "_ShowDItem";
1001 case 0xA82B: return "_Pack9";
1002 case 0xA82C: return "_Pack10";
1003 case 0xA82D: return "_Pack11";
1004 case 0xA82E: return "_Pack12";
1005 case 0xA82F: return "_Pack13";
1006 case 0xA830: return "_Pack14";
1007 case 0xA831: return "_Pack15";
1008 case 0xA834: return "_SetFScaleDisable";
1009 case 0xA835: return "_FontMetrics";
1010 case 0xA837: return "_MeasureText";
1011 case 0xA838: return "_CalcMask";
1012 case 0xA839: return "_SeedFill";
1013 case 0xA83A: return "_ZoomWindow";
1014 case 0xA83B: return "_TrackBox";
1015 case 0xA83C: return "_TEGetOffset";
1016 case 0xA83D: return "_TEDispatch";
1017 case 0xA83E: return "_TEStyleNew";
1018 case 0xA83F: return "_Long2Fix";
1019 case 0xA840: return "_Fix2Long";
1020 case 0xA841: return "_Fix2Frac";
1021 case 0xA842: return "_Frac2Fix";
1022 case 0xA843: return "_Fix2X";
1023 case 0xA844: return "_X2Fix";
1024 case 0xA845: return "_Frac2X";
1025 case 0xA846: return "_X2Frac";
1026 case 0xA847: return "_FracCos";
1027 case 0xA848: return "_FracSin";
1028 case 0xA849: return "_FracSqrt";
1029 case 0xA84A: return "_FracMul";
1030 case 0xA84B: return "_FracDiv";
1031 case 0xA84D: return "_FixDiv";
1032 case 0xA84E: return "_GetItemCmd";
1033 case 0xA84F: return "_SetItemCmd";
1034 case 0xA850: return "_InitCursor";
1035 case 0xA851: return "_SetCursor";
1036 case 0xA852: return "_HideCursor";
1037 case 0xA853: return "_ShowCursor";
1038 case 0xA855: return "_ShieldCursor";
1039 case 0xA856: return "_ObscureCursor";
1040 case 0xA858: return "_BitAnd";
1041 case 0xA859: return "_BitXor";
1042 case 0xA85A: return "_BitNot";
1043 case 0xA85B: return "_BitOr";
1044 case 0xA85C: return "_BitShift";
1045 case 0xA85D: return "_BitTst";
1046 case 0xA85E: return "_BitSet";
1047 case 0xA85F: return "_BitClr";
1048 case 0xA861: return "_Random";
1049 case 0xA862: return "_ForeColor";
1050 case 0xA863: return "_BackColor";
1051 case 0xA864: return "_ColorBit";
1052 case 0xA865: return "_GetPixel";
1053 case 0xA866: return "_StuffHex";
1054 case 0xA867: return "_LongMul";
1055 case 0xA868: return "_FixMul";
1056 case 0xA869: return "_FixRatio";
1057 case 0xA86A: return "_HiWord";
1058 case 0xA86B: return "_LoWord";
1059 case 0xA86C: return "_FixRound";
1060 case 0xA86D: return "_InitPort";
1061 case 0xA86E: return "_InitGraf";
1062 case 0xA86F: return "_OpenPort";
1063 case 0xA870: return "_LocalToGlobal";
1064 case 0xA871: return "_GlobalToLocal";
1065 case 0xA872: return "_GrafDevice";
1066 case 0xA873: return "_SetPort";
1067 case 0xA874: return "_GetPort";
1068 case 0xA875: return "_SetPBits";
1069 case 0xA876: return "_PortSize";
1070 case 0xA877: return "_MovePortTo";
1071 case 0xA878: return "_SetOrigin";
1072 case 0xA879: return "_SetClip";
1073 case 0xA87A: return "_GetClip";
1074 case 0xA87B: return "_ClipRect";
1075 case 0xA87C: return "_BackPat";
1076 case 0xA87D: return "_ClosePort";
1077 case 0xA87E: return "_AddPt";
1078 case 0xA87F: return "_SubPt";
1079 case 0xA880: return "_SetPt";
1080 case 0xA881: return "_EqualPt";
1081 case 0xA882: return "_StdText";
1082 case 0xA883: return "_DrawChar";
1083 case 0xA884: return "_DrawString";
1084 case 0xA885: return "_DrawText";
1085 case 0xA886: return "_TextWidth";
1086 case 0xA887: return "_TextFont";
1087 case 0xA888: return "_TextFace";
1088 case 0xA889: return "_TextMode";
1089 case 0xA88A: return "_TextSize";
1090 case 0xA88B: return "_GetFontInfo";
1091 case 0xA88C: return "_StringWidth";
1092 case 0xA88D: return "_CharWidth";
1093 case 0xA88E: return "_SpaceExtra";
1094 case 0xA890: return "_StdLine";
1095 case 0xA891: return "_LineTo";
1096 case 0xA892: return "_Line";
1097 case 0xA893: return "_MoveTo";
1098 case 0xA894: return "_Move";
1099 case 0xA895: return "_Shutdown";
1100 case 0xA896: return "_HidePen";
1101 case 0xA897: return "_ShowPen";
1102 case 0xA898: return "_GetPenState";
1103 case 0xA899: return "_SetPenState";
1104 case 0xA89A: return "_GetPen";
1105 case 0xA89B: return "_PenSize";
1106 case 0xA89C: return "_PenMode";
1107 case 0xA89D: return "_PenPat";
1108 case 0xA89E: return "_PenNormal";
1109 case 0xA8A0: return "_StdRect";
1110 case 0xA8A1: return "_FrameRect";
1111 case 0xA8A2: return "_PaintRect";
1112 case 0xA8A3: return "_EraseRect";
1113 case 0xA8A4: return "_InverRect";
1114 case 0xA8A5: return "_FillRect";
1115 case 0xA8A6: return "_EqualRect";
1116 case 0xA8A7: return "_SetRect";
1117 case 0xA8A8: return "_OffsetRect";
1118 case 0xA8A9: return "_InsetRect";
1119 case 0xA8AA: return "_SectRect";
1120 case 0xA8AB: return "_UnionRect";
1121 case 0xA8AC: return "_Pt2Rect";
1122 case 0xA8AD: return "_PtInRect";
1123 case 0xA8AE: return "_EmptyRect";
1124 case 0xA8AF: return "_StdRRect";
1125 case 0xA8B1: return "_PaintRoundRect";
1126 case 0xA8B2: return "_EraseRoundRect";
1127 case 0xA8B3: return "_InverRoundRect";
1128 case 0xA8B4: return "_FillRoundRect";
1129 case 0xA8B5: return "_ScriptUtil";
1130 case 0xA8B6: return "_StdOval";
1131 case 0xA8B7: return "_FrameOval";
1132 case 0xA8B8: return "_PaintOval";
1133 case 0xA8B9: return "_EraseOval";
1134 case 0xA8BA: return "_InvertOval";
1135 case 0xA8BB: return "_FillOval";
1136 case 0xA8BC: return "_SlopeFromAngle";
1137 case 0xA8BD: return "_StdArc";
1138 case 0xA8BE: return "_FrameArc";
1139 case 0xA8BF: return "_PaintArc";
1140 case 0xA8C0: return "_EraseArc";
1141 case 0xA8C1: return "_InvertArc";
1142 case 0xA8C2: return "_FillArc";
1143 case 0xA8C3: return "_PtToAngle";
1144 case 0xA8C4: return "_AngleFromSlope";
1145 case 0xA8C5: return "_StdPoly";
1146 case 0xA8C6: return "_FramePoly";
1147 case 0xA8C7: return "_PaintPoly";
1148 case 0xA8C8: return "_ErasePoly";
1149 case 0xA8C9: return "_InvertPoly";
1150 case 0xA8CA: return "_FillPoly";
1151 case 0xA8CB: return "_OpenPoly";
1152 case 0xA8CC: return "_ClosePgon";
1153 case 0xA8CD: return "_KillPoly";
1154 case 0xA8CE: return "_OffsetPoly";
1155 case 0xA8CF: return "_PackBits";
1156 case 0xA8D0: return "_UnpackBits";
1157 case 0xA8D1: return "_StdRgn";
1158 case 0xA8D2: return "_FrameRgn";
1159 case 0xA8D3: return "_PaintRgn";
1160 case 0xA8D4: return "_EraseRgn";
1161 case 0xA8D5: return "_InverRgn";
1162 case 0xA8D6: return "_FillRgn";
1163 case 0xA8D8: return "_NewRgn";
1164 case 0xA8D9: return "_DisposRgn";
1165 case 0xA8DA: return "_OpenRgn";
1166 case 0xA8DB: return "_CloseRgn";
1167 case 0xA8DC: return "_CopyRgn";
1168 case 0xA8DD: return "_SetEmptyRgn";
1169 case 0xA8DE: return "_SetRecRgn";
1170 case 0xA8DF: return "_RectRgn";
1171 case 0xA8E0: return "_OfsetRgn";
1172 case 0xA8E1: return "_InsetRgn";
1173 case 0xA8E2: return "_EmptyRgn";
1174 case 0xA8E3: return "_EqualRgn";
1175 case 0xA8E4: return "_SectRgn";
1176 case 0xA8E5: return "_UnionRgn";
1177 case 0xA8E6: return "_DiffRgn";
1178 case 0xA8E7: return "_XorRgn";
1179 case 0xA8E8: return "_PtInRgn";
1180 case 0xA8E9: return "_RectInRgn";
1181 case 0xA8EA: return "_SetStdProcs";
1182 case 0xA8EB: return "_StdBits";
1183 case 0xA8EC: return "_CopyBits";
1184 case 0xA8ED: return "_StdTxMeas";
1185 case 0xA8EE: return "_StdGetPic";
1186 case 0xA8EF: return "_ScrollRect";
1187 case 0xA8F0: return "_StdPutPic";
1188 case 0xA8F1: return "_StdComment";
1189 case 0xA8F2: return "_PicComment";
1190 case 0xA8F3: return "_OpenPicture";
1191 case 0xA8F4: return "_ClosePicture";
1192 case 0xA8F5: return "_KillPicture";
1193 case 0xA8F6: return "_DrawPicture";
1194 case 0xA8F8: return "_ScalePt";
1195 case 0xA8F9: return "_MapPt";
1196 case 0xA8FA: return "_MapRect";
1197 case 0xA8FB: return "_MapRgn";
1198 case 0xA8FC: return "_MapPoly";
1199 case 0xA8FE: return "_InitFonts";
1200 case 0xA8FF: return "_GetFName";
1201 case 0xA900: return "_GetFNum";
1202 case 0xA901: return "_FMSwapFont";
1203 case 0xA902: return "_RealFont";
1204 case 0xA903: return "_SetFontLock";
1205 case 0xA904: return "_DrawGrowIcon";
1206 case 0xA905: return "_DragGrayRgn";
1207 case 0xA906: return "_NewString";
1208 case 0xA907: return "_SetString";
1209 case 0xA908: return "_ShowHide";
1210 case 0xA909: return "_CalcVis";
1211 case 0xA90A: return "_CalcVBehind";
1212 case 0xA90B: return "_ClipAbove";
1213 case 0xA90C: return "_PaintOne";
1214 case 0xA90D: return "_PaintBehind";
1215 case 0xA90E: return "_SaveOld";
1216 case 0xA90F: return "_DrawNew";
1217 case 0xA910: return "_GetWMgrPort";
1218 case 0xA911: return "_CheckUpdate";
1219 case 0xA912: return "_InitWindows";
1220 case 0xA913: return "_NewWindow";
1221 case 0xA914: return "_DisposWindow";
1222 case 0xA915: return "_ShowWindow";
1223 case 0xA916: return "_HideWindow";
1224 case 0xA917: return "_GetWRefCon";
1225 case 0xA918: return "_SetWRefCon";
1226 case 0xA919: return "_GetWTitle";
1227 case 0xA91A: return "_SetWTitle";
1228 case 0xA91B: return "_MoveWindow";
1229 case 0xA91C: return "_HiliteWindow";
1230 case 0xA91D: return "_SizeWindow";
1231 case 0xA91E: return "_TrackGoAway";
1232 case 0xA91F: return "_SelectWindow";
1233 case 0xA920: return "_BringToFront";
1234 case 0xA921: return "_SendBehind";
1235 case 0xA922: return "_BeginUpdate";
1236 case 0xA923: return "_EndUpdate";
1237 case 0xA924: return "_FrontWindow";
1238 case 0xA925: return "_DragWindow";
1239 case 0xA926: return "_DragTheRgn";
1240 case 0xA927: return "_InvalRgn";
1241 case 0xA928: return "_InvalRect";
1242 case 0xA929: return "_ValidRgn";
1243 case 0xA92A: return "_ValidRect";
1244 case 0xA92B: return "_GrowWindow";
1245 case 0xA92C: return "_FindWindow";
1246 case 0xA92D: return "_CloseWindow";
1247 case 0xA92E: return "_SetWindowPic";
1248 case 0xA92F: return "_GetWindowPic";
1249 case 0xA930: return "_InitMenus";
1250 case 0xA931: return "_NewMenu";
1251 case 0xA932: return "_DisposMenu";
1252 case 0xA933: return "_AppendMenu";
1253 case 0xA934: return "_ClearMenuBar";
1254 case 0xA935: return "_InsertMenu";
1255 case 0xA936: return "_DeleteMenu";
1256 case 0xA937: return "_DrawMenuBar";
1257 case 0xA938: return "_HiliteMenu";
1258 case 0xA939: return "_EnableItem";
1259 case 0xA93A: return "_DisableItem";
1260 case 0xA93B: return "_GetMenuBar";
1261 case 0xA93C: return "_SetMenuBar";
1262 case 0xA93D: return "_MenuSelect";
1263 case 0xA93E: return "_MenuKey";
1264 case 0xA93F: return "_GetItmIcon";
1265 case 0xA940: return "_SetItmIcon";
1266 case 0xA941: return "_GetItmStyle";
1267 case 0xA942: return "_SetItmStyle";
1268 case 0xA943: return "_GetItmMark";
1269 case 0xA944: return "_SetItmMark";
1270 case 0xA945: return "_CheckItem";
1271 case 0xA946: return "_GetItem";
1272 case 0xA947: return "_SetItem";
1273 case 0xA948: return "_CalcMenuSize";
1274 case 0xA949: return "_GetMHandle";
1275 case 0xA94A: return "_SetMFlash";
1276 case 0xA94B: return "_PlotIcon";
1277 case 0xA94C: return "_FlashMenuBar";
1278 case 0xA94D: return "_AddResMenu";
1279 case 0xA94E: return "_PinRect";
1280 case 0xA94F: return "_DeltaPoint";
1281 case 0xA950: return "_CountMItems";
1282 case 0xA951: return "_InsertResMenu";
1283 case 0xA952: return "_DelMenuItem";
1284 case 0xA953: return "_UpdtControl";
1285 case 0xA954: return "_NewControl";
1286 case 0xA955: return "_DisposControl";
1287 case 0xA956: return "_KillControls";
1288 case 0xA957: return "_ShowControl";
1289 case 0xA958: return "_HideControl";
1290 case 0xA959: return "_MoveControl";
1291 case 0xA95A: return "_GetCRefCon";
1292 case 0xA95B: return "_SetCRefCon";
1293 case 0xA95C: return "_SizeControl";
1294 case 0xA95D: return "_HiliteControl";
1295 case 0xA95E: return "_GetCTitle";
1296 case 0xA95F: return "_SetCTitle";
1297 case 0xA960: return "_GetCtlValue";
1298 case 0xA961: return "_GetMinCtl";
1299 case 0xA962: return "_GetMaxCtl";
1300 case 0xA963: return "_SetCtlValue";
1301 case 0xA964: return "_SetMinCtl";
1302 case 0xA965: return "_SetMaxCtl";
1303 case 0xA966: return "_TestControl";
1304 case 0xA967: return "_DragControl";
1305 case 0xA968: return "_TrackControl";
1306 case 0xA969: return "_DrawControls";
1307 case 0xA96A: return "_GetCtlAction";
1308 case 0xA96B: return "_SetCtlAction";
1309 case 0xA96C: return "_FindControl";
1310 case 0xA96D: return "_Draw1Control";
1311 case 0xA96E: return "_Dequeue";
1312 case 0xA96F: return "_Enqueue";
1313 case 0xA970: return "_GetNextEvent";
1314 case 0xA971: return "_EventAvail";
1315 case 0xA972: return "_GetMouse";
1316 case 0xA973: return "_StillDown";
1317 case 0xA974: return "_Button";
1318 case 0xA975: return "_TickCount";
1319 case 0xA976: return "_GetKeys";
1320 case 0xA977: return "_WaitMouseUp";
1321 case 0xA978: return "_UpdtDialog";
1322 case 0xA979: return "_CouldDialog";
1323 case 0xA97A: return "_FreeDialog";
1324 case 0xA97B: return "_InitDialogs";
1325 case 0xA97C: return "_GetNewDialog";
1326 case 0xA97D: return "_NewDialog";
1327 case 0xA97E: return "_SelIText";
1328 case 0xA97F: return "_IsDialogEvent";
1329 case 0xA980: return "_DialogSelect";
1330 case 0xA981: return "_DrawDialog";
1331 case 0xA982: return "_CloseDialog";
1332 case 0xA983: return "_DisposDialog";
1333 case 0xA984: return "_FindDItem";
1334 case 0xA985: return "_Alert";
1335 case 0xA986: return "_StopAlert";
1336 case 0xA987: return "_NoteAlert";
1337 case 0xA988: return "_CautionAlert";
1338 case 0xA989: return "_CouldAlert";
1339 case 0xA98A: return "_FreeAlert";
1340 case 0xA98B: return "_ParamText";
1341 case 0xA98C: return "_ErrorSound";
1342 case 0xA98D: return "_GetDItem";
1343 case 0xA98E: return "_SetDItem";
1344 case 0xA98F: return "_SetIText";
1345 case 0xA990: return "_GetIText";
1346 case 0xA991: return "_ModalDialog";
1347 case 0xA992: return "_DetachResource";
1348 case 0xA993: return "_SetResPurge";
1349 case 0xA994: return "_CurResFile";
1350 case 0xA995: return "_InitResources";
1351 case 0xA996: return "_RsrcZoneInit";
1352 case 0xA997: return "_OpenResFile";
1353 case 0xA998: return "_UseResFile";
1354 case 0xA999: return "_UpdateResFile";
1355 case 0xA99A: return "_CloseResFile";
1356 case 0xA99B: return "_SetResLoad";
1357 case 0xA99C: return "_CountResources";
1358 case 0xA99D: return "_GetIndResource";
1359 case 0xA99E: return "_CountTypes";
1360 case 0xA99F: return "_GetIndType";
1361 case 0xA9A0: return "_GetResource";
1362 case 0xA9A1: return "_GetNamedResource";
1363 case 0xA9A2: return "_LoadResource";
1364 case 0xA9A3: return "_ReleaseResource";
1365 case 0xA9A4: return "_HomeResFile";
1366 case 0xA9A5: return "_SizeRsrc";
1367 case 0xA9A6: return "_GetResAttrs";
1368 case 0xA9A7: return "_SetResAttrs";
1369 case 0xA9A8: return "_GetResInfo";
1370 case 0xA9A9: return "_SetResInfo";
1371 case 0xA9AA: return "_ChangedResource";
1372 case 0xA9AB: return "_AddResource";
1373 case 0xA9AC: return "_AddReference";
1374 case 0xA9AD: return "_RmveResource";
1375 case 0xA9AE: return "_RmveReference";
1376 case 0xA9AF: return "_ResError";
1377 case 0xA9B0: return "_FrameRoundRect/WriteResource";
1378 case 0xA9B1: return "_CreateResFile";
1379 case 0xA9B2: return "_SystemEvent";
1380 case 0xA9B3: return "_SystemClick";
1381 case 0xA9B4: return "_SystemTask";
1382 case 0xA9B5: return "_SystemMenu";
1383 case 0xA9B6: return "_OpenDeskAcc";
1384 case 0xA9B7: return "_CloseDeskAcc";
1385 case 0xA9B8: return "_GetPattern";
1386 case 0xA9B9: return "_GetCursor";
1387 case 0xA9BA: return "_GetString";
1388 case 0xA9BB: return "GetIcon";
1389 case 0xA9BC: return "_GetPicture";
1390 case 0xA9BD: return "_GetNewWindow";
1391 case 0xA9BE: return "_GetNewControl";
1392 case 0xA9BF: return "_GetRMenu";
1393 case 0xA9C0: return "_GetNewMBar";
1394 case 0xA9C1: return "_UniqueID";
1395 case 0xA9C2: return "_SysEdit";
1396 case 0xA9C3: return "_KeyTrans";
1397 case 0xA9C4: return "_OpenRFPerm";
1398 case 0xA9C5: return "_RsrcMapEntry";
1399 case 0xA9C6: return "_Secs2Date";
1400 case 0xA9C7: return "_Date2Sec";
1401 case 0xA9C8: return "_SysBeep";
1402 case 0xA9C9: return "_SysError";
1403 case 0xA9CB: return "_TEGetText";
1404 case 0xA9CC: return "_TEInit";
1405 case 0xA9CD: return "_TEDispose";
1406 case 0xA9CE: return "_TextBox";
1407 case 0xA9CF: return "_TESetText";
1408 case 0xA9D0: return "_TECalText";
1409 case 0xA9D1: return "_TESetSelect";
1410 case 0xA9D2: return "_TENew";
1411 case 0xA9D3: return "_TEUpdate";
1412 case 0xA9D4: return "_TEClick";
1413 case 0xA9D5: return "_TECopy";
1414 case 0xA9D6: return "_TECut";
1415 case 0xA9D7: return "_TEDelete";
1416 case 0xA9D8: return "_TEActivate";
1417 case 0xA9D9: return "_TEDeactivate";
1418 case 0xA9DA: return "_TEIdle";
1419 case 0xA9DB: return "_TEPaste";
1420 case 0xA9DC: return "_TEKey";
1421 case 0xA9DD: return "_TEScroll";
1422 case 0xA9DE: return "_TEInsert";
1423 case 0xA9DF: return "_TESetJust";
1424 case 0xA9E0: return "_Munger";
1425 case 0xA9E1: return "_HandToHand";
1426 case 0xA9E2: return "_PtrToXHand";
1427 case 0xA9E3: return "_PtrToHand";
1428 case 0xA9E4: return "_HandAndHand";
1429 case 0xA9E5: return "_InitPack";
1430 case 0xA9E6: return "_InitAllPacks";
1431 case 0xA9E7: return "_Pack0";
1432 case 0xA9E8: return "_Pack1";
1433 case 0xA9E9: return "_Pack2";
1434 case 0xA9EA: return "_Pack3";
1435 case 0xA9EB: return "_FP68K/Pack4";
1436 case 0xA9EC: return "_Elems68K/Pack5";
1437 case 0xA9ED: return "_Pack6";
1438 case 0xA9EE: return "_Pack7";
1439 case 0xA9EF: return "_PtrAndHand";
1440 case 0xA9F0: return "_LoadSeg";
1441 case 0xA9F1: return "_UnloadSeg";
1442 case 0xA9F2: return "_Launch";
1443 case 0xA9F3: return "_Chain";
1444 case 0xA9F4: return "_ExitToShell";
1445 case 0xA9F5: return "_GetAppParms";
1446 case 0xA9F6: return "_GetResFileAttrs";
1447 case 0xA9F7: return "_SetResFileAttrs";
1448 case 0xA9F9: return "_InfoScrap";
1449 case 0xA9FA: return "_UnlodeScrap";
1450 case 0xA9FB: return "_LodeScrap";
1451 case 0xA9FC: return "_ZeroScrap";
1452 case 0xA9FD: return "_GetScrap";
1453 case 0xA9FE: return "_PutScrap";
1454 case 0xAA00: return "_OpenCport";
1455 case 0xAA01: return "_InitCport";
1456 case 0xAA03: return "_NewPixMap";
1457 case 0xAA04: return "_DisposPixMap";
1458 case 0xAA05: return "_CopyPixMap";
1459 case 0xAA06: return "_SetCPortPix";
1460 case 0xAA07: return "_NewPixPat";
1461 case 0xAA08: return "_DisposPixPat";
1462 case 0xAA09: return "_CopyPixPat";
1463 case 0xAA0A: return "_PenPixPat";
1464 case 0xAA0B: return "_BackPixPat";
1465 case 0xAA0C: return "_GetPixPat";
1466 case 0xAA0D: return "_MakeRGBPat";
1467 case 0xAA0E: return "_FillCRect";
1468 case 0xAA0F: return "_FillCOval";
1469 case 0xAA10: return "_FillCRoundRect";
1470 case 0xAA11: return "_FillCArc";
1471 case 0xAA12: return "_FillCRgn";
1472 case 0xAA13: return "_FillCPoly";
1473 case 0xAA14: return "_RGBForeColor";
1474 case 0xAA15: return "_RGBBackColor";
1475 case 0xAA16: return "_SetCPixel";
1476 case 0xAA17: return "_GetCPixel";
1477 case 0xAA18: return "_GetCTable";
1478 case 0xAA19: return "_GetForeColor";
1479 case 0xAA1A: return "_GetBackColor";
1480 case 0xAA1B: return "_GetCCursor";
1481 case 0xAA1C: return "_SetCCursor";
1482 case 0xAA1D: return "_AllocCursor";
1483 case 0xAA1E: return "_GetCIcon";
1484 case 0xAA1F: return "_PlotCIcon";
1485 case 0xAA21: return "_OpColor";
1486 case 0xAA22: return "_HiliteColor";
1487 case 0xAA23: return "_CharExtra";
1488 case 0xAA24: return "_DisposCTable";
1489 case 0xAA25: return "_DisposCIcon";
1490 case 0xAA26: return "_DisposCCursor";
1491 case 0xAA27: return "_GetMaxDevice";
1492 case 0xAA29: return "_GetDeviceList";
1493 case 0xAA2A: return "_GetMainDevice";
1494 case 0xAA2B: return "_GetNextDevice";
1495 case 0xAA2C: return "_TestDeviceAttribute";
1496 case 0xAA2D: return "_SetDeviceAttribute";
1497 case 0xAA2E: return "_InitGDevice";
1498 case 0xAA2F: return "_NewGDevice";
1499 case 0xAA30: return "_DisposGDevice";
1500 case 0xAA31: return "_SetGDevice";
1501 case 0xAA32: return "_GetGDevice";
1502 case 0xAA33: return "_Color2Index";
1503 case 0xAA34: return "_Index2Color";
1504 case 0xAA35: return "_InvertColor";
1505 case 0xAA36: return "_RealColor";
1506 case 0xAA37: return "_GetSubTable";
1507 case 0xAA39: return "_MakeITable";
1508 case 0xAA3A: return "_AddSearch";
1509 case 0xAA3B: return "_AddComp";
1510 case 0xAA3C: return "_SetClientID";
1511 case 0xAA3D: return "_ProtectEntry";
1512 case 0xAA3E: return "_ReserveEntry";
1513 case 0xAA3F: return "_SetEntries";
1514 case 0xAA40: return "_QDError";
1515 case 0xAA41: return "_SetWinColor";
1516 case 0xAA42: return "_GetAuxWin";
1517 case 0xAA43: return "_SetCtlColor";
1518 case 0xAA44: return "_GetAuxCtl";
1519 case 0xAA45: return "_NewCWindow";
1520 case 0xAA46: return "_GetNewCWindow";
1521 case 0xAA47: return "_SetDeskCPat";
1522 case 0xAA48: return "_GetCWMgrPort";
1523 case 0xAA49: return "_SaveEntries";
1524 case 0xAA4A: return "_RestoreEntries";
1525 case 0xAA4B: return "_NewCDialog";
1526 case 0xAA4C: return "_DelSearch";
1527 case 0xAA4D: return "_DelComp";
1528 case 0xAA4F: return "_CalcCMask";
1529 case 0xAA50: return "_SeedCFill";
1530 case 0xAA60: return "_DelMCEntries";
1531 case 0xAA61: return "_GetMCInfo";
1532 case 0xAA62: return "_SetMCInfo";
1533 case 0xAA63: return "_DispMCEntries";
1534 case 0xAA64: return "_GetMCEntry";
1535 case 0xAA65: return "_SetMCEntries";
1536 case 0xAA66: return "_MenuChoice";
1537 default:     return "Unknown_A-Line-Trap";
1538 }
1539 
1540 }
1541 
1542 
1543 
1544 /**************************************************************************************\
1545 *                                                                                      *
1546 *       Lisa Office System / Workshop Error Codes.                                     *
1547 *                                                                                      *
1548 *       Source: lisafaq                                                                *
1549 \**************************************************************************************/
1550 
1551 #endif
1552 
los_error_code(signed long loserror)1553 char *los_error_code(signed long loserror)
1554 {
1555 
1556 switch (loserror)
1557 {
1558 case -6081:  return "End of exec file input";
1559 case -6004:  return "Attempt to reset text file with typed-file type";
1560 case -6003:  return "Attempt to reset nontext file with text type";
1561 case -1885:  return "ProFile not present during driver initialization";
1562 case -1882:  return "ProFile not present during driver initialization";
1563 case -1176:  return "Data in the object have been altered by Scavenger";
1564 case -1175:  return "File or volume was scavenged";
1565 case -1174:  return "File was left open or volume was left mounted, and system crashed";
1566 case -1173:  return "File was last closed by the OS";
1567 case -1146:  return "Only a portion of the space requested was allocated";
1568 case -1063:  return "Attempt to mount boot volume from another Lisa or not most recent boot volume";
1569 case -1060:  return "Attempt to mount a foreign boot disk following a temporary unmount";
1570 case -1059:  return "The bad block directory of the diskette is almost full or difficult to read";
1571 case -876:  return "(from CLOSE_OBJECT) The file just closed. May be damaged or contain corrupted data because an I/O error occurred when writing a part of the file that was buffered by the file system";
1572 case -696:  return "Printer out of paper during initialization";
1573 case -660:  return "Cable disconnected during ProFile initialization";
1574 case -626:  return "Scavenger indicated data are questionable, but may be OK";
1575 case -622:  return "Parameter memory and the disk copy were both invalid";
1576 case -621:  return "Parameter memory was invalid but the disk copy was valid";
1577 case -620:  return "Parameter memory was valid but the disk copy was invalid";
1578 case -413:  return "Event channel was scavenged";
1579 case -412:  return "Event channel was left open and system crashed";
1580 case -321:  return "Data segment open when the system crashed. Data possibly invalid.";
1581 case -320:  return "Could not determine size of data segment";
1582 case -150:  return "Process was created, but a library used by program has been scavenged and altered";
1583 case -149:  return "Process was created, but the specified program file has been scavenged and altered";
1584 case -125:  return "Specified process is already terminating";
1585 case -120:  return "Specified process is already active";
1586 case -115:  return "Specified process is already suspended";
1587 case 100:  return "Specified process does not exist";
1588 case 101:  return "Specified process is a system process";
1589 case 110:  return "Invalid priority specified (must be l..225)";
1590 case 130:  return "Could not open program file";
1591 case 131:  return "File System error while trying to read program file";
1592 case 132:  return "Invalid program file (incorrect format)";
1593 case 133:  return "Could not get a stack segment for new process";
1594 case 134:  return "Could not get a syslocal segment for new process";
1595 case 135:  return "Could not get sysglobal space for new process";
1596 case 136:  return "Could not set up communication channel for new process";
1597 case 138:  return "Error accessing program file while loading";
1598 case 141:  return "Error accessing a library file while loading program";
1599 case 142:  return "Cannot run protected file on this machine";
1600 case 143:  return "Program uses an intrinsic unit not found in the Intrinsic Library";
1601 case 144:  return "Program uses an intrinsic unit whose name/type does not agree with";
1602 case 145:  return "Program uses a shared segment not found in the Intrinsic Library";
1603 case 146:  return "Program uses a shared segment whose name does not agree with the Intrinsic Library";
1604 case 147:  return "No space in syslocal for program file descriptor during process creation";
1605 case 148:  return "No space in the shared IU data segment for the program's shared IU globals";
1606 case 190:  return "No space in syslocal for program tile description during List_LibFiles operation";
1607 case 191:  return "Could not open program file";
1608 case 192:  return "Error trying to read program file";
1609 case 193:  return "Cannot read protected program file";
1610 case 194:  return "Invalid program file (incorrect format)";
1611 case 195:  return "Program uses a shared segment not found in the Intrinsic Library";
1612 case 196:  return "Program uses a shared segment whose name does not agree with the Intrinsic Library";
1613 case 198:  return "Disk I/O error trying to read the intrinsic unit directory";
1614 case 199:  return "Specified library file number does not exist in the Intrinsic Library";
1615 case 201:  return "No such exception name declared";
1616 case 202:  return "No space left in the system data area for Declare_Excep_Hdl or Signal_Excep";
1617 case 203:  return "Null name specified as exception name";
1618 case 302:  return "Invalid LDSN";
1619 case 303:  return "No data segment hound to the LDSN";
1620 case 304:  return "Data segment already bound to the LDSN";
1621 case 306:  return "Data segment too large";
1622 case 307:  return "Input data segment path name is invalid";
1623 case 308:  return "Data segment already exists";
1624 case 309:  return "Insufficient disk space for data segment";
1625 case 310:  return "An invalid size has been specified";
1626 case 311:  return "Insufficient system resources";
1627 case 312:  return "Unexpected File System error";
1628 case 313:  return "Data segment not found";
1629 case 314:  return "Invalid address passed to Info_Address";
1630 case 315:  return "Insufficient memory for operation";
1631 case 317:  return "Disk error while trying to swap in data segment";
1632 case 401:  return "Invalid event channel name passed to Make_Event_Chn";
1633 case 402:  return "No space left in system global data area for Open_Event_Chn";
1634 case 403:  return "No space left in system local data area for Open_Event_Chn";
1635 case 404:  return "Non-block-structured device specified in pathname";
1636 case 405:  return "Catalog is full in Make_Event_Chn or Open Event_Chn";
1637 case 406:  return "No such event channel exists in Kill_Event_Chn";
1638 case 410:  return "Attempt to open a local event channel to send";
1639 case 411:  return "Attempt to open event channel to receive when event channel has a receiver";
1640 case 413:  return "Unexpected File System error in Open_Event_Chn";
1641 case 416:  return "Cannot get enough disk space for event channel in Open_Event_Chn";
1642 case 417:  return "Unexpected File System error in Close_Event_Chn";
1643 case 420:  return "Attempt to wait on a channel that the calling process did not open";
1644 case 421:  return "Wait_Event_Chn returns empty because sender process could not complete";
1645 case 422:  return "Attempt to call Wait_Event_Chn on an empty event-call channel";
1646 case 423:  return "Cannot find corresponding event channel after being blocked";
1647 case 424:  return "Amount of data returned while reading from event channel not of expected size";
1648 case 425:  return "Event channel empty after being unblocked, Wait_Event_Chn";
1649 case 426:  return "Bad request pointer error returned in Wait_Event_Chn";
1650 case 427:  return "Wait List has illegal length specified";
1651 case 428:  return "Receiver unblocked because last sender closed";
1652 case 429:  return "Unexpected File System error in Wait_Event_Chn";
1653 case 430:  return "Attempt to send to a channel which the calling process does not have open";
1654 case 431:  return "Amount of data transferred while writing to event channel not of expected size";
1655 case 432:  return "Sender unblocked because receiver closed in Send_Event_Chn";
1656 case 433:  return "Unexpected File System error in Send_Event_Chn";
1657 case 440:  return "unexpected File System error in Make_Event_Chn";
1658 case 441:  return "Event channel already exists in Make_Event_Chn";
1659 case 445:  return "Unexpected File System error in Kill_Event_Chn";
1660 case 450:  return "Unexpected File System error in Flush Event_Chn";
1661 case 530:  return "Size of stack expansion request exceeds limit specified for program";
1662 case 531:  return "Cannot perform explicit stack expansion due to lack of memory";
1663 case 532:  return "Insufficient disk space for explicit stack expansion";
1664 case 600:  return "Attempt to perform I/O operation on non I/O request";
1665 case 602:  return "No more alarms available during driver initialization";
1666 case 605:  return "Call to nonconfigured device driver";
1667 case 606:  return "Cannot find sector on floppy diskette (disk unformatted)";
1668 case 608:  return "Illegal length or disk address for transfer";
1669 case 609:  return "Call to nonconfigured device driver";
1670 case 610:  return "No more room in sysglobal for I/O request";
1671 case 613:  return "Unpermitted direct access to spare track with sparing enabled on floppy drive";
1672 case 614:  return "No disk present in drive";
1673 case 615:  return "Wrong call version to floppy drive";
1674 case 616:  return "Unpermitted floppy drive function";
1675 case 617:  return "Checksum error on floppy diskette";
1676 case 618:  return "Cannot format, or write protected, or error unclamping floppy diskette";
1677 case 619:  return "No more room in sysglobal for I/O request";
1678 case 623:  return "Illegal device control parameters to floppy drive";
1679 case 625:  return "Scavenger indicated data are bad";
1680 case 630:  return "The time passed to Delay_Time, Convert_Time, or Send_Event_Chn has invalid year";
1681 case 631:  return "Illegal timeout request parameter";
1682 case 632:  return "No memory available to initialize clock";
1683 case 634:  return "Illegal timed event id of [DEL: 1 :DEL]";
1684 case 635:  return "Process got unblocked prematurely due to process termination";
1685 case 636:  return "Timer request did not complete successfully";
1686 case 638:  return "Time passed to Delay_Time or Send_Event_Chn more than 23 days from current time";
1687 case 639:  return "Illegal date passed to Set_Time, or illegal date from system clock in Get Time";
1688 case 640:  return "RS 232 driver called with wrong version number";
1689 case 641:  return "RS-232 read or write initiated with illegal parameter";
1690 case 642:  return "Unimplemented or unsupported RS-232 driver function";
1691 case 646:  return "No memory available to initialize RS-232";
1692 case 647:  return "Unexpected RS-232 timer interrupt";
1693 case 648:  return "Unpermitted RS-232 initialization, or disconnect detected";
1694 case 649:  return "Illegal device control parameters to RS-232";
1695 case 652:  return "N-port driver not initialized prior to ProFile";
1696 case 653:  return "No room in sysglobal to initialize ProFile";
1697 case 654:  return "Hard error status returned from drive";
1698 case 655:  return "Wrong call version to ProFile";
1699 case 656:  return "Unpermitted ProFile function";
1700 case 657:  return "Illegal device control parameter to ProFile";
1701 case 658:  return "Premature end of file when reading from driver";
1702 case 659:  return "Corrupt File System header chain found in driver";
1703 case 660:  return "Cable disconnected";
1704 case 662:  return "Parity error while sending command or writing data to ProFile";
1705 case 663:  return "Checksum error or CRC error or parity error in data read";
1706 case 666:  return "Timeout";
1707 case 670:  return "Bad command response from drive";
1708 case 671:  return "Illegal length specified (must = 1 on input)";
1709 case 672:  return "Unimplemented console driver function";
1710 case 673:  return "No memory available to initialize console";
1711 case 674:  return "Console driver called with wrong version number";
1712 case 675:  return "Illegal device control";
1713 case 680:  return "Wrong call version to serial driver";
1714 case 682:  return "Unpermitted serial driver function";
1715 case 683:  return "No room in sysglobal to initialize serial driver";
1716 case 685:  return "Eject not allowed for this device";
1717 case 686:  return "No room in sysglobal to initialize n-port card driver";
1718 case 687:  return "Unpermitted n-port card driver function";
1719 case 688:  return "Wrong call version to n-port card driver";
1720 case 690:  return "Wrong call version to parallel printer";
1721 case 691:  return "Illegal parallel printer parameters";
1722 case 692:  return "N-port card not initialized prior to parallel printer";
1723 case 693:  return "No room in sysgloball. to initialize parallel printer";
1724 case 694:  return "Unimplemented parallel printer function";
1725 case 695:  return "Illegal device control parameters (parallel printer)";
1726 case 696:  return "Printer out of paper";
1727 case 698:  return "Printer offline";
1728 case 699:  return "No response from printer";
1729 case 700:  return "Mismatch between loader version number and Operating System version number";
1730 case 701:  return "OS exhausted its internal space during startup";
1731 case 702:  return "Cannot make system process";
1732 case 703:  return "Cannot kill pseudo-outer process";
1733 case 704:  return "Cannot create driver";
1734 case 706:  return "Cannot initialize floppy disk driver";
1735 case 707:  return "Cannot initialize the File System volume";
1736 case 708:  return "Hard disk mount table unreadable";
1737 case 709:  return "Cannot map screen data";
1738 case 710:  return "Too many slot-based devices";
1739 case 724:  return "The boot tracks do not know the right File System version";
1740 case 725:  return "Either damaged File System or damaged contents";
1741 case 726:  return "Boot device read failed";
1742 case 727:  return "The OS will not fit into the available memory";
1743 case 728:  return "SYSTEM.OS is missing";
1744 case 729:  return "SYSTEM.CONFIG is corrupt";
1745 case 730:  return "SYSTEM.OS is corrupt";
1746 case 731:  return "SYSTEM.DEBUG or SYSTEM.DEBUG2 is corrupt";
1747 case 732:  return "SYSTEM.LLD is corrupt";
1748 case 733:  return "Loader range error";
1749 case 734:  return "Wrong driver is found. For instance, storing a diskette loader on a ProFile";
1750 case 735:  return "SYSTEM.LLD is missing";
1751 case 736:  return "SYSTEM.UNPACK is missing";
1752 case 737:  return "Unpack of SYSTEM.OS with SYSTEM.UNPACK failed";
1753 case 791:  return "Configurable Driver (CD) code file not executable";
1754 case 792:  return "Could not get code space for the CD";
1755 case 793:  return "I/O error reading CD code file";
1756 case 794:  return "CD code file not found";
1757 case 795:  return "CD has more than 1 segment";
1758 case 796:  return "Could not get temporary space while loading CD";
1759 case 801:  return "I/O Result <> 0 on I/O using the Monitor";
1760 case 802:  return "Asynchronous I/O request not completed successfully";
1761 case 803:  return "Bad combination of mode parameters";
1762 case 806:  return "Page specified is out of range";
1763 case 809:  return "Invalid arguments (page, address, offset, or count)";
1764 case 810:  return "The requested page could not be read in";
1765 case 816:  return "Not enough sysglobal space for File System buffers";
1766 case 819:  return "Bad device number";
1767 case 820:  return "No space in sysglobal for asynchronous request list";
1768 case 821:  return "Already initialized I/O for this device";
1769 case 822:  return "Bad device number";
1770 case 825:  return "Error in parameter values (Allocate)";
1771 case 826:  return "No more room to allocate pages on device";
1772 case 828:  return "Error in parameter values (Deallocate)";
1773 case 829:  return "Partial deallocation only (ran into unallocated region)";
1774 case 835:  return "Invalid s-file number";
1775 case 837:  return "Unallocated s-file or I/O error";
1776 case 838:  return "Map overflow: s-file too large";
1777 case 839:  return "Attempt to compact file past PEOF";
1778 case 840:  return "The allocation map of this file is truncated";
1779 case 841:  return "Unallocated s-file or I/O error";
1780 case 843:  return "Requested exact fit, but one could not be provided";
1781 case 847:  return "Requested transfer count is <= 0";
1782 case 848:  return "End of file encountered";
1783 case 849:  return "Invalid page or offset value in parameter list";
1784 case 852:  return "Bad unit number";
1785 case 854:  return "No free slots in s-list directory (too many s-files)";
1786 case 855:  return "No available disk space for file hints";
1787 case 856:  return "Device not mounted";
1788 case 857:  return "Empty, locked, or invalid s-file";
1789 case 861:  return "Relative page is beyond PEOF (bad parameter value)";
1790 case 864:  return "No sysglobal space for volume bitmap";
1791 case 866:  return "Wrong FS version or not a valid Lisa FS volume";
1792 case 867:  return "Bad unit number";
1793 case 868:  return "Bad unit number";
1794 case 869:  return "Unit already mounted (mount)/no unit mounted";
1795 case 870:  return "No sysglobal space for DCB or MDDF";
1796 case 871:  return "Parameter not a valid s-file ID";
1797 case 872:  return "No sysglobal space for s-file control block";
1798 case 873:  return "Specified file is already open for private access";
1799 case 874:  return "Device not mounted";
1800 case 875:  return "Invalid s-file ID or s-file control block";
1801 case 879:  return "Attempt to position past LEOF";
1802 case 881:  return "Attempt to read empty file";
1803 case 882:  return "No space on volume for new data page of file";
1804 case 883:  return "Attempt to read past LEOF";
1805 case 884:  return "Not first auto-allocation, but file was empty";
1806 case 885:  return "Could not update filesize hints after a write";
1807 case 886:  return "No syslocal space for I/O request list";
1808 case 887:  return "Catalog pointer does not indicate a catalog (bad parameter)";
1809 case 888:  return "Entry not found in catalog";
1810 case 890:  return "Entry that name already exists";
1811 case 891:  return "Catalog is full or is damaged";
1812 case 892:  return "Illegal name for an entry";
1813 case 894:  return "Entry not round, or catalog is damaged";
1814 case 895:  return "Invalid entry name";
1815 case 896:  return "Safety switch is on-[DEL: cannot kill entry :DEL]";
1816 case 897:  return "Invalid bootdev value";
1817 case 899:  return "Attempt to allocate a pipe";
1818 case 900:  return "Invalid page count or FCB pointer argument";
1819 case 901:  return "Could not satisfy allocation request";
1820 case 921:  return "Pathname invalid or no such device";
1821 case 922:  return "Invalid label size";
1822 case 926:  return "Pathname invalid or no such device";
1823 case 927:  return "Invalid label size";
1824 case 941:  return "Pathname invalid or no such device";
1825 case 944:  return "Object is not a file";
1826 case 945:  return "File is not in the killed state";
1827 case 946:  return "Pathname invalid or no such device";
1828 case 947:  return "Not enough space in syslocal for File System retdb";
1829 case 948:  return "Entry not found in specified catalog";
1830 case 949:  return "Private access not allowed if file already open shared";
1831 case 950:  return "Pipe already in use, requested access not possible or dwrite not allowed";
1832 case 951:  return "File is already opened in private mode";
1833 case 952:  return "Bad refnum";
1834 case 954:  return "Bad refnum";
1835 case 955:  return "Read access not allowed to specified object";
1836 case 956:  return "Attempt to position FMARK past LEOF not allowed";
1837 case 957:  return "Negative request count is illegal";
1838 case 958:  return "Nonsequential access is not allowed";
1839 case 959:  return "System resources exhausted";
1840 case 960:  return "Error writing to pipe while an unsatisfied read was pending";
1841 case 961:  return "Bad refnum";
1842 case 962:  return "No WRITE or APPEND access allowed";
1843 case 963:  return "Attempt to position FMARK too far past LEOF";
1844 case 964:  return "Append access not allowed in absolute mode";
1845 case 965:  return "Append access not allowed in relative mode";
1846 case 966:  return "Internal inconsistency of FMARK and LEOF (warning)";
1847 case 967:  return "Nonsequential access is not allowed";
1848 case 968:  return "Bad refnum";
1849 case 971:  return "Pathname invalid or no such device";
1850 case 972:  return "Entry not found in specified catalog";
1851 case 974:  return "Bad refnum";
1852 case 977:  return "Bad refnum";
1853 case 978:  return "Page count is nonpositive";
1854 case 979:  return "Not a block structured device";
1855 case 981:  return "Bad refnum";
1856 case 982:  return "No space has been allocated for specified file";
1857 case 983:  return "Not a block-structured device";
1858 case 985:  return "Bad refnum";
1859 case 986:  return "No space has been allocated for specified file";
1860 case 987:  return "Not a block-structured device";
1861 case 988:  return "Bad refnum";
1862 case 989:  return "Caller is not a reader of the pipe";
1863 case 990:  return "Not a block-structured device";
1864 case 994:  return "Invalid refnum";
1865 case 995:  return "Not a block-structured device";
1866 case 999:  return "Asynchronous read was unblocked before it was satisfied";
1867 case 1021:  return "Pathname invalid or no such entry";
1868 case 1022:  return "No such entry found";
1869 case 1023:  return "Invalid newname, check for [DEL: ' in string :DEL]";
1870 case 1024:  return "New name already exists in catalog";
1871 case 1031:  return "Pathname invalid or no such entry";
1872 case 1032:  return "Invalid transfer count";
1873 case 1033:  return "No such entry found";
1874 case 1041:  return "Pathname invalid or no such entry";
1875 case 1042:  return "Invalid transfer count";
1876 case 1043:  return "No such entry found";
1877 case 1051:  return "No device or volume by that name";
1878 case 1052:  return "A volume is already mounted on device";
1879 case 1053:  return "Attempt to mount temporarily unmounted hoot volume just unmounted from this Lisa";
1880 case 1054:  return "The had block directory of the diskette is invalid";
1881 case 1061:  return "No device or volume by that name";
1882 case 1062:  return "No volume is mounted on device";
1883 case 1071:  return "Not a valid or mounted volume for working directory";
1884 case 1091:  return "Pathname invalid or no such entry";
1885 case 1092:  return "No such entry found";
1886 case 1101:  return "Invalid device name";
1887 case 1121:  return "Invalid device, not mounted, or catalog is damaged";
1888 case 1122:  return "(from RESET_CATALOG) There is no space available in the process' local data area to allocate the catalog scan buffer";
1889 case 1124:  return "(from GET_NEXT ENTRY) There is no space available in the process' local data area to allocate the catalog scan buffer";
1890 case 1128:  return "Invalid pathname, device, or volume not mounted";
1891 case 1130:  return "File is protected; cannot open due to protection violation";
1892 case 1131:  return "No device or volume by that name";
1893 case 1132:  return "No volume is mounted on that device";
1894 case 1133:  return "No more open files in the file list of that device";
1895 case 1134:  return "Cannot find space in sysglobal for open file list";
1896 case 1135:  return "Cannot find the open file entry to modify";
1897 case 1136:  return "Boot volume not mounted";
1898 case 1137:  return "Boot volume already unmounted";
1899 case 1138:  return "Caller cannot have higher priority than system processes when calling ubd";
1900 case 1141:  return "Boot volume was not unmounted when calling rbd";
1901 case 1142:  return "Some other volume still mounted on the boot device when calling rbd";
1902 case 1143:  return "No sysglobal space for MDDF to do rbd";
1903 case 1144:  return "Attempt to remount volume which is not the temporarily unmounted hoot volume";
1904 case 1145:  return "No sysglobal space for hit map to do rbd";
1905 case 1158:  return "Track-by-track copy buffer is too small";
1906 case 1159:  return "Shutdown requested while boot volume was unmounted";
1907 case 1160:  return "Destination device too small for track-by-track copy";
1908 case 1161:  return "Invalid final shutdown mode";
1909 case 1162:  return "Power is already off";
1910 case 1163:  return "Illegal command";
1911 case 1164:  return "Device is not a diskette device";
1912 case 1165:  return "No volume is mounted on the device";
1913 case 1166:  return "A valid volume is already mounted on the device";
1914 case 1167:  return "Not a block-structured device";
1915 case 1168:  return "Device name is invalid";
1916 case 1169:  return "Could not access device before initialization using default device parameters";
1917 case 1170:  return "Could not mount volume after initialization";
1918 case 1171:  return "'-' is not allowed in a volume name";
1919 case 1172:  return "No space available to initialize a bitmap for the volume";
1920 case 1176:  return "Cannot read from a pipe more than half of its allocated physical size";
1921 case 1177:  return "Cannot cancel a read request for a pipe";
1922 case 1178:  return "Process waiting for pipe data got unblocked because last pipe writer closed it";
1923 case 1180:  return "Cannot write to a pipe more than halt of its allocated physical size";
1924 case 1181:  return "No system space left for request block for pipe";
1925 case 1182:  return "Writer process to a pipe got unblocked before the request was satisfied";
1926 case 1183:  return "Cannot cancel a write request for a pipe";
1927 case 1184:  return "Process waiting for pipe space got unblocked because the reader closed the pipe";
1928 case 1186:  return "Cannot allocate space to a pipe while it has data wrapped around";
1929 case 1188:  return "Cannot compact a pipe while it has data wrapped around";
1930 case 1190:  return "Attempt to access a page that is not allocated to the pipe";
1931 case 1191:  return "Bad parameter";
1932 case 1193:  return "Premature end of file encountered";
1933 case 1196:  return "Something is still open on device-[DEL: cannot unmount :DEL]";
1934 case 1197:  return "Volume is not formatted or cannot be read";
1935 case 1198:  return "Negative request count is illegal";
1936 case 1199:  return "Function or procedure is not yet implemented";
1937 case 1200:  return "Illegal volume parameter";
1938 case 1201:  return "Blank file parameter";
1939 case 1202:  return "Error writing destination file";
1940 case 1203:  return "Invalid UCSD directory";
1941 case 1204:  return "File not found";
1942 case 1210:  return "Boot track program not executable";
1943 case 1211:  return "Boot track program too big";
1944 case 1212:  return "Error reading boot track program";
1945 case 1213:  return "Error writing boot track program";
1946 case 1214:  return "Boot track program file not found";
1947 case 1215:  return "Cannot write boot tracks on that device";
1948 case 1216:  return "Could not create/close internal buffer";
1949 case 1217:  return "Boot track program has too many code segments";
1950 case 1218:  return "Could not find configuration information entry";
1951 case 1219:  return "Could not get enough working space";
1952 case 1220:  return "Premature SOP in boot track program";
1953 case 1221:  return "Position out of range";
1954 case 1222:  return "No device at that position";
1955 case 1225:  return "Scavenger has detected an internal inconsistency symptomatic of a software bug";
1956 case 1226:  return "Invalid device name";
1957 case 1227:  return "Device is not block structured";
1958 case 1228:  return "Illegal attempt to scavenge the boot volume";
1959 case 1229:  return "Cannot read consistently from the volume";
1960 case 1230:  return "Cannot write consistently to the volume";
1961 case 1231:  return "Cannot allocate space (Heap segment)";
1962 case 1232:  return "Cannot allocate space (Map segment)";
1963 case 1233:  return "Cannot allocate space (SFDB segment)";
1964 case 1237:  return "Error rebuilding the volume root directory";
1965 case 1240:  return "Illegal attempt to scavenge a non OS-formatted volume";
1966 case 1295:  return "The allocation map of this file is damaged and cannot be read";
1967 case 1296:  return "Bad string argument has been passed";
1968 case 1297:  return "Entry name for the object is invalid (on the volume)";
1969 case 1298:  return "S-list entry for the object is invalid (on the volume)";
1970 case 1807:  return "No disk in floppy drive";
1971 case 1820:  return "Write-protect error on floppy drive";
1972 case 1822:  return "Unable to clamp floppy drive";
1973 case 1824:  return "Floppy drive write error";
1974 case 1882:  return "Bad response from ProFile";
1975 case 1885:  return "ProFile timeout error";
1976 case 1998:  return "Invalid parameter address";
1977 case 1999:  return "Bad refnum";
1978 case 6001:  return "Attempt to access unopened file";
1979 case 6002:  return "Attempt to reopen a file which is not closed using an open FIB (file info block)";
1980 case 6003:  return "Operation incompatible with access mode";
1981 case 6004:  return "Printer offline";
1982 case 6005:  return "File record type incompatible with character device (must be byte sized)";
1983 case 6006:  return "Bad integer (read)";
1984 case 6010:  return "Operation incompatible with file type or access mode";
1985 case 6081:  return "Premature end of exec file";
1986 case 6082:  return "Invalid exec (temporary) file name";
1987 case 6083:  return "Attempt to set prefix with null name";
1988 case 6090:  return "Attempt to move console with exec or output file open";
1989 case 6101:  return "Bad real (read)";
1990 case 6151:  return "Attempt to reinitialize heap already in use";
1991 case 6152:  return "Bad argument to NEW (negative size)";
1992 case 5153:  return "Insufficient memory for NEW request";
1993 case 6154:  return "Attempt to RELEASE outside of heap";
1994 case 10050:  return "Request block is not chained to a PCB (Unblk_Req)";
1995 case 10051:  return "Bld_Req is called with interrupts off";
1996 case 10100:  return "An error was returned from SetUp_Directory or a Data Segment Routine Setup_IUInfo)";
1997 case 10102:  return "Error > 0 trying to create shell (Root)";
1998 case 10103:  return "Sem_Count > 1 (mit_Sem)";
1999 case 10104:  return "Could not open event channel for shell (Root)";
2000 case 10197:  return "Automatic stack expansion fault occurred in system code (Check_Stack)";
2001 case 10198:  return "Need_Mem set for current process while scheduling is disabled SimpleScheduler)";
2002 case 10199:  return "Attempt to block for reason other than I/O while scheduling is disabled (SimpleScheduler)";
2003 case 10201:  return "Hardware exception occurred while in system code";
2004 case 10202:  return "No space left from Sigl Excep call in Hard_Excep";
2005 case 10203:  return "No space left from Sigl Excep call in Nmi_Excep";
2006 case 10205:  return "Error from Wait_Event_Chn called in Excep_Prolog";
2007 case 10207:  return "No system data space in Excep_Setup";
2008 case 10208:  return "No space left from Sigl Excep call in range error";
2009 case 10212:  return "Error in Term_Def_Hdl from Enable_Excep";
2010 case 10213:  return "Error in Force_Term_Excep, no space in Enq_Ex_Data";
2011 case 10401:  return "Error from Close_Event Chn in Sc Cleanup";
2012 case 10582:  return "Unable to get space in Freeze_Seq";
2013 case 10590:  return "Fatal memory parity error";
2014 case 10593:  return "Unable to move memory manager segment during startup";
2015 case 10594:  return "Unable to swap in a segment during startup";
2016 case 10595:  return "Unable to get space in Extend MMlist";
2017 case 10596:  return "Trying to alter size of segment that is not data or stack (Alt_DS Size)";
2018 case 10597:  return "Trying to allocate space to an allocated segment (Alloc_Mem)";
2019 case 10598:  return "Attempting to allocate a nonfree memory region (Take_Free)";
2020 case 10599:  return "Fatal Disk error trying to read system code into memory";
2021 case 10600:  return "Error attempting to make timer pipe";
2022 case 10601:  return "Error from Kill_Object of an existing timer pipe";
2023 case 10602:  return "Error from second Make Pipe to make timer pipe";
2024 case 10603:  return "Error from Open to open timer pipe";
2025 case 10604:  return "No syslocal space for head of timer list";
2026 case 10605:  return "Error during allocate space for timer pipe, or interrupt from nonconfigured device";
2027 case 10609:  return "Interrupt from nonconfigured device";
2028 case 10610:  return "Error from info about timer pipe";
2029 case 10611:  return "Spurious interrupt from floppy drive #2";
2030 case 10612:  return "Spurious interrupt from floppy drive #1, or no syslocal space for timer list element";
2031 case 10613:  return "Error from Read_Data of timer pipe";
2032 case 10614:  return "Actual returned from Read_Data is not the same as requested from timer pipe";
2033 case 10615:  return "Error from open of the receiver's event channel";
2034 case 10616:  return "Error from Write_Event to the receiver's event channel";
2035 case 10617:  return "Error from Close_Event_Chn on the receiver's pipe";
2036 case 10619:  return "No sysglobal space for timer request block";
2037 case 10624:  return "Attempt to shut down floppy disk controller while drive is still busy";
2038 case 10637:  return "Not enough memory to initialize system timeout drives";
2039 case 10675:  return "Spurious timeout on console driver";
2040 case 10699:  return "Spurious timeout on parallel printer driver";
2041 case 10700:  return "Mismatch between loader version number and Operating System version number";
2042 case 10701:  return "OS exhausted its internal space during startup";
2043 case 10702:  return "Cannot make system process";
2044 case 10703:  return "Cannot kill pseudo-outer process";
2045 case 10704:  return "Cannot create driver";
2046 case 10706:  return "Cannot initialize floppy disk driver";
2047 case 10707:  return "Cannot initialize the File System volume";
2048 case 10708:  return "Hard disk mount table unreadable";
2049 case 10709:  return "Cannot map screen data";
2050 case 10710:  return "Too many slot-based devices";
2051 case 10724:  return "The boot tracks do not know the right File System version";
2052 case 10725:  return "Either damaged File System or damaged contents";
2053 case 10726:  return "Boot device read failed";
2054 case 10727:  return "The OS will not fit into the available memory";
2055 case 10728:  return "SYSTEM.OS is missing";
2056 case 10729:  return "SYSTEM.CONFIG is corrupt";
2057 case 10730:  return "SYSTEM.OS is corrupt";
2058 case 10731:  return "SYSTEM.DEBUG or SYSTEM.DEBUG2 is corrupt";
2059 case 10732:  return "SYSTEM.LLD is corrupt";
2060 case 10733:  return "Loader range error";
2061 case 10734:  return "Wrong driver is found. For instance, storing a diskette loader on a ProFile";
2062 case 10735:  return "SYSTEM.LLD is missing";
2063 case 10736:  return "SYSTEM.UNPACK is missing";
2064 case 10737:  return "Unpack of SYSTEM.OS with SYSTEM.UNPACK failed";
2065 case 10738:  return "Checksum failure or too many hardware config changes (not sure of the text for this error.)";
2066 case 11176:  return "Found a pending write request for a pipe while in Close_Object when it is called by the last writer of the pipe";
2067 case 11177:  return "Found a pending read request for a pipe while in Close Object when it is called by the (only possible) reader of the pipe";
2068 case 11178:  return "Found a pending read request for a pipe while in Read_Data from the pipe";
2069 case 11180:  return "Found a pending write request for a pipe while in Write_Data to the pipe";
2070 case 11807:  return "No disk in floppy drive";
2071 case 11820:  return "Write-protect error on floppy drive";
2072 case 11822:  return "Unable to clamp floppy drive";
2073 case 11824:  return "Floppy drive write error";
2074 case 11882:  return "Bad response from ProFile";
2075 case 11885:  return "ProFile timeout error";
2076 case 11901:  return "Call to Getspace or Relspace with a bad parameter, or free pool is bad";
2077 default:     return "(unknown error)";
2078 }
2079 
2080 }
2081