adjusted SSG-EG Substain end level, fixed Micro Machines 2 tracks logo corruption

This commit is contained in:
ekeeke31 2008-09-22 16:19:08 +00:00
parent add14648d4
commit 85a9dd0e6e
2 changed files with 2 additions and 5 deletions

View File

@ -601,7 +601,7 @@ void teamplayer_2_write (unsigned int data)
unsigned int jcart_read(void) unsigned int jcart_read(void)
{ {
return (gamepad_read(5) | (gamepad_read(6) << 8)); return (gamepad_read(5) | ((gamepad_read(6)&0x3f) << 8)); /* fixes Micro Machines 2 (is it correct ?) */
} }
void jcart_write(unsigned int data) void jcart_write(unsigned int data)

View File

@ -948,10 +948,8 @@ INLINE void advance_eg_channel(FM_SLOT *SLOT)
SLOT->volume += 6 * eg_inc[SLOT->eg_sel_d2r + ((ym2612.OPN.eg_cnt>>SLOT->eg_sh_d2r)&7)]; SLOT->volume += 6 * eg_inc[SLOT->eg_sel_d2r + ((ym2612.OPN.eg_cnt>>SLOT->eg_sh_d2r)&7)];
} }
if ( SLOT->volume >= 512) /* Alone Coder */ if ( SLOT->volume >= ENV_QUIET) /* Alone Coder */
{ {
SLOT->volume = MAX_ATT_INDEX;
if (SLOT->ssg&0x01) /* bit 0 = hold */ if (SLOT->ssg&0x01) /* bit 0 = hold */
{ {
if (SLOT->ssgn&1) /* have we swapped once ??? */ if (SLOT->ssgn&1) /* have we swapped once ??? */
@ -970,7 +968,6 @@ INLINE void advance_eg_channel(FM_SLOT *SLOT)
if ((SLOT->ar + SLOT->ksr) < 94 /*32+62*/) if ((SLOT->ar + SLOT->ksr) < 94 /*32+62*/)
{ {
SLOT->volume = 511; /* Alone Coder */
SLOT->state = EG_ATT; /* phase -> Attack */ SLOT->state = EG_ATT; /* phase -> Attack */
} }
else else