ff3:ff3us:tutorial:music:songdata

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ff3:ff3us:tutorial:music:songdata [2018/04/22 23:40]
lockirby2 Almost done
ff3:ff3us:tutorial:music:songdata [2019/02/12 12:05] (current)
Line 3: Line 3:
  
 ==== 1. Getting the file and tool ==== ==== 1. Getting the file and tool ====
-We'll be using the FFIV song [[https://www.ff6hacking.com/misc/songsdata/FF4_prologue.7z|"The Prologue"]] from our [[https://www.ff6hacking.com/forums/thread-2558.html|Song Database]]. The other thing you will need is a hex editor. There are many you can choose from, but I'd suggest one that has copy selection, paste-write, and paste-insert functionalities. One good all purpose hex editor is {{rh:util:hex:hxd_1.7.7.0.zip|HxD}}, and this is what has been used to take the screenshots below.+We'll be using the FFIV song [[https://www.ff6hacking.com/misc/songsdata/FF4_prologue.7z|"The Prologue"]] from our [[https://www.ff6hacking.com/forums/thread-2558.html|Song Database]]. The other thing you will need is a hex editor. There are many you can choose from, but I'd suggest one that has copy selection, paste-write, and paste-insert functionalities. One good all-purpose hex editor is {{rh:util:hex:hxd_1.7.7.0.zip|HxD}}, and this is what has been used to take the screenshots below.
  
 ==== 2. Files we will be importing ==== ==== 2. Files we will be importing ====
Line 92: Line 92:
  
 ==== 8. Details on song channels ==== ==== 8. Details on song channels ====
-One thing that differs between songs available on the forum and original songs are the channel pointers in the song. Below is a channel of //The Prelude// and the song at the end loop toward the beginning of the blue section. The last command is //F6 02 04//, which loops the song by going back to the offset that is 0x0402 bytes after the start of the song. For every song in the original game, these commands are relative to their offset in the ROM, so this F6 command would look similar to //F6 8E F3// ($C8F38E) instead. However, it would not be exactly this because a song don't redo the first channel commands. I wanted to talk about this because such a tutorial would not have been possible with an unmodified original song. If you moved or inserted a song, you would have needed to change every song loop command and channel pointer! By having the custom song channel pointers start at 00 00 and not the song offset's last two bytes, we make the process a lot easier.+One thing that differs between songs available on the forum and original songs are the channel pointers in the song. The image below shows a channel of //The Prelude//. The song loops from the end of the highlighted section to its beginning. The last command is //F6 02 04//, which loops the song by going back to the offset that is 0x0402 bytes after the start of the song. For every song in the original game, these commands are relative to their offset in the ROM, so this F6 command would look similar to //F6 8E F3// ($C8F38E) instead. However, it would not be exactly this because a song don't redo the first channel commands. I wanted to talk about this because such a tutorial would not have been possible with an unmodified original song. If you moved or inserted a song, you would have needed to change every song loop command and channel pointer! By having the custom song channel pointers start at 00 00 and not the song offset's last two bytes, we make the process a lot easier.
  
 {{ff3:ff3us:tutorial:music:songdata:sd-channel.png}} {{ff3:ff3us:tutorial:music:songdata:sd-channel.png}}
  • ff3/ff3us/tutorial/music/songdata.1524440431.txt.gz
  • Last modified: 5 years ago
  • (external edit)