zelda180 / seq64

Sequenced music editor for first-party N64 games

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

seq64 - Sequenced music editor for first-party N64 games.
Created by and Copyright (C) 2018 Sauraen, sauraen@gmail.com
Licensed under the GNU General Public License - see LICENSE.txt
Made using Juce Cross-Platform C++ Library version 3 (free for GPL use) - http://www.juce.com/

SEQ64 is a full-featured editor for sequenced music in first-party Nintendo 64 games.

Click the Wiki tab for more information. Program downloads are in the "bin" folder, or compile from source.

Features:

- Full MIDI import/export of sequences in Audioseq format
- Edit sequence data directly (e.g. to add commands not supported by MIDI)
- Create new Audiobank instrument sets from existing instruments
- Edit and tag instrument definitions
- Definitions of Audioseq and Audiobank formats are editable from the GUI and
  saved in human-readable XML files, not hard-coded; thus, compatible with all
  versions of games that use similar sequence formats
- Seamlessly recalculates CRC/CIC upon saving ROM
- Supports all three ROM byte orderings
- Yay0/Yaz0 compressor/decompressor tool
- Mature, comprehensible GUI
- GPL licensed, cross-platform (Juce C++, full-speed on Windows, Mac, Linux) 

Current project state:

- All features above are complete, minus occasional bugs. If you find a bug, 
  please contact me at the email address shown at the top of this file.

Available versions:

- 32-bit Windows 7/8/10
- 64-bit Windows 7/8/10
- 64-bit Linux (compiled and tested on Ubuntu 16.04) 

Games known to use sequenced music formats compatible with SEQ64:

- Super Mario 64 (+)
- Mario Kart 64 (+)
- Yoshi's Story (+)
- Legend of Zelda: Ocarina of Time: v1.0 (+)(*), v1.2 (+), Debug ROM (+)
- Legend of Zelda: Majora's Mask (+)(*)
- 1080 Snowboarding
- F-ZERO X
- Lylat Wars
- Pokemon Stadium
- Pokemon Stadium 2
- Wave Race 64 (+)

(+: RomDesc included) (*: Relevant data is stored in compressed format; must be decompressed before use) 

SEQ64 is NOT compatible with the sequenced music format in games not made by
Nintendo EAD/SRD, including Rare games or other third-party games. With some
modification it may be able to support their bank file format (instrument sets),
but the sequence file format is completely different. SubDrag's n64miditool has
limited support for these other games' sequence file format.


Tips/How To:

*Please read the wiki! https://github.com/sauraen/seq64/wiki or click on the
Wiki tab above!*

I recommend running seq64 from a terminal, lots of useful information is 
printed! If you're on Windows, the program opens itself in a terminal, so don't
worry about it.

If you already have a ROM and ROM Description File (RomDesc--see the RomDesc 
folder above), load each from their respective menus and some of the lists should
start filling in. Keep in mind that some of the RomDescs provided here are for
the uncompressed versions of the games; data may be at different places in 
compressed ROMs.

If you don't have an existing RomDesc for the game, the first step is to find 
the addresses of the Audioseq file (the first sequence) and of the Audioseq 
Index (a list of pointers to sequences). If a file table is present, you can 
use the file table to help locate these items; if not, you can enter their 
addresses manually. These are both "Known Files" (i.e. files that seq64 knows 
how to handle).

Click on your Audioseq Index entry in the Known Files list to show its contents 
in the index list. You can rename sequences (all properties like this are stored
in the RomDesc file). Click Load Sequence to load it from the ROM. Go to the 
Audioseq tab to work with the loaded sequence.

If you're starting working with a new game, start making a RomDesc for it, then
save it and open it in a text editor. Copy the whole "cmdlist" node from an
existing RomDesc so you have a starting point for the file format. Make sure you
get the XML right! (At least it's human-readable!)

About

Sequenced music editor for first-party N64 games

License:GNU General Public License v3.0


Languages

Language:C++ 60.5%Language:C 26.7%Language:Objective-C 9.7%Language:Objective-C++ 2.9%Language:Java 0.2%