-
Notifications
You must be signed in to change notification settings - Fork 24
QuickStart
Sauraen edited this page Mar 1, 2021
·
15 revisions
Quick Start Guide for SEQ64
- Download the correct version of SEQ64 for your platform, or compile it from source.
- Run SEQ64.
- Click ROM > Load... and select your Super Mario 64 ROM. This can be any type ROM (.n64, .v64, .z64). The RomDesc below has the addresses for the (U) ROM; I don't know if they're different for others, since I only own the US SM64 cartridge.
- Click RomDesc > Load... and select the RomDesc file, sm64_info.xml.
- In the Known Files box, click on Audioseq Index. The Index Entries box on the right shows all the sequences in the game.
- Select a sequence.
- Edit its name if desired. If you edit information like this, click RomDesc > Save to save your changes.
- In the Instrument Sets list, select one of the instrument sets associated with this song. (In most cases there is only one.) Drop down the box below it to change the instrument set.
- After making changes like this, click ROM > Save to save the changes to the ROM. The CIC will be automatically recalculated.
- Select a sequence and click Load Sequence. Switch to the Audioseq tab.
- The sequence data is viewable and editable in the area on the right. Edit as desired (good luck, but you won't break anything if you don't save the ROM). The definitions for sequence commands are editable on the left. Probably don't edit these, unless you're trying to make a RomDesc for a new game.
- Switch to the MIDI File tab.
- Adjust Global and Export Settings to taste.
- Click Export MIDI. Save the MIDI file somewhere. Unless the instrument sets have been tagged with General MIDI program numbers (most of the instrument sets in OoT), the program changes will use the game's own numbering, so the wrong instruments will be played. While changing these is trivial before or after export, many N64 games use alternative drum mappings, and fixing these is harder.
- Load the ROM and RomDesc.
- Go to the MIDI File tab.
- Adjust the Import Settings as desired. Set the Seq Format and Seq Type commands to match those used typically in sequences in this ROM (if necessary, load a random sequence--preferably not the first one, as that usually has a different type--and see what they are). SM64 uses Seq Format of 0x80 and no Seq Type.
- The "jump-to-sections header" option is not fully implemented yet. There's no harm in leaving it enabled, but if you want the feature to work you will have to edit the sequence manually after importing (contact me if you're interested in this). The way this is supposed to work is if sections are found (do this by making markers (Meta text 0x06) in any one track in the MIDI file that say "Section #" where # is the section number), seq64 will write a header that will allow playback to resume from the specified section when the player enters a house and then exits to the area with your song. (Supported in OoT; not sure how SM64 ROM will handle this.)
- Keep in mind that pitch bend messages in MIDI have a default range of 2, while in the Audioseq format they have a default range of 6 or 12. You will have to scale the pitch bend messages in your MIDI file to one third or one sixth of their original values.
- Pointer Type matters for sequences that are called from other sequences (like the sections in Hyrule Field). If you're not doing fancy things, leave it on the default.
- The Audioseq format has these really cool features where data that is used multiple times is only written once, and then "called" several times like a function. In addition, data that is repeated is written once with a loop command. seq64 analyzes the MIDI file for data like this and generates calls and loops. These have been extensively debugged, but it's possible there are still issues with them, so if you're having issues try turning off calls and loops. If that solves your problem, contact me because it's probably my bug! Otherwise, using both will produce the smallest sized file.
- Make sure the MIDI Global Settings match your MIDI file.
- Click Import MIDI and select your MIDI file. The interface will freeze for a few seconds, but the terminal will print out information about its progress on importing. Watch especially for any error messages.
- The sequence will be loaded into the Audioseq tab. At the very least, you will have to edit the instrument each channel uses. Click on each sequence section labeled "Chn" and find the Instrument command. Edit the value to the index (usually 0-15) of the desired instrument in the Audiobank file you will use with this sequence.
- Note the sequence length shown at the top of the Audioseq tab. Go back to the Files Tab and choose an existing sequence that's at least that long. Click Save Sequence to save over that sequence.
- Select the appropriate instrument set by choosing the index from the list below (usually there's only one instrument set per sequence) and then changing it to the desired instrument set with the combo box below that.
- Save the ROM (preferably make a backup copy first...)
The only difference here is that these games have sections of compressed data in the ROM, and they must be decompressed before they work. Download ZDEC and run it on your ROM. It works on all N64 versions of both games that I know of, but the resulting ROM it produces for Majora's Mask is mangled--it will work with SEQ64 to get the music out, but it will not run in an emulator. Also, I put up RomDescs for the Ocarina of Time (U) v1.0 ROM, the (U) v1.2 ROM, and the Debug ROM.