Classic Mac OS debugging output: Difference between revisions

From Computers Wiki
Jump to navigationJump to search
(→‎Bitflags: Explain 3103FFF)
Line 37: Line 37:
40000000 = Halt after end of FCode (useful if outputting to screen).
40000000 = Halt after end of FCode (useful if outputting to screen).
</pre>
</pre>

Adding all the bitflags together that enable logging (anything with an asterisk) gives 3013FFF.


== Notes ==
== Notes ==

Revision as of 04:51, 26 September 2025

You can make the Classic Mac OS dump a bunch of debugging output to Open Firmware during boot and sometimes the screen after boot.

To do this, open Open Firmware during boot with Command-Option-O-F and enter dev / 3013FFF encode-int " AAPL,debug" property. Then, boot with mac-boot.

If you want a log of this output, you should hook your machine up to the local network, then run this, replacing the IP address with whatever is available for the machine to use:

dev /packages/telnet
" enet:telnet,192.168.18.10" io

Then connect to your machine via Telnet before booting.

Bitflags

From the beginning of the debugging output:

AAPL,debug bit settings (-OR- bits together):
       1 * = Print general informative messages.
       2 * = Print formatted Mac OS tables (except config/universal info).
       4 * = Print formatted config info table.
       8 * = Dump Mac OS tables (except config/universal info).
      10 * = Print node names while copying the device tree.
      20 * = Print property info while copying the device tree.
      40 * = Print interrupt-related info.
      80 * = Print interrupt tree traversal info.
     100 * = Print address resolution info.
     200 * = Print NV-RAM info.
     400 * = Print Mac OS "universal" info.
     800 * = Print "special" node info.
    1000 * = Load EtherPrintf utility via parcel for post FCode debugging.
    2000 * = Print BOOTP/DHCP/BSDP information.
    4000   = Allocate writable ROM aperture.
    8000   = Mark Toolbox image as non-cacheable.
   10000 * = Print parcel info while copying the device tree.
   20000   = Print information on device tree data checksums.
 1000000 * = Enable the Nanokernel debugger.
 2000000 * = Display the Nanokernel log during boot.
10000000   = Dont attempt to unhibernate system.
40000000   = Halt after end of FCode (useful if outputting to screen).

Adding all the bitflags together that enable logging (anything with an asterisk) gives 3013FFF.

Notes

  • This does not work on a tray-loading iMac G3 because /packages/telnet does not exist.
  • The screen will become blank after connecting from the client machine. The screen will come back to life once booting begins.