Live data from Hacker News

I ported Mac OS X to the Nintendo Wii

bryankeller.github.io

301–310 of 337 posts

Re: I ported Mac OS X to the Nintendo Wii

#302

Highly 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?

Thanks! 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.

I see. Very interesting project. Do you think that you're going to post it on GitHub?

Re: I ported Mac OS X to the Nintendo Wii

#304
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…

Once he could satisfy the expected interfaces well enough, the rest of the system seems to have been surprisingly willing to play along

Re: I ported Mac OS X to the Nintendo Wii

#305
post #10

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.

Pre-App Store iPhone stuff was its own kind of wild west

Re: I ported Mac OS X to the Nintendo Wii

#307

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

I love this

Re: I ported Mac OS X to the Nintendo Wii

#308
post #294

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

I 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 :)

Re: I ported Mac OS X to the Nintendo Wii

#309

I 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

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

Re: I ported Mac OS X to the Nintendo Wii

#310

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.

> there was a short window of time where everyone thought Java was the future

Makes me think of how plists in macOS are xml because back then xml was the future

Post reply on HN