Live data from Hacker News

I ported Mac OS X to the Nintendo Wii

bryankeller.github.io

251–260 of 337 posts

Re: I ported Mac OS X to the Nintendo Wii

#251

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

Reminds me of the old saying "don't interrupt the one doing it, to tell him it can't be done."

Re: I ported Mac OS X to the Nintendo Wii

#252

Earlier quoted context omitted.

Another 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…

Recently 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

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

Re: I ported Mac OS X to the Nintendo Wii

#253

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.

Hell Apple’s latest monitors have an A19 Pro chip in them which are more powerful than the MacBook Neo.

Re: I ported Mac OS X to the Nintendo Wii

#254
post #36

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…

> I'm surprised by how well abstracted MacOS is (was). Usually the difference between something being well-abstracted vs poorly-abstracted is how well it's explained.

I’d say it’s more about how much explanation is needed. There are cool abstractions that require explanation because they aren’t intuitive at first, and then it clicks. But usually if I find endless explanations of why indirection is better because it aligns with someone’s conceptual model, that’s to me a bad abstraction. Not because it’s leaky, but because it resists understanding.

Re: I ported Mac OS X to the Nintendo Wii

#255
post #87

Earlier quoted context omitted.

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

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

You realize who runs the site right?

Re: I ported Mac OS X to the Nintendo Wii

#257
post #47
post #36

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…

IOKit 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…

Driver Kit used Objective-C, and ironically it is back, as Apple gave the same name to the userspace driver model replacement for IO Kit.

Re: I ported Mac OS X to the Nintendo Wii

#258
post #47

Earlier quoted context omitted.

IOKit 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…

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

Yes, also the same reason why Java was originally introduced, Apple was afraid that the developer community educated in Object Pascal / C++, wasn't keen into learning Objective-C.

When those fears proved not true, and devs were actually welcoming Objective-C, it was when they dropped Java and the whole Java/Objective-C runtime interop.

Re: I ported Mac OS X to the Nintendo Wii

#259

Earlier quoted context omitted.

From here: 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"

IOKit was almost done in Java; C++ was the engineering plan to stop that from happening. Remember: there was a short window of time where everyone thought Java was the future and Java support was featured heavily in some of the early OS X announcements. Also DriverKit's Objective-C model was not the same as userspace. As I recall the compiler resolved all message sends at compile time. It was much less dynamic.

Mostly because they thought Objective-C wasn't going to land well with the Object Pascal / C++ communities, given those were the languages on Mac OS previously.

To note that Android Things did indeed use Java for writing drivers, and on Android since Project Treble, and the new userspace driver model since Android 8, that drivers are a mix of C++, Rust and some Java, all talking via Android IPC with the kernel.

Re: I ported Mac OS X to the Nintendo Wii

#260
What 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.

Post reply on HN