So how does the wii work? Here’s general specs of the machine:
Many hardware sites say whats just on Wikipedia BTW
- 1 Core IBM Broadway PPC (new process low power G3/4 basically) @ ~750mhz
- 1 Core ArmV(7 or 9) coprocessor to handle updating and flashing the system with factory software @ ~200mhz
- ATI Hollywood GPU @ ~250MHz (was based on something not bad, @Fouquin would know)
- 24MB 1T Sram for system memory ( https://en.wikipedia.org/wiki/1T-SRAM ) IDK clock. Probably around 200MHZ or less because low power chips.
- 64MB GDDR3 @ ~200-450MHz with a 3MB buffer at half speed
Storage:
- Capable of storing saves to USB, SD, or Gamecube memory, on top of internal storage.
- Internal Storage (144MB NAND)
- SD Stock reads up to 32GB (can be broken to 48 in bootmii environments)
- CD Drive with 64MB cache (this cache can be used as extra memory elsewhere too)
- Mask Rom to hold the system firmware slices. Theres memory somewhere to store 8 slices total, counting up to the last 2 updates you installed, your current firmware, rollback, settings firmware, a rollback for the settings, disc loading environment, and the web browser.
- USB has no storage limitations that I am aware of. I also only own 16 GB USB sticks and I don’t feel like buying a 256 to test it out.
- Other slices are stored in system memory. I don’t remember if actual memory adds up to 196, or if that’s the PSP, and if it adds up to 96 your partitions go as follows:
1.2mb - boot environment
~20mb - main system slices
~15mb - updates
~8mb - rollback
144mb - user accessible memory
For memory sake, GC cards are accessible via USB to write and read from, but I don’t remember if they are actually on the bus or not. They could just be accessible for wiiware sake or something.
this is also representative of ring level sorta, meaning operator level {see: sun operator levels}
I’ll add a post about the CPU’s and GPU later and more about them specifically. Well even boot a Linux and pull data from there.
-
The USB bus is switchable between 1.1 and 2.0. That’s because the gamecube cards run on the USB bus. This also makes usb not only a main bus, but also means that gamecube cards are useable as storage with potential for other medial to be plugged into the bus. Tho, the biggest gamecube cards available are 512 last I knew, and that’s only because the GC could only address that much on that bus. It couldn’t handle more.
-
The DVD drive is in fact a DVD-R drive, and with a simple firmware flick-in you can install VLC and watch movies and shit.
-
You also get a Mitsumi DWM-W0004 wifi chip. I’m just making note of that really quick here.
-
Lastly, your video outputs are not in HD, even with an HDMI wire change. In can only output up to 480, but can handle 16:9, 10, and 4:3.
Great. That’s a lot more specs than you probably expected but lets start with the first most important thing that no one knows about.
So what the fuck is a slice
Heres an image for you.
Imagine this is your OS level on your wii ok.
So each part of the OS that runs on the wii, which btw its not Linux or bsd or anything, actually runs in parts. If I have a zipped up system menu firmware on a usb, I can plug that in once the wii gets to that first boot process and displays the health and safety screen and it will load that “applet” or “slice”. Then you have a system menu.
Theres also code in place to live replace stuff like system menu while you are in game, but I think I remember someone playing with that feature and bricking the unit. This means basically, you have your USB with your ZIP on it plugged in, and that ZIP can be packed back up and written over. If you’re into this shit, that’s a feat for this system to manage.
When you load more slices they will stay in memory and get knocked down an address. The System Menu and the Settings are always loaded, so you only have 4 slice addresses to use when in use. Which, if you’re me, I opened Netflix, youtube, loaded a disk, played an emulator, did 3 other things, then when I want to go back to youtube or Netflix it’ll take 5 minutes to clear all that space before it loads all the way.
Slices are also hotswappable. So if your wii has an update, your settings gets replaced or maybe it had a driver update, it won’t reboot from the system menu if it can help it. It actually doesn’t reboot most of the time if its something that’s not immediate, it just looks like it does. But the last states of your games or whatever you were doing are held in ram?
I don’t understand why they did that really but whatever.
So hopefully that makes sense. The USB bridge example is the only one that makes sense to me.
Also, slices are half handled by each other, half handled by the runtime environment. Its almost a hypervisor, but theres nothing past it.
Edit: this is only making sense to me just now, but the entire os system is basically software on a backplane.
You know I have a weird description in my head with VM’s being comparable, but I don’t think that applies here. And come to think of it theres something I need to mention on the side. Mostly because no one else does.
Unlike the PS3 or the 360, even the PS4 and XBONE, those systems used hypervisors and loaded other OS’s on top of the running OS, those being XP on the 360, FreeBSD on the ps3, W10 on the xbone, and still FreeBSD on the PS4.
The wii doesn’t have a hypervisor. Rather, it just live loads OS’s whenever it wants. And if a game calls for something from another slice, it can go all the way to ring 0 to say “hey I need this”.
So technically the wii runs machine code it doesn’t really have an OS to begin with, just apps. Take that one for the notes hahaha.
I will add a post later on the hardware differences in wii releases via serial number denotation.
So how do we run Linux on it?
Basic bitch shit.
Crack your wii: https://please.hackmii.com/
install bootmii from the homebrew app
follow instructions on whatever Linux distro you want out of the software store
I will write a more detailed post on BootMii later.
So… Why don’t you just do that and call it good? Why update?
Looking at the specs, I’d love to get some other stuff added to the feature list of something like archii. Maybe you can use the gamecube slots / cards as cache for a build off the AUR? IDK! But the system has so many capabilities, as you can see, that theres no reason NOT to add to it.
More later.
I’m trying so hard not to miss anything lol
I do want to note that info on specs and such is open to peer review as notes are taken from forums back in the day, and notes out there on newer units