fixed z80 banked access to 68k

This commit is contained in:
ekeeke31 2008-09-21 19:54:02 +00:00
parent d9b59ef468
commit add14648d4
3 changed files with 13 additions and 9 deletions

View File

@ -4,12 +4,14 @@ Genesis Plus for Gamecube
CURRENT:
---------
[Genesis]
- YM2612(MAME): fixed EG Decay->Substain transition when SL & DR are minimals, fix tracks #3 and #9 in Mega Turrican
- YM2612(MAME): fixed a bug in SSG-EG emulation code, fix Level 1 music in Alisia Dragoon
- YM2612(MAME): fixed EG Decay->Substain transition when SL & DR are minimals, fix tracks #3 and #9 in "Mega Turrican"
- YM2612(MAME): fixed a bug in SSG-EG emulation code, fix Level 1 music in "Alisia Dragoon"
- YM2612(MAME): modified SSG-EG Decay End Level, fix "Chainsaw" sfx in "Beavis & Butthead"
- YM2612(MAME): improved Detune overflow accuracy, fix high-frequency sound effects & musics in many games
- YM2612(MAME): fixed registers 0x20-0x26 Reset state, fix intro music in B.O.B
- YM2612(MAME): removed previous fix with KEY ON, fix "Flamethrower" sfx in Alien 3
- adjusted HCounter values, fix Sonic 3D bonus stage
- YM2612(MAME): fixed registers 0x20-0x26 Reset state, fix intro music in "B.O.B"
- YM2612(MAME): removed previous fix with KEY ON, fix "Flamethrower" sfx in "Alien 3"
- adjusted HCounter values, fix "Sonic 3D" bonus stage
- enabled Z80 access to WRAM, fix "Mamono Hunter Youko"
[NGC/Wii]

View File

@ -232,7 +232,8 @@ void z80_write_banked_memory (unsigned int address, unsigned int data)
return;
default: /* WRAM */
z80bank_unused_w(address, data);
/* Mamono Hunter Youko - Dai 7 no Keishou need this */
WRITE_BYTE(work_ram, address & 0xffff, data);
return;
}
}
@ -243,8 +244,8 @@ unsigned int z80_read_banked_memory(unsigned int address)
switch (m68k_readmap_8[offset])
{
case WRAM: /* NOTE: can't be read on some Genesis models (!)*/
return z80bank_unused_r(address) | 0xff;
case WRAM: /* NOTE: can't be read on some Genesis models (!), only japanese ones ??? */
return READ_BYTE(work_ram, address);
case SYSTEM_IO:
{

View File

@ -948,7 +948,7 @@ 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)];
}
if ( SLOT->volume >= 992)
if ( SLOT->volume >= 512) /* Alone Coder */
{
SLOT->volume = MAX_ATT_INDEX;
@ -970,6 +970,7 @@ INLINE void advance_eg_channel(FM_SLOT *SLOT)
if ((SLOT->ar + SLOT->ksr) < 94 /*32+62*/)
{
SLOT->volume = 511; /* Alone Coder */
SLOT->state = EG_ATT; /* phase -> Attack */
}
else