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);
*
mraLoadBank start ASM_CODE
pAudioBank equ 4
lda 2,s
sta pAudioBank+2,s
lda 1,s
sta pAudioBank+1,s
pla
pla
rtl
*-------------------------------------------------------------------------------
end
@ -37,7 +46,6 @@ mraPlay start ASM_CODE
*
AudioTable start ASM_CODE
dc a'SND_BOMBSHHT'
dc a'SND_BONUS'
dc a'SND_BOX'
@ -60,85 +68,85 @@ AudioTable start ASM_CODE
dc a'SND_WALK'
SND_BOMBSHHT anop
dc i,'$013B' ; Frequency
dc b,'$2B' ; Address
dc b,'$00' ; Size
dc i'$013B' ; Frequency
dc h'2B' ; Address
dc h'00' ; Size
SND_BONUS anop
dc i,'$003D' ; Frequency
dc b,'$A0' ; Address
dc b,'$24' ; Size
dc i'$003D' ; Frequency
dc h'A0' ; Address
dc h'24' ; Size
SND_BOX anop
dc i,'$0039' ; Frequency
dc b,'$D0' ; Address
dc b,'$1B' ; Size
dc i'$0039' ; Frequency
dc h'D0' ; Address
dc h'1B' ; Size
SND_BULLET anop
dc i,'$0033' ; Frequency
dc b,'$70' ; Address
dc b,'$24' ; Size
dc i'$0033' ; Frequency
dc h'70' ; Address
dc h'24' ; Size
SND_CRAWL anop
dc i,'$005D' ; Frequency
dc b,'$9E' ; Address
dc b,'$09' ; Size
dc i'$005D' ; Frequency
dc h'9E' ; Address
dc h'09' ; Size
SND_DIE anop
dc i,'$0042' ; Frequency
dc b,'$90' ; Address
dc b,'$24' ; Size
dc i'$0042' ; Frequency
dc h'90' ; Address
dc h'24' ; Size
SND_ENT0 anop
dc i,'$0065' ; Frequency
dc b,'$D8' ; Address
dc b,'$1B' ; Size
dc i'$0065' ; Frequency
dc h'D8' ; Address
dc h'1B' ; Size
SND_ENT1 anop
dc i,'$0030' ; Frequency
dc b,'$30' ; Address
dc b,'$24' ; Size
dc i'$0030' ; Frequency
dc h'30' ; Address
dc h'24' ; Size
SND_ENT2 anop
dc i,'$0032' ; Frequency
dc b,'$40' ; Address
dc b,'$24' ; Size
dc i'$0032' ; Frequency
dc h'40' ; Address
dc h'24' ; Size
SND_ENT3 anop
dc i,'$0033' ; Frequency
dc b,'$80' ; Address
dc b,'$24' ; Size
dc i'$0033' ; Frequency
dc h'80' ; Address
dc h'24' ; Size
SND_ENT4 anop
dc i,'$0036' ; Frequency
dc b,'$50' ; Address
dc b,'$24' ; Size
dc i'$0036' ; Frequency
dc h'50' ; Address
dc h'24' ; Size
SND_ENT6 anop
dc i,'$006D' ; Frequency
dc b,'$E8' ; Address
dc b,'$1B' ; Size
dc i'$006D' ; Frequency
dc h'E8' ; Address
dc h'1B' ; Size
SND_ENT8 anop
dc i,'$005D' ; Frequency
dc b,'$AC' ; Address
dc b,'$12' ; Size
dc i'$005D' ; Frequency
dc h'AC' ; Address
dc h'12' ; Size
SND_EXPLODE anop
dc i,'$0036' ; Frequency
dc b,'$B0' ; Address
dc b,'$24' ; Size
dc i'$0036' ; Frequency
dc h'B0' ; Address
dc h'24' ; Size
SND_JUMP anop
dc i,'$0072' ; Frequency
dc b,'$F0' ; Address
dc b,'$1B' ; Size
dc i'$0072' ; Frequency
dc h'F0' ; Address
dc h'1B' ; Size
SND_PAD anop
dc i,'$003A' ; Frequency
dc b,'$E0' ; Address
dc b,'$1B' ; Size
dc i'$003A' ; Frequency
dc h'E0' ; Address
dc h'1B' ; Size
SND_SBONUS1 anop
dc i,'$003D' ; Frequency
dc b,'$C0' ; Address
dc b,'$24' ; Size
dc i'$003D' ; Frequency
dc h'C0' ; Address
dc h'24' ; Size
SND_SBONUS2 anop
dc i,'$0041' ; Frequency
dc b,'$60' ; Address
dc b,'$24' ; Size
dc i'$0041' ; Frequency
dc h'60' ; Address
dc h'24' ; Size
SND_STICK anop
dc i,'$0067' ; Frequency
dc b,'$2C' ; Address
dc b,'$12' ; Size
dc i'$0067' ; Frequency
dc h'2C' ; Address
dc h'12' ; Size
SND_WALK anop
dc i,'$007B' ; Frequency
dc b,'$AB' ; Address
dc b,'$00' ; Size
dc i'$007B' ; Frequency
dc h'AB' ; Address
dc h'00' ; Size
*-------------------------------------------------------------------------------
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 samerica_lz4 data:samerica.lz4 data:samerica.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 Packed Mr.Sprites into object files
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:schwarz.a
iix makelib -P data.lib +data:sfx.a
iix makelib -P data.lib +data:sfx2.a
rem
rem NinjaTrackerPlus Library
rem

View File

@ -41,6 +41,8 @@ char* pNtpSong = NULL;
extern char ntpplayer_lz4;
extern char samerica_lz4;
extern char sfx_lz4;
extern char sfx_lz5;
void SetAudioBank(char bankNo);
void NTPstop(void);
@ -70,6 +72,17 @@ syssnd_init(void)
//printf("%p\n", pNtpDriver );
//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");
LZ4_Unpack(pNtpDriver, &ntpplayer_lz4);
@ -79,6 +92,7 @@ syssnd_init(void)
printf("SetAudioBank\n");
SetAudioBank( (*handle)>>16 );
#if 0
printf("NTPprepare\n");
if (NTPprepare(pNtpSong))
@ -90,6 +104,7 @@ syssnd_init(void)
printf("NTPplay\n");
NTPplay(0);
}
#endif
}