11# sm64tools
22Collection of tools for manipulating the Super Mario 64 ROM
33
4+ ## n64split
5+ N64 ROM Splitter and Build System
6+ - splits ROM into assets: asm, textures, level, geo, behavior data
7+ - generates build files to rebuild the ROM
8+ - built-in recursive disassembler
9+ - generic config file system to support other games
10+
11+ ### Usage
12+ ``` console
13+ n64split [-c CONFIG] [-v] ROM
14+ ```
15+ Options:
16+ - <code >-c CONFIG</code > ROM configuration file (default: sm64.config).
17+ - <code >-v</code > Verbose output.
18+
19+ Output files are stored in the 'gen' directory.
20+
421## sm64extend
522Super Mario 64 ROM Extender
623 - accepts Z64 (BE) or V64 (byte-swapped) ROMs as input
@@ -9,15 +26,15 @@ Super Mario 64 ROM Extender
926 - configurable extended ROM size (default 64 MB)
1027 - configurable padding between MIO0 blocks (default 32 KB)
1128 - configurable MIO0 block alignment (default 1 byte)
12- - changes all 0x18 commands to 0x17
13- - creates MIO0 headers for all 0x1A commands
29+ - changes all 0x18 level commands to 0x17
30+ - creates MIO0 headers for all 0x1A level commands
1431 - optionally fills old MIO0 blocks with 0x01
1532 - optionally dump compressed and uncompressed MIO0 data to files
1633 - updates assembly reference to MIO0 blocks
1734 - recalculates ROM header checksums
1835
1936### Usage
20- ```
37+ ``` console
2138sm64extend [-s SIZE] [-p PADDING] [-a ALIGNMENT] [-d] [-f] [-v] FILE [OUT_FILE]
2239```
2340Options:
@@ -32,22 +49,22 @@ Output file: If unspecified, it is constructed by replacing input file extension
3249
3350### Examples
345164 MB extended ROM that is bit compatible with with generated from the M64ROMExtender1.3b, after extending to 64 MB
35- ```
52+ ``` console
3653sm64extend sm64.z64
3754```
3855
395624 MB extended ROM that is bit compatible with the ROM generated from the M64ROMExtender1.3b
40- ```
57+ ``` console
4158sm64extend -s 24 sm64.z64
4259```
4360
4461Enable verbose messages and specify output filename:
45- ```
62+ ``` console
4663sm64extend -v sm64.z64 sm64_output.ext.z64
4764```
4865
4966Pad 64 KB between blocks, align blocks to 16-byte boundaries, fill old MIO0 blocks with 0x01:
50- ```
67+ ``` console
5168sm64extend -p 64 -a 16 -f sm64.z64
5269```
5370
@@ -61,7 +78,7 @@ Experimental Super Mario 64 ROM alignment and compression tool
6178 - recalculates ROM header checksums
6279
6380### Usage
64- ```
81+ ``` console
6582sm64compress [-a ALIGNMENT] [-c] [-d] [-v] FILE [OUT_FILE]
6683```
6784Options:
@@ -71,3 +88,16 @@ Options:
7188 - <code >-v</code > Verbose output.
7289
7390Output file: If unspecified, it is constructed by replacing input file extension with .out.z64
91+
92+ ## Other Tools
93+ There are many other smaller tools included to help with SM64 hacking. They are:
94+ - f3d: tool to decode Fast3D display lists
95+ - mio0: standalone MIO0 compressor/decompressor
96+ - n64cksum: standalone N64 checksum generator. can either do in place or output to a new file
97+ - n64graphics: converts graphics data from PNG files into RGBA or IA N64 graphics data
98+ - mipsdisasm: standalone recursive MIPS disassembler
99+ - sm64geo: standalone SM64 geometry layout decoder
100+
101+ ## License
102+
103+ MIT License. Copyright 2015 queueRAM.
0 commit comments