| Click here to select a new forum. |
| Yet another emulator - Granny Smith |
Posted by: PappaDF on 2026-02-15 06:56:07 The world doesn't need yet another Macintosh emulator, but we all need a hobby, right? If anyone is interested, I've just released my small hobby project on GitHub - an embryo of a browser-first Macintosh emulator called "Granny Smith". You can try it out live here:
https://pappadf.github.io/gs-pages/latest
I strongly recommend using a Chromium-based browser for now - I've noticed some mouse movement issues in Safari.
It's extremely simple by design: the CPU instruction decoder is under 550 lines, and all opcode implementations total less than 1,000 lines. It's not at all cycle-accurate, just approximate, but accurate enough to pass the MacTest motherboard and floppy hardware tests without errors.
- Background checkpointing that stores state in IndexedDB, so you can reload the browser without losing your session
- Full checkpoint download/restore via drag-and-drop
- Mount compressed disk images (e.g., *.sit.hqx) directly through drag-and-drop
- Built-in AFP file server (work in progress) for accessing browser-side files from the emulated Mac
Just a prototype, so nothing is stable and well tested (yet). More details on the GitHub page: https://github.com/pappadf/granny-smith
Feedback and bug reports are of course very welcome! |
Posted by: Chopsticks on 2026-03-28 17:59:18 I don't use any chrome based browsers myself, but i can confirm Firefox also has some mouse pointer issues, moving the the mouse pointer around seems to be 2-3 times slower on the emulation compared to my actual computer.
apart from that i was able to run system 6.0.7 fine. i only did some quick testing as i wasn't able to load any of my hdd images to do more. |
Posted by: PappaDF on 2026-04-06 14:39:54 Thanks for the feedback! This is useful information! I haven’t tested with Firefox, but it’s obvious that I should.
There isn’t a good UI for setting/configuring HD images, yet. In theory, you should be able to just drag and drop, but this hasn’t been well tested. The only alternative at the moment is to do it from the terminal (attach-hd <path> [scsi-id]). I need to add a proper machine configuration panel or dialog. I’ve just merged SE/30 and 68030 support, so some kind of machine configuration interface is also needed to switch between models as well. I will fix that. |
Posted by: PappaDF on 2026-04-10 17:46:51 Just added a new configuration dialogue - it's not perfect, but it makes it a bit easier to configure hdd images: https://pappadf.github.io/gs-pages/latest/ (still Chromium-based browsers only) |
Posted by: luRaichu on 2026-04-10 19:42:14 Yet more claude slop once again!! Sad |
Posted by: 3lectr1cPPC on 2026-04-10 21:40:05
Yet more claude slop once again!! Sad Heaven forbid people work on hobby projects for fun. |
Posted by: PappaDF on 2026-04-11 00:44:34 Yes, I've used Claude Code, Copilot, Gemini Code Assist, and Codex. This recently became my "playground" project for experimenting with them all. I debugged the MacTest application (hardware test suite) running on the Plus by hand- which took a very long time. I tried allowing Claude to use a "headless" app variant for bringing up MacTest on the SE/30 instead, and it was surprisingly efficient. So in the end, it is just a matter of efficiency.
I don't mind if you call it "slop". I have the utmost respect for people who refuse to touch Claude or Copilot- regardless of whether it's professionally or as in this case just for a hobby project. There is a certain beauty in 100% hand-made code that otherwise gets lost in the process. |
Posted by: PappaDF on 2026-04-11 00:51:25 For full disclosure, I should probably add Mistral to the list as well. Mistral is surprisingly efficient at OCR-like tasks, i.e., converting PDFs and scanned reference manuals to Markdown in bulk. That has basically been the workflow recently - convert full reference manuals to cleaned-up Markdown, and let the agents work based on that. |
Posted by: PappaDF on 2026-05-01 05:08:12 Installing A/UX from floppy/cd:
|
| 1 |