summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2014-10-06 03:13:57 +0000
committer cracyc <cracyc@users.noreply.github.com>2014-10-06 03:13:57 +0000
commitfddf8154576d2b6b210ccc399272c1fc1452a0e6 (patch)
tree81662b02a23a0ce84ab11c847b704352a9e38fbb
parentb6d761c222fd0717e435189a2b1f78f2e6ccfdf1 (diff)
(mess) pc9801: sigh (nw)
-rw-r--r--src/mess/drivers/pc9801.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c
index 446be5eff47..2ca80af137d 100644
--- a/src/mess/drivers/pc9801.c
+++ b/src/mess/drivers/pc9801.c
@@ -599,6 +599,7 @@ public:
DECLARE_WRITE8_MEMBER(pc9801ux_gvram0_w);
UINT32 pc9801_286_a20(bool state);
+ DECLARE_READ8_MEMBER(ide_hack_r);
DECLARE_WRITE8_MEMBER(sasi_data_w);
DECLARE_READ8_MEMBER(sasi_data_r);
DECLARE_WRITE_LINE_MEMBER(write_sasi_io);
@@ -1725,6 +1726,13 @@ WRITE8_MEMBER(pc9801_state::pc9801_mouse_w)
}
}
+READ8_MEMBER(pc9801_state::ide_hack_r)
+{
+ // this makes the ide driver not do 512 to 256 byte sector translation, the 9821 looks for bit 6 of offset 0xac403 of the kanji ram to set this, the rs unknown
+ m_work_ram[0x457] |= 0xc0;
+ return 0xff;
+}
+
READ8_MEMBER( pc9801_state::sasi_data_r )
{
UINT8 data = m_sasi_data_in->read();
@@ -2327,6 +2335,7 @@ static ADDRESS_MAP_START( pc9801rs_io, AS_IO, 32, pc9801_state )
// AM_RANGE(0x00ec, 0x00ef) PC-9801-86 sound board
AM_RANGE(0x00f0, 0x00ff) AM_READWRITE8(pc9801rs_f0_r, pc9801rs_f0_w, 0xffffffff)
// AM_RANGE(0x0188, 0x018f) AM_READWRITE8(pc9801_opn_r, pc9801_opn_w, 0xffffffff) //ym2203 opn / <undefined>
+ AM_RANGE(0x0430, 0x0433) AM_READ8(ide_hack_r, 0x000000ff)
AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff)
AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffffffff) //ROM/RAM bank
@@ -2696,6 +2705,7 @@ static ADDRESS_MAP_START( pc9821_io, AS_IO, 32, pc9801_state )
AM_RANGE(0x00f0, 0x00ff) AM_READWRITE8(pc9801rs_f0_r, pc9801rs_f0_w, 0xffffffff)
// AM_RANGE(0x0188, 0x018f) AM_READWRITE8(pc9801_opn_r, pc9801_opn_w, 0xffffffff) //ym2203 opn / <undefined>
// AM_RANGE(0x018c, 0x018f) YM2203 OPN extended ports / <undefined>
+ AM_RANGE(0x0430, 0x0433) AM_READ8(ide_hack_r, 0x000000ff)
AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff)
// AM_RANGE(0x043d, 0x043d) ROM/RAM bank (NEC)
AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffffffff) //ROM/RAM bank (EPSON)