sfx audio bank: fixes to get the sfx audio bank to link / decompress, even though it's more thank 32k bytes

This commit is contained in:
dwsJason 2018-11-24 21:58:52 -05:00
parent 78e5ff4305
commit 707ee613b3
3 changed files with 91 additions and 62 deletions

View File

@ -15,6 +15,15 @@ mraDummy start ASM_CODE
* void mraLoadBank(char* pAudioBank); * void mraLoadBank(char* pAudioBank);
* *
mraLoadBank start ASM_CODE mraLoadBank start ASM_CODE
pAudioBank equ 4
lda 2,s
sta pAudioBank+2,s
lda 1,s
sta pAudioBank+1,s
pla
pla
rtl rtl
*------------------------------------------------------------------------------- *-------------------------------------------------------------------------------
end end
@ -37,7 +46,6 @@ mraPlay start ASM_CODE
* *
AudioTable start ASM_CODE AudioTable start ASM_CODE
dc a'SND_BOMBSHHT' dc a'SND_BOMBSHHT'
dc a'SND_BONUS' dc a'SND_BONUS'
dc a'SND_BOX' dc a'SND_BOX'
@ -60,85 +68,85 @@ AudioTable start ASM_CODE
dc a'SND_WALK' dc a'SND_WALK'
SND_BOMBSHHT anop SND_BOMBSHHT anop
dc i,'$013B' ; Frequency dc i'$013B' ; Frequency
dc b,'$2B' ; Address dc h'2B' ; Address
dc b,'$00' ; Size dc h'00' ; Size
SND_BONUS anop SND_BONUS anop
dc i,'$003D' ; Frequency dc i'$003D' ; Frequency
dc b,'$A0' ; Address dc h'A0' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_BOX anop SND_BOX anop
dc i,'$0039' ; Frequency dc i'$0039' ; Frequency
dc b,'$D0' ; Address dc h'D0' ; Address
dc b,'$1B' ; Size dc h'1B' ; Size
SND_BULLET anop SND_BULLET anop
dc i,'$0033' ; Frequency dc i'$0033' ; Frequency
dc b,'$70' ; Address dc h'70' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_CRAWL anop SND_CRAWL anop
dc i,'$005D' ; Frequency dc i'$005D' ; Frequency
dc b,'$9E' ; Address dc h'9E' ; Address
dc b,'$09' ; Size dc h'09' ; Size
SND_DIE anop SND_DIE anop
dc i,'$0042' ; Frequency dc i'$0042' ; Frequency
dc b,'$90' ; Address dc h'90' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_ENT0 anop SND_ENT0 anop
dc i,'$0065' ; Frequency dc i'$0065' ; Frequency
dc b,'$D8' ; Address dc h'D8' ; Address
dc b,'$1B' ; Size dc h'1B' ; Size
SND_ENT1 anop SND_ENT1 anop
dc i,'$0030' ; Frequency dc i'$0030' ; Frequency
dc b,'$30' ; Address dc h'30' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_ENT2 anop SND_ENT2 anop
dc i,'$0032' ; Frequency dc i'$0032' ; Frequency
dc b,'$40' ; Address dc h'40' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_ENT3 anop SND_ENT3 anop
dc i,'$0033' ; Frequency dc i'$0033' ; Frequency
dc b,'$80' ; Address dc h'80' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_ENT4 anop SND_ENT4 anop
dc i,'$0036' ; Frequency dc i'$0036' ; Frequency
dc b,'$50' ; Address dc h'50' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_ENT6 anop SND_ENT6 anop
dc i,'$006D' ; Frequency dc i'$006D' ; Frequency
dc b,'$E8' ; Address dc h'E8' ; Address
dc b,'$1B' ; Size dc h'1B' ; Size
SND_ENT8 anop SND_ENT8 anop
dc i,'$005D' ; Frequency dc i'$005D' ; Frequency
dc b,'$AC' ; Address dc h'AC' ; Address
dc b,'$12' ; Size dc h'12' ; Size
SND_EXPLODE anop SND_EXPLODE anop
dc i,'$0036' ; Frequency dc i'$0036' ; Frequency
dc b,'$B0' ; Address dc h'B0' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_JUMP anop SND_JUMP anop
dc i,'$0072' ; Frequency dc i'$0072' ; Frequency
dc b,'$F0' ; Address dc h'F0' ; Address
dc b,'$1B' ; Size dc h'1B' ; Size
SND_PAD anop SND_PAD anop
dc i,'$003A' ; Frequency dc i'$003A' ; Frequency
dc b,'$E0' ; Address dc h'E0' ; Address
dc b,'$1B' ; Size dc h'1B' ; Size
SND_SBONUS1 anop SND_SBONUS1 anop
dc i,'$003D' ; Frequency dc i'$003D' ; Frequency
dc b,'$C0' ; Address dc h'C0' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_SBONUS2 anop SND_SBONUS2 anop
dc i,'$0041' ; Frequency dc i'$0041' ; Frequency
dc b,'$60' ; Address dc h'60' ; Address
dc b,'$24' ; Size dc h'24' ; Size
SND_STICK anop SND_STICK anop
dc i,'$0067' ; Frequency dc i'$0067' ; Frequency
dc b,'$2C' ; Address dc h'2C' ; Address
dc b,'$12' ; Size dc h'12' ; Size
SND_WALK anop SND_WALK anop
dc i,'$007B' ; Frequency dc i'$007B' ; Frequency
dc b,'$AB' ; Address dc h'AB' ; Address
dc b,'$00' ; Size dc h'00' ; Size
*------------------------------------------------------------------------------- *-------------------------------------------------------------------------------
end end

View File

@ -41,7 +41,12 @@ iix mkobj rick1_lz4 data:rick1.lz4 data:rick1.a ntpdata
iix mkobj rick1victory_lz4 data:rick1victory.lz4 data:rick1victory.a ntpdata iix mkobj rick1victory_lz4 data:rick1victory.lz4 data:rick1victory.a ntpdata
iix mkobj samerica_lz4 data:samerica.lz4 data:samerica.a ntpdata iix mkobj samerica_lz4 data:samerica.lz4 data:samerica.a ntpdata
iix mkobj schwarz_lz4 data:schwarz.lz4 data:schwarz.a ntpdata iix mkobj schwarz_lz4 data:schwarz.lz4 data:schwarz.a ntpdata
iix mkobj sfx_lz4 data:sfx.lz4 data:lz4.a sfxdata rem iix mkobj sfx_lz4 data:sfx.lz4 data:sfx.a sfxdata
del data\sfx.part.bat
gfsplit data\sfx.lz4 data\sfx.part 32
iix mkobj sfx_lz4 data:sfx.part1 data:sfx.a sfxdata
iix mkobj sfx_lz5 data:sfx.part2 data:sfx2.a sfxdata
rem rem
rem Packed Mr.Sprites into object files rem Packed Mr.Sprites into object files
rem rem
@ -67,6 +72,7 @@ iix makelib -P data.lib +data:rick1victory.a
iix makelib -P data.lib +data:samerica.a iix makelib -P data.lib +data:samerica.a
iix makelib -P data.lib +data:schwarz.a iix makelib -P data.lib +data:schwarz.a
iix makelib -P data.lib +data:sfx.a iix makelib -P data.lib +data:sfx.a
iix makelib -P data.lib +data:sfx2.a
rem rem
rem NinjaTrackerPlus Library rem NinjaTrackerPlus Library
rem rem

View File

@ -41,6 +41,8 @@ char* pNtpSong = NULL;
extern char ntpplayer_lz4; extern char ntpplayer_lz4;
extern char samerica_lz4; extern char samerica_lz4;
extern char sfx_lz4;
extern char sfx_lz5;
void SetAudioBank(char bankNo); void SetAudioBank(char bankNo);
void NTPstop(void); void NTPstop(void);
@ -70,6 +72,17 @@ syssnd_init(void)
//printf("%p\n", pNtpDriver ); //printf("%p\n", pNtpDriver );
//printf("%p\n", pNtpSong ); //printf("%p\n", pNtpSong );
//--- Take Advantage of the 64k bank we just
// Allocated, as a temp buffer to get our
// SFX loaded into the DOC
printf("Decompress SFX %p\n", &sfx_lz4); // Force this to be linked in
printf("Decompress SFX %p\n", &sfx_lz5); // Force this to be linked in
LZ4_Unpack(pNtpDriver, &sfx_lz4);
printf("Load SFX into the DOC\n");
mraLoadBank(pNtpDriver);
printf("Decompress NTP Driver\n"); printf("Decompress NTP Driver\n");
LZ4_Unpack(pNtpDriver, &ntpplayer_lz4); LZ4_Unpack(pNtpDriver, &ntpplayer_lz4);
@ -79,6 +92,7 @@ syssnd_init(void)
printf("SetAudioBank\n"); printf("SetAudioBank\n");
SetAudioBank( (*handle)>>16 ); SetAudioBank( (*handle)>>16 );
#if 0
printf("NTPprepare\n"); printf("NTPprepare\n");
if (NTPprepare(pNtpSong)) if (NTPprepare(pNtpSong))
@ -90,6 +104,7 @@ syssnd_init(void)
printf("NTPplay\n"); printf("NTPplay\n");
NTPplay(0); NTPplay(0);
} }
#endif
} }