Star Revenge 3: Mario on An Saoire
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sm64extend v0.2.1 - fast, compatible SM64 ROM extender
#1
queueRAM Wrote:This is a replacement for the M64ROMExtender and adds a few new features. It is written in C and compiles for Windows and Linux 32/64 bit (probably OSX as well, but untested). I released it under the MIT license so it can be included in any of your projects.


By default, it creates a 64MB extended ROM that is bit compatible with the extended ROM that M64ROMExtender1.3B generates and further extended to 64MB (before the patches are applied by SM64 Importer 1.9.2S). I have tested the resulting extended ROMs with SM64 Importer 1.9.2S and Toads Tool 64 v0.6.2S.

Download sm64extend 0.2.1 (win32)
Source Code and Project Page

New features:
  • configurable extended ROM size (default 64 MB)
  • configurable padding between MIO0 blocks (default 32K)
  • configurable MIO0 block alignment (default 1 byte)
  • option to fill original MIO0 blocks with 0x01
  • built-in ROM header CRC computation (non-GPL!)
  • works with both US and Japanese ROMs (plays in emulators, but TT and level importer won't work with (J) ROMs)
  • small: 12KB binary
  • fast: extends in < 0.5 seconds
M64ROMExtender compatible features:
  • accepts Z64 (BE) or V64 (byte-swapped) ROMs as input
  • fills extended area with fills with 0x01
  • inserts 32 KB padding between MIO0 blocks
  • decompresses all MIO0 blocks from ROM to extended area
  • changes all 0x18 commands to 0x17
  • creates MIO0 headers for all 0x1A commands
  • updates assembly reference to first MIO0 block
  • dumps MIO0 blocks to 'mio0files' directory
Usage:
Just drag-and-drop SM64 ROM on the executable for default settings or run from the command prompt specifying these options:

Code:
sm64extend [-s SIZE] [-p PADDING] [-a ALIGNMENT] [-d] [-f] [-v] FILE [OUT_FILE]

Options:
Optional arguments:
-s SIZE      size of the extended ROM in MB (default: 64)
-p PADDING   padding to insert between MIO0 blocks in KB (default: 32)
-a ALIGNMENT byte boundary to align MIO0 blocks (default: 1)
-d           dump MIO0 blocks to files in 'mio0files' directory
-f           fill old MIO0 blocks with 0x01
-v           verbose progress output

File arguments:
FILE        input ROM file
OUT_FILE    output ROM file (default: replaces FILE extension with .ext.z64)


If you have any questions or suggestions, feel free to post them here or on the github project page. Since it is MIT licensed, I welcome you to include the source or binaries in your projects - just include a copy of the license file.

Original post by queueRAM from origami64.net
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)