Over the last few days I have been looking into the Taito audio engine in an attempt to understand it and modify/create a custom music track. This engine is much simpler in comparison to those by Konami and SunSoft so I figured it would be a good place to start out.
Searching the forums has produced a few threads pertaining to custom audio engines. I am unfamiliar with how well a custom audio engine would work with a game such as Bubble Bobble. My guess is a custom audio driver is used more in development rather than modifications.
Searching the web pointed me to some audio engine work previously done on Mega Man. This thread discusses reverse engineering the Mega Man 2 audio engine with a very nice text file detailing commands and note patterns. This text file was a great example of where to start in disassembling a game's audio engine.
Progress:
I have successfully identified Bubble Bobble's audio init, play, and sequencing routines. I have a disassembly project of the game's NSF with music tables, note sequence data, and register interactions labeled. At this point I think I am able to write my own music and insert the notes how I would like for the entire soundtrack. For example I believe I could take the sheet music from Metroid and get the notes in place to play during Bubble Bobble. However in reviewing the game's basic channel use I don't see any setup or use of samples. This makes porting music from other more complex games difficult I think.
Is modifying the game's audio engine to include channel 5 an impossibility? A simple example of outputting a sample on channel 5 might help me in understanding how it works. I am very comfortable working with assembly and interacting with channels 1-4 but I don't have experience with using samples on channel 5.
Searching the forums has produced a few threads pertaining to custom audio engines. I am unfamiliar with how well a custom audio engine would work with a game such as Bubble Bobble. My guess is a custom audio driver is used more in development rather than modifications.
Searching the web pointed me to some audio engine work previously done on Mega Man. This thread discusses reverse engineering the Mega Man 2 audio engine with a very nice text file detailing commands and note patterns. This text file was a great example of where to start in disassembling a game's audio engine.
Progress:
I have successfully identified Bubble Bobble's audio init, play, and sequencing routines. I have a disassembly project of the game's NSF with music tables, note sequence data, and register interactions labeled. At this point I think I am able to write my own music and insert the notes how I would like for the entire soundtrack. For example I believe I could take the sheet music from Metroid and get the notes in place to play during Bubble Bobble. However in reviewing the game's basic channel use I don't see any setup or use of samples. This makes porting music from other more complex games difficult I think.
Is modifying the game's audio engine to include channel 5 an impossibility? A simple example of outputting a sample on channel 5 might help me in understanding how it works. I am very comfortable working with assembly and interacting with channels 1-4 but I don't have experience with using samples on channel 5.