• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

A/UX "launch -b", a note

cheesestraws

Well-known member
There is an infuriating but not totally useless tool to probe the early boot sequence of A/UX provided by the launcher. If you pass the -b option, followed by a virtual address within the kernel, the instruction at that address will be rewritten to be a reset. Thus, if the computer resets, control reached this point - if it does not, it didn't. So, for example, if you wanted to see whether control ever reached 0x58934 (the beginning of initcpu in my kernel here), you'd do

Code:
launch -b 0x58934

The help for this option is, as you'd imagine, extremely terse, and there's a couple of points that might bear elucidating.
  1. By far the easiest way to get the virtual address you want to use is using a disassembler. You can load the kernel you're using as a COFF file and find the address of the instruction you want to catch that way. Don't forget that loading modules and stuff relinks the kernel: so don't be me and do make sure that you have disassembled the kernel you are actually running not a completely different one that happened to be in the same directory. That will not work.

  2. In early boot, down around 0x50000ish, the section dump printed by launch -d will tell you that those are physical addresses. They are, but don't let that put you off - you can still set a reset point using launch -b at those addresses.
 

cy384

Well-known member
Interesting find.

Somewhat tangential, I've been experimenting with using QEMU for debugging ROM changes. You can hook in with gdb and a lot of other powerful functionality. I believe the Q800 emulation in QEMU is good enough to run A/UX. Have you tried it at all? If not, I could put up some quick notes somewhere.
 

zigzagjoe

Well-known member
Yes, qemu works for A/UX decently though I didn't do any intensive testing. I followed the guide here to get it set up. I'm not sure if Mac-specific qemu changes have been integrated into Qemu proper yet - they had not been when I was playing with it.
 

cat7

Member
Yes, qemu works for A/UX decently though I didn't do any intensive testing. I followed the guide here to get it set up. I'm not sure if Mac-specific qemu changes have been integrated into Qemu proper yet - they had not been when I was playing with it.

Mac OS-A/UX support has been added in mainline Qemu. If you compile the qemu-system-m68k target Mac OS 7.1 to 8.1 and A/UX 3.x work.
 
Top