Ponpoko Driver - grgowski/WSGSound GitHub Wiki

Ponpoko by Sigma Enterprises Inc. (1982). Uses the same hardware as Pacman (Namco PuckMan).

Ponpoko Sound Driver

Ponpoko features 12 songs which comprise both special effects (song 1-8) and in-game tunes (9-12). The song data is stored at 0xA358 (SONG_BASE) which contains 12 16-bit addresses for each song. The locations start from the address 0xA370 and in turn contain 12*3 addresses to individual three channels for each song. The first song and first channel start at 0xA3B8. The song info consists of individual events of 6 bytes (channel 1) or 5 bytes (channel 2&3). The first byte indicates duration (0x00-0xFE in vblank ticks (i.e. 1/60 s)), the second volume (0x00-0x0F), and the remainder is a register value (4 bytes for channel 1 and 3 bytes for channel 2&3). The register value is in its unpacked version so that only 4 low nibbles of each byte are considered. The order is little-endian so least significant byte first. The song block ends at 0xB1C7 taking 3599 bytes in total.

Song nr Address Song Address
1 0xA358 0xA370

In addition, each channel has an associated wave number which is stored at 0xA31C (WAVE_BASE) which contains 12 16-bit addresses for each song. The locations start from the address 0xA334 and in turn contain 12*3 wave nr values for individual three channels for each song.