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
show comments
rayiner
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.
show comments
frakt0x90
If all the AI stories on this site were replaced with amazing stuff like this, the world would be a better place.
show comments
guyzero
In addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.
show comments
raincole
> As for RAM, the Wii has a unique configuration: 88 MB total
TIL Wii has only 88MB of RAM. Fortunately games weren't electron-based.
show comments
soci
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.
show comments
k38f
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.
lampiaio
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.
show comments
bsimpson
This is excellent.
YUV appears to be a PAL-specific color space. I wonder how off an NTSC Wii would be. Presumably it would have the wrong color space until an equivalent conversion scheme was devised for NTSC.
I was surprised to see regional color spaces leak into the project, but I presume that Nintendo's iOS (the coincidentally-named system this is replacing) could handle that abstraction for game developers.
show comments
chrisweekly
Haha, this is great. Very impressive -- and a fantastic, detailed writeup. Congrats! And thanks for sharing! :)
samtheDamned
This was an incredible read! Especially for what looks like the first post to this blog too? I wanted to subscribe to the RSS feed but unfortunately it gives a 404 error.
nickpeterson
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.
show comments
djsavvy
I'm shocked that the Wii only has 88mb of RAM. The programmers of that era really knew how to make a lot from a little!
leonidasv
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.
show comments
tombelieber
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.
tiffanyh
Amazing work.
If you like this story, you might also like the story of how Mac OS X was ported to Intel as well.
Unrelated to the article but please compress your images. Why is one of them almost 8mb!?
zadikian
My favorite part of this is the detour to ask for the IOUSBFamily src on IRC
cyrialize
The Wii is very moddable. I've modded my Wii in the past just for playing modded versions of Super Smash Brother Melee (mainly training packs, like flashing a red light when I miss an L-cancel).
show comments
mackid
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? :)
show comments
monkpit
> There is a zero percent chance of this ever happening.
Honestly, I would have said the same. Great work!
unanonymousanon
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!
mlfreeman
Uh, I just noticed the Windows NT for GameCube port actually claims Wii support too...so maybe one day we'll see a Wii dual boot NT4 and OS X 10.0
bredren
It is satisfying to see someone hacking on deprecated hardware and software also is keen to look forward into Vision Pro.
anthk
Not OSX, but I'd love what Aros m68k is doing with the Amiga but for Mac OS System7.
Yes, I know about Ardi Executor being libre and enhanced now, but that's not the point.
I'd love to spawn MiniVMAC with a free system ROM replacement and a free Mac OS 7 reimplementation.
hassaanr
In love with projects that are done solely because 'why the hell not'. Fantastic writeup and work.
delduca
The best hack of the last 10 years.
guerrilla
> The Wii uses a PowerPC 750CL
Well, okay, that's almost cheating.
MaxLeiter
Great write-up. I love hardware running software it shouldn’t support
swiftcoder
Damn, that's some dedication! Congrats on getting it running
WorldPeas
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
show comments
bottlepalm
And here I am shopping for Macs because getting a hackintosh working from a VM on Windows is too difficult for me.
vsgherzi
This is some amazing work, a good reminder to dig more into operating systems for myself!
oliad1
Nice project! Love seeing emulators & ports
carlosjobim
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.
I'm pretty sure someones done this for the 360. Also, doesn't NT have a wii port?
show comments
zdware
Fun post.
Always great when your debugging feedback is via a led xD
show comments
xoxxala
Very neat project and an extremely enjoyable read.
spiderice
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!
nticompass
This is awesome! I can't wait to plug in my Wii and give it a try myself.
hirvi74
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.
show comments
postalcoder
Sorry if off topic but I was struck by the view from your window. Were you in Hanalei Bay?
show comments
kogasa240p
Wonder if it can happen on the Wii U
show comments
davenporten
Hahaha! Yes! We need more of this in the world, love it!
rado
Great, how about on iPhone?
c0_0p_
Fantastic work and a great write up.
dejongh
Great hack!
serhack_
awesome, good to see some real content from pre-AI moment
lanyard-textile
Absolutely atrocious. Congratulations!
That's the hacker spirit.
eats_indigo
honestly expected this port to be headed in the opposite direction
rdanieli
nice!
stavros
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.
show comments
rvz
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".
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.
If all the AI stories on this site were replaced with amazing stuff like this, the world would be a better place.
In addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.
> As for RAM, the Wii has a unique configuration: 88 MB total
TIL Wii has only 88MB of RAM. Fortunately games weren't electron-based.
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.
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.
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.
This is excellent.
YUV appears to be a PAL-specific color space. I wonder how off an NTSC Wii would be. Presumably it would have the wrong color space until an equivalent conversion scheme was devised for NTSC.
I was surprised to see regional color spaces leak into the project, but I presume that Nintendo's iOS (the coincidentally-named system this is replacing) could handle that abstraction for game developers.
Haha, this is great. Very impressive -- and a fantastic, detailed writeup. Congrats! And thanks for sharing! :)
This was an incredible read! Especially for what looks like the first post to this blog too? I wanted to subscribe to the RSS feed but unfortunately it gives a 404 error.
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.
I'm shocked that the Wii only has 88mb of RAM. The programmers of that era really knew how to make a lot from a little!
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.
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.
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
Unrelated to the article but please compress your images. Why is one of them almost 8mb!?
My favorite part of this is the detour to ask for the IOUSBFamily src on IRC
The Wii is very moddable. I've modded my Wii in the past just for playing modded versions of Super Smash Brother Melee (mainly training packs, like flashing a red light when I miss an L-cancel).
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? :)
> There is a zero percent chance of this ever happening.
Honestly, I would have said the same. Great work!
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!
Uh, I just noticed the Windows NT for GameCube port actually claims Wii support too...so maybe one day we'll see a Wii dual boot NT4 and OS X 10.0
It is satisfying to see someone hacking on deprecated hardware and software also is keen to look forward into Vision Pro.
Not OSX, but I'd love what Aros m68k is doing with the Amiga but for Mac OS System7.
Yes, I know about Ardi Executor being libre and enhanced now, but that's not the point.
I'd love to spawn MiniVMAC with a free system ROM replacement and a free Mac OS 7 reimplementation.
In love with projects that are done solely because 'why the hell not'. Fantastic writeup and work.
The best hack of the last 10 years.
> The Wii uses a PowerPC 750CL
Well, okay, that's almost cheating.
Great write-up. I love hardware running software it shouldn’t support
Damn, that's some dedication! Congrats on getting it running
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 some amazing work, a good reminder to dig more into operating systems for myself!
Nice project! Love seeing emulators & ports
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/
I'm pretty sure someones done this for the 360. Also, doesn't NT have a wii port?
Fun post.
Always great when your debugging feedback is via a led xD
Very neat project and an extremely enjoyable read.
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!
This is awesome! I can't wait to plug in my Wii and give it a try myself.
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.
Sorry if off topic but I was struck by the view from your window. Were you in Hanalei Bay?
Wonder if it can happen on the Wii U
Hahaha! Yes! We need more of this in the world, love it!
Great, how about on iPhone?
Fantastic work and a great write up.
Great hack!
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
nice!
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".