fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
1/*****************************************************************************
2 * pce *
3 *****************************************************************************/
4
5/*****************************************************************************
6 * File name: src/arch/macplus/traps.c *
7 * Created: 2007-11-22 by Hampa Hug <hampa@hampa.ch> *
8 * Copyright: (C) 2007-2013 Hampa Hug <hampa@hampa.ch> *
9 *****************************************************************************/
10
11/*****************************************************************************
12 * This program is free software. You can redistribute it and / or modify it *
13 * under the terms of the GNU General Public License version 2 as published *
14 * by the Free Software Foundation. *
15 * *
16 * This program is distributed in the hope that it will be useful, but *
17 * WITHOUT ANY WARRANTY, without even the implied warranty of *
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
19 * Public License for more details. *
20 *****************************************************************************/
21
22
23#include "main.h"
24#include "traps.h"
25
26#include <stdlib.h>
27
28
29typedef struct {
30 unsigned short trap;
31 const char *name;
32} trap_list_t;
33
34
35static
36trap_list_t trap_list_1[] = {
37 { 0xa000, "Open" },
38 { 0xa001, "Close" },
39 { 0xa002, "Read" },
40 { 0xa003, "Write" },
41 { 0xa004, "Control" },
42 { 0xa005, "Status" },
43 { 0xa006, "KillIO" },
44 { 0xa007, "GetVolInfo" },
45 { 0xa008, "Create" },
46 { 0xa009, "Delete" },
47 { 0xa00a, "OpenRF" },
48 { 0xa00b, "Rename" },
49 { 0xa00c, "GetFileInfo" },
50 { 0xa00d, "SetFileInfo" },
51 { 0xa00e, "UnmountVol" },
52 { 0xa00f, "MountVol" },
53 { 0xa010, "Allocate" },
54 { 0xa011, "GetEOF" },
55 { 0xa012, "SetEOF" },
56 { 0xa013, "FlushVol" },
57 { 0xa014, "GetVol" },
58 { 0xa015, "SetVol" },
59 { 0xa016, "InitQueue" },
60 { 0xa017, "Eject" },
61 { 0xa018, "GetFPos" },
62 { 0xa019, "InitZone" },
63 { 0xa01a, "GetZone" },
64 { 0xa01b, "SetZone" },
65 { 0xa01c, "FreeMem" },
66 { 0xa01d, "MaxMem" },
67 { 0xa01e, "NewPtr" },
68 { 0xa01f, "DisposPtr" },
69 { 0xa020, "SetPtrSize" },
70 { 0xa021, "GetPtrSize" },
71 { 0xa022, "NewHandle" },
72 { 0xa023, "DisposHandle" },
73 { 0xa024, "SetHandleSize" },
74 { 0xa025, "GetHandleSize" },
75 { 0xa026, "HandleZone" },
76 { 0xa027, "ReallocHandle" },
77 { 0xa028, "RecoverHandle" },
78 { 0xa029, "HLock" },
79 { 0xa02a, "HUnlock" },
80 { 0xa02b, "EmptyHandle" },
81 { 0xa02c, "InitApplZone" },
82 { 0xa02d, "SetApplLimit" },
83 { 0xa02e, "BlockMove" },
84 { 0xa02f, "PostEvent" },
85 { 0xa030, "OSEventAvail" },
86 { 0xa031, "GetOSEvent" },
87 { 0xa032, "FlushEvents" },
88 { 0xa033, "VInstall" },
89 { 0xa034, "VRemove" },
90 { 0xa035, "Offline" },
91 { 0xa036, "MoreMasters" },
92 { 0xa038, "WriteParam" },
93 { 0xa039, "ReadDateTime" },
94 { 0xa03a, "SetDateTime" },
95 { 0xa03b, "Delay" },
96 { 0xa03c, "CmpString" },
97 { 0xa03d, "DrvrInstall" },
98 { 0xa03e, "DrvrRemove" },
99 { 0xa03f, "InitUtil" },
100 { 0xa040, "ResrvMem" },
101 { 0xa041, "SetFilLock" },
102 { 0xa042, "RstFilLock" },
103 { 0xa043, "SetFilType" },
104 { 0xa044, "SetFPos" },
105 { 0xa045, "FlushFile" },
106 { 0xa046, "GetTrapAddress" },
107 { 0xa047, "SetTrapAddress" },
108 { 0xa048, "PtrZone" },
109 { 0xa049, "HPurge" },
110 { 0xa04a, "HNoPurge" },
111 { 0xa04b, "SetGrowZone" },
112 { 0xa04c, "CompactMem" },
113 { 0xa04d, "PurgeMem" },
114 { 0xa04e, "AddDrive" },
115 { 0xa04f, "RDrvrInstall" },
116 { 0xa050, "RelString" },
117 { 0xa051, "ReadXPram" },
118 { 0xa052, "WriteXPram" },
119 { 0xa054, "UprString" },
120 { 0xa055, "StripAddress" },
121 { 0xa056, "LowerText" },
122 { 0xa057, "SetAppBase" },
123 { 0xa058, "InsTime" },
124 { 0xa059, "RmvTime" },
125 { 0xa05a, "PrimeTime" },
126 { 0xa05b, "PowerOff" },
127 { 0xa05c, "MemoryDispatch" },
128 { 0xa05d, "SwapMMUMode" },
129 { 0xa05e, "NMInstall" },
130 { 0xa05f, "NMRemove" },
131 { 0xa060, "HFSDispatch" },
132 { 0xa061, "MaxBlock" },
133 { 0xa062, "PurgeSpace" },
134 { 0xa063, "MaxApplZone" },
135 { 0xa064, "MoveHHi" },
136 { 0xa065, "StackSpace" },
137 { 0xa066, "NewEmptyHandle" },
138 { 0xa067, "HSetRBit" },
139 { 0xa068, "HClrRBit" },
140 { 0xa069, "HGetState" },
141 { 0xa06a, "HSetState" },
142 { 0xa06c, "InitFS" },
143 { 0xa06d, "InitEvents" },
144 { 0xa06e, "SlotManager" },
145 { 0xa06f, "SlotVInstall" },
146 { 0xa070, "SlotVRemove" },
147 { 0xa071, "AttachVBL" },
148 { 0xa072, "DoVBLTask" },
149 { 0xa075, "SIntInstall" },
150 { 0xa076, "SIntRemove" },
151 { 0xa077, "CountADBs" },
152 { 0xa078, "GetIndADB" },
153 { 0xa079, "GetADBInfo" },
154 { 0xa07a, "SetADBInfo" },
155 { 0xa07b, "ADBReInit" },
156 { 0xa07c, "ADBOp" },
157 { 0xa07d, "GetDefaultStartup" },
158 { 0xa07e, "SetDefaultStartup" },
159 { 0xa07f, "InternalWait" },
160 { 0xa080, "GetVideoDefault" },
161 { 0xa081, "SetVideoDefault" },
162 { 0xa082, "DTInstall" },
163 { 0xa083, "SetOSDefault" },
164 { 0xa084, "GetOSDefault" },
165 { 0xa085, "PMgrOp" },
166 { 0xa086, "IOPInfoAccess" },
167 { 0xa087, "IOPMsgRequest" },
168 { 0xa088, "IOPMoveData", },
169 { 0xa08a, "Sleep" },
170 { 0xa08b, "CommToolboxDispatch" },
171 { 0xa08d, "DebugUtil" },
172 { 0xa08f, "DeferUserFn" },
173 { 0xa090, "SysEnvirons" },
174 { 0xa091, "Translate24to32" },
175 { 0xa092, "EgretDispatch" },
176 { 0xa098, "HWPriv" },
177 { 0x0000, NULL }
178};
179
180static
181trap_list_t trap_list_2[] = {
182 { 0xa800, "SoundDispatch" },
183 { 0xa801, "SndDisposeChannel" },
184 { 0xa802, "SndAddModifier" },
185 { 0xa803, "SndDoCommand" },
186 { 0xa804, "SndDoImmediate" },
187 { 0xa805, "SndPlay" },
188 { 0xa806, "SndControl" },
189 { 0xa807, "SndNewChannel" },
190 { 0xa808, "InitProcMenu" },
191 { 0xa809, "GetCVariant" },
192 { 0xa80a, "GetWVariant" },
193 { 0xa80b, "PopUpMenuSelect" },
194 { 0xa80c, "RGetResource" },
195 { 0xa80d, "Count1Resources" },
196 { 0xa80e, "Get1IxResource" },
197 { 0xa80f, "Get1IxType" },
198 { 0xa810, "Unique1ID" },
199 { 0xa811, "TESelView" },
200 { 0xa812, "TEPinScroll" },
201 { 0xa813, "TEAutoView" },
202 { 0xa814, "SetFractEnable" },
203 { 0xa815, "SCSIDispatch" },
204 { 0xa816, "Pack8" },
205 { 0xa817, "CopyMask" },
206 { 0xa818, "FixAtan2" },
207 { 0xa819, "XMunger" },
208 { 0xa81a, "HOpenResFile" },
209 { 0xa81b, "HCreateResFile" },
210 { 0xa81c, "Count1Types" },
211 { 0xa81d, "InvalMenuBar" },
212 { 0xa81f, "Get1Resource" },
213 { 0xa820, "Get1NamedResource" },
214 { 0xa821, "MaxSizeRsrc" },
215 { 0xa822, "ResourceDispatch" },
216 { 0xa823, "AliasDispatch" },
217 { 0xa826, "InsMenuItem" },
218 { 0xa827, "HideDItem" },
219 { 0xa828, "ShowDItem" },
220 { 0xa829, "LayerDispatch" },
221 { 0xa82a, "ComponentDispatch" },
222 { 0xa82b, "Pack9" },
223 { 0xa82c, "Pack10" },
224 { 0xa82d, "Pack11" },
225 { 0xa82e, "Pack12" },
226 { 0xa82f, "Pack13" },
227 { 0xa830, "Pack14" },
228 { 0xa831, "Pack15" },
229 { 0xa833, "ScrnBitMap" },
230 { 0xa834, "SetFScaleDisable" },
231 { 0xa835, "FontMetrics" },
232 { 0xa836, "GetMaskTable" },
233 { 0xa837, "MeasureText" },
234 { 0xa838, "CalcMask" },
235 { 0xa839, "SeedFill" },
236 { 0xa83a, "ZoomWindow" },
237 { 0xa83b, "TrackBox" },
238 { 0xa83c, "TEGetOffset" },
239 { 0xa83d, "TEDispatch" },
240 { 0xa83e, "TEStyleNew" },
241 { 0xa83f, "Long2Fix" },
242 { 0xa840, "Fix2Long" },
243 { 0xa841, "Fix2Frac" },
244 { 0xa842, "Frac2Fix" },
245 { 0xa843, "Fix2X" },
246 { 0xa844, "X2Fix" },
247 { 0xa845, "Frac2X" },
248 { 0xa846, "X2Frac" },
249 { 0xa847, "FracCos" },
250 { 0xa848, "FracSin" },
251 { 0xa849, "FracSqrt" },
252 { 0xa84a, "FracMul" },
253 { 0xa84b, "FracDiv" },
254 { 0xa84c, "UserDelay" },
255 { 0xa84d, "FixDiv" },
256 { 0xa84e, "GetItemCmd" },
257 { 0xa84f, "SetItemCmd" },
258 { 0xa850, "InitCursor" },
259 { 0xa851, "SetCursor" },
260 { 0xa852, "HideCursor" },
261 { 0xa853, "ShowCursor" },
262 { 0xa854, "FontDispatch" },
263 { 0xa855, "ShieldCursor" },
264 { 0xa856, "ObscureCursor" },
265 { 0xa858, "BitAnd" },
266 { 0xa859, "BitXor" },
267 { 0xa85a, "BitNot" },
268 { 0xa85b, "BitOr" },
269 { 0xa85c, "BitShift" },
270 { 0xa85d, "BitTst" },
271 { 0xa85e, "BitSet" },
272 { 0xa85f, "BitClr" },
273 { 0xa860, "WaitNextEvent" },
274 { 0xa861, "Random" },
275 { 0xa862, "ForeColor" },
276 { 0xa863, "BackColor" },
277 { 0xa864, "ColorBit" },
278 { 0xa865, "GetPixel" },
279 { 0xa866, "StuffHex" },
280 { 0xa867, "LongMul" },
281 { 0xa868, "FixMul" },
282 { 0xa869, "FixRatio" },
283 { 0xa86a, "HiWord" },
284 { 0xa86b, "LoWord" },
285 { 0xa86c, "FixRound" },
286 { 0xa86d, "InitPort" },
287 { 0xa86e, "InitGraf" },
288 { 0xa86f, "OpenPort" },
289 { 0xa870, "LocalToGlobal" },
290 { 0xa871, "GlobalToLocal" },
291 { 0xa872, "GrafDevice" },
292 { 0xa873, "SetPort" },
293 { 0xa874, "GetPort" },
294 { 0xa875, "SetPBits" },
295 { 0xa876, "PortSize" },
296 { 0xa877, "MovePortTo" },
297 { 0xa878, "SetOrigin" },
298 { 0xa879, "SetClip" },
299 { 0xa87a, "GetClip" },
300 { 0xa87b, "ClipRect" },
301 { 0xa87c, "BackPat" },
302 { 0xa87d, "ClosePort" },
303 { 0xa87d, "CloseCPort" },
304 { 0xa87e, "AddPt" },
305 { 0xa87f, "SubPt" },
306 { 0xa880, "SetPt" },
307 { 0xa881, "EqualPt" },
308 { 0xa882, "StdText" },
309 { 0xa883, "DrawChar" },
310 { 0xa884, "DrawString" },
311 { 0xa885, "DrawText" },
312 { 0xa886, "TextWidth" },
313 { 0xa887, "TextFont" },
314 { 0xa888, "TextFace" },
315 { 0xa889, "TextMode" },
316 { 0xa88a, "TextSize" },
317 { 0xa88b, "GetFontInfo" },
318 { 0xa88c, "StringWidth" },
319 { 0xa88d, "CharWidth" },
320 { 0xa88e, "SpaceExtra" },
321 { 0xa88f, "OSDispatch" },
322 { 0xa890, "StdLine" },
323 { 0xa891, "LineTo" },
324 { 0xa892, "Line" },
325 { 0xa893, "MoveTo" },
326 { 0xa894, "Move" },
327 { 0xa895, "Shutdown" },
328 { 0xa896, "HidePen" },
329 { 0xa897, "ShowPen" },
330 { 0xa898, "GetPenState" },
331 { 0xa899, "SetPenState" },
332 { 0xa89a, "GetPen" },
333 { 0xa89b, "PenSize" },
334 { 0xa89c, "PenMode" },
335 { 0xa89d, "PenPat" },
336 { 0xa89e, "PenNormal" },
337 { 0xa89f, "Unimplemented" },
338 { 0xa8a0, "StdRect" },
339 { 0xa8a1, "FrameRect" },
340 { 0xa8a2, "PaintRect" },
341 { 0xa8a3, "EraseRect" },
342 { 0xa8a4, "InverRect" },
343 { 0xa8a5, "FillRect" },
344 { 0xa8a6, "EqualRect" },
345 { 0xa8a7, "SetRect" },
346 { 0xa8a8, "OffsetRect" },
347 { 0xa8a9, "InsetRect" },
348 { 0xa8aa, "SectRect" },
349 { 0xa8ab, "UnionRect" },
350 { 0xa8ac, "Pt2Rect" },
351 { 0xa8ad, "PtInRect" },
352 { 0xa8ae, "EmptyRect" },
353 { 0xa8af, "StdRRect" },
354 { 0xa8b0, "FrameRoundRect" },
355 { 0xa8b1, "PaintRoundRect" },
356 { 0xa8b2, "EraseRoundRect" },
357 { 0xa8b3, "InverRoundRect" },
358 { 0xa8b4, "FillRoundRect" },
359 { 0xa8b5, "ScriptUtil" },
360 { 0xa8b6, "StdOval" },
361 { 0xa8b7, "FrameOval" },
362 { 0xa8b8, "PaintOval" },
363 { 0xa8b9, "EraseOval" },
364 { 0xa8ba, "InvertOval" },
365 { 0xa8bb, "FillOval" },
366 { 0xa8bc, "SlopeFromAngle" },
367 { 0xa8bd, "StdArc" },
368 { 0xa8be, "FrameArc" },
369 { 0xa8bf, "PaintArc" },
370 { 0xa8c0, "EraseArc" },
371 { 0xa8c1, "InvertArc" },
372 { 0xa8c2, "FillArc" },
373 { 0xa8c3, "PtToAngle" },
374 { 0xa8c4, "AngleFromSlope" },
375 { 0xa8c5, "StdPoly" },
376 { 0xa8c6, "FramePoly" },
377 { 0xa8c7, "PaintPoly" },
378 { 0xa8c8, "ErasePoly" },
379 { 0xa8c9, "InvertPoly" },
380 { 0xa8ca, "FillPoly" },
381 { 0xa8cb, "OpenPoly" },
382 { 0xa8cc, "ClosePgon" },
383 { 0xa8cd, "KillPoly" },
384 { 0xa8ce, "OffsetPoly" },
385 { 0xa8cf, "PackBits" },
386 { 0xa8d0, "UnpackBits" },
387 { 0xa8d1, "StdRgn" },
388 { 0xa8d2, "FrameRgn" },
389 { 0xa8d3, "PaintRgn" },
390 { 0xa8d4, "EraseRgn" },
391 { 0xa8d5, "InverRgn" },
392 { 0xa8d6, "FillRgn" },
393 { 0xa8d7, "BitMapToRegion" },
394 { 0xa8d8, "NewRgn" },
395 { 0xa8d9, "DisposRgn" },
396 { 0xa8da, "OpenRgn" },
397 { 0xa8db, "CloseRgn" },
398 { 0xa8dc, "CopyRgn" },
399 { 0xa8dd, "SetEmptyRgn" },
400 { 0xa8de, "SetRecRgn" },
401 { 0xa8df, "RectRgn" },
402 { 0xa8e0, "OfsetRgn" },
403 { 0xa8e1, "InsetRgn" },
404 { 0xa8e2, "EmptyRgn" },
405 { 0xa8e3, "EqualRgn" },
406 { 0xa8e4, "SectRgn" },
407 { 0xa8e5, "UnionRgn" },
408 { 0xa8e6, "DiffRgn" },
409 { 0xa8e7, "XorRgn" },
410 { 0xa8e8, "PtInRgn" },
411 { 0xa8e9, "RectInRgn" },
412 { 0xa8ea, "SetStdProcs" },
413 { 0xa8eb, "StdBits" },
414 { 0xa8ec, "CopyBits" },
415 { 0xa8ed, "StdTxMeas" },
416 { 0xa8ee, "StdGetPic" },
417 { 0xa8ef, "ScrollRect" },
418 { 0xa8f0, "StdPutPic" },
419 { 0xa8f1, "StdComment" },
420 { 0xa8f2, "PicComment" },
421 { 0xa8f3, "OpenPicture" },
422 { 0xa8f4, "ClosePicture" },
423 { 0xa8f5, "KillPicture" },
424 { 0xa8f6, "DrawPicture" },
425 { 0xa8f7, "Layout" },
426 { 0xa8f8, "ScalePt" },
427 { 0xa8f9, "MapPt" },
428 { 0xa8fa, "MapRect" },
429 { 0xa8fb, "MapRgn" },
430 { 0xa8fc, "MapPoly" },
431 { 0xa8fd, "PrGlue" },
432 { 0xa8fe, "InitFonts" },
433 { 0xa8ff, "GetFName" },
434 { 0xa900, "GetFNum" },
435 { 0xa901, "FMSwapFont" },
436 { 0xa902, "RealFont" },
437 { 0xa903, "SetFontLock" },
438 { 0xa904, "DrawGrowIcon" },
439 { 0xa905, "DragGrayRgn" },
440 { 0xa906, "NewString" },
441 { 0xa907, "SetString" },
442 { 0xa908, "ShowHide" },
443 { 0xa909, "CalcVis" },
444 { 0xa90a, "CalcVBehind" },
445 { 0xa90b, "ClipAbove" },
446 { 0xa90c, "PaintOne" },
447 { 0xa90d, "PaintBehind" },
448 { 0xa90e, "SaveOld" },
449 { 0xa90f, "DrawNew" },
450 { 0xa910, "GetWMgrPort" },
451 { 0xa911, "CheckUpdate" },
452 { 0xa912, "InitWindows" },
453 { 0xa913, "NewWindow" },
454 { 0xa914, "DisposWindow" },
455 { 0xa915, "ShowWindow" },
456 { 0xa916, "HideWindow" },
457 { 0xa917, "GetWRefCon" },
458 { 0xa918, "SetWRefCon" },
459 { 0xa919, "GetWTitle" },
460 { 0xa91a, "SetWTitle" },
461 { 0xa91b, "MoveWindow" },
462 { 0xa91c, "HiliteWindow" },
463 { 0xa91d, "SizeWindow" },
464 { 0xa91e, "TrackGoAway" },
465 { 0xa91f, "SelectWindow" },
466 { 0xa920, "BringToFront" },
467 { 0xa921, "SendBehind" },
468 { 0xa922, "BeginUpdate" },
469 { 0xa923, "EndUpdate" },
470 { 0xa924, "FrontWindow" },
471 { 0xa925, "DragWindow" },
472 { 0xa926, "DragTheRgn" },
473 { 0xa927, "InvalRgn" },
474 { 0xa928, "InvalRect" },
475 { 0xa929, "ValidRgn" },
476 { 0xa92a, "ValidRect" },
477 { 0xa92b, "GrowWindow" },
478 { 0xa92c, "FindWindow" },
479 { 0xa92d, "CloseWindow" },
480 { 0xa92e, "SetWindowPic" },
481 { 0xa92f, "GetWindowPic" },
482 { 0xa930, "InitMenus" },
483 { 0xa931, "NewMenu" },
484 { 0xa932, "DisposMenu" },
485 { 0xa933, "AppendMenu" },
486 { 0xa934, "ClearMenuBar" },
487 { 0xa935, "InsertMenu" },
488 { 0xa936, "DeleteMenu" },
489 { 0xa937, "DrawMenuBar" },
490 { 0xa938, "HiliteMenu" },
491 { 0xa939, "EnableItem" },
492 { 0xa93a, "DisableItem" },
493 { 0xa93b, "GetMenuBar" },
494 { 0xa93c, "SetMenuBar" },
495 { 0xa93d, "MenuSelect" },
496 { 0xa93e, "MenuKey" },
497 { 0xa93f, "GetItmIcon" },
498 { 0xa940, "SetItmIcon" },
499 { 0xa941, "GetItmStyle" },
500 { 0xa942, "SetItmStyle" },
501 { 0xa943, "GetItmMark" },
502 { 0xa944, "SetItmMark" },
503 { 0xa945, "CheckItem" },
504 { 0xa946, "GetItem" },
505 { 0xa947, "SetItem" },
506 { 0xa948, "CalcMenuSize" },
507 { 0xa949, "GetMHandle" },
508 { 0xa94a, "SetMFlash" },
509 { 0xa94b, "PlotIcon" },
510 { 0xa94c, "FlashMenuBar" },
511 { 0xa94d, "AddResMenu" },
512 { 0xa94e, "PinRect" },
513 { 0xa94f, "DeltaPoint" },
514 { 0xa950, "CountMItems" },
515 { 0xa951, "InsertResMenu" },
516 { 0xa952, "DelMenuItem" },
517 { 0xa953, "UpdtControl" },
518 { 0xa954, "NewControl" },
519 { 0xa955, "DisposControl" },
520 { 0xa956, "KillControls" },
521 { 0xa957, "ShowControl" },
522 { 0xa958, "HideControl" },
523 { 0xa959, "MoveControl" },
524 { 0xa95a, "GetCRefCon" },
525 { 0xa95b, "SetCRefCon" },
526 { 0xa95c, "SizeControl" },
527 { 0xa95d, "HiliteControl" },
528 { 0xa95e, "GetCTitle" },
529 { 0xa95f, "SetCTitle" },
530 { 0xa960, "GetCtlValue" },
531 { 0xa961, "GetMinCtl" },
532 { 0xa962, "GetMaxCtl" },
533 { 0xa963, "SetCtlValue" },
534 { 0xa964, "SetMinCtl" },
535 { 0xa965, "SetMaxCtl" },
536 { 0xa966, "TestControl" },
537 { 0xa967, "DragControl" },
538 { 0xa968, "TrackControl" },
539 { 0xa969, "DrawControls" },
540 { 0xa96a, "GetCtlAction" },
541 { 0xa96b, "SetCtlAction" },
542 { 0xa96c, "FindControl" },
543 { 0xa96d, "Draw1Control" },
544 { 0xa96e, "Dequeue" },
545 { 0xa96f, "Enqueue" },
546 { 0xa970, "GetNextEvent" },
547 { 0xa971, "EventAvail" },
548 { 0xa972, "GetMouse" },
549 { 0xa973, "StillDown" },
550 { 0xa974, "Button" },
551 { 0xa975, "TickCount" },
552 { 0xa976, "GetKeys" },
553 { 0xa977, "WaitMouseUp" },
554 { 0xa978, "UpdtDialog" },
555 { 0xa979, "CouldDialog" },
556 { 0xa97a, "FreeDialog" },
557 { 0xa97b, "InitDialogs" },
558 { 0xa97c, "GetNewDialog" },
559 { 0xa97d, "NewDialog" },
560 { 0xa97e, "SelIText" },
561 { 0xa97f, "IsDialogEvent" },
562 { 0xa980, "DialogSelect" },
563 { 0xa981, "DrawDialog" },
564 { 0xa982, "CloseDialog" },
565 { 0xa983, "DisposDialog" },
566 { 0xa984, "FindDItem" },
567 { 0xa985, "Alert" },
568 { 0xa986, "StopAlert" },
569 { 0xa987, "NoteAlert" },
570 { 0xa988, "CautionAlert" },
571 { 0xa989, "CouldAlert" },
572 { 0xa98a, "FreeAlert" },
573 { 0xa98b, "ParamText" },
574 { 0xa98c, "ErrorSound" },
575 { 0xa98d, "GetDItem" },
576 { 0xa98e, "SetDItem" },
577 { 0xa98f, "SetIText" },
578 { 0xa990, "GetIText" },
579 { 0xa991, "ModalDialog" },
580 { 0xa992, "DetachResource" },
581 { 0xa993, "SetResPurge" },
582 { 0xa994, "CurResFile" },
583 { 0xa995, "InitResources" },
584 { 0xa996, "RsrcZoneInit" },
585 { 0xa997, "OpenResFile" },
586 { 0xa998, "UseResFile" },
587 { 0xa999, "UpdateResFile" },
588 { 0xa99a, "CloseResFile" },
589 { 0xa99b, "SetResLoad" },
590 { 0xa99c, "CountResources" },
591 { 0xa99d, "GetIndResource" },
592 { 0xa99e, "CountTypes" },
593 { 0xa99f, "GetIndType" },
594 { 0xa9a0, "GetResource" },
595 { 0xa9a1, "GetNamedResource" },
596 { 0xa9a2, "LoadResource" },
597 { 0xa9a3, "ReleaseResource" },
598 { 0xa9a4, "HomeResFile" },
599 { 0xa9a5, "SizeRsrc" },
600 { 0xa9a6, "GetResAttrs" },
601 { 0xa9a7, "SetResAttrs" },
602 { 0xa9a8, "GetResInfo" },
603 { 0xa9a9, "SetResInfo" },
604 { 0xa9aa, "ChangedResource" },
605 { 0xa9ab, "AddResource" },
606 { 0xa9ac, "AddReference" },
607 { 0xa9ad, "RmveResource" },
608 { 0xa9ae, "RmveReference" },
609 { 0xa9af, "ResError" },
610 { 0xa9b0, "WriteResource" },
611 { 0xa9b1, "CreateResFile" },
612 { 0xa9b2, "SystemEvent" },
613 { 0xa9b3, "SystemClick" },
614 { 0xa9b4, "SystemTask" },
615 { 0xa9b5, "SystemMenu" },
616 { 0xa9b6, "OpenDeskAcc" },
617 { 0xa9b7, "CloseDeskAcc" },
618 { 0xa9b8, "GetPattern" },
619 { 0xa9b9, "GetCursor" },
620 { 0xa9ba, "GetString" },
621 { 0xa9bb, "GetIcon" },
622 { 0xa9bc, "GetPicture" },
623 { 0xa9bd, "GetNewWindow" },
624 { 0xa9be, "GetNewControl" },
625 { 0xa9bf, "GetRMenu" },
626 { 0xa9c0, "GetNewMBar" },
627 { 0xa9c1, "UniqueID" },
628 { 0xa9c2, "SysEdit" },
629 { 0xa9c3, "KeyTrans" },
630 { 0xa9c4, "OpenRFPerm" },
631 { 0xa9c5, "RsrcMapEntry" },
632 { 0xa9c6, "Secs2Date" },
633 { 0xa9c7, "Date2Sec" },
634 { 0xa9c8, "SysBeep" },
635 { 0xa9c9, "SysError" },
636 { 0xa9ca, "PutIcon" },
637 { 0xa9cb, "TEGetText" },
638 { 0xa9cc, "TEInit" },
639 { 0xa9cd, "TEDispose" },
640 { 0xa9ce, "TextBox" },
641 { 0xa9cf, "TESetText" },
642 { 0xa9d0, "TECalText" },
643 { 0xa9d1, "TESetSelect" },
644 { 0xa9d2, "TENew" },
645 { 0xa9d3, "TEUpdate" },
646 { 0xa9d4, "TEClick" },
647 { 0xa9d5, "TECopy" },
648 { 0xa9d6, "TECut" },
649 { 0xa9d7, "TEDelete" },
650 { 0xa9d8, "TEActivate" },
651 { 0xa9d9, "TEDeactivate" },
652 { 0xa9da, "TEIdle" },
653 { 0xa9db, "TEPaste" },
654 { 0xa9dc, "TEKey" },
655 { 0xa9dd, "TEScroll" },
656 { 0xa9de, "TEInsert" },
657 { 0xa9df, "TESetJust" },
658 { 0xa9e0, "Munger" },
659 { 0xa9e1, "HandToHand" },
660 { 0xa9e2, "PtrToXHand" },
661 { 0xa9e3, "PtrToHand" },
662 { 0xa9e4, "HandAndHand" },
663 { 0xa9e5, "InitPack" },
664 { 0xa9e6, "InitAllPacks" },
665 { 0xa9e7, "Pack0" },
666 { 0xa9e8, "Pack1" },
667 { 0xa9e9, "Pack2" },
668 { 0xa9ea, "Pack3" },
669 { 0xa9eb, "FP68K" },
670 { 0xa9eb, "Pack4" },
671 { 0xa9ec, "Elems68K" },
672 { 0xa9ec, "Pack5" },
673 { 0xa9ed, "Pack6" },
674 { 0xa9ee, "Pack7" },
675 { 0xa9ef, "PtrAndHand" },
676 { 0xa9f0, "LoadSeg" },
677 { 0xa9f1, "UnloadSeg" },
678 { 0xa9f2, "Launch" },
679 { 0xa9f3, "Chain" },
680 { 0xa9f4, "ExitToShell" },
681 { 0xa9f5, "GetAppParms" },
682 { 0xa9f6, "GetResFileAttrs" },
683 { 0xa9f7, "SetResFileAttrs" },
684 { 0xa9f8, "MethodDispatch" },
685 { 0xa9f9, "InfoScrap" },
686 { 0xa9fa, "UnlodeScrap" },
687 { 0xa9fb, "LodeScrap" },
688 { 0xa9fc, "ZeroScrap" },
689 { 0xa9fd, "GetScrap" },
690 { 0xa9fe, "PutScrap" },
691 { 0xa9ff, "Debugger" },
692 { 0xaa00, "OpenCport" },
693 { 0xaa01, "InitCport" },
694 { 0xaa03, "NewPixMap" },
695 { 0xaa04, "DisposPixMap" },
696 { 0xaa05, "CopyPixMap" },
697 { 0xaa06, "SetCPortPix" },
698 { 0xaa07, "NewPixPat" },
699 { 0xaa08, "DisposPixPat" },
700 { 0xaa09, "CopyPixPat" },
701 { 0xaa0a, "PenPixPat" },
702 { 0xaa0b, "BackPixPat" },
703 { 0xaa0c, "GetPixPat" },
704 { 0xaa0d, "MakeRGBPat" },
705 { 0xaa0e, "FillCRect" },
706 { 0xaa0f, "FillCOval" },
707 { 0xaa10, "FillCRoundRect" },
708 { 0xaa11, "FillCArc" },
709 { 0xaa12, "FillCRgn" },
710 { 0xaa13, "FillCPoly" },
711 { 0xaa14, "RGBForeColor" },
712 { 0xaa15, "RGBBackColor" },
713 { 0xaa16, "SetCPixel" },
714 { 0xaa17, "GetCPixel" },
715 { 0xaa18, "GetCTable" },
716 { 0xaa19, "GetForeColor" },
717 { 0xaa1a, "GetBackColor" },
718 { 0xaa1b, "GetCCursor" },
719 { 0xaa1c, "SetCCursor" },
720 { 0xaa1d, "AllocCursor" },
721 { 0xaa1e, "GetCIcon" },
722 { 0xaa1f, "PlotCIcon" },
723 { 0xaa21, "OpColor" },
724 { 0xaa22, "HiliteColor" },
725 { 0xaa23, "CharExtra" },
726 { 0xaa24, "DisposCTable" },
727 { 0xaa25, "DisposCIcon" },
728 { 0xaa26, "DisposCCursor" },
729 { 0xaa27, "GetMaxDevice" },
730 { 0xaa28, "GetCTSeed" },
731 { 0xaa29, "GetDeviceList" },
732 { 0xaa2a, "GetMainDevice" },
733 { 0xaa2b, "GetNextDevice" },
734 { 0xaa2c, "TestDeviceAttribute" },
735 { 0xaa2d, "SetDeviceAttribute" },
736 { 0xaa2e, "InitGDevice" },
737 { 0xaa2f, "NewGDevice" },
738 { 0xaa30, "DisposGDevice" },
739 { 0xaa31, "SetGDevice" },
740 { 0xaa32, "GetGDevice" },
741 { 0xaa33, "Color2Index" },
742 { 0xaa34, "Index2Color" },
743 { 0xaa35, "InvertColor" },
744 { 0xaa36, "RealColor" },
745 { 0xaa37, "GetSubTable" },
746 { 0xaa38, "UpdatePixMap" },
747 { 0xaa39, "MakeITable" },
748 { 0xaa3a, "AddSearch" },
749 { 0xaa3b, "AddComp" },
750 { 0xaa3c, "SetClientID" },
751 { 0xaa3d, "ProtectEntry" },
752 { 0xaa3e, "ReserveEntry" },
753 { 0xaa3f, "SetEntries" },
754 { 0xaa40, "QDError" },
755 { 0xaa41, "SetWinColor" },
756 { 0xaa42, "GetAuxWin" },
757 { 0xaa43, "SetCtlColor" },
758 { 0xaa44, "GetAuxCtl" },
759 { 0xaa45, "NewCWindow" },
760 { 0xaa46, "GetNewCWindow" },
761 { 0xaa47, "SetDeskCPat" },
762 { 0xaa48, "GetCWMgrPort" },
763 { 0xaa49, "SaveEntries" },
764 { 0xaa4a, "RestoreEntries" },
765 { 0xaa4b, "NewCDialog" },
766 { 0xaa4c, "DelSearch" },
767 { 0xaa4d, "DelComp" },
768 { 0xaa4e, "SetStdCProcs" },
769 { 0xaa4f, "CalcCMask" },
770 { 0xaa50, "SeedCFill" },
771 { 0xaa51, "CopyDeepMask" },
772 { 0xaa52, "HighLevelFSDispatch" },
773 { 0xaa60, "DelMCEntries" },
774 { 0xaa61, "GetMCInfo" },
775 { 0xaa62, "SetMCInfo" },
776 { 0xaa63, "DispMCEntries" },
777 { 0xaa64, "GetMCEntry" },
778 { 0xaa65, "SetMCEntries" },
779 { 0xaa66, "MenuChoice" },
780 { 0xaa67, "ModalDialogMenuSetup" },
781 { 0xaa68, "DialogDispatch" },
782 { 0x0000, NULL }
783};
784
785
786const char *mac_get_trap_name (unsigned trap)
787{
788 unsigned i;
789 unsigned base, mask;
790 trap_list_t *list;
791
792 if ((trap & 0xf000) != 0xa000) {
793 return (NULL);
794 }
795
796 if (trap & 0x0800) {
797 mask = 0xf800 | 0x03ff;
798 list = trap_list_2;
799 }
800 else {
801 mask = 0xf800 | 0x00ff;
802 list = trap_list_1;
803 }
804
805 base = trap & mask;
806
807 i = 0;
808 while (list[i].name != NULL) {
809 if ((list[i].trap & mask) == base) {
810 return (list[i].name);
811 }
812
813 i += 1;
814 }
815
816 return (NULL);
817}