From CloudModding OoT Wiki

z64porter
Original author(s) spinout
Written in C (Older versions were Python)
Operating system Cross platform
Available in English
Type CLI tool
License Open Source
Website z64porter at vg64tools.

First

What the hell was I doing? It had rather shitty results and was a pain in the ass to use - it required file extracts.

Second

Replacement for initial version, again written in python, but had much cleaner and effective operation. Did not require file extracts, unlike the initial version. It translated actors to try and make the ported areas as similar as they were in MM as they end up being in OoT.
z64porter-1.3.0 (Python package, requires python 2.x!)

GUI Usage

  1. Launch z64porter-gui.py. Most Python installations in Windows should associate .py files with C:/Python2x/Python.exe, so double-clicking it is sufficient. It can also be launched from the command line, by invoking python with z64porter-gui.py as the one and only argument.
  2. A window should pop up asking for your Master Quest debug ROM. This is the ROM you are going to port to.
  3. Another window should pop up asking for your decompressed Majora's Mask ROM. This is to be a 1.0 (U) version decompressed with zdec. If it detects that the ROM is not decompressed, a message will pop up informing you that it is an illegal ROM, and the program will then exit.
  4. Another window should pop up, asking which scene number to replace in OoT. Valid values range from 0 to 109, and are documented here.
  5. Another window should pop up, asking which scene number to port from MM. Valid values range from 0 to 105, and are documented here. Do note that the values which have 0 for pointers are invalid, and that a few scenes fail to port.
  6. Another window will show up, asking if you want to specify an address to insert the port at. For most intents and purposes, you can answer 'No'
  7. A window will pop up asking you if you want to port in safe mode. Do so if you tried it not in safe mode and it didn't work.
  8. A window will pop up asking you if you would like to use your own music value. If you select yes, a new window will pop up asking you for a music value.
  9. A window should pop up indicating that the port was either successful of failed. It can fail because of bad input given in the previous steps.
  10. If it was successful, it will ask you if you want to do another port. If you choose yes, it will go back to step 4 and allow you to repeat the process over again. You will not be asked what address to port it to if you answered "No" when asked previously. If you choose not to do another port, the program will exit, and your port(s) will have been completed

CLI Usage

python z64porter.py <rom to port to> <rom port from> <scene to port over> <scene to port> [options]
Options:
-q be less verbose
-o OFF port to offset OFF
-s port in safe mode
-m VAL use music VAL

Current (stalled development)

Replacement for second rewrite, written in C, with the intention of working with all Zelda 64 ROMs. Unlike other versions, respects the filesystem. It *is* working, though it requires more thorough testing before it can be called complete. Uses ZZT32's libn64rom and libz64 to handle ROM/Zelda specific functions, many thanks to him!