![]() My main takeaway is that it feels more sluggish than System 7 or Mac OS 8. After that it was a matter of hooking up each subsytem to the existing implementations that bridged to the JavaScript/browser world. The initial bringup and integration involved similar autoconf tweaks and #define changes to get the Emscripten build on the right code path. Luckily, it shares a lot of code and architectural decisions with Basilisk II (not surprising, since they were both created by Christian Bauer). This involved porting SheepShaver to WebAssembly/Emscripten. SheepShaver and Mac OS 9With things on a more maintainable path, I decided to tackle a bigger project: PowerPC support (which would allow Mac OS 8.5 and later to run). ![]() This reduced the friction when tracking down behavioral differences between the native and web-based versions: I can instrument or modify shared code and then run it in both builds to see how it differs. Most Basilisk II development is happening in the kanjitalk755’s fork, and I switched to building on top of that.įinally, I made it easier to do native (macOS) builds of Basilisk II (and SheepShaver) from the same repo. That cleaner separation, combined with changes to reduce diffs with the upstream, made it possible to rebase the repo on a more recent version of Basilisk II - I had still been basing my work on James Friend’s initial Emscripten port, which was a snapshot as of 2017. I moved all of the browser-specific audio, video, clipboard and other subsystem implementations into their own modules, instead of adding lots of branching to existing ones. This included small changes like setting up auto-formatting and bigger ones around code organization. Foundationsīefitting a long-term endeavor, I invested some time into maintainability. With that in mind, here's where things stand at the end of the year - there have been quite a few changes since my last post on the project. There's always something to work on, whether it's expanding the library, improving compatibility, adding more platforms, improving performance, debugging data structures, bridging APIs from 30 years ago with modern web platform features, or fighting with frontend tooling. I've come to think of Infinite Mac as my forever project.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |