I Ported Mac OS X to the Nintendo Wii

bryankeller.github.io

583 points by blkhp19 3 hours ago


NetOpWibby - 2 hours ago

  Before figuring out how to tackle this project, I needed to know whether it would even be possible. According to a 2021 Reddit comment:

    There is a zero percent chance of this ever happening.

  Feeling encouraged, I started with the basics: what hardware is in the Wii, and how does it compare to the hardware used in real Macs from the era.
I LOL'd
rayiner - 2 hours ago

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.

hassaanr - a minute ago

In love with projects that are done solely because 'why the hell not'. Fantastic writeup and work.

guyzero - 3 hours ago

In addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.

k38f - an hour ago

Debugging kernel panics on a Wii in an economy seat is a level of focus I can't even imagine. Most people can't read a book on a plane without losing their place every 5 minutes.

frakt0x90 - 3 hours ago

If all the AI stories on this site were replaced with amazing stuff like this, the world would be a better place.

soci - 3 hours ago

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.

nickpeterson - an hour ago

The one that really bugs me is the Apple TV. It would be a great little box to use for terminals/thin client style work and there are a ton of old cheap ones. Having a $50 dollar used box that was low power and could run OSX would be great.

leonidasv - 2 hours ago

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.

tiffanyh - 3 hours ago

Amazing work.

If you like this story, you might also like the story of how Mac OS X was ported to Intel as well.

https://news.ycombinator.com/item?id=4091216

tombelieber - 36 minutes ago

This rules. It’s exactly the kind of cursed side quest that sounds fake until you read the writeup and realize you actually did the work.

zadikian - an hour ago

My favorite part of this is the detour to ask for the IOUSBFamily src on IRC

ynajjarine - 43 minutes ago

The approach of using the LED as a debugging tool when serial and video output were both disabled is such a classic embedded development move. When you have no visibility into what's happening, you work with whatever output you have — even if it's a single bit.

The dual-framebuffer solution for the RGB-to-YUV conversion is clever too. 60 conversions per second on that hardware can't be cheap — curious what kind of CPU overhead that adds.

lampiaio - 31 minutes ago

As someone who's been trying to do something VERY similar (port Mac OS 9 to the Nintendo Wii U), all I can say is I'm 1) absolutely impressed, and 2) absolutely encouraged, as my project keeps telling me "this is impossible" at every opportunity.

mackid - an hour ago

Congrats, great project and great writeup. That would have won MacHack back in the day.

Now that the MacBook Neo has an A18, I wonder if you could get MacOS running on an iPhone? :)

monkpit - 3 hours ago

> There is a zero percent chance of this ever happening.

Honestly, I would have said the same. Great work!

oliad1 - 30 minutes ago

Nice project! Love seeing emulators & ports

unanonymousanon - 2 hours ago

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!

postalcoder - 6 minutes ago

Sorry if off topic but I was struck by the view from your window. Were you in Hanalei Bay?

WorldPeas - 2 hours ago

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

spiderice - 23 minutes ago

I bet if me-20-years-ago knew that current me would have no fucking clue how to even begin to tackle a problem like this, me-20-years-ago would be very disappointed. Very jealous of your expertise. Awesome work!

vsgherzi - 2 hours ago

This is some amazing work, a good reminder to dig more into operating systems for myself!

bottlepalm - 2 hours ago

And here I am shopping for Macs because getting a hackintosh working from a VM on Windows is too difficult for me.

swiftcoder - 3 hours ago

Damn, that's some dedication! Congrats on getting it running

MaxLeiter - 3 hours ago

Great write-up. I love hardware running software it shouldn’t support

dejongh - 17 minutes ago

Great hack!

mghackerlady - 3 hours ago

I'm pretty sure someones done this for the 360. Also, doesn't NT have a wii port?

zdware - 2 hours ago

Fun post.

Always great when your debugging feedback is via a led xD

xoxxala - 3 hours ago

Very neat project and an extremely enjoyable read.

kogasa240p - an hour ago

Wonder if it can happen on the Wii U

carlosjobim - 37 minutes ago

They are successfully porting Mac OS onto every kind of modern computer over at the hackintosh subreddit, and I can't understand why there is so little interest for this stuff in the "hacker" sphere.

Surely, it must be a better option than Linux if you want to get the most out of a PC computer? At least for 10 more years.

https://www.reddit.com/r/hackintosh/

nticompass - 3 hours ago

This is awesome! I can't wait to plug in my Wii and give it a try myself.

rado - an hour ago

Great, how about on iPhone?

davenporten - 3 hours ago

Hahaha! Yes! We need more of this in the world, love it!

c0_0p_ - 2 hours ago

Fantastic work and a great write up.

hirvi74 - 3 hours ago

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.

serhack_ - 3 hours ago

awesome, good to see some real content from pre-AI moment

lanyard-textile - 3 hours ago

Absolutely atrocious. Congratulations!

That's the hacker spirit.

rdanieli - an hour ago

nice!

eats_indigo - 2 hours ago

honestly expected this port to be headed in the opposite direction

stavros - 2 hours ago

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.

rvz - 3 hours ago

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".

zenlot - an hour ago

[dead]

anskksdkdkdk - 2 hours ago

[flagged]