ROM Hack WarioWare D.I.Y. Editor

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
There are two checksum related things. Checksums.java handles mio-related checksums while DSSave.java has checksum code for the DS saves themselves. It'd really be nice if someone could figure out Showcase checksums for *DATA and SYS_0/SYS_1. I have absolutely no idea what Nintendo did there or more importantly why they did it. Showcase checksums look like the first four bytes of each file, although SYS_0/SYS_1 probably have backups of *DATA's checksums. They also appear linear, but make no sense. Maybe they are masked with a unique ID or something.
 

Brakum

New Member
Newbie
Joined
Apr 13, 2014
Messages
1
Trophies
0
Age
41
XP
69
Country
United States
Oh wow, you can actually export the midi versions of the songs, this is amazing, please keep up the awesome work.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
Maybe. At the very least, it will be on git when it is finished. I like to polish my code before I share it and I only polish it when it's fully functional.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
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.
 
  • Like
Reactions: Nightwish and HNKii

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
Currently working on support for special characters in titles, descriptions etc. US DIY is almost ASCII with minor changes. Special symbols for the US version are 2 bytes. In the Japanese version, all characters have 3 bytes which is kind of obnoxious. Currently the US version is complete, the Japanese one is about half done (all of the symbols&romanji letters, none of the kanji etc).
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
Next update will have:
Proper support of Japanese and Special characters
Batch-tagging to tag every mio file in a folder
Minor record->midi tweaks.

Also, unless someone else wants to make the interface, editing of records/comics/sprites etc will not be supported. All the backend code is there (except for AI), but as I've said before I hate making interfaces.
 

Larsenv

Dr. Wii, Ph.D
Member
Joined
Sep 28, 2013
Messages
872
Trophies
2
Website
larsenv.xyz
XP
3,314
Country
United States
Next update will have:
Proper support of Japanese and Special characters
Batch-tagging to tag every mio file in a folder
Minor record->midi tweaks.

Also, unless someone else wants to make the interface, editing of records/comics/sprites etc will not be supported. All the backend code is there (except for AI), but as I've said before I hate making interfaces.
What do you mean by tagging every MIO file in a folder??
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
It renames them nicely like this:
x8GwJLo.png
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
will this work for real warioware diy I also don't know how to use this ?
You can't use a real cart directly. You either need a flash cart that supports WWDIY or WWDIY Showcase for the Wii to get it on your real cart. Alternatively, you can use an emulator if you don't care about moving content to and from your real cart.
 

Dann Woolf

Deadpan Snarker
Member
Joined
Oct 12, 2010
Messages
362
Trophies
0
Age
34
Location
Deventer
XP
284
Country
Netherlands
You say you're going to add an option for unlocking achievements. Would it be possible to let users choose which achievements they want to lock/unlock instead of just unlocking them all at once?
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
You say you're going to add an option for unlocking achievements. Would it be possible to let users choose which achievements they want to lock/unlock instead of just unlocking them all at once?
Requires too much effort. All I know is that there is a block of bytes that represent the achievements, and setting them all to 02 unlocks them. I don't know what the individual achievements are.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,236
Country
United States
If you want to build a table of medals and their offsets, the medal blocks are at
0x2C31-0x2CA8 and 0x5C31-0x5CA8 (backup). And 06 = medal unlocked, not 02.
 

cragler

New Member
Newbie
Joined
Dec 3, 2008
Messages
2
Trophies
0
XP
120
Country
United States
Being able to export midi's with this makes this downright incredibly useful. Your latest jar doesn't work for me though. Your older one: untitled4.jar works fine. Looking forward to more updates, and let me know if you want help.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: *Renewed. I don't like or trust "renewed, refurbished, reconditioned" anything.