Direct data.bin support is done thanks to Tachtig/Twintig/Dolphin. (unpacks to a temporary folder and repacks as necessary)
Game editing is nearly done, just need to deal with AI reading/writing.
Although it isn't technically needed, I'd really like to get Showcase checksums working. To reiterate, here is what I know:
There are 5 files in WarioWare D.I.Y. Showcase's save:
GDATA
RDATA
MDATA
SYS_0
SYS_1
Each has a 4 byte checksum at the beginning.
The checksums appear partially linear and partially non-linear:
Linear: When Showcase increments the save counters, the checksum goes up by the total sum of the counter increments.
Non-linear: When two content items are swapped, the game is saved, and they are swapped back, the checksum is now in the F9000000's from the C5000000's
When any file has a greater total byte value, the checksum can actually be less than that of a file with a lesser total byte value.
Every time data is deleted and recreated, the initial checksums are the same.
Changing content positions around in GDATA/RDATA/MDATA does not necessarily cause SYS_0/SYS_1 to change at all.
Swapping the positions of two bytes in a file invalidate the checksum, so it's maybe a custom CRC of some sort.
I've tried using Dolphin's debug mode, but the saves look chopped up in RAM or read from the NAND as necessary (all of the MIOR headers are bunched together). The code viewer probably has something meaningful in it. Where I know not.