fixed mametesters 05257 [smf]

This commit is contained in:
smf- 2013-10-03 20:59:21 +00:00
parent 0003b69a0b
commit eb8abf43c1

View File

@ -1152,12 +1152,6 @@ WRITE16_MEMBER(namcos12_state::dmaoffset_w)
{ {
m_n_dmaoffset = ( offset * 2 ) | ( data << 16 ); m_n_dmaoffset = ( offset * 2 ) | ( data << 16 );
/// HACK: it's unclear how exp_cfg & exp_base really play a part in this.
if( m_maincpu->exp_base() == 0x1f300000 )
{
m_n_dmaoffset |= 0x80000000;
}
verboselog(1, "dmaoffset_w( %08x, %08x, %08x ) %08x\n", offset, data, mem_mask, m_n_dmaoffset ); verboselog(1, "dmaoffset_w( %08x, %08x, %08x ) %08x\n", offset, data, mem_mask, m_n_dmaoffset );
} }
@ -1181,8 +1175,9 @@ void namcos12_state::namcos12_rom_read( UINT32 *p_n_psxram, UINT32 n_address, IN
n_offset = m_n_tektagdmaoffset & 0x7fffffff; n_offset = m_n_tektagdmaoffset & 0x7fffffff;
verboselog(1, "namcos12_rom_read( %08x, %08x ) tektagt %08x\n", n_address, n_size, n_offset ); verboselog(1, "namcos12_rom_read( %08x, %08x ) tektagt %08x\n", n_address, n_size, n_offset );
} }
else if( m_n_dmaoffset >= 0x80000000 ) else if( m_n_dmaoffset >= 0x80000000 || m_maincpu->exp_base() == 0x1f300000 )
{ {
/// HACK: it's unclear how exp_cfg & exp_base really play a part in this, tenkomor needs the test here and not in dmaoffset_w().
n_region = "maincpu:rom"; n_region = "maincpu:rom";
n_offset = m_n_dmaoffset & 0x003fffff; n_offset = m_n_dmaoffset & 0x003fffff;
verboselog(1, "namcos12_rom_read( %08x, %08x ) boot %08x\n", n_address, n_size, n_offset ); verboselog(1, "namcos12_rom_read( %08x, %08x ) boot %08x\n", n_address, n_size, n_offset );