From 8a3d831367972fde2d49091545d9ef762f7d482a Mon Sep 17 00:00:00 2001 From: angelosa Date: Sun, 28 Jan 2018 02:21:26 +0100 Subject: calchase.cpp: added some keyboard inputs [Angelo Salese] --- src/mame/drivers/calchase.cpp | 41 ++++++++++++++++++++++++++++++++++++----- src/mame/drivers/pc9801.cpp | 12 ++++++------ 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp index 81d31035981..3ec4b01c422 100644 --- a/src/mame/drivers/calchase.cpp +++ b/src/mame/drivers/calchase.cpp @@ -15,6 +15,9 @@ Other games known to be on this hardware (if ever finished): - Tiger Odds (c) The Game Room - one other unnamed/unfinished game +Notes: +- calchase: type boot to load game + TODO: - get Win 98 to boot (most of Windows 98 copy is damaged inside current HDD dump); - Various graphics bugs (title screen uses ROZ?); @@ -457,20 +460,47 @@ ADDRESS_MAP_END static INPUT_PORTS_START( calchase ) PORT_START("pc_keyboard_0") PORT_BIT ( 0x0001, 0x0000, IPT_UNUSED ) /* unused scancode 0 */ - AT_KEYB_HELPER( 0x0002, "Esc", KEYCODE_Q ) /* Esc 01 81 */ - +// AT_KEYB_HELPER( 0x0002, "Esc", KEYCODE_Q ) /* Esc 01 81 */ + // 0x0004, KEYCODE_0 + // 0x0008, KEYCODE_1 + // 0x0010, KEYCODE_2 + // 0x0020, KEYCODE_3 + // 0x0040, KEYCODE_4 + // 0x0080, KEYCODE_5 + // 0x0100, KEYCODE_6 + // 0x0200, KEYCODE_7 + // 0x0400, KEYCODE_8 + // 0x0800, KEYCODE_9 + // 0x1000, KEYCODE_MINUS + // 0x2000, KEYCODE_EQUAL + // 0x4000, KEYCODE_BACKSPACE + // 0x8000, KEYCODE_TAB + PORT_START("pc_keyboard_1") + // 0x0001, KEYCODE_Q + // 0x0002, KEYCODE_W + AT_KEYB_HELPER( 0x0004, "E", KEYCODE_E ) + AT_KEYB_HELPER( 0x0008, "R", KEYCODE_R ) AT_KEYB_HELPER( 0x0010, "T", KEYCODE_T ) /* T 14 94 */ AT_KEYB_HELPER( 0x0020, "Y", KEYCODE_Y ) /* Y 15 95 */ + // 0x0040, KEYCODE_U + AT_KEYB_HELPER( 0x0080, "I", KEYCODE_I ) AT_KEYB_HELPER( 0x0100, "O", KEYCODE_O ) /* O 18 98 */ + // 0x0200, KEYCODE_P AT_KEYB_HELPER( 0x1000, "Enter", KEYCODE_ENTER ) /* Enter 1C 9C */ + AT_KEYB_HELPER( 0x4000, "A", KEYCODE_A ) + AT_KEYB_HELPER( 0x8000, "S", KEYCODE_S ) PORT_START("pc_keyboard_2") + AT_KEYB_HELPER( 0x0001, "D", KEYCODE_D ) + AT_KEYB_HELPER( 0x0002, "F", KEYCODE_F ) + PORT_START("pc_keyboard_3") AT_KEYB_HELPER( 0x0001, "B", KEYCODE_B ) /* B 30 B0 */ AT_KEYB_HELPER( 0x0002, "N", KEYCODE_N ) /* N 31 B1 */ - AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_S ) /* F1 3B BB */ + AT_KEYB_HELPER( 0x0200, "SPACE", KEYCODE_SPACE ) /* N 31 B1 */ + AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_F1 ) /* F1 3B BB */ // AT_KEYB_HELPER( 0x8000, "F5", KEYCODE_F5 ) PORT_START("pc_keyboard_4") @@ -478,14 +508,15 @@ static INPUT_PORTS_START( calchase ) PORT_START("pc_keyboard_5") + PORT_START("pc_keyboard_6") AT_KEYB_HELPER( 0x0040, "(MF2)Cursor Up", KEYCODE_UP ) /* Up 67 e7 */ AT_KEYB_HELPER( 0x0080, "(MF2)Page Up", KEYCODE_PGUP ) /* Page Up 68 e8 */ AT_KEYB_HELPER( 0x0100, "(MF2)Cursor Left", KEYCODE_LEFT ) /* Left 69 e9 */ - AT_KEYB_HELPER( 0x0200, "(MF2)Cursor Right", KEYCODE_RIGHT ) /* Right 6a ea */ + AT_KEYB_HELPER( 0x0200, "(MF2)Cursor Right", KEYCODE_RIGHT ) /* Right 6a ea */ AT_KEYB_HELPER( 0x0800, "(MF2)Cursor Down", KEYCODE_DOWN ) /* Down 6c ec */ AT_KEYB_HELPER( 0x1000, "(MF2)Page Down", KEYCODE_PGDN ) /* Page Down 6d ed */ - AT_KEYB_HELPER( 0x4000, "Del", KEYCODE_A ) /* Delete 6f ef */ + AT_KEYB_HELPER( 0x4000, "Del", KEYCODE_DEL ) /* Delete 6f ef */ PORT_START("pc_keyboard_7") diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index 0c53dddf414..3528fc9b6d2 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -486,13 +486,13 @@ READ8_MEMBER(pc9801_state::fdc_2dd_ctrl_r) WRITE8_MEMBER(pc9801_state::fdc_2dd_ctrl_w) { - logerror("%02x ctrl\n",data); - if(((m_fdc_2dd_ctrl & 0x80) == 0) && (data & 0x80)) - m_fdc_2dd->soft_reset(); + logerror("%02x ctrl\n",data); + if(((m_fdc_2dd_ctrl & 0x80) == 0) && (data & 0x80)) + m_fdc_2dd->soft_reset(); - m_fdc_2dd_ctrl = data; - m_fdc_2dd->subdevice("0")->get_device()->mon_w(data & 8 ? CLEAR_LINE : ASSERT_LINE); - m_fdc_2dd->subdevice("1")->get_device()->mon_w(data & 8 ? CLEAR_LINE : ASSERT_LINE); + m_fdc_2dd_ctrl = data; + m_fdc_2dd->subdevice("0")->get_device()->mon_w(data & 8 ? CLEAR_LINE : ASSERT_LINE); + m_fdc_2dd->subdevice("1")->get_device()->mon_w(data & 8 ? CLEAR_LINE : ASSERT_LINE); } READ8_MEMBER(pc9801_state::ide_ctrl_r) -- cgit v1.2.3