Hi all,
I've been working on a browser for Mac OS 9 and figured it was time to put it in front of people who'd actually run it. It's called MacSurf.
Site: https://macsurf.org
Source: https://github.com/mplsllc/macsurf
It's a NetSurf fork with a new macos9 frontend. Carbon UI, QuickDraw plotters, Open Transport networking, Duktape for JavaScript. Built with CodeWarrior 8. Target hardware is a PowerPC G3/G4 with 64 MB of RAM.
Where it is right now:
Things are still rough in plenty of places and I'd really value feedback from people running it on real hardware, what sites work, what blows up, what looks wrong. Bug reports and screenshots welcome, here or on GitHub.
Thanks for taking a look.
I've been working on a browser for Mac OS 9 and figured it was time to put it in front of people who'd actually run it. It's called MacSurf.
Site: https://macsurf.org
Source: https://github.com/mplsllc/macsurf
It's a NetSurf fork with a new macos9 frontend. Carbon UI, QuickDraw plotters, Open Transport networking, Duktape for JavaScript. Built with CodeWarrior 8. Target hardware is a PowerPC G3/G4 with 64 MB of RAM.
Where it is right now:
- Full NetSurf fetch → parse → cascade → layout → plot pipeline
- Around 150 CSS properties consumed in layout, including Grid V1, Flex, var(), border-radius, box-shadow, opacity, linear/radial gradients, transforms, text-shadow, and z-index stacking
- libcss with var() resolution; QuickDraw plotters drawing into an offscreen GWorld back-buffer
- Duktape 2.7.0 ES5 — closures, prototypes, regex, JSON, Promise polyfill. ackermann(3,7) runs in about 6 seconds on a 233 MHz G3.
- PNG with alpha plus the other usual formats
- Cooperative-multitasking networking via Open Transport.
- browser/ — the NetSurf fork and the macos9 frontend (C89, CW8)
- proxy/ — a small Go HTTP-to-HTTPS proxy, stdlib only, one binary, no config. The Mac talks plain HTTP to it and it handles TLS to the outside world. Useful if you don't want to deal with TLS on the Mac itself.
- macSSL (sibling repo) — a native TLS 1.2 library for OS 9 on top of BearSSL, with ten embedded root CAs, so the browser can do HTTPS directly without the proxy.
MacSurf.sit and a MacSurf-BuildPack.sit are in builds/ in the repo. There's also a Linux cross-dev workflow in the docs if you'd rather not build inside CodeWarrior. License is GPLv2 (NetSurf derivative, with the OpenSSL linking exception).Things are still rough in plenty of places and I'd really value feedback from people running it on real hardware, what sites work, what blows up, what looks wrong. Bug reports and screenshots welcome, here or on GitHub.
Thanks for taking a look.
