Hacking Homebrew Project Making homebrew for MINI

NO111ONE

Active Member
OP
Newcomer
Joined
Apr 28, 2024
Messages
32
Trophies
0
XP
161
Country
Russia
Good evening!

I've gotten pretty bored and decided to make homebrew for MINI. For noobs this is what CEIL1NG_CAT (i'll call it ccat) uses (aka the gui you know as bootmii, check out the credits!) as its' IOS.
Despite the fact that it is mostly abandoned by now, I consider maintaining it in some way good practice.
As a start I decided to compile mini and ppcskel.

Mini itself compiled fairly easily. I set WIIDEV to the root of devkitARM (today that's /opt/devkitpro/devkitARM) and got a fully functional armboot.bin sizing 34KB. I tested it with ccat and it loaded okay: "mini 0.4-2-gfc12*".
The problems rose with ppcskel. To my knowledge that is the only open-source mini PPC implementation available. CCat is closed-source, gc-linux/MIKE doesn't have an obvious "make mini binary" guide, marcan clearly said that the hackmii installer won't be made open-source, so that leaves ppcskel as the only option.
I made a variable an extern, removed the `-mpaired` flag from C and `-nostartfiles` from LD as well as changed the toolchain from a powerpc-elf to a powerpc-eabi; got a 48kb ppcboot.elf and it doesn't boot. When giving it to mini, nothing happens and when giving it to ccat, the screen glitches twice like something is loading but then I suddenly jump to the system menu (presumably mini gave up).

I also noticed that editing basically any function makes ccat lock up instead of glitching the screen. Nothing changes when loading through mini: no video out, no nothing.
Which makes me ask: does anyone have or know any working "template" for programs using mini? Or should I just abandon this idea and start relying on AHBPROT? I know I can do the latter without all this hassle, but as I said in the beginning: keeping things afloat is more or less good practice.

Sources if you're not knowledgeable or need a bit more clarity...
* what is MINI: https://wiibrew.org/wiki/MINI
* MINI source code: https://github.com/fail0verflow/mini
* ppcskel source code: https://github.com/lewurm/ppcskel
* my homemade version of MINI:
1722453064132.png
* somewhat not working ppcskel:
1722453225224.png

Hope I'm not the only one that gave this a shot :wacko:
 

NO111ONE

Active Member
OP
Newcomer
Joined
Apr 28, 2024
Messages
32
Trophies
0
XP
161
Country
Russia
just so that nobody gets scared that the idea has died as quick as it appeared. no it didnt die I was just lending video cables from a friend while I was getting new ones

incroyable discovery!!!!

Yes I did get code running under mini after scavenging repositories. The repo I found was https://github.com/r00t1024/nandflasher
After making a bit of changes to it:
1723131915480.png

correct, powerpc-none-elf compilers must be used which you do not get with devkitPPC, but you can make them yourself. I hope.

I got code execution under mini:
exhibit a) execution
IMG20240801180841.jpg

exhibit b) result (please believe me)
rn_image_picker_lib_temp_ca8375e2-5eb1-45a1-a153-4fa29ece0d75.jpg
Obvious warning for adventurers to not run this for no reason because it will restore blocks 8-4095 without any questions if it finds a nand.bin on the SD. Awesome discovery for RVL-101's however.

After making some changes I got a makeshift minute-like-ish design:
1723132631893.png

there is now an option to boot menu, hbc (out of "frame"), or dump otp+seeprom/nand
one funny bug I noticed is that pressing RESET spams it. so if you will make anything, try to leave RESET to slow actions.
The tests clock in at approx. 50 min to dump NAND and 22 minutes to restore it. Also if you read the source code you noticed that the buffers for fatfs are malloc'd, and I tried to free() after dumping but locked up.. so, that's a bug. :P but no worries, the NAND works in dolphin
Of course CEIL1NG_CAT does it in a more efficient way (clocking at about 15 minutes total for dump+verification!), so you should still use it, but I'm not gonna stop here and try to make something versatile. Mini can hook up basically anything we want it to hook up and there are already premade drivers for USB keyboards, ISFS/SFFS (which fail0verflow didn't add at first), so on so forth, so the abilities are endless and limitless! at the cost of no wii remotes, XD

Nontheless this isn't bad. I'll probably come up with something to add, but this is what I get to work with for now.
Sorry I'm not yet pushing releases because this is massively undone, but you can probably figure everything out.
Best of luck to you!
 
  • Like
Reactions: lordelan and XFlak

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: So he doing like Jared?