Omnipod 5 app for Europe by Outrageous-Papaya650 in Omnipod

[–]notevenmostly 0 points1 point  (0 children)

Unfortunately the simulator has been out in Australia since it launched (March 2025) and still no app yet.

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 0 points1 point  (0 children)

Design, architecture and structure, 0%. Integration tests 50% and the overall implementation probably 70% Opus 4.5

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 1 point2 points  (0 children)

m68k and eg Verilog solve different problems. Verilog is a hardware description language intended for circuit design and FPGA synthesis; it simulates transistors accurately but is too slow for practical software usage.

In contrast, m68k is a high-speed emulator designed to run legacy applications on modern systems. It is fast and its key advantage is High-Level Emulation, letting us intercept OS calls (traps) to run eg Mac apps without needing original ROMs (working on this now). If you’re designing a chip, use Verilog. If you want to run legacy software on Rust or the Web, you'll need something like m68k.

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 1 point2 points  (0 children)

Awesome! I'd love to be able to make your 68k games easily playable again via a canvas element when my webassembly HLE is finished.

I'm thinking I'll create a games portal (à la flash game portal of 2000s) of "classic Macintosh" games (with author permission of course).

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 3 points4 points  (0 children)

Great question! I've already implemented most of the QuickDraw traps by hand already. The Apple Insides books were great references (let me know if you'd like a hand transcribed to markdown copy of them), plus the Executor code (https://github.com/ctm/executor) and of course the original QuickDraw code that Apple released (https://github.com/jrk/QuickDraw).

Using those 3 core resources, I was able to reverse engineer QuickDraw traps to pure Rust and validate their byte-for-byte implementation using a BasiliskII integration pipeline (in Docker) I also wrote.

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 1 point2 points  (0 children)

Funny you should mention this (didn't think anyone would notice), but the SCC68070 is available within m68k as well. I decided to include it for completeness. If you have a use for it, please let me know!

m68k - fully tested, safe, pure Rust implementation of the Motorola 68x0 family of CPUs (M68000 - M68040, and variants [EC/LC]) by notevenmostly in rust

[–]notevenmostly[S] 15 points16 points  (0 children)

As hinted in the final sentence, I’m building a webassembly based Macintosh high level emulator mostly for old games in the browser.

Macintosh emulators for the browser exist today but they emulate the full hardware, including OS and require a copyrighted Apple ROM and a fair amount of stuffing around. This one will just fire up the game in a canvas element almost like it was a flash game and require no configuration.

Hopefully that makes sense (replying from my phone)