(MESS) nes_irem.c: fixed Ai Sensei no Oshiete, based on hardware doc by naruko [Fabio Priuli]

This commit is contained in:
Fabio Priuli 2014-02-09 18:02:34 +00:00
parent 07c4b07c1b
commit 19644051e1
2 changed files with 14 additions and 6 deletions

View File

@ -43348,7 +43348,7 @@ Also notice that VRAM, WRAM & mirror are probably incorrect for some of these se
</part> </part>
</software> </software>
<software name="aisensei" supported="no"> <software name="aisensei">
<description>Ai Sensei no Oshiete - Watashi no Hoshi (Jpn)</description> <description>Ai Sensei no Oshiete - Watashi no Hoshi (Jpn)</description>
<year>1993</year> <year>1993</year>
<publisher>Irem</publisher> <publisher>Irem</publisher>
@ -53804,7 +53804,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<rom name="dragon quest viii (es-1077) (ch).prg" size="524288" crc="30f9bb46" sha1="5d9d519b84e245891928f3482a42a071e4402b6c" offset="00000" status="baddump" /> <rom name="dragon quest viii (es-1077) (ch).prg" size="524288" crc="30f9bb46" sha1="5d9d519b84e245891928f3482a42a071e4402b6c" offset="00000" status="baddump" />
</dataarea> </dataarea>
<!-- 8k VRAM on cartridge --> <!-- 8k VRAM on cartridge -->
<dataarea name="vram" size="32768"> <dataarea name="vram" size="8192">
</dataarea> </dataarea>
<!-- 8k WRAM on cartridge, battery backed up --> <!-- 8k WRAM on cartridge, battery backed up -->
<dataarea name="bwram" size="8192"> <dataarea name="bwram" size="8192">

View File

@ -243,8 +243,16 @@ WRITE8_MEMBER(nes_g101_device::write_h)
switch (offset & 0x7000) switch (offset & 0x7000)
{ {
case 0x0000: case 0x0000:
// NEStopia here differs a little bit if (m_latch)
m_latch ? prg8_cd(data) : prg8_89(data); {
prg8_89(0xfe);
prg8_cd(data & 0x1f);
}
else
{
prg8_89(data & 0x1f);
prg8_cd(0xfe);
}
break; break;
case 0x1000: case 0x1000:
m_latch = BIT(data, 1); m_latch = BIT(data, 1);
@ -252,10 +260,10 @@ WRITE8_MEMBER(nes_g101_device::write_h)
set_nt_mirroring(BIT(data, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT); set_nt_mirroring(BIT(data, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
break; break;
case 0x2000: case 0x2000:
prg8_ab(data); prg8_ab(data & 0x1f);
break; break;
case 0x3000: case 0x3000:
chr1_x(offset & 0x07, data, CHRROM); chr1_x(offset & 0x07, data & 0x7f, CHRROM);
break; break;
} }
} }