Not only is this an insanely cool project, the writeup is great. I was hooked the whole way through. I particularly love this part:
> At this point, the system was trying to find a framebuffer driver so that the Mac OS X GUI could be shown. As indicated in the logs, WindowServer was not happy - to fix this, I’d need to write my own framebuffer driver.
I'm surprised by how well abstracted MacOS is (was). The I/O Kit abstraction layers seemed to actually do what they said. A little kudos to the NeXT developers for that.
In addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.
If all the AI stories on this site were replaced with amazing stuff like this, the world would be a better place.
Back in the day I was a hardcore Mac nerd and became a professional at it too. My best reverse-engineering trophy was building one of the first "iOS" apps when there was not an official appstore for the iPhone.
But man, this is way ahead of what I could do. What this dude accomplished blew my mind. Not only the output (running MacOS on a Wii), but the detailed post itself. A-MA-ZING.
Nice work and write-up!
A side note: you embedded .mov videos inside <img> tags. This is not compatible with all browsers (notably Chrome and Firefox), which won't load the videos.
> There is a zero percent chance of this ever happening.
Honestly, I would have said the same. Great work!
This is some amazing work, a good reminder to dig more into operating systems for myself!
Amazing work.
If you like this story, you might also like the story of how Mac OS X was ported to Intel as well.
Given that the original Apple TV ran on a modified version of macos, what are the chances one could turn an old wii into an Apple TV..?
EDIT: also, I just noticed on a second pass the system is addressing 78mb of ram, potentially meaning the ram spans the gddr3 and sram, I'm amazed this works as well as it does with seemingly heterogeneous memory
And here I am shopping for Macs because getting a hackintosh working from a VM on Windows is too difficult for me.
This is extraordinary, not only pushing the limit but documenting everything so clearly to show people what can be accomplished with time and dedication. Thank you for such thorough documentation, and congrats on getting it done!
Damn, that's some dedication! Congrats on getting it running
Great write-up. I love hardware running software it shouldn’t support
Fun post.
Always great when your debugging feedback is via a led xD
Very neat project and an extremely enjoyable read.
Great, how about on iPhone?
I'm pretty sure someones done this for the 360. Also, doesn't NT have a wii port?
This is awesome! I can't wait to plug in my Wii and give it a try myself.
Hahaha! Yes! We need more of this in the world, love it!
Fantastic work and a great write up.
Exceptional work. While it may not mean much, I am truly impressed. I like to toy with reverse engineering here and there, but such a port like this would take me multiple lifetimes.
Not to distract too much from the main topic, but what do you think about the Hopper disassembler? I have only used Radare2, IDA Pro, and Ghidra. Though, I haven't used the latter two on MacOS. What do you prefer about Hopper? I have been hesitant to purchase a license because I was never sure if it was worth the money compared to the alternatives.
awesome, good to see some real content from pre-AI moment
Absolutely atrocious. Congratulations!
That's the hacker spirit.
honestly expected this port to be headed in the opposite direction
This is excellent, though if you had chosen another OS, you could have called the project Wiindows.
EDIT: Oh interesting, the final paragraph says NT has been ported, didn't know that. Sadly, no pun is mentioned in that project.
The post is a work of an actual hacker who knows what they're doing. Zero mention of "I used Claude" or "Used AI" to understand what is needed for accomplish this task.
This is exceptional work. Unlike the low-effort slop posts I see here on "Show HN".
[flagged]