HackerTrans
TopNewTrendsCommentsPastAskShowJobs

blkhp19

no profile record

Submissions

I ported Mac OS X to the Nintendo Wii

bryankeller.github.io
1,924 points·by blkhp19·3 เดือนที่ผ่านมา·328 comments

comments

blkhp19
·3 เดือนที่ผ่านมา·discuss
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.
blkhp19
·3 เดือนที่ผ่านมา·discuss
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 :)
blkhp19
·3 เดือนที่ผ่านมา·discuss
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.
blkhp19
·3 เดือนที่ผ่านมา·discuss
Your ports were a huge inspiration - thanks for contributing so much to this space!
blkhp19
·3 เดือนที่ผ่านมา·discuss
I'm intrigued by this technique! Will look into it, thanks for the tip!
blkhp19
·3 เดือนที่ผ่านมา·discuss
Last I checked, the 60fps frame buffer conversion resulted in the system idling at 18% CPU. Certainly not ideal. I'd love to optimize this further.
blkhp19
·3 เดือนที่ผ่านมา·discuss
Yes - 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.
blkhp19
·3 เดือนที่ผ่านมา·discuss
I was - incredible views indeed!
blkhp19
·3 เดือนที่ผ่านมา·discuss
Very cool! I'd love to learn more. That seems extra challenging considering Mac OS 9 is closed source!
blkhp19
·3 เดือนที่ผ่านมา·discuss
Thank you for the kind words :)
blkhp19
·3 เดือนที่ผ่านมา·discuss
With the extra RAM, higher clock speed, and no need to waste CPU cycles converting YUV -> RGB framenbuffers - I bet it would be!
blkhp19
·3 เดือนที่ผ่านมา·discuss
Images now expand when clicked - thanks for the feedback!
blkhp19
·3 เดือนที่ผ่านมา·discuss
I felt similarly. The learning curve was a tad steep, especially since I had never written a driver before, but once I figured out how to structure things and saw the system come alive, I grew to appreciate the approach IOKit takes.

With that said, I haven't developed drivers for any other platforms, so I really can't say if the abstraction is good compared to what's used by modern systems.
blkhp19
·3 เดือนที่ผ่านมา·discuss
My Wii has been on many planes and trains - and yes, there is a photo of each in my post.
blkhp19
·3 เดือนที่ผ่านมา·discuss
> Looking for private API behavior or working around bugs?

Exactly this!
blkhp19
·3 เดือนที่ผ่านมา·discuss
I'd be lying if I said it wasn't a very tiny part of my motivation :)
blkhp19
·3 เดือนที่ผ่านมา·discuss
I 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 :)
blkhp19
·3 เดือนที่ผ่านมา·discuss
There are bugs and undocumented behaviors that need to be understood in order to be worked around - I wish it wasn't the case but such is life developing for closed-source platforms.
blkhp19
·3 เดือนที่ผ่านมา·discuss
I only tested on Safari - whoops! Fixed now.
blkhp19
·3 เดือนที่ผ่านมา·discuss
Whoops, thanks! Fixed.