diff options
author | Ted Green <tedgreen99@protonmail.com> | 2018-06-28 11:13:02 -0600 |
---|---|---|
committer | Ted Green <tedgreen99@protonmail.com> | 2018-06-28 11:13:31 -0600 |
commit | c97cd6691bd77ead2fe57b6a99ccb3be41c39b7a (patch) | |
tree | 88951d14ea2ae900f9d7f768c3c142b09cfb9ee2 | |
parent | eb5a8a3dc85b2cb3572687633b07bf93292ead62 (diff) |
vegas: Remove runtime tag lookups. (nw)
-rw-r--r-- | src/mame/drivers/vegas.cpp | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp index eab9280c945..7c796c29b84 100644 --- a/src/mame/drivers/vegas.cpp +++ b/src/mame/drivers/vegas.cpp @@ -328,7 +328,12 @@ public: m_uart0(*this, "uart0"), m_uart1(*this, "uart1"), m_uart2(*this, "uart2"), - m_io_analog(*this, "AN.%u", 0), + m_io_analog(*this, "AN.%u", 0U), + m_49way_x(*this, "49WAYX_P%u", 1U), + m_49way_y(*this, "49WAYY_P%u", 1U), + m_keypad(*this, "KEYPAD"), + m_gearshift(*this, "GEAR"), + m_wheel_driver(*this, "wheel"), m_lamps(*this, "lamp%u", 0U), m_a2d_shift(0) { } @@ -344,6 +349,11 @@ public: optional_device<ns16550_device> m_uart1; optional_device<ns16550_device> m_uart2; optional_ioport_array<8> m_io_analog; + optional_ioport_array<4> m_49way_x; + optional_ioport_array<4> m_49way_y; + optional_ioport m_keypad; + optional_ioport m_gearshift; + output_finder<1> m_wheel_driver; output_finder<16> m_lamps; int m_a2d_shift; @@ -457,6 +467,7 @@ void vegas_state::machine_start() /* set the fastest DRC options, but strict verification */ m_maincpu->mips3drc_set_options(MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY + MIPS3DRC_FLUSH_PC); + m_wheel_driver.resolve(); m_lamps.resolve(); /* register for save states */ @@ -1039,28 +1050,28 @@ CUSTOM_INPUT_MEMBER(vegas_state::i40_r) uint8_t data = 0; switch (index) { case 0: - data = translate49[ioport("49WAYX_P1")->read() >> 4]; + data = translate49[m_49way_x[0]->read() >> 4]; break; case 1: - data = translate49[ioport("49WAYY_P1")->read() >> 4]; + data = translate49[m_49way_y[0]->read() >> 4]; break; case 2: - data = translate49[ioport("49WAYX_P2")->read() >> 4]; + data = translate49[m_49way_x[1]->read() >> 4]; break; case 3: - data = translate49[ioport("49WAYY_P2")->read() >> 4]; + data = translate49[m_49way_y[1]->read() >> 4]; break; case 4: - data = translate49[ioport("49WAYX_P3")->read() >> 4]; + data = translate49[m_49way_x[2]->read() >> 4]; break; case 5: - data = translate49[ioport("49WAYY_P3")->read() >> 4]; + data = translate49[m_49way_y[2]->read() >> 4]; break; case 6: - data = translate49[ioport("49WAYX_P4")->read() >> 4]; + data = translate49[m_49way_x[3]->read() >> 4]; break; case 7: - data = translate49[ioport("49WAYY_P4")->read() >> 4]; + data = translate49[m_49way_y[3]->read() >> 4]; break; case 10: case 11: @@ -1124,7 +1135,7 @@ CUSTOM_INPUT_MEMBER(vegas_state::keypad_r) break; } if (row_sel <= 3) { - uint32_t bits = ioport((const char *)param)->read(); + uint32_t bits = m_keypad->read(); bits >>= row_sel * 3; return bits & 0x7; } @@ -1140,7 +1151,7 @@ CUSTOM_INPUT_MEMBER(vegas_state::keypad_r) DECLARE_CUSTOM_INPUT_MEMBER(vegas_state::gearshift_r) { // Check for gear change and save gear selection - uint32_t gear = ioport("GEAR")->read(); + uint32_t gear = m_gearshift->read(); for (int i = 0; i < 4; i++) { if (gear & (1 << i)) |