
Rose-8 on Mac OS 9 - ingve
https://belkadan.com/blog/2020/05/ROSE-8-on-Mac-OS-9/
======
mambodog
The author mentions that they didn't have a debugger and couldn't get MacsBug
to work inside the emulator. A useful technique here is to use the emulator
itself as the debugger: most emulators have features for setting breakpoints
and single stepping through emulation and directly reading memory values from
the emulated system's memory (by absolute memory address). For example, here
is the documentation for 'hardware'-level debugging in the PCE emulator:
[https://github.com/jsdf/pce/blob/pcejs/doc/monitor.txt](https://github.com/jsdf/pce/blob/pcejs/doc/monitor.txt)

One 'nice' thing about working with old architectures like classic Macintosh
is that there is basically no abstraction between the software and the
hardware, so manipulating the behavior of the emulated hardware becomes a
powerful debugging tool.

~~~
saagarjha
MacsBug has a number of interesting features that are a bit above what you'd
normally want from a CPU-level emulator, like setting breakpoints and being
able to use debugging information. (Funnily enough, I'm taking a quick Hacker
News break from implementing ptrace support in a CPU-level emulator, in part
because trying to debug code without it means I need to keep Ghidra open and
single-step code execution from the closest system call…)

~~~
duskwuff
MacsBug also had a ton of MacOS-specific features, like transparent
integration with the 68k emulator, the ability to display symbols for both
application code and the system ROM, and a wide variety of tools for
interacting with the Memory Manager and Resource Manager (including intrusive
operations like compacting or purging memory).

It also had mouse support -- you could click any address on screen to view its
contents and information about the memory region it was in, for instance --
and a menubar. :)

Macsbug won't run in the SheepShaver emulator, as it takes a number of
shortcuts which are incompatible with MacsBug. It works fine under qemu-
system-ppc, though!

------
asveikau
I miss the aesthetic of classic Mac OS.

Screenshots showing the 8/9 look, but system 7.x was pretty good too.

~~~
Palomides
I wish it were possible to still use them for anything useful... I'm slowly
working on a new ssh client for 7/8/9, but there's no way a modern browser
could be ported, and the CPUs would be too weak for the modern web

~~~
asveikau
I have a quadra that I haven't booted in several years, running A/UX. I also
used to own some other old world ppcs. I remember a decade ago or more, ssh
was _very slow_ on them. Hope your client has figured out how to make that not
suck.

I also think it'd be kinda cool to see an X window manager that takes some
hints from classic Mac.

~~~
kitsunesoba
>I also think it'd be kinda cool to see an X window manager that takes some
hints from classic Mac.

A full, lightweight Classic Mac OS clone DE would be amazing, though I suspect
that it might have to cut out X11/Wayland in favor of something more direct to
get the same feeling of snappiness and "one piece construction" that original
Mac OS had.

~~~
asveikau
I disagree with this. Hardware is so crazy good now relative to then, that you
could put layers upon layers of abstraction (including say a 68K mac emulator
compiled to javascript and running inside Firefox on x11) and the old-school
gui tasks of the 90s still purr.

If apple could do it at 25mhz or whatever, a modern amd64 machine should be
able to handle it no matter the overhead of the windowing system.

~~~
mistrial9
great thought, but (!) I have to say from personal experience, you can bring
practically any system, of any horsepower, to a crawl, with overweight
layering and dispatching..

~~~
asveikau
That's true. So, I would say there is an unspoken emphasis in my comment that
you also need to do it "right".

Personally my X setup looks a lot like the 90s, and when people say X performs
so terribly, I really don't see it. The hardware runs circles around what I
used to run X on 20 years ago, and the software setup isn't really very
different. But most people when they use X or think of X are thinking of a
really heavy desktop environment.

------
saagarjha
I couldn't get MacsBug to work in an emulator, but QEMU supports it just fine.
I had different goals, but I think I might have enough about the process for
it to still be useful: [https://saagarjha.com/blog/2020/04/22/debugging-
python-opera...](https://saagarjha.com/blog/2020/04/22/debugging-python-
operator-precedence-with-macsbug#debugging)

------
cbmuser
It would be great if the PowerPC-specific changes to Swift could be upstreamed
so that Switft can be built on Debian's (and other BSD and Linux
distributions) powerpc port.

------
fouc
Impressive! Coding in swift for OS9.

