Mr Audio: first pass hooked in, SFX are being triggered

This commit is contained in:
dwsJason 2018-11-25 16:01:38 -05:00
parent 2b1fc5ea08
commit b4f1413194
4 changed files with 40 additions and 5 deletions

View File

@ -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

View File

@ -157,6 +157,8 @@ enum {
SND_SBONUS2,
SND_STICK,
SND_WALK,
SND_MAX
};

View File

@ -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
}

View File

@ -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<SND_MAX))
{
mraPlay((U8)sound);
}
return 0;
}