MacsBug Reference and Debugging Guide
The MacsBug Reference and Debugging Guide is Apple Computer, Inc.'s manual for MacsBug 6.2, Apple's low-level assembly-language debugger for 68000-family Macintosh computers. It was published by Apple's Developer Press in 1995 (© 1994, 1990 Apple Computer, Inc.). The text, glossary and index are numbered to p. 385; the PDF has 410 pages, bookmarks and a text layer.[1]
Contents
edit- Preface: About This Manual (xxi)
- 1 MacsBug and Low-Level Debugging (1)
- 2 Getting Started (9): installing MacsBug, including under A/UX; the MacsBug display; invoking MacsBug with the programmer's switch, an 'FKEY' resource or DebugStr; the Debugger Prefs file
- 3 An Assembly-Language Primer (33): 68000 instruction syntax and addressing modes, reading MacsBug's disassembly
- 4 Macintosh Memory Organization (65): the memory map, low-memory globals, memory management under System 7 (32-bit addressing, virtual memory), the heap, the stack, the jump table
- 5 The Macintosh Operating System (119): exceptions, A-traps, patches and glue, interrupts, the Macintosh managers
- 6 Discipline (155): Apple's tool for checking Toolbox calls
- 7 Debugging Strategies (163): before the crash, after the crash, and common problems ("The Deep Freeze", "The Restart Surprise", "Nasty Pointers", "No Room to Maneuver", "Mind-Reading Problems")
- 8 Introduction to MacsBug Commands (181): the command line, macros, dcmds
- 9 MacsBug Commands (207): every command, alphabetically
- Appendices: A Command Summary (325); B Error Messages (333); C Macintosh Error Codes (337); D and E on procedure definitions and how MacsBug installs itself; Glossary; Index (379)
Sad Mac and system error codes
editAppendix C is Apple's own list of Macintosh error codes. It starts with the "Sad Macintosh" codes that the ROM displays when it finds a hardware failure during start-up, in two tables:[1]
- Table C-1 (pp. 337-338) covers the Macintosh Plus, 128K, 512K and 512KE, whose codes are six hexadecimal digits: 01xxxx ROM test failed, 02xxxx to 05xxxx RAM test failures (Apple's labels are "bug subtest", "byte write", "mod3 test" and "add uniqueness"), 0F00xx processor exceptions, and 0F0064 "Couldn't read system file".
- Table C-2 (pp. 338-340) covers all other Macintosh computers, whose codes are two eight-digit hexadecimal numbers. The low word of the first number identifies the test: 0001 ROM, 0002 to 0005 RAM, 0006 VIA1, 0007 VIA2, 0008 ADB, 0009 MMU, 000A NuBus, 000B SCSI chip, 000C IWM, 000D SCC, 000E data bus test, and 000F exceptions, with the exception type in the second number.
The appendix goes on to the System Error Handler (bomb box) alert numbers and the operating system error codes, grouped by manager.[1] The wiki's own decoding of these codes, machine by machine, is at Sad Mac Error Codes.
What the manual does not contain
editIt is a software manual. Apart from the start-up test codes, it has no hardware information: no schematics, part numbers, component values or voltages.
Related pages
edit- Sad Mac Error Codes
- Diagnostic Serial Console
- Programmers Guide to MPW 1990
- Programming For System 7 1991
- Category:Apple Programming Documentation
Download: MacsBug Reference and Debugging Guide.pdf (1.5 MB)