All information was referenced from this document
SWAV doesn’t appear in SDAT. They may be found in the ROM elsewhere. They can also be readily extracted from a SWAR file (see below).
Sample Info (SWAVINFO)
Position |
Type |
Name |
Description |
|
0x0 |
uint8 |
nWaveType |
0 = PCM8, 1 = PCM16, 2 = (IMA-)ADPCM |
|
0x1 |
uint8 |
bLoop |
Loop flag = TRUE |
FALSE |
0x2 |
uint16 |
nSampleRate |
Sampling Rate |
|
0x4 |
uint16 |
nTime |
(ARM7_CLOCK / nSampleRate) [ARM7_CLOCK: 33.513982MHz / 2 = 1.6756991 E +7] |
|
0x6 |
uiin16 |
nLoopOffset |
Loop Offset (expressed in words (32-bits)) |
|
0x8 |
uint32 |
nNonLoopLen |
Non Loop Length (expressed in words (32-bits)) |
|
Position |
Type |
Name |
Description |
0x0 |
char[4] |
type |
‘SWAV’ |
0x4 |
uint32 |
magic |
0x0100feff |
0x8 |
uint32 |
nFileSize |
Size of this SWAV file |
0xC |
uint16 |
nSize |
Size of this structure = 16 |
0xE |
uint16 |
nBlock |
Number of Blocks = 1 |
Data
Position |
Type |
Name |
Description |
0x0 |
char[4] |
type |
‘DATA’ |
0x4 |
uint32 |
nSize |
Size of this structure |
0x8 |
SWAVINFO |
info |
info about the sample |
0x14 |
uint8[1] |
data |
array of binary data |