How to Analyze Sequenced Video Game Music
This document introduces my generic analysis method for sequenced video game music. I hope this will help your research.
Prerequisites
The following knowledge is necessary to understand this document.
- Bit, byte, endianness
- Decimal number, hexadecimal number (hex), two's complement
- Basic knowledge about MIDI
The following knowledge is not a must, but it will help you to understand this document more deeply.
- Specification of Standard MIDI File (SMF)
- Hardware specification of the target platform (console, handheld)
- Especially, it is good to know what plays a sound, and how to play a sound.
- Experience of programming language (for instance, C) and assembly
- This document does not require code analysis, but they will definitely help you to imagine the background of the music driver.
- Debugger tools
- Compression algorithms (such as RLE or LZSS)
How to Analyze Sequenced Video Game Music
This document introduces my generic analysis method for sequenced video game music. I hope this will help your research.
Prerequisites
The following knowledge is necessary to understand this document.
- Bit, byte, endianness
- Decimal number, hexadecimal number (hex), two's complement
- Basic knowledge about MIDI
The following knowledge is not a must, but it will help you to understand this document more deeply.
- Specification of Standard MIDI File (SMF)
- Hardware specification of the target platform (console, handheld)
- Especially, it is good to know what plays a sound, and how to play a sound.
- Experience of programming language (for instance, C) and assembly
- This document does not require code analysis, but they will definitely help you to imagine the background of the music driver.
- Debugger tools
- Compression algorithms (such as RLE or LZSS)
Memory Addresses Of Emulators
This is the list of addresses where emulators have their ROM/RAM. All the following formulas are for MHS's "Complex Address".
By attaching MHS (or similar debugger tool) to an emulator, you will be able to add some debugging functions, such as RAM tools and read/write breakpoints.
Searching these addresses is not so difficult (it is boring though). I suggest you to learn from Cheat Engine's tutorial if you want to find a new address.
Thanks to my friends for contributing these addresses.
Read more