From b4f1413194a95cabb5e4d97219c7a55f1182cef0 Mon Sep 17 00:00:00 2001 From: dwsJason Date: Sun, 25 Nov 2018 16:01:38 -0500 Subject: [PATCH] Mr Audio: first pass hooked in, SFX are being triggered --- asm/mraudio.s | 9 +++++---- include/system.h | 2 ++ src/game.c | 26 ++++++++++++++++++++++++++ src/syssnd.c | 8 +++++++- 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/asm/mraudio.s b/asm/mraudio.s index e5687f3..9415384 100644 --- a/asm/mraudio.s +++ b/asm/mraudio.s @@ -163,11 +163,12 @@ iSize equ 3 php sei phd + lda #$C000 tcd xba ; Zero out the high byte - rep #$21 + sep #$21 longa off longi on @@ -175,7 +176,7 @@ iSize equ 3 * Just Round Robin lda |channelNo - adc #2 + adc #1 ; c=1 cmp #30 blt channelGood lda #16 @@ -213,7 +214,7 @@ channelGood ANOP sta <$3D sta <$3D - lda |channleNo + lda |channelNo ora #$80 ; Address Register sta <$3E @@ -246,7 +247,7 @@ channelGood ANOP plp longa on longi on - + lda 3,s sta iSfxNo,s lda 1,s diff --git a/include/system.h b/include/system.h index 68a3bef..2ec0ebd 100644 --- a/include/system.h +++ b/include/system.h @@ -157,6 +157,8 @@ enum { SND_SBONUS2, SND_STICK, SND_WALK, + + SND_MAX }; diff --git a/src/game.c b/src/game.c index 6f95686..5577b87 100644 --- a/src/game.c +++ b/src/game.c @@ -811,6 +811,32 @@ loaddata() WAV_ENTITY[8] = syssnd_load("sounds/ent8.wav"); #endif + #ifdef IIGS + WAV_GAMEOVER = -1; + WAV_SBONUS2 = SND_SBONUS2; + WAV_BULLET = SND_BULLET; + WAV_BOMBSHHT = SND_BOMBSHHT; + WAV_EXPLODE = SND_EXPLODE; + WAV_STICK = SND_STICK; + WAV_WALK = SND_WALK; + WAV_CRAWL = SND_CRAWL; + WAV_JUMP = SND_JUMP; + WAV_PAD = SND_PAD; + WAV_BOX = SND_BOX; + WAV_BONUS = SND_BONUS; + WAV_SBONUS1 = SND_SBONUS1; + WAV_DIE = SND_DIE; + WAV_ENTITY[0] = SND_ENT0; + WAV_ENTITY[1] = SND_ENT1; + WAV_ENTITY[2] = SND_ENT2; + WAV_ENTITY[3] = SND_ENT3; + WAV_ENTITY[4] = SND_ENT4; + WAV_ENTITY[5] = SND_ENT4; + WAV_ENTITY[6] = SND_ENT6; + WAV_ENTITY[7] = SND_ENT6; + WAV_ENTITY[8] = SND_ENT8; + #endif + #endif } diff --git a/src/syssnd.c b/src/syssnd.c index 1fb1d60..8fce27b 100644 --- a/src/syssnd.c +++ b/src/syssnd.c @@ -48,6 +48,8 @@ void SetAudioBank(char bankNo); void NTPstop(void); void NTPplay(int bPlayOnce); int NTPprepare(void* pNTPData); +void mraLoadBank(char* pAudioBank); +void mraPlay(U8 sfxNo); void syssnd_init(void) @@ -150,7 +152,11 @@ syssnd_vol(S8 d) S8 syssnd_play(sound_t sound, S8 loop) { - printf("syssnd_play\n"); + //printf("syssnd_play\n"); + if ((sound >= 0) && (sound