@@ -2,10 +2,10 @@ n64split: N64 ROM splitter, texture ripper, recursive MIPS disassembler
22--------
33
44The idea behind n64split is to be able to split a ROM into various components:
5- assembly code, textures, level data, audio data; and add on a build system that
6- is able to take changes made to those files and reconstruct a ROM. �The
7- resulting ROM is almost bit for bit compatible, with exception of some macro
8- instruction translation and relocation of MIO0 data.
5+ assembly code, textures, level data, geometry data, behavior data, audio data;
6+ and add on a build system that is able to take changes made to those files and
7+ reconstruct a ROM. The resulting ROM is almost bit for bit compatible, with
8+ exception of some macro instruction translation and relocation of MIO0 data.
99
1010The disassembler is recursive, so it will disassemble all procedures it
1111discovers through JALs. �It also somewhat intelligently decodes instruction
@@ -16,13 +16,14 @@ Usage:
1616n64split -c sm64.config "Super Mario 64 (U).z64"
1717
1818This will split the ROM based on the contents of the configuration file
19- "sm64.config". See the comments in that file if you want to addapt it.
19+ "sm64.config". See the comments in that file if you want to adapt it.
2020
2121Output:
2222gen/
23+ +- behavior_data.s - behavior command bank*
2324 +- sm64.s - top level assembly*
2425 +- Makefile.gen - generated Makefile with texture and level dependencies
25- +- bin/ - raw binary data from undecoded and MIO0 blocks
26+ +- bin/ - raw binary data from undecoded sections and MIO0 blocks
2627 +- levels/ - decoded level data
2728 +- textures/ - all ripped textures*
2829
@@ -38,7 +39,12 @@ inefficient MIO0 compressor.
3839need to either build or obtain** mips64-elf binutils on your own if you want
3940to rebuild the image.
4041
41- ** https://dragonminded.com/n64dev/
42+ ** The developer of cen64 also makes n64tool which provides prebuilt
43+ mips64 toolchains. The current list is below, but you can find more info
44+ on his website: http://git.cen64.com/?p=n64tool.git
45+ Windows (IA-32) : http://downloads.cen64.com/n64tool-win32-latest.zip
46+ Windows (x86_64) : http://downloads.cen64.com/n64tool-win64-latest.zip
47+ Linux (x86_64): http://downloads.cen64.com/n64tool-linux64-latest.tgz
4248
4349Usage: With mips64-elf bin directory in your PATH, just run 'make' from the
4450command line, and it will handle the rest.
@@ -55,6 +61,15 @@ Complete ROM is sm64.gen.z64
5561Source is MIT licensed and available at:
5662https://github.com/queueRAM/sm64tools/
5763
64+ n64split makes use of the following libraries:
65+ - libpng: PNG decoding and encoding
66+ - capstone: raw MIPS disassembler
67+ - libconfig: config file reading
68+
5869Changelog:
70+ v0.2a: Most scripts decoded
71+ - supports decoding level scripts, geometry layout, behavior scripts and assembly routines
72+ - adds many more procedure labels
73+ - automatically generates linker script from config file
5974v0.1a: Initial release
60- - supports texture ripping, level decoding, and recursive disassembler
75+ - supports texture ripping, level decoding, and recursive disassembler
0 commit comments