PAT file

PAT files contain structured data to patch already loaded Z80 code. They're used to replace sound samples addresses originally loaded from Z80 files when different PCM files are used.


 * Maximum file size: ?
 * Type code: 5
 * Loaded into: 68k program DRAM. Bios then decodes and patches into Z80 RAM
 * Banks: 0

=Format=

Blocks of 5, 16bit values:

If third data word is 0x0000 both the third and forth patches are skipped.
 * Patch address (in bytes, all the $0000~$FFFF range seems to work)
 * First data word is (/2), byteswapped and written to address
 * Second data word is (/2)-1, byteswapped written to address+2
 * Third (optional) data word is (/2), byteswapped and written to address+4
 * Fourth (optional) data word is (/2)-1, byteswapped written to address+6

When loading a PAT file (see Loading files) the bank number and destination address vars can be used to alter all data words that are patched. This allows PCM data associated with a PAT file to be loaded into different regions of PCM RAM without the need of multiple PAT files. Code snippet from TOP-SP1 bios that handles this below.