|
xdaniel 980 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Level: 64 ![]() Posts: 33/982 EXP: 2153584 For next: 60513 Since: 12-04-08 Pronouns: he/they From: Germany Since last post: 25 days Last activity: 50 min. |
|
| (Not difficult to use anymore, but read on...)
Around the time I first messed with what would eventually lead to the original OZMAV, I also looked at a few other N64 games, getting and using data from them, etc. One of them was Starfox 64, which normally uses MIO0 compression for quite a bit of data. Peeking into the ROM, I ended up finding its DMA table (or file offset table or whatever), figured out how it works, and tried writing a ROM expander tool... which didn't work out, so I left it at that. Fast forward to about two hours ago. Having added filename table support (for the MQ Debug ROM) and a file extractor function to OZMAV2, as well as after recieving a PM about the SF64 branch of OZMAV1 here a few days ago, I somehow felt reminded of this old experiment... And lo and behold, I made a mere typo back than! I used the wrong start offset for originally uncompressed data, the physical one of the old MIO0 block, instead of the virtual one which is now also the physical one! So, much cleaning up and stuff later - god, my coding skill was so bad back than, it's at least improved somewhat - here's a working ROM expander for Starfox 64! New version: http://magicstone.de/dzd/random/sf64exp_v1.rar More info two posts below this one! Usage: "SF64Dec2 Both, the uncompressed ROM filename and options are optional, the former defaulting to "sf64_dec.z64" if no name is given. The only possible option is "-d", which gives information about all files in the table as well as the relocation process. Important: The program can not extract and uncompress MIO0 data by itself! You will need an external program for extracting them, after which they must be placed inside a folder called "mio0data" inside the working directory, each file named after the offset the MIO0 block comes from, ex. "0086F2C0". Also, the checksum has to be fixed after generating the expanded ROM. If anyone has documentation and/or code for MIO0 decompression and checksum calculation, please let me know! ____________________ cu xdaniel |









