diff options
Diffstat (limited to 'src/mame/machine/namcos1.cpp')
-rw-r--r-- | src/mame/machine/namcos1.cpp | 273 |
1 files changed, 89 insertions, 184 deletions
diff --git a/src/mame/machine/namcos1.cpp b/src/mame/machine/namcos1.cpp index 627e2a8222c..02dc8fedb50 100644 --- a/src/mame/machine/namcos1.cpp +++ b/src/mame/machine/namcos1.cpp @@ -10,20 +10,20 @@ * * *******************************************************************************/ -WRITE8_MEMBER( namcos1_state::_3dcs_w ) +void namcos1_state::_3dcs_w(offs_t offset, u8 data) { if (offset & 1) popmessage("LEFT"); else popmessage("RIGHT"); } -READ8_MEMBER( namcos1_state::no_key_r ) +u8 namcos1_state::no_key_r(offs_t offset) { popmessage("%s: keychip read %04x\n", m_mcu->tag(), m_mcu->pc(), offset); return 0; } -WRITE8_MEMBER( namcos1_state::no_key_w ) +void namcos1_state::no_key_w(offs_t offset, u8 data) { popmessage("%s: keychip write %04x=%02x\n", m_mcu->tag(), m_mcu->pc(), offset, data); } @@ -128,7 +128,7 @@ puzlclub: CPU #0 PC e017: keychip write 0003=35 [they probably used RAM instead of a key chip for this prototype] CPU #0 PC e3d4: keychip read 0003 [AND #$37 = key no.] */ -READ8_MEMBER( namcos1_state::key_type1_r ) +u8 namcos1_state::key_type1_r(offs_t offset) { // logerror("%s: keychip read %04x\n", machine().describe_context(), offset); @@ -159,7 +159,7 @@ READ8_MEMBER( namcos1_state::key_type1_r ) return 0; } -WRITE8_MEMBER( namcos1_state::key_type1_w ) +void namcos1_state::key_type1_w(offs_t offset, u8 data) { // logerror("%s: keychip write %04x=%02x\n", machine().describe_context(), offset, data); @@ -311,7 +311,7 @@ CPU #0 PC e574: keychip read 0001 */ -READ8_MEMBER( namcos1_state::key_type2_r ) +u8 namcos1_state::key_type2_r(offs_t offset) { // logerror("%s: keychip read %04x\n", machine().describe_context(), offset); @@ -330,7 +330,7 @@ READ8_MEMBER( namcos1_state::key_type2_r ) return 0; } -WRITE8_MEMBER( namcos1_state::key_type2_w ) +void namcos1_state::key_type2_w(offs_t offset, u8 data) { // logerror("%s: keychip write %04x=%02x\n", machine().describe_context(), offset, data); @@ -340,8 +340,8 @@ WRITE8_MEMBER( namcos1_state::key_type2_w ) if (offset == 3) { - unsigned int d = (m_key[0] << 8) | m_key[1]; - unsigned int n = (m_key_numerator_high_word << 16) | (m_key[2] << 8) | m_key[3]; + u32 d = (m_key[0] << 8) | m_key[1]; + u32 n = (m_key_numerator_high_word << 16) | (m_key[2] << 8) | m_key[3]; if (d) { @@ -437,7 +437,7 @@ CPU #0 PC ca96: keychip read 0043 [0x30 | (ARG & 0x0f)] CPU #0 PC e45a: keychip read 0030 [discarded] */ -READ8_MEMBER( namcos1_state::key_type3_r ) +u8 namcos1_state::key_type3_r(offs_t offset) { // logerror("%s: keychip read %04x\n", machine().describe_context(), offset); @@ -447,7 +447,7 @@ READ8_MEMBER( namcos1_state::key_type3_r ) The schematics don't show A11 being used, so I go for this handling. */ - int op = (offset & 0x70) >> 4; + const int op = (offset & 0x70) >> 4; if (op == m_key_reg) return m_key_id; if (op == m_key_rng) return machine().rand(); @@ -461,7 +461,7 @@ READ8_MEMBER( namcos1_state::key_type3_r ) return 0; } -WRITE8_MEMBER( namcos1_state::key_type3_w ) +void namcos1_state::key_type3_w(offs_t offset, u8 data) { // logerror("%s: keychip write %04x=%02x\n", machine().describe_context(), offset, data); @@ -476,7 +476,7 @@ WRITE8_MEMBER( namcos1_state::key_type3_w ) * * *******************************************************************************/ -WRITE8_MEMBER(namcos1_state::sound_bankswitch_w) +void namcos1_state::sound_bankswitch_w(u8 data) { m_soundbank->set_entry((data & 0x70) >> 4); } @@ -545,7 +545,7 @@ void namcos1_state::machine_reset() *******************************************************************************/ /* mcu banked rom area select */ -WRITE8_MEMBER(namcos1_state::mcu_bankswitch_w) +void namcos1_state::mcu_bankswitch_w(u8 data) { int bank; @@ -581,7 +581,7 @@ WRITE8_MEMBER(namcos1_state::mcu_bankswitch_w) /* I found set $A6 only initialize in MCU */ /* This patch kill write this data by MCU case $A6 to xx(clear) */ -WRITE8_MEMBER(namcos1_state::mcu_patch_w) +void namcos1_state::mcu_patch_w(u8 data) { //logerror("mcu C000 write %s data=%02x\n",machine().describe_context(),data); if (m_mcu_patch_data == 0xa6) return; @@ -603,14 +603,14 @@ void namcos1_state::driver_init() { if ((i & 0x010000) == 0) { - uint8_t t = m_rom[i]; + u8 t = m_rom[i]; m_rom[i] = m_rom[i + 0x010000]; m_rom[i + 0x010000] = t; } } // kludge! see notes - m_mcu->space(AS_PROGRAM).install_write_handler(0xc000, 0xc000, write8_delegate(FUNC(namcos1_state::mcu_patch_w), this)); + m_mcu->space(AS_PROGRAM).install_write_handler(0xc000, 0xc000, write8smo_delegate(FUNC(namcos1_state::mcu_patch_w), this)); // these are overridden as needed in the specific DRIVER_INIT_MEMBERs m_key_id = 0; @@ -622,6 +622,38 @@ void namcos1_state::driver_init() m_key_top4 = 0; } +void namcos1_state::key_type_1_init(int key_id) +{ + m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, + read8sm_delegate(FUNC(namcos1_state::key_type1_r),this), + write8sm_delegate(FUNC(namcos1_state::key_type1_w),this)); + m_key_id = key_id; +} + +void namcos1_state::key_type_2_init(int key_id) +{ + m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, + read8sm_delegate(FUNC(namcos1_state::key_type2_r),this), + write8sm_delegate(FUNC(namcos1_state::key_type2_w),this)); + m_key_id = key_id; + save_item(NAME(m_key_quotient)); + save_item(NAME(m_key_reminder)); + save_item(NAME(m_key_numerator_high_word)); +} + +void namcos1_state::key_type_3_init(int key_id, int reg, int rng, int swap4_arg, int swap4, int bottom4, int top4) +{ + m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, + read8sm_delegate(FUNC(namcos1_state::key_type3_r),this), + write8sm_delegate(FUNC(namcos1_state::key_type3_w),this)); + m_key_id = key_id; + m_key_reg = reg; + m_key_rng = rng; + m_key_swap4_arg = swap4_arg; + m_key_swap4 = swap4; + m_key_bottom4 = bottom4; + m_key_top4 = top4; +} /******************************************************************************* * Shadowland / Youkai Douchuuki specific * @@ -637,10 +669,7 @@ void namcos1_state::init_shadowld() void namcos1_state::init_dspirit() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type1_r),this), - write8_delegate(FUNC(namcos1_state::key_type1_w),this)); - m_key_id = 0x36; + key_type_1_init(0x36); } /******************************************************************************* @@ -649,10 +678,7 @@ void namcos1_state::init_dspirit() void namcos1_state::init_wldcourt() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type1_r),this), - write8_delegate(FUNC(namcos1_state::key_type1_w),this)); - m_key_id = 0x35; + key_type_1_init(0x35); } /******************************************************************************* @@ -661,10 +687,7 @@ void namcos1_state::init_wldcourt() void namcos1_state::init_blazer() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type1_r),this), - write8_delegate(FUNC(namcos1_state::key_type1_w),this)); - m_key_id = 0x13; + key_type_1_init(0x13); } /******************************************************************************* @@ -673,10 +696,7 @@ void namcos1_state::init_blazer() void namcos1_state::init_puzlclub() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type1_r),this), - write8_delegate(FUNC(namcos1_state::key_type1_w),this)); - m_key_id = 0x35; + key_type_1_init(0x35); } /******************************************************************************* @@ -685,13 +705,7 @@ void namcos1_state::init_puzlclub() void namcos1_state::init_pacmania() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type2_r),this), - write8_delegate(FUNC(namcos1_state::key_type2_w),this)); - m_key_id = 0x12; - save_item(NAME(m_key_quotient)); - save_item(NAME(m_key_reminder)); - save_item(NAME(m_key_numerator_high_word)); + key_type_2_init(0x12); } /******************************************************************************* @@ -700,13 +714,7 @@ void namcos1_state::init_pacmania() void namcos1_state::init_alice() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type2_r),this), - write8_delegate(FUNC(namcos1_state::key_type2_w),this)); - m_key_id = 0x25; - save_item(NAME(m_key_quotient)); - save_item(NAME(m_key_reminder)); - save_item(NAME(m_key_numerator_high_word)); + key_type_2_init(0x25); } /******************************************************************************* @@ -715,13 +723,7 @@ void namcos1_state::init_alice() void namcos1_state::init_galaga88() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type2_r),this), - write8_delegate(FUNC(namcos1_state::key_type2_w),this)); - m_key_id = 0x31; - save_item(NAME(m_key_quotient)); - save_item(NAME(m_key_reminder)); - save_item(NAME(m_key_numerator_high_word)); + key_type_2_init(0x31); } /******************************************************************************* @@ -730,13 +732,7 @@ void namcos1_state::init_galaga88() void namcos1_state::init_ws() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type2_r),this), - write8_delegate(FUNC(namcos1_state::key_type2_w),this)); - m_key_id = 0x07; - save_item(NAME(m_key_quotient)); - save_item(NAME(m_key_reminder)); - save_item(NAME(m_key_numerator_high_word)); + key_type_2_init(0x07); } /******************************************************************************* @@ -745,13 +741,7 @@ void namcos1_state::init_ws() void namcos1_state::init_bakutotu() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type2_r),this), - write8_delegate(FUNC(namcos1_state::key_type2_w),this)); - m_key_id = 0x22; - save_item(NAME(m_key_quotient)); - save_item(NAME(m_key_reminder)); - save_item(NAME(m_key_numerator_high_word)); + key_type_2_init(0x22); } /******************************************************************************* @@ -760,16 +750,7 @@ void namcos1_state::init_bakutotu() void namcos1_state::init_splatter() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 181; - m_key_reg = 3; - m_key_rng = 4; - m_key_swap4_arg = -1; - m_key_swap4 = -1; - m_key_bottom4 = -1; - m_key_top4 = -1; + key_type_3_init(181, 3, 4, -1, -1, -1, -1); } /******************************************************************************* @@ -778,16 +759,7 @@ void namcos1_state::init_splatter() void namcos1_state::init_rompers() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 182; - m_key_reg = 7; - m_key_rng = -1; - m_key_swap4_arg = -1; - m_key_swap4 = -1; - m_key_bottom4 = -1; - m_key_top4 = -1; + key_type_3_init(182, 7, -1, -1, -1, -1, -1); } /******************************************************************************* @@ -796,16 +768,7 @@ void namcos1_state::init_rompers() void namcos1_state::init_blastoff() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 183; - m_key_reg = 0; - m_key_rng = 7; - m_key_swap4_arg = 3; - m_key_swap4 = 5; - m_key_bottom4 = -1; - m_key_top4 = -1; + key_type_3_init(183, 0, 7, 3, 5, -1, -1); } /******************************************************************************* @@ -814,16 +777,7 @@ void namcos1_state::init_blastoff() void namcos1_state::init_ws89() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 184; - m_key_reg = 2; - m_key_rng = -1; - m_key_swap4_arg = -1; - m_key_swap4 = -1; - m_key_bottom4 = -1; - m_key_top4 = -1; + key_type_3_init(184, 2, -1, -1, -1, -1, -1); } /******************************************************************************* @@ -832,16 +786,7 @@ void namcos1_state::init_ws89() void namcos1_state::init_tankfrce() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 185; - m_key_reg = 5; - m_key_rng = -1; - m_key_swap4_arg = 1; - m_key_swap4 = -1; - m_key_bottom4 = 2; - m_key_top4 = -1; + key_type_3_init(185, 5, -1, 1, -1, 2, -1); } void namcos1_state::init_tankfrc4() @@ -853,7 +798,7 @@ void namcos1_state::init_tankfrc4() m_stored_input[0] = 0; m_stored_input[1] = 0; - m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8_delegate(FUNC(namcos1_state::faceoff_inputs_r), this)); + m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8sm_delegate(FUNC(namcos1_state::faceoff_inputs_r), this)); save_item(NAME(m_input_count)); save_item(NAME(m_stored_input)); } @@ -864,16 +809,7 @@ void namcos1_state::init_tankfrc4() void namcos1_state::init_dangseed() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 308; - m_key_reg = 6; - m_key_rng = -1; - m_key_swap4_arg = 5; - m_key_swap4 = -1; - m_key_bottom4 = 0; - m_key_top4 = 4; + key_type_3_init(308, 6, -1, 5, -1, 0, 4); } /******************************************************************************* @@ -882,16 +818,7 @@ void namcos1_state::init_dangseed() void namcos1_state::init_pistoldm() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 309; - m_key_reg = 1; - m_key_rng = 2; - m_key_swap4_arg = 0; - m_key_swap4 = -1; - m_key_bottom4 = 4; - m_key_top4 = -1; + key_type_3_init(309, 1, 2, 0, -1, 4, -1); } /******************************************************************************* @@ -900,16 +827,7 @@ void namcos1_state::init_pistoldm() void namcos1_state::init_ws90() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 310; - m_key_reg = 4; - m_key_rng = -1; - m_key_swap4_arg = 7; - m_key_swap4 = -1; - m_key_bottom4 = 3; - m_key_top4 = -1; + key_type_3_init(310, 4, -1, 7, -1, 3, -1); } /******************************************************************************* @@ -918,16 +836,7 @@ void namcos1_state::init_ws90() void namcos1_state::init_soukobdx() { driver_init(); - m_c117->space(AS_PROGRAM).install_readwrite_handler(0x2f8000, 0x2f9fff, - read8_delegate(FUNC(namcos1_state::key_type3_r),this), - write8_delegate(FUNC(namcos1_state::key_type3_w),this)); - m_key_id = 311; - m_key_reg = 2; - m_key_rng = 3; /*?*/ - m_key_swap4_arg = 0; - m_key_swap4 = -1; - m_key_bottom4 = 4; - m_key_top4 = -1; + key_type_3_init(311, 2, 3 /*?*/, 0, -1, 4, -1); } @@ -935,16 +844,16 @@ void namcos1_state::init_soukobdx() /******************************************************************************* * Quester specific * *******************************************************************************/ -READ8_MEMBER( namcos1_state::quester_paddle_r ) +u8 namcos1_state::quester_paddle_r(offs_t offset) { if (offset == 0) { int ret; if (!(m_strobe & 0x20)) - ret = (ioport("CONTROL0")->read()&0x90) | (m_strobe & 0x40) | (ioport("PADDLE0")->read()&0x0f); + ret = (m_io_control[0]->read()&0x90) | (m_strobe & 0x40) | (m_io_paddle[0]->read()&0x0f); else - ret = (ioport("CONTROL0")->read()&0x90) | (m_strobe & 0x40) | (ioport("PADDLE1")->read()&0x0f); + ret = (m_io_control[0]->read()&0x90) | (m_strobe & 0x40) | (m_io_paddle[1]->read()&0x0f); m_strobe ^= 0x40; @@ -955,9 +864,9 @@ READ8_MEMBER( namcos1_state::quester_paddle_r ) int ret; if (!(m_strobe & 0x20)) - ret = (ioport("CONTROL1")->read()&0x90) | 0x00 | (ioport("PADDLE0")->read()>>4); + ret = (m_io_control[1]->read()&0x90) | 0x00 | (m_io_paddle[0]->read()>>4); else - ret = (ioport("CONTROL1")->read()&0x90) | 0x20 | (ioport("PADDLE1")->read()>>4); + ret = (m_io_control[1]->read()&0x90) | 0x20 | (m_io_paddle[1]->read()>>4); if (!(m_strobe & 0x40)) m_strobe ^= 0x20; @@ -969,7 +878,7 @@ void namcos1_state::init_quester() { m_strobe = 0; driver_init(); - m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8_delegate(FUNC(namcos1_state::quester_paddle_r), this)); + m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8sm_delegate(FUNC(namcos1_state::quester_paddle_r), this)); save_item(NAME(m_strobe)); } @@ -979,7 +888,7 @@ void namcos1_state::init_quester() * Beraboh Man specific * *******************************************************************************/ -READ8_MEMBER( namcos1_state::berabohm_buttons_r ) +u8 namcos1_state::berabohm_buttons_r(offs_t offset) { int res; @@ -987,16 +896,13 @@ READ8_MEMBER( namcos1_state::berabohm_buttons_r ) { int inp = m_input_count; - if (inp == 4) res = ioport("CONTROL0")->read(); + if (inp == 4) res = m_io_control[0]->read(); else { - char portname[40]; - #ifdef PRESSURE_SENSITIVE static int counter[4]; - sprintf(portname,"IN%d",inp); /* IN0-IN3 */ - res = ioport(portname)->read(); + res = m_io_in[inp]->read(); /* IN0-IN3 */ if (res & 0x80) { if (counter[inp] >= 0) @@ -1019,8 +925,7 @@ READ8_MEMBER( namcos1_state::berabohm_buttons_r ) else counter[inp] = -1; #else - sprintf(portname,"IN%d",inp); /* IN0-IN3 */ - res = ioport(portname)->read(); + res = m_io_in[inp]->read(); /* IN0-IN3 */ if (res & 1) res = 0x7f; /* weak */ else if (res & 2) res = 0x48; /* medium */ else if (res & 4) res = 0x40; /* strong */ @@ -1031,7 +936,7 @@ READ8_MEMBER( namcos1_state::berabohm_buttons_r ) } else { - res = ioport("CONTROL1")->read() & 0x8f; + res = m_io_control[1]->read() & 0x8f; /* the strobe cannot happen too often, otherwise the MCU will waste too much time reading the inputs and won't have enough cycles to play two @@ -1059,7 +964,7 @@ void namcos1_state::init_berabohm() m_strobe = 0; m_strobe_count = 0; driver_init(); - m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8_delegate(FUNC(namcos1_state::berabohm_buttons_r), this)); + m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8sm_delegate(FUNC(namcos1_state::berabohm_buttons_r), this)); save_item(NAME(m_input_count)); save_item(NAME(m_strobe)); save_item(NAME(m_strobe_count)); @@ -1073,19 +978,19 @@ void namcos1_state::init_berabohm() // used by faceoff and tankforce 4 player (input multiplex) -READ8_MEMBER( namcos1_state::faceoff_inputs_r ) +u8 namcos1_state::faceoff_inputs_r(offs_t offset) { int res; if (offset == 0) { - res = (ioport("CONTROL0")->read() & 0x80) | m_stored_input[0]; + res = (m_io_control[0]->read() & 0x80) | m_stored_input[0]; return res; } else { - res = ioport("CONTROL1")->read() & 0x80; + res = m_io_control[1]->read() & 0x80; /* the strobe cannot happen too often, otherwise the MCU will waste too much time reading the inputs and won't have enough cycles to play two @@ -1100,17 +1005,17 @@ READ8_MEMBER( namcos1_state::faceoff_inputs_r ) switch (m_input_count) { case 0: - m_stored_input[0] = ioport("IN0")->read() & 0x1f; - m_stored_input[1] = (ioport("IN3")->read() & 0x07) << 3; + m_stored_input[0] = m_io_in[0]->read() & 0x1f; + m_stored_input[1] = (m_io_in[3]->read() & 0x07) << 3; break; case 3: - m_stored_input[0] = ioport("IN2")->read() & 0x1f; + m_stored_input[0] = m_io_in[2]->read() & 0x1f; break; case 4: - m_stored_input[0] = ioport("IN1")->read() & 0x1f; - m_stored_input[1] = ioport("IN3")->read() & 0x18; + m_stored_input[0] = m_io_in[1]->read() & 0x1f; + m_stored_input[1] = m_io_in[3]->read() & 0x18; break; default: @@ -1138,7 +1043,7 @@ void namcos1_state::init_faceoff() m_stored_input[1] = 0; driver_init(); - m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8_delegate(FUNC(namcos1_state::faceoff_inputs_r), this)); + m_mcu->space(AS_PROGRAM).install_read_handler(0x1400, 0x1401, read8sm_delegate(FUNC(namcos1_state::faceoff_inputs_r), this)); save_item(NAME(m_input_count)); save_item(NAME(m_stored_input)); } |