Metal Gear Solid 4 - .spc format

Codecs, formats, encoding/decoding of game audio, video and music
Zoft
Posts: 1
Joined: Sun Apr 10, 2022 1:42 pm

Metal Gear Solid 4 - .spc format

Post by Zoft »

I searched around the site quite a few times to make sure I didn't accidently miss any posts related to what I'm asking about and didn't find anything, with that in mind does anyone know if any users made a BMS script for the .spc files from Metal Gear Solid 4? The MTA2 codec was eventually found out and posted for public usage and with this a tool was made that was able to convert the .bgm and some other formats to .wav files to be able to be played/replaced but the .ssp and .spc files never got the same treatment. I was working with someone from VGMstream and they ended up using the data I have from the .elf version of MGS4 I have to be able to convert the .ssp files to .wav but his reponse to .spc was the following: " As for .spc since it's just a bunch of .ssp don't think it's worth adding, should be easy enough to split with some custom bms (there is an offset/size in sectors table at the end)." and recommended me to potential ask about it in Zenhax.


I have a bunch of information from the game's source code that described what it expects for the formats:
https://github.com/vgmstream/vgmstream/ ... 7056b73ec1 <--- The commit to their Github involving the .ssp format.

All of the SSP & SPC files in-game (archive is 900 MBs):
https://drive.google.com/file/d/1ZVJWtd ... Qu2yrywG30


Edit: Just put all of the info that is in that attached document inside of Code Tags on here, but if you still wanted to download the .txt feel free.

Code: Select all

ORDINAL:| NAME OF STRUCTURE OR FUNCTION: | SIZE: |   DESCRIPTION OF STRUCTURE OR FUNCTION: |
========================================================================================================================================================================AUDIO/SOUND EFFECTS DATA===================================================================================================================================================================

407      Spc_Header                  00000020   struct {char tag[4];float time;int ssp_offset;int ssp_size;int cap_offset;int cap_size;char reserved[8];}
4786   SSPF_BWAV                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned __int8 pad[8];}
4803   SSPF_ICTG                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4785   SSPF_ICUE                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4784   SSPF_ICUE_INFO               00000020   struct {unsigned __int16 noIndex;unsigned __int8 kQueue;unsigned __int8 kQueueCh;unsigned __int16 leftTime;unsigned __int8 pad[10];unsigned __int16 noSnd[8];}
4805   SSPF_IDSP                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4802   SSPF_IRPC                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4801   SSPF_IRPC_INFO               00000020   struct {unsigned __int8 kTrigger;unsigned __int8 kControlTrack;unsigned __int8 kControl;unsigned __int8 pad[1];$BA5BCDE56B4F9AAF3CED43F326996802 iPoint[7];}
457      INF_SYN_PCM                  00000028   struct __attribute__((aligned(8))) {SS_INT64 user;SS_FLOAT32 *__ptr32 *__ptr32 pPcm32;SS_INT64 *__ptr32 pIdCtrl;SS_INT16 nPcm32;SS_INT16 nSamples;SS_UINT8 depth;SS_UINT8 val[4];SS_UINT8 pad[8];}
4830   INFO_DECODE_MTA2            00000010   struct {unsigned __int32 noTrack : 8;unsigned __int32 noPacket : 24;unsigned __int32 *SPAM* : 16;unsigned __int32 szPacket : 16;SS_INT32 padA[2];SS_UINT8 pData[];}
4807   SSSYN_VPARAM               00000010   struct {SS_UINT16 pitch;SS_UINT8 att;SS_UINT8 ang;SS_UINT8 depHpf;SS_UINT8 depLpf;SS_UINT8 noInsEff;SS_UINT8 noMstEff;SS_UINT8 depMstEff;SS_UINT8 bLfeOut;SS_UINT8 pad[2];SS_UINT32 roPlayPos;}
4811   INFO_SSPF_INFO               00000020   struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4808   SD_INFO_CUE                  00000008   struct {SS_INT16 loadBlock;SS_INT16 loadBank;SSPF_ICUE_INFO *__ptr32 pici;}
4781   SSWF_SSWF                  00000010   struct {unsigned __int8 id[4];unsigned __int8 kType;unsigned __int8 nChannels;unsigned __int16 freq;unsigned int lpStart;unsigned int nSamples;}
4789   SSPF_ISND                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4788   SSPF_ISND_INFO               00000020   struct {unsigned int flag;unsigned __int16 offset;unsigned __int16 keepTime;unsigned __int8 kCategory;unsigned __int8 kPlay;unsigned __int8 nPoly;unsigned __int8 prio;unsigned __int8 vol;unsigned __int8 ang;unsigned __int8 effMix;unsigned __int8 nTracks;unsigned __int16 noRpc[8];}
4787   SSPF_ISND_ITRK               00000010   struct {unsigned __int16 nEvents;unsigned __int8 vol;unsigned __int8 ch;unsigned __int8 pad[12];}
4799   SSPF_ITRK_EVENT               00000010   union {$F6D682ABD397685CAEDDE8F7D1229FB1 slave;$394341012E5D559C208E34B6FFC0846A event;$10F41E06E12E464B0FBA5FF621732F07 play;$4EB02ADC869B8DF02001C986F6D7B634 stop;$4EB02ADC869B8DF02001C986F6D7B634 nop;$749B5864FDFCA2B9167519B12771C9A7 marker;$ABF2747244DC9B14960CC38325B205B4 volume;$ABF2747244DC9B14960CC38325B205B4 angle;$ABF2747244DC9B14960CC38325B205B4 pitch;$D34F588F362A8AD803175DC142AD3A29 env;}
4804   SSPF_IVAR                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
3862   SSPF_IWAV                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
3861   SSPF_IWAV_INFO               00000020   struct {unsigned int offset;unsigned int kType;unsigned int nSamples;unsigned int freq;unsigned int nChannels;unsigned __int8 pad[4];unsigned int lpStart;unsigned int lpEnd;}
4783   SSPF_SSPF                  00000040   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int szFile;unsigned __int8 loadBank;unsigned __int8 pad[51];}
4790   SSPF_TSND                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nSound;unsigned __int8 pad[4];}
4782   GSPF_GSPF                  00000010   struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int szFile;unsigned __int8 pad[4];}
4865   INF_PLAY                  00006450   struct {SS_MULTI128 raw[3][512];SS_FLOAT32 xfade[256];SS_FLOAT64 pos;SS_FLOAT64 posPlay;SS_FLOAT64 posNext;SS_FLOAT64 envTime;unsigned __int32 bEnvReqAr : 1;unsigned __int32 bEnvRcvAr : 1;unsigned __int32 bEnvReqRr : 1;unsigned __int32 bEnvRcvRr : 1;unsigned __int32 bEnvReqAbt : 1;unsigned __int32 bEnvRcvAbt : 1;unsigned __int32 bPad : 26;SS_UINT32 envPos;SS_FLOAT32 pitch;SS_FLOAT32 pitchR;SS_FLOAT32 volX;SS_FLOAT32 volRate;SS_INT32 rawBankW;SS_FLOAT32 oPcm32;SS_FLOAT32 dpcm;SS_UINT8 pad[12];}
2272   NT_SPP_HDR                  00000002   struct {u_short seq;}
2274   NT_SPP_TLR                  0000000A   struct {u_char sign[10];}
409      Sdspeech_List               0000000C   struct {int code;int pos;int size;}
410      Sdspeech_File               00000044   struct {SD_FILENAME name;int mode;int addr;int size;Sdspeech_List *__ptr32 list;int number;int min_code;int max_code;SD_VRAMID vram_id;int regist;}
408      Sdspeech_Play               00000018   struct {SD_CTRLID ctrl_id;int file;int list;int cap_flag;int vram_trans;int trans_pos;}
3871   tagInfoSound               001012F0   struct {$8CFC08B832365B19363D91DF7D6DB58B iSe[8];$88378D88E65119A9F2E6D08A388EE932 *__ptr32 pWavP;$DBBB87743F4C5E87C04B102D1774204F iFiles;__attribute__((aligned(16))) $164E78A57963D64BB21FDB1A05B4531C iMta[4];SS_CUE_STAT cueStat[32];SS_INT32 cSync;SS_INT32 cCallback;SS_INT32 noFile;SS_INT32 outMode;SS_UINT8 *__ptr32 pWave;SS_INT8
4812   INFO_CUE_PLAY               00000080   struct {INFO_SSPF_INFO iSspfI;SS_INT32 env[8];SS_INT64 timeS;SS_UINT64 idCtrl;SS_FLOAT32 *__ptr32 pBuff;void *__ptr32 pData;SSSYN_VPARAM *__ptr32 pvp;SS_CUE_STAT *__ptr32 pcs;SS_INT32 idSyn;SS_UINT32 idPlay;SS_INT8 amp;SS_INT8 ang;SS_INT16 pitch;void *__ptr32 pCategory;SS_INT8 pad[12];unsigned __int32 bUpdate : 1;unsigned __int32 bLfeOut : 1;unsigned __int32 bpadA : 30;}
4810   INFO_GSPF                  00000014   struct {GSPF_GSPF *__ptr32 pGspf;SSPF_IRPC *__ptr32 pIrpc;SSPF_ICTG *__ptr32 pIctg;SSPF_IVAR *__ptr32 pIvar;SSPF_IDSP *__ptr32 pIdsp;}
4809   INFO_SSPF                  00000020   struct {SSPF_SSPF *__ptr32 pSspf;SSPF_ICUE *__ptr32 pIcue;SSPF_TSND *__ptr32 pTsnd;SSPF_ISND *__ptr32 pIsnd;SSPF_BWAV *__ptr32 pBwav;SSPF_IWAV *__ptr32 pIwav;SS_INT8 pad[8];}
4811   INFO_SSPF_INFO               00000020   struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4813   INFO_SYSTEM                  01625C30   struct __attribute__((aligned(16))) {SS_MULTI128 buff[1306624];SS_MULTI128 buffGsp[4096];SS_MULTI128 buffDamSsp[131072];SS_FLOAT32 aPcm32[768][6];SS_FLOAT32 aBuff[32][1024];SS_INT16 noPcm32R;SS_INT16 noPcm32W;unsigned __int32 fActive : 1;unsigned __int32 bpad : 31;SS_INT32 idPlay;SS_INT32 pad[1];INFO_CUE_PLAY iCuePlay[32];INFO_SSPF iSspf[4][8];INFO_GSPF iGspf;}
4826   INFO_XSEQ                  00000050   struct {INFO_XTRACK *__ptr32 pNext;SSPF_ISND_INFO *__ptr32 pSeq;SS_CUE_STAT *__ptr32 pcs;SS_UINT32 cOrder;SS_UINT16 noSnd;SS_UINT8 padA[14];$EEFF366737BA72EA62B6D92BE166EA59 iTime;INFO_SSPF_INFO iSspfI;}
4808   SD_INFO_CUE                  00000008   struct {SS_INT16 loadBlock;SS_INT16 loadBank;SSPF_ICUE_INFO *__ptr32 pici;}
4186   SCSspec                     00000014   struct {int totalTime;int convergeTime;int cycleMin;int cycleMax;float magnitude;}
4823   _tag_INFO_XTRACK            00000020   struct {_tag_INFO_XTRACK *__ptr32 pNext;SSPF_ISND_ITRK *__ptr32 pTrk;SSPF_ITRK_EVENT *__ptr32 pEvTop;SSPF_ITRK_EVENT *__ptr32 pEvCur;SS_INT32 idPort;SS_UINT8 bCloseReq;SS_UINT8 bLfeOut;SS_UINT8 padA[10];}
3871   tagInfoSound               001012F0   struct {$8CFC08B832365B19363D91DF7D6DB58B iSe[8];$88378D88E65119A9F2E6D08A388EE932 *__ptr32 pWavP;$DBBB87743F4C5E87C04B102D1774204F iFiles;__attribute__((aligned(16))) $164E78A57963D64BB21FDB1A05B4531C iMta[4];SS_CUE_STAT cueStat[32];SS_INT32 cSync;SS_INT32 cCallback;SS_INT32 noFile;SS_INT32 outMode;SS_UINT8 *__ptr32 pWave;SS_INT8 *__ptr32 pData;SSPF_IWAV_INFO *__ptr32 piWavInfo;SSPF_IWAV *__ptr32 piWav;SS_INT32 szWave;SS_FLOAT32 cReadSamples;SS_INT32 meff;SS_INT32 meffBal;$D65BCE41A966EA74F4098DBD4475AB17 iCtg;unsigned __int32 bSspf : 1;unsigned __int32 bpad : 31;}
*__ptr32 pData;SSPF_IWAV_INFO *__ptr32 piWavInfo;SSPF_IWAV *__ptr32 piWav;SS_INT32 szWave;SS_FLOAT32 cReadSamples;SS_INT32 meff;SS_INT32 meffBal;$D65BCE41A966EA74F4098DBD4475AB17 iCtg;unsigned __int32 bSspf : 1;unsigned __int32 bpad : 31;}
391      Sound_Ctrl                  00000090   struct __attribute__((aligned(8))) {SS_CUE_STAT cue;int status;int counter;int flag;}
390      Sound_Callback               00000014   struct {void (*__ptr32 init_func)(void);void (*__ptr32 reset_func)(void);void (*__ptr32 update_func)(void);void (*__ptr32 debug_init)(void);void (*__ptr32 debug_view)(void);}
4868   INF_MSTEFF                  00018020   struct __attribute__((aligned(8))) {SS_MULTI128 wet[6144];SS_INT64 user;void (*__ptr32 pMstEff)(INF_SYN_PCM *__ptr32);SS_FLOAT32 *__ptr32 pPcm32[1];SS_INT8 balance;SS_INT8 pad[11];}
4867   INF_INSEFF                  00000318   struct {SS_INT64 user;void (*__ptr32 pInsEff)(INF_SYN_PCM *__ptr32);SS_FLOAT32 *__ptr32 pPcm32[64];SS_INT64 pIdCtrl[64];SS_INT32 nPcm32;SS_INT32 pad[1];}
4865   INF_PLAY                  00006450   struct {SS_MULTI128 raw[3][512];SS_FLOAT32 xfade[256];SS_FLOAT64 pos;SS_FLOAT64 posPlay;SS_FLOAT64 posNext;SS_FLOAT64 envTime;unsigned __int32 bEnvReqAr : 1;unsigned __int32 bEnvRcvAr : 1;unsigned __int32 bEnvReqRr : 1;unsigned __int32 bEnvRcvRr : 1;unsigned __int32 bEnvReqAbt : 1;unsigned __int32 bEnvRcvAbt : 1;unsigned __int32 bPad : 26;SS_UINT32 envPos;SS_FLOAT32 pitch;SS_FLOAT32 pitchR;SS_FLOAT32 volX;SS_FLOAT32 volRate;SS_INT32 rawBankW;SS_FLOAT32 oPcm32;SS_FLOAT32 dpcm;SS_UINT8 pad[12];}
4866   INF_WAVE                  0000A4B0   struct {SS_MULTI128 pcm32[1024];INF_PLAY iPlay;SS_FLOAT64 basePitch;SS_INT8 *__ptr32 buff;unsigned __int32 bActive : 1;unsigned __int32 bLoop : 1;unsigned __int32 bPadA : 30;SS_UINT8 chans;SS_UINT8 pad[15];SS_INT32 fs;SS_INT32 size;SS_INT32 samples;SS_INT32 idDec;SS_INT32 env[8];SSSYN_VPARAM vp;}
4862   ssDecSsw2Sub               00000004   struct {SS_INT16 iPcm;SS_UINT16 iRate;}
4858   $PcM_Data1                  00000090   struct {SS_MULTI128 pcm32[7];SS_INT32 oPcm32[2];SS_INT32 oPcm32Lp[2];SS_INT32 nUsePcm32;SS_INT32 padA[3];}
4857   $PcM_Data2                  00002030   struct __attribute__((aligned(16))) {SS_MULTI128 pcm32[512];SS_MULTI128 iRate[1];SS_MULTI128 iPcm[1];SS_INT32 nUsePcm32;}
4847   $PcM_Data3                  0012E7D0   struct __attribute__((aligned(16))) {unsigned __int32 bActive : 1;unsigned __int32 bpadA : 31;SS_INT32 noStrip;SS_INT32 cSync;SS_INT32 bLoop;SS_MULTI128 pcm16[192];$B92F4B6BC6893F14ABFCDA2DFAB5DC2F iMta[8];INF_SEMA iSema;sys_ppu_thread_t iThread;SS_INT16 *__ptr32 buffWave;SS_INT32 mta_szmtabuff;$F1D5E666479D390DF7EB7C00173ADBCA iQueue;}
4843   $PcM_Data4                  00003230   struct {SS_INT16 wPcm[4][1536];SS_INT32 posR;SS_INT32 posW;SS_INT32 posT;SS_INT32 posLTF;SS_INT32 posLEF;SS_INT32 readReq;SS_INT32 readRcv;SS_INT32 readReqL;SS_INT32 readRcvL;SS_INT32 atTimeS;SS_INT16 wPcmW;SS_INT16 wPcmR;SS_UINT8 *__ptr32 pData;unsigned __int32 fStatUpdateReq : 1;unsigned __int32 fStatUpdateRcv : 1;unsigned __int32 fWait : 1;unsigned __int32 fLoopEnd : 1;unsigned __int32 cPacket : 24;unsigned __int32 bpadA : 4;__int32 stat : 5;unsigned __int32 cWait : 27;SS_INT32 cPacketDecode;SS_INT32 cPacketPlay;SS_INT32 cPacketPause;SS_INT32 cPacketPlayL;SS_INT32 cReadError;SS_INT32 padA[1];$51DE34E9E13B42D1CD91473E16F07CA1 at[8];INFO_PCM iPcm[8];}
4833   TAG_INFO_PCM               0000002C   struct {SS_INT32 (*__ptr32 fnDecode)(SS_INT32, SS_UINT8 *__ptr32 *__ptr32, TAG_INFO_PCM *__ptr32, SS_INT32);DEC_PARAM dp[2];SS_INT32 vol;SS_INT32 ang;}
4831   TAG_DEC_PARAM               00000010   struct {SS_INT32 vol;SS_INT32 rate;SS_INT32 oDelta;SS_INT32 pcm;}
4829   INFO_DECODE                  00000010   struct {unsigned __int32 noTrack : 8;unsigned __int32 noPacket : 24;SS_INT16 rateL;SS_INT16 rateR;SS_INT16 pcmL;SS_INT16 oDeltaL;SS_INT16 pcmR;SS_INT16 oDeltaR;SS_UINT8 pData[];}
4813   INFO_SYSTEM                  01625C30   struct __attribute__((aligned(16))) {SS_MULTI128 buff[1306624];SS_MULTI128 buffGsp[4096];SS_MULTI128 buffDamSsp[131072];SS_FLOAT32 aPcm32[768][6];SS_FLOAT32 aBuff[32][1024];SS_INT16 noPcm32R;SS_INT16 noPcm32W;unsigned __int32 fActive : 1;unsigned __int32 bpad : 31;SS_INT32 idPlay;SS_INT32 pad[1];INFO_CUE_PLAY iCuePlay[32];INFO_SSPF iSspf[4][8];INFO_GSPF iGspf;}
470      Filter_Callback               00000014   struct {void (*__ptr32 start_func)(INF_SYN_PCM *__ptr32, int, float *__ptr32, float *__ptr32, int);void (*__ptr32 finish_func)(INF_SYN_PCM *__ptr32, int, float *__ptr32);void (*__ptr32 correct_func)(SD_CTRLID, float *__ptr32, int8_t *__ptr32);void (*__ptr32 set_func)(SD_CTRLID, int8_t *__ptr32);void (*__ptr32 get_bufsize)(int *__ptr32, int *__ptr32);}
4863   SSW2_INFO                  00000010   struct {ssDecSsw2Sub::$8C2D8EE3AD4C75A5A4B0E171C461E897 iBlock[4];SS_UINT8 adp[][4][8];}
4826   INFO_XSEQ                  00000050   struct {INFO_XTRACK *__ptr32 pNext;SSPF_ISND_INFO *__ptr32 pSeq;SS_CUE_STAT *__ptr32 pcs;SS_UINT32 cOrder;SS_UINT16 noSnd;SS_UINT8 padA[14];$EEFF366737BA72EA62B6D92BE166EA59 iTime;INFO_SSPF_INFO iSspfI;}
4823   _tag_INFO_XTRACK            00000020   struct {_tag_INFO_XTRACK *__ptr32 pNext;SSPF_ISND_ITRK *__ptr32 pTrk;SSPF_ITRK_EVENT *__ptr32 pEvTop;SSPF_ITRK_EVENT *__ptr32 pEvCur;SS_INT32 idPort;SS_UINT8 bCloseReq;SS_UINT8 bLfeOut;SS_UINT8 padA[10];}
4822   $1DE186BD7C9EEE86BCE730         0009A6E0   struct __attribute__((aligned(16))) {SS_MULTI128 aWave[4][384];$45129E5974AAE6C81FAB45E28A9DC8FA iQueue;$1E146922D216F5737FA4C0548DD377CA iLoop;SD_INFO_CUE iCue[65536];INFO_CATEGORY iCategory[256];$D1D57B2D7AED3AA4BF10116700207486 iLoadBank[5][8];SS_INT32 idMixStrip;SS_UINT64 cCallback;SS_UINT8 cBkWaveR;SS_UINT8 cBkWaveW;SS_UINT8 padA[6];}
4816   _TAG_INFO_QUEUE               00000014   struct {$125944FA2A85A21969A9C467C41E9D42 info;SS_INT32 cmd;SS_FLOAT32 waitTime;SS_INT8 pad[4];_TAG_INFO_QUEUE *__ptr32 pNext;}
4812   INFO_CUE_PLAY               00000080   struct {INFO_SSPF_INFO iSspfI;SS_INT32 env[8];SS_INT64 timeS;SS_UINT64 idCtrl;SS_FLOAT32 *__ptr32 pBuff;void *__ptr32 pData;SSSYN_VPARAM *__ptr32 pvp;SS_CUE_STAT *__ptr32 pcs;SS_INT32 idSyn;SS_UINT32 idPlay;SS_INT8 amp;SS_INT8 ang;SS_INT16 pitch;void *__ptr32 pCategory;SS_INT8 pad[12];unsigned __int32 bUpdate : 1;unsigned __int32 bLfeOut : 1;unsigned __int32 bpadA : 30;}
4811   INFO_SSPF_INFO               00000020   struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4860   $F446DF587F196A1A37            00002030   union {$9BDBB56DB458CF2FB4740C2838666774 iSsw2;$38233D9D40F7433BFB6BE64CD35F1D43 iVax;$25854D602DA31B265C083246FA04E87F iRaw;}
4862   ssDecSsw2Sub::$8C2D8E         00000004   struct {SS_INT16 iPcm;SS_UINT16 iRate;}

===========================================================================================================================================================================END AUDIO/SOUND EFFECTS DATA============================================================================================================================================================