21 ms·
I ported Mac OS X to the Nintendo Wii
- kogasa240p 6mo agoWonder if it can happen on the Wii U
- blkhp19 6mo agoWith the extra RAM, higher clock speed, and no need to waste CPU cycles converting YUV -> RGB framenbuffers - I bet it would be!
- monkpit 6mo ago> There is a zero percent chance of this ever happening. Honestly, I would have said the same. Great work!
- lanyard-textile 6mo agoAbsolutely atrocious. Congratulations! That's the hacker spirit.
- mghackerlady 6mo agoI'm pretty sure someones done this for the 360. Also, doesn't NT have a wii port?
- nticompass 6mo agoThere was a PPC version of Windows NT, and yes someone put it on the Wii! https://github.com/Wack0/entii-for-workcubes https://github.com/Wack0/entii-for-workcubes See also: https://gbatemp.net/threads/windows-nt-ported-to-wii.667959/ https://gbatemp.net/threads/windows-nt-ported-to-wii.667959/
- zymhan 6mo agoThat was it, I knew someone ported an OS to a Wii recently, thank you
- hirvi74 6mo agoExceptional 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.
- blkhp19 6mo agoThank you for the kind words! I like using it for disassembling UIKit (for my day job working on iOS apps), and overall, I like the UI/UX and how it feels like a native Mac app. I've tried Ghidra, and while extremely impressive and capable, it might be the most Java-feeling app I've ever used. I'd love for someone to whip up an AppKit + SwiftUI shell for it.
- xandrius 6mo agoYou made me curious: why would you need to disassemble UIKit for iOS as part of your day job?
- hirvi74 6mo ago> I like using it for disassembling UIKit (for my day job working on iOS apps), and overall, I like the UI/UX and how it feels like a native Mac app. You are correct about the UI/UX. I do think Hopper is ahead of others in that regard. Though, Radare2 being a CLI tool is nice as well. Though, I haven't attempted to use Radare2 for MacOS/iOS disassembly. Though I must ask, why are you disassembling UIKit? Looking for private API behavior or working around bugs? I've been learning more about iOS in my spare time, because despite my love for Swift, I have never used it for iOS. I only have used Swift for MacOS automation, i.e., AppleScript replacement via the Accessibility, Core Foundation, AppKit, etc.. > Ghidra, and while extremely impressive and capable, it might be the most Java-feeling app I chuckled while reading this because I had the exact same thought when I first used Ghidra. I haven't tried Ghidra on MacOS because I will not taint my machines with the impurities of Java. I also do not want to enable Rosetta, so that was another obstacle in trying Ghidra on MacOS. In Ghidra's defense, using Java was a pragmatic choice. The "write once, run anywhere" promise of Java is likely a near-necessity for a disassembler for government operations.
- nticompass 6mo agoThis is awesome! I can't wait to plug in my Wii and give it a try myself.
- MaxLeiter 6mo agoGreat write-up. I love hardware running software it shouldn’t support
- davenporten 6mo agoHahaha! Yes! We need more of this in the world, love it!
- soci 6mo agoBack 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.
- blkhp19 6mo agoThank you for the kind words :)
- trueno 6mo ago"According to a 2021 Reddit comment: > There is a zero percent chance of this ever happening. Feeling encouraged, I started with the basics" dude this absolutely sent me lmfao
- MarceliusK 6mo agoPre-App Store iPhone stuff was its own kind of wild west
- swiftcoder 6mo agoDamn, that's some dedication! Congrats on getting it running
- serhack_ 6mo agoawesome, good to see some real content from pre-AI moment
- rvz 6mo agoThe 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".
- bigyabai 6mo agoAh, the Procrustian definition of "real hacker", where using AI disqualifies you but using Github pages is considered only a minor infraction. The build-in-public era of hacking has really turned this field into an influencer economy.
- jasaldivara 6mo agoWhats wrong about Github pages?
- dewey 6mo agoA real hacker would obviously never use a Microsoft product, or worse, post on a VC funded web forum!
- bigyabai 6mo agoAbsolutely nothing. People protest Github to virtue signal their anti-Microsoft sentiment and fill a hole in their personality. Similarly, "zero mention of AI" is just a surface-level observation that says nothing about how the project was completed and everything about your own insecurities defining the word hacker.
- blkhp19 6mo agoI used plenty of non-agentic AI to help understand the XNU codebase, and also research various topics. It wasn't always correct, but it certainly helped at times! My philosophy for this project was to use it as a learning tool - since that was kind of the whole point of me attempting this :)
- dirasieb 6mo ago
- xoxxala 6mo agoVery neat project and an extremely enjoyable read.
- tiffanyh 6mo agoAmazing 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 https://news.ycombinator.com/item?id=4091216
- dormento 6mo agoOof linkrot :((((( I remember reading this back then. Amazing story. All the secrecy, and needing to be a very small team.
- jrmg 6mo agohttps://web.archive.org/web/20141228042901/http://www.tuaw.com/2012/06/10/how-marklar-os-x-on-intel-owes-its-start-to-a-one-year-old-boy/ https://web.archive.org/web/20141228042901/http://www.tuaw.c...
- bsimpson 6mo agoBlogspam about this Quora post from the founding engineer's wife: http://www.quora.com/Apple-Inc-2/How-does-Apple-keep-secrets-so-well/answer/Kim-Scheinberg?srid=i1 http://www.quora.com/Apple-Inc-2/How-does-Apple-keep-secrets...
- guyzero 6mo agoIn addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.
- nine_k 6mo agoThis is the most incredible part. I cannot even use a laptop adequately in an economy class seat, I cannot position the screen so that I could see it, and the keyboard so that I could type on it, at the same time. (To say nothing of connecting a Wii.)
- lamasery 6mo agoI struggle so much to even comfortably play a handheld video game system on a plane, let alone use a laptop (I have also tried that) that I've mostly given up on even trying and just line up a few albums on my phone to listen to and close my eyes as much as possible. I can't imagine trying to program on a laptop with an external device, even something as portable and small as a phone, on a plane. I expect my frustration and frequently bumping things about would mean I'd get nothing done aside from having a bad time.
- weberer 6mo agoGet a pair of XR glasses. I bought some Viture glasses a few years ago and they have been perfect for flights.
- nine_k 6mo agoIndeed, the cost of decent good XR glasses is less than the cost of upgrade to the business class on a flight!
- pa7ch 6mo agoI can't imagine concentrating on a complicated project like that on the go, but I went back to stare in awe at said picture and I think its a train or bus. Still a flex.
- frakt0x90 6mo agoIf all the AI stories on this site were replaced with amazing stuff like this, the world would be a better place.
- kstrauser 6mo agoGet to submitting! Be the change you want to see.
- jjice 6mo agoI probably have rose colored glasses, but this is what I associate with Hacker News when I first started coming to this site. Truly absurd projects for no reason other than the love of the game and detailed write ups. I'm not an LLM post hater, but it definitely has been a bit draining lately. This is exactly what I love to see here.
- mech422 6mo agoyeah - I wish the 'Hacker' part of 'HackerNews' got more attention. Last few years it often feels more like "VC-Buzzword-of-the-day-News" - AI is just the most recent cycle.
- raw_anon_1111 6mo agoYou realize who runs the site right?
- twoodfin 6mo agoI’m SOO happy but also wistfully sad when I open a post like this that I am desperately excited to read and it’s not muddled-thinking- and LinkedInese-riddled slop.
- stavros 6mo agoThis 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.
- snazz 6mo ago“entii-for-workcubes” is a pretty good pun!
- stavros 6mo agoI don't know man, "Wiindows" was right there and they chose "entii"? I weep for the missed opportunity more than anything. Maybe it was a legal worry.
- asimovDev 6mo agoI wonder if Gamecube's PPC CPU is sufficiently compatible. then you have the easy Cube puns to use in reference to G4 cube
- leonidasv 6mo agoNice 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.
- efdee 6mo agoIf it's not working on Chrome nor Firefox, it's safe to say it's incompatible with almost all browsers.
- leonidasv 6mo agoIt works on Safari.
- blkhp19 6mo agoI only tested on Safari - whoops! Fixed now.
- tverbeure 6mo agoMinor usability comment: the screenshots are too small to be readable. Whenever that's that case in my blog posts, I make those screenshots clickable and add (Click to enlarge) below it, to make it easier for readers to see the image are original resolution. In markdown, I do that like this: [ ](image_url.png) (Of course, I can also right-click and do "Open image in new tab", but that's one click extra...) Congrats on the awesome project, BTW! You were lucky that I wasn't sitting next to you on the plane. I would have wasted so much of your time asking dumb questions.
- blkhp19 6mo agoImages now expand when clicked - thanks for the feedback!
- BLKNSLVR 6mo agoOnly tested on Safari running on a Wii?
- c0_0p_ 6mo agoFantastic work and a great write up.
- NetOpWibby 6mo agoBefore 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
- deleted 6mo ago[deleted]
- nancyminusone 6mo agoGotta love that particular Redditors follow up comment: >Go ahead and downvote me. I am correct on every single thing I said
- dpoloncsak 6mo agoTempted to necro a 5 year old reddit post just to tell that guy he was wrong, honestly
- oceansky 6mo agoComments are blocked there
- noman-land 6mo agoMake a new thread calling them out personally.
- lossyalgo 6mo agoPost a link so we can upvote for visibility :) Nevermind, wasn't hard to find: https://www.reddit.com/r/wii/comments/1sfzacl/porting_mac_os_x_to_the_nintendo_wii/ https://www.reddit.com/r/wii/comments/1sfzacl/porting_mac_os...
- Jeremy1026 6mo agoUser hasn't posted in 4 years. Sadly, they'd probably never see it.
- unanonymousanon 6mo agoThis 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!
- eats_indigo 6mo agohonestly expected this port to be headed in the opposite direction
- zdware 6mo agoFun post. Always great when your debugging feedback is via a led xD
- dpedu 6mo agoHow about a piezoelectric buzzer? That's how the firmware on some iPods were first dumped. https://web.archive.org/web/20050828114013/http://www.ipodlinux.org/stories/piezo/ https://web.archive.org/web/20050828114013/http://www.ipodli...
- rayiner 6mo agoNot 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.
- geerlingguy 6mo agoAnd there are enough parallels to Linux's stack, I'm thinking about looking through the Linux on Wii project more and comparing how it handles fb issues in comparison. I loved reading this whole post, crazy how many OSes have now been run on the humble Wii!
- spijdar 6mo agoIOKit was actually built from the ground up for OS X! NeXT had a different driver model called DriverKit. I've never coded against either, but my understanding was they're pretty different beasts. (I could be wrong) That said, indeed, the abstraction layer here is delightful! I know that some NetBSD devs managed to get PPC Darwin running under a Mach/IOKit compatibility layer back in the day, up to running Xquartz on NetBSD! With NetBSD translating IOKit calls. :-)
- erichocean 6mo agoAs I remember it, they were basically the same—but IOKit is C++ (with restrictions) because 3rd party developers didn't want to learn Objective-C. But that's a hazy, 20 year old memory.
- steve1977 6mo agoFrom here: https://news.ycombinator.com/item?id=10006411 https://news.ycombinator.com/item?id=10006411 "At some stage in the future we may be able to move IOKit over to a good programming language"
- bottlepalm 6mo agoAnd here I am shopping for Macs because getting a hackintosh working from a VM on Windows is too difficult for me.
- WorldPeas 6mo agoGiven 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
- zydeco 6mo agoI'd say there is a zero percent chance of this ever happening :D The original Apple TV was an Intel Core Solo with 256 MB of RAM and an nVidia GPU, running a modified Mac OS X 10.4 that booted into something similar to Front Row instead of Finder.
- deleted 6mo ago[deleted]
- WorldPeas 6mo agoOh interesting, it looks like that geforce had an entire 64mb of gddr3 too, it'd still be fun to see if one could limbo that low, though I agree that save for upgrading the BGA ddr3 of the wii to something more the size of the dev kit had(128mb GDDR3)
- CrazyStat 6mo agoApple TV came after the switch to Intel processors, so you would have to have some kind of reverse-Rosetta layer to run it on a PowerPC Wii.
- zadikian 6mo agoTiger had a native PPC version too
- anskksdkdkdk 6mo ago[flagged]
- vsgherzi 6mo agoThis is some amazing work, a good reminder to dig more into operating systems for myself!
- rado 6mo agoGreat, how about on iPhone?
- rdanieli 6mo agonice!
- nickpeterson 6mo agoThe 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.
- zadikian 6mo agoThe original one does run a modified OS X Tiger. I jailbroke it a while ago to run custom stuff, but didn't do much with that. Just remember being able to VNC or SSH into it.
- wpm 6mo agoGood news, just today a bypass was released to allow any EFI bootloader to work on the original Apple TV https://github.com/DistroHopper39B/ATV1sm https://github.com/DistroHopper39B/ATV1sm
- raw_anon_1111 6mo agoHell Apple’s latest monitors have an A19 Pro chip in them which are more powerful than the MacBook Neo.
- Tepix 6mo agoThey're more than $50 however.
- Tepix 6mo agoAren't those Android boxes that you can get for less than $30 and then flash Linux (Armbian etc) onto a much better option?
- zenlot 6mo ago[dead]
- mackid 6mo agoCongrats, 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? :)
- Xerox9213 6mo agoOr better yet, an iPad!
- krsw 6mo agoThere is a zero percent chance of that ever happening.
- gaudystead 6mo agoAre you willing to elaborate on the _why_ or is this a challenge comment, similar to the reddit comment that spurred this project? ;)
- xuki 6mo agoGo ahead and downvote krsw, he is correct on every single thing he said.
- LoganDark 6mo agoI wonder if you can place an A18 from a Neo onto an iPhone board, and then make that work somehow... You wouldn't be able to use the one originally from the iPhone because it's differently fused to only accept iOS images.
- circuit10 6mo agoIs it possible that a jailbreak is found that could allow a “kexec” kind of thing to load a new OS? Of course it would be a huge amount of work even if theoretically possible
- dadoum 6mo agomarcan once said this was not possible on M1 macs. It was possible before, as coolbooter demonstrated, but it seems now that the hardware cannot be completely reinitialized without being power cycled (it was on Mastodon in 2024, he has since deleted his account so I cannot give you the exact quote). But you can do wizardry to load macOS' userspace on top of iOS' kernel [0] with a jailbreak. [0]: https://x.com/khanhduytran0/status/1954724636727587237 https://x.com/khanhduytran0/status/1954724636727587237
- k38f 6mo agoDebugging 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.
- zadikian 6mo agoMy favorite part of this is the detour to ask for the IOUSBFamily src on IRC
- ynajjarine 6mo ago[flagged]
- dmitrygr 6mo agoThis solution’s COU cost can be significantly improved by using memory protection. You protect the frame buffer from writes. The first time it is written, you take a fault, and start refreshing every 60 Hz and leave it writeable. After some number of refreshes, you protect it again, the idea being is that the UI may now be quiescent. I do this in my Palm OS port for the same reason.
- blkhp19 6mo agoI'm intrigued by this technique! Will look into it, thanks for the tip!
- dmitrygr 6mo agosample impl is in rePalm sources, but i described basically all there is to it :) saves a lot of CPU
- saagarjha 6mo agoThis would work for an idle screen but I can't imagine this would be very efficient for real use, unless the hardware cursor is put in some other framebuffer (I assume it's not otherwise the author would have probably mentioned it?)
- dmitrygr 6mo agoon computer timescales, humans are basically motionless, as long as there is motion, you do the 60Hz update, occasionally you take a page fault too, not a high cost compared to a screenfull of colorpsace conversion. But when display is not changing you save a lot of cpu power. But also Wii has the gpu abilities to trivially support hardware cursor
- 6mo ago
- carlosjobim 6mo agoThey 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/ https://www.reddit.com/r/hackintosh/
- nancyminusone 6mo ago>better option than Linux I'm not sure why it would. Why would anyone want to hack on different proprietary software with no supplier support and whose days are clearly numbered (Apple's move to ARM)? For usability I mean. It's clearly an interesting technical feat.
- carlosjobim 6mo agoBecause it has all the advantages of Linux + all the advantages of Windows + many advantages of its own. So to have a fully fledged and more usable computer, for those who don't want to purchase the Apple hardware. And the latest Mac OS still supports Intel, so you'll get many more years out of a machine. For what I know, the last 10 versions of MacOS are still very usable.
- bigyabai 6mo agoHave you ever tried daily-driving a Hackintosh? It's nothing like using a Mac, or even a Windows/Linux machine for that matter. I dual-booted Mojave on 2 Wintel machines back during the Clover bootloader days, I could only tolerate it for ~2 weeks before giving up. Spoofing OEM Apple hardware is basically impossible, even with configuration-matched CPUs your motherboard will still mismatch the ACPI overrides that macOS expects. Any variety of modern GPU is basically forfeit, hardware acceleration is flaky, Metal is inhumane (with or without Hackintosh), CUDA is unsupported, Vulkan is MIA, filesystem support is a joke, and OTA updates have to be disabled or else your system volume will overwrite the partition table and erase everything that's installed. Reinstalling from scratch can take multiple days if you don't back up your EFI configuration, so you really want to avoid bricking your install while you tweak the configs to stop being broken. Even as a developer, using a Hackintosh was a waste of my time back in 2018 when "everything was supported". In 2026, I cannot comprehend a single objective reason why you would use an x86 Hackintosh instead of a better-supported and more fully-featured Linux or WSL installation. x86_64-apple-darwin is a partially depreciated target triple that's not suitable for any macOS or Linux development work, and for prosumers the architecture is already unsupported by many professional apps. Hackintosh is a museum piece now, even OpenCore can't save it: https://blog.greggant.com/posts/2025/07/16/open-core-is-dead.html https://blog.greggant.com/posts/2025/07/16/open-core-is-dead...
- tombelieber 6mo agoThis 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.
- lampiaio 6mo agoAs 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.
- blkhp19 6mo agoVery cool! I'd love to learn more. That seems extra challenging considering Mac OS 9 is closed source!
- itomato 6mo agoYou are at a slight disadvantage without XNU and Darwin sources, but you can have leaked System 7.1 source, Ghidra and MCP to help make up the difference. Godspeed.
- stuaxo 6mo agoNice! Are there one or two instructions that aren't available ? I guess it might be possible to trap and emulate those?
- oliad1 6mo agoNice project! Love seeing emulators & ports
- spiderice 6mo agoI 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!
- dejongh 6mo agoGreat hack!
- postalcoder 6mo agoSorry if off topic but I was struck by the view from your window. Were you in Hanalei Bay?
- blkhp19 6mo agoI was - incredible views indeed!
- postalcoder 6mo agoYour post and pictures brightened up my day. Thanks!
- hassaanr 6mo agoIn love with projects that are done solely because 'why the hell not'. Fantastic writeup and work.
- bredren 6mo agoIt is satisfying to see someone hacking on deprecated hardware and software also is keen to look forward into Vision Pro.
- bsimpson 6mo agoThis 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.
- duskwuff 6mo agoYUV is a color model, akin to RGB or HSL; it's independent of video formats like NTSC or PAL.
- TazeTSchnitzel 6mo agoThat's true in broad strokes, but looking into it, it turns out NTSC's variant of YUV is called YIQ, and SECAM's variant is called YDbDr. They are however all more or less the same thing, and the digital YUV used by the Wii hardware in this case is presumably independent of the video standard.
- deleted 6mo ago[deleted]
- zerocrates 6mo agoSome of this is just really widespread imprecise usage of terms: what really should be called "YCbCr" in digital contexts is frequently called "YUV." So-called "YUV" digital formats for video are really really common, and they're used for both NTSC and PAL. "YUV420," YCbCr using 4:2:0 chroma subsampling so the two color components are half the resolution in each dimension vs. the luma, in particular is super-common. The Wii seems to actually use "YUV422" internally, so 4:2:2 chroma subsampling, where the chroma is only halved in one dimension. The conversion to analog NTSC or PAL signals happens later in the process. The repository here actually looks like it sets up the Wii's video interface to output NTSC progressive by default, but lets you configure for PAL with a config file.
- saagarjha 6mo ago
- cyrialize 6mo agoThe 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).
- blkhp19 6mo agoYes - this project (and countless others) would not have been possible without the incredible work to hack the Wii from Team Twiizers (now fail0verflow) back in the day. The work they did was a huge inspiration for me getting into computer science when I was a teenager.
- dansalvato 6mo agoI wrote that L-cancel training code! Funny to see it come up out of nowhere. I too have always adored the Wii and its moddability. It'd be my go-to choice if I someday ever get the itch to write console homebrew software of my own.
- cyrialize 6mo agoOh hi! I'm a huge fan of your work! I've watched so many videos breaking down Doki Doki Literature Club. Thank you for all that you do.
- raincole 6mo ago> 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.
- zamadatix 6mo agoAnother funny history fact with the Wii is Windows Vista released the same month in North America. People were so upset that the minimum requirement for Vista said 512 MB (which was already more than the average existing home PC of the time had without an upgrade) but it ran like crap unless you had more. We truly had to get away with less back then. These days it feels like there is a bit more headroom where 8 GB is on the downtrend, 16 GB is becoming the most common, and the user's apps are enjoying the extra fat.
- vachanmn123 6mo agoRecently I was ranting about this very thing, my work machine running win 11 has 16gb ram and Windows just sits at 8Gb on idle. My first laptop had 1 gig of ram... until I got my mac (16GB M1 Air) I used to manage with 4GB RAM while serving clients... Optimization seems to have been forgotten these days
- raw_anon_1111 6mo agoI really wish this meme would die. Every modern operating system - macOS, Linux and Windows - use available memory for certain performance optimizations. It doesn’t mean when needed, that memory isn’t available for other applications and your computer just starts swapping.
- jaen 6mo agoI wish the "optimizations" meme would die as well, read my comment upthread on how that's generally inaccurate.
- raw_anon_1111 6mo ago
- guerrilla 6mo ago> The Wii uses a PowerPC 750CL Well, okay, that's almost cheating.
- mococa 6mo agoThe best hack of the last 10 years.
- djsavvy 6mo agoI'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!
- winrid 6mo agoThe Wii UI looked fine and was very easy to understand, too.
- ValveFan6969 6mo ago[dead]
- khernandezrt 6mo agoUnrelated to the article but please compress your images. Why is one of them almost 8mb!?
- samtheDamned 6mo agoThis 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.
- dunder_cat 6mo agoChiming in as well to say to the author when the victory lap here is over: please consider adding the RSS feed! I want to see whatever you do next, regardless of how long it takes.
- msephton 6mo agoHere's another polite request for an RSS feed. Thank you
- samtheDamned 6mo agoJust adding for posterity that the RSS feed appears to be functional now
- chrisweekly 6mo agoHaha, this is great. Very impressive -- and a fantastic, detailed writeup. Congrats! And thanks for sharing! :)
- anthk 6mo agoNot 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.
- duskwuff 6mo agoPossibly of interest: https://mace.home.blog/ https://mace.home.blog/ Frustratingly, though, they haven't released any source code yet.
- anthk 6mo agoThat's the same as Executor, or some similar project with GNU/Linux with was exactly what Mace does with a free license. https://www.v68k.org/advanced-mac-substitute/ https://www.v68k.org/advanced-mac-substitute/ What I would like to see it's the full OS reimplementation a la AROS m68k. There are Minivmac ports for 9front. Exegutor it's made in C++, so no way to compile it with NPE (micro-POSIX compat layer for 9front). If anyone had that under MiniVmac, it could run everywhere. On Advanced Mac Substitute, as it has an SDL2 interface, it can be almost done unless it's written in C++. If it's ANSI C or C99, it might run under 9front.
- mlfreeman 6mo agoUh, 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
- jmcneill 6mo agoAs the author of the NetBSD Wii and Wii U ports, congrats! I’m looking forward to seeing how you solved some of the problems that I faced along the way.
- blkhp19 6mo agoYour ports were a huge inspiration - thanks for contributing so much to this space!
- 0xc133 6mo agoSo when will you port MacOS X to the Wii U? Two more CPU cores and 2GB of RAM instead of 88MB!
- HerbManic 6mo agoThat would be a surprisingly cheap way to get a decent "vintage" Mac system considering the cheap resale on WiiUs.
- itintheory 6mo agoWhere are you finding cheap WiiUs? I've wanted to pick one up for a while and find them to be exorbitantly expensive, especially the controllers.
- extraduder_ire 6mo agoThe gamepads often cost more than the console itself, because they're region locked and you can't use the console without one. There is an attempt to clone the functionality of the gamepad ongoing that's somewhat usable: https://github.com/vanilla-wiiu/vanilla https://github.com/vanilla-wiiu/vanilla
- SpecialistK 6mo agoI saw console-only Wii Us in Book Off in Japan for ~US$30.
- hoten 6mo agoWonderful write up, thank you for sharing! > In the end, I learned (and accomplished) far more than I ever expected - and perhaps more importantly, I was reminded that the projects that seem just out of reach are exactly the ones worth pursuing. Couldn't agree more. I've had my own experience porting something that seemed like an intractable problem (https://news.ycombinator.com/item?id=31251004 https://news.ycombinator.com/item?id=31251004), and when it finally comes together the feeling of accomplishment (and relief!) is great.
- AnnikaL 6mo agoWow! This is really impressive! I kind of want to try some project like this sometime, but I wouldn't even know where to start...
- msephton 6mo agoStart with the idea and then do some reading and then when you're comfortable enough... onwards!
- talkfold 6mo agoBrought the Wii to Hawaii to finish the framebuffer driver. Priorities perfectly set.
- cdrnsf 6mo agoWonderful. Can it run Doom?
- OhMeadhbh 6mo agoPresumably this means you could also port MacOS 9 if you were okay with writing a few drivers and patching some virtual ROMs.
- anArbitraryOne 6mo agoI love it. I mean I hate MacOS, but great project
- p0seidon 6mo agoThis is incredible. I wonder when an LLM will pull this knowledge out to help someone down the line who would never have had the craft to pull this off, as it requires so much depth and broad skill. Admirable.
- eek2121 6mo agoNeat, and kudos! Reminds me of my young hobbyist days. I wish low level dev work was that approachable now. Back in the old days, it was REALLY easy to initialize VGA and throw pixels around in ASM, C, or C++. The 6502 and related chips were relatively easy chips to build stuff for, even though tooling was non-existent. Shoot, you could do some really awesome things on a Tandy CoCo2 and BASIC of all things. It feels like engineering has made this type of thing inaccessible. Most systems require a ton of knowledge and expertise. There is no easy 'in' for someone with a special interest in development. Even worse, AI is artificially dumbing things down, while making things even more inaccessible.
- flopsa 6mo agoThis was a brilliant write up and an insane project. Kudos!
- jkbowa 6mo agoReally cool!
- bananaboy 6mo agoAmazing work and write up!
- knivets 6mo agoRefreshing to read an article with an actual engineering work as opposed to another article about AI. Great work, very inspiring!
- rafaelgoncalves 6mo agoawesome work and write up! hella impressive!
- willamhou 6mo agoHad a very similar issue porting a hypervisor to ARM S-EL2. Writes would succeed, there were no faults, and everything looked reasonable in GDB, but the other side never saw the data. The root cause was that Secure and Non-Secure physical address spaces were backed by different memory even at the same address, and a single PTE bit selected between them. That took me much longer to understand than I’d like to admit.
- saagarjha 6mo agoYo dawg I heard you liked virtual addressing so I designed virtual addresses for your physical addresses
- Bubble1296 6mo agoHighly respectable project. My hat's off to you. I'm just curious, what computer programming language did you do most of this in and what do you think was the most challenging part of porting Mac OS X on to the Wii console?
- blkhp19 6mo agoThanks! The project was mostly C for the bootloader and C++ for the drivers. As for which part was the most challenging... probably understanding the IOKit driver model. I really would have benefitted from having an expert explain some of the concepts to me, and give me some advice about how to structure my own drivers.
- Bubble1296 6mo agoI see. Very interesting project. Do you think that you're going to post it on GitHub?
- msephton 6mo agoThe post shows C language
- dlopes7 6mo agoIt was refreshing reading this in the age of AI slop, thank you for the great read and congratulations on the project
- maximilianburke 6mo agoMakes me wonder if 10.4 would work on the WiiU...
- devy 6mo agoThis reminds me the 2008-2009 era where Mac OS X Leopard was running Hackintosh on Dell Mini 9 and some other netbooks. At $349, it was almost a fully functional laptop that runs on Mac OS X (comparing to over $1000+ MacBooks or $1599 MacBook Pros) Two friends of mine literally working remotely in an Africa trip with Dell Mini 9 and mobile hotspots and were doing video conferencing with Skype (on Wi-Fi). [1] https://en.wikipedia.org/wiki/Dell_Inspiron_Mini_Series https://en.wikipedia.org/wiki/Dell_Inspiron_Mini_Series [2] https://en.wikipedia.org/wiki/Hackintosh https://en.wikipedia.org/wiki/Hackintosh
- gattilorenz 6mo agoYep, started coding iOS apps on an EeePC 1000H on Snow Leopard 10.6.8 and XCode 3.1.something. While the updates would break things, it was not more complicated than a Linux of the mid 90s to set up, especially with “hackintosh distros” like iDeneb. Surprisingly ok, given the anemic machine!
- Eric_Xua 6mo agoThis writeup absolutely ruled – real low‑level hacking, great storytelling, and super inspiring.
- outadoc 6mo agoSuper cool project and write-up, I loved reading it!
- sagoshi 6mo agohand-rolled iokit drivers and a bootloader to get xnu running on 88mb of ram with cpu-bound yuv-to-rgb conversion at 60fps, all because the wii's powerpc 750cl is close enough to a g3 imac that darwin mostly just worked. solid systems work and a genuinely useful writeup but might try on a dreamcast personally. rom burns
- gauravkashyap6 6mo agoWhat stood out to me is how much of this worked because of strong abstraction boundaries. It’s interesting because we don’t often think about OS-level abstractions in the same way anymore — but projects like this really show how powerful they are when they’re done right. Makes me wonder how feasible something like this would be with modern systems, where things feel more tightly coupled and security constraints are much stricter.
- saagarjha 6mo agoReading this was the highlight of the week! I love it when people port things to places they do not belong :)
- alper 6mo agoHow do you get good like this?
- voidUpdate 6mo agoJust keep doing stuff and gaining experience. Sometimes you'll find that you don't know how to do something, at that point don't just reach for an LLM, do your best to try and understand it, google around, and if all else fails, put it down and maybe come back to it later with fresh eyes
- faisalfakih 6mo agoIncredible project. The dual-framebuffer RGB -> YUV conversion trick is really clever. Really entertaining read as well!
- qingcharles 6mo agoHalves your frame-rate though, I would imagine? I've never seen a device with a YUV frame buffer before. What else has one?
- redbell 6mo agoExcellent project! This is one of the topics that keeps Hacker News ever refreshing. Seeing work get done in a way that feels like real hacking but in a positive way. You might also be interested in this similar work: Installing Mac OS on the Nintendo Wii [video] (123pts, 37cmts): (https://news.ycombinator.com/item?id=37306018 https://news.ycombinator.com/item?id=37306018) The author has mentioned earlier attempts to port other OSes to the Wii but it appears these works didn't get much traction here on HN except for Windows: WindowsNT (255pts, 86cmts): https://news.ycombinator.com/item?id=43221633 Linux (53pts, 1cmts): https://news.ycombinator.com/item?id=30568676 NetBSD (4pts,0 cmts): https://news.ycombinator.com/item?id=46668959 Lastly, since we are in the context of turning the Wii into a computer, I'd like to honorable mention: Hosting a blog on the Wii (622pts, 104cmts): (https://news.ycombinator.com/item?id=43754953 https://news.ycombinator.com/item?id=43754953)
- asimovDev 6mo agoI hope OP is still reading comments. I noticed that the project was written in Xcode (the repo even has the xcodeproj folder) but in some screenshots I see CLion. Did you switch at some point or were you using both throughout the development simultaneously? Amazing writeup, love this types of blog posts and hope the hawaii trip was enjoyable
- blkhp19 6mo agoI started with CLion, and found the UX to be completely foreign (not at all Mac-like) and overall frustrating to use. Xcode is definitely not perfect, but it's IDE I'm most used to, so I ended up doing my most of my editing in it.
- rbanffy 6mo agoWhat's not to love? A small and beautiful PowerPC Unix workstation, something IBM hasn't done in a long, long time. How far does MacPorts go with a PPC?
- stuaxo 6mo agoGreat work and writeup. I wonder if the YUV conversion could be offloaded somehow to the ARM inside the Hollywood or somehow using a shader (or equivalent) if the graphics were accelerated - though maybe this is way way too much.
- blkhp19 6mo agoI considered this! There were a lot of things I wanted to try but didn't want the timeline of this project to blow up any more than it already had. Now that I've done the hard part of writing about it and publishing it, I can revisit some of these ideas :)
- stuaxo 6mo agoIt looks like between Linux and NetBSD on the Wii there's quite a bit of work in those areas.
- drzaiusx11 6mo agoI wonder what, if anything significant, has changed architecturally from osx to modern macos and how this post could be used as a guide for future porting efforts (aside from the obvious 2 CPU isa changes over the last 20 years)
- tom-blk 6mo agoHehe that's so cool, I didn't know that it was a thing to port OSes to the Wii :D
- fortran77 6mo agoThere was a Windows NT 4.0 for PowerPC. And several people have had this running on the Wii. https://github.com/Wack0/entii-for-workcubes https://github.com/Wack0/entii-for-workcubes Much easier to do, because of the superior, more modern architecture of Windows NT. (It's not based on Apollo-era OS like OSX is.)
- MarceliusK 6mo agoReally impressive work, and a very fun read
- rajptech 6mo agoThe PowerPC-to-Intel transition still has the cleanest binary-format story in mainstream consumer OS history — Rosetta 1 was better engineering than people remember. Wild to see the Wii hardware resurrected for this.
- joshstrange 6mo agoSo freaking cool and I really loved the writing style. One thing that surprised me was working on this while on a plane. I find it incredibly difficult to do normal or even limited work while on a plane (thankfully I fly rarely) but working on a hardware project like this on a plane feels like playing on hard mode. Kudos to the author for being able to do make real progress in such a hostile (IMHO) environment.
- crusty 6mo agoTo each his own and all that but sitting in a hotel room hacking on a computer while on vacation (in Hawaii!) is PTSD trigger-warning territory for me.
- wmlive 6mo agoHaving managed to install and run OPENSTEP on a Frankenpad T61, albeit without network access, I'd wish someone similarily capable would create some network and PCMCIA drivers for the T6x Thinkpad generation to enable full use of its hardware capabilities.
- pvtmert 6mo agoI love the fact that this guy went through all the hassle (partially) because of the following reddit comment: > There is a zero percent chance of this ever happening.