Elektrine lite

← Feed

@halcyon@bitbang.social

2026-02-17 23:31 UTC

Hi there @csilverman @root42 👋 In brief, the approach is: 1. Load the code and resources from the original module 2. Execute the original 68k module code using https://github.com/kstenerud/Musashi (Thank you kstenerud!) 3. Add handling for unhandled traps to draw to a Metal view, reimplementing the behaviors of QuickDraw one at a time (setting pixels, drawing rects, sprites, etc) Huge thanks to the M.A.C.E project for demonstrating this approach might be viable.

Replies (3)

  • @whophd@ioc.exchange 2026-02-18 00:39

    @halcyon @csilverman @root42 Impressed, grateful, etc!! The ultimate test case: Star Trek screensavers

    Open ##1648567

  • @csilverman@mastodon.social 2026-02-18 01:18

    @halcyon @root42 That's fascinating. Hadn't occurred to me that you could trace the operation of a classic Mac OS app by watching what illegal instructions it calls, but based on my admittedly slim understanding of how the APIs behind 68K Mac OS worked, it makes a lot of sense. Thank you. Very much looking forward to seeing this in the world. I've been missing After Dark for nearly 20 years at this point.

    Open ##1648574

  • @gparker@discuss.systems 2026-02-18 01:58

    @halcyon @csilverman @root42 Nice. I have a similar strategy running as an unpublished side project that I have poked at occasionally for many years. (No Metal, it's OpenGL, that's how old it is!) Be warned that you'll need increasing amounts of classic Mac OS re-implementation as you add more modules. You may find the open-sourced code of ARDI Executor useful as a reference for what one reverse-engineer determined that Mac OS did: https://github.com/ctm/executor

    Open ##1648577