summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Endprodukt <o.carell@kabelmail.de>2025-11-30 19:50:33 +0100
committer GitHub <noreply@github.com>2025-11-30 19:50:33 +0100
commit15143d6421b11f7ed51c44c5284fb5ef8a1681a5 (patch)
tree2fe63c12c1c2235dbe09987efeb71e94f80b2e47
parent4fd09f819688eea4065282541293e270adcf9e53 (diff)
nwk-tr.cpp: Wheel FFB outputs for Thrill Drive, Racing Jam 1/2 (#14593)
-rw-r--r--src/mame/konami/nwk-tr.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/mame/konami/nwk-tr.cpp b/src/mame/konami/nwk-tr.cpp
index adbb33d7182..9653559e34c 100644
--- a/src/mame/konami/nwk-tr.cpp
+++ b/src/mame/konami/nwk-tr.cpp
@@ -192,9 +192,9 @@ Notes:
TEXELFX - 3DFX 500-0004-02 BD0665.1 TMU (QFP208)
PIXELFX - 3DFX 500-0003-03 F001701.1 FBI (QFP240)
001604 - Konami Custom (QFP208)
- MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
+ MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
MACH111 - AMD MACH111 CPLD (Stamped '03161A', PLCC44)
- PLCC44_SOCKET - empty PLCC44 socket
+ PLCC44_SOCKET - empty PLCC44 socket
AV9170 - Integrated Circuit Systems Inc. Clock Multiplier (SOIC8)
AM7201 - AMD AM7201 FIFO (PLCC32)
PAL1 - AMD PALCE16V8 (stamped 'N676B4', DIP20)
@@ -271,6 +271,7 @@ public:
m_dsw(*this, "DSW"),
m_analog(*this, "ANALOG%u", 1U),
m_pcb_digit(*this, "pcbdigit%u", 0U),
+ m_wheel_motor(*this, "wheel_motor"),
m_cg_view(*this, "cg_view")
{ }
@@ -306,6 +307,7 @@ private:
required_ioport m_dsw;
required_ioport_array<5> m_analog;
output_finder<2> m_pcb_digit;
+ output_finder<> m_wheel_motor;
memory_view m_cg_view;
bool m_sound_irq_enabled = false;
@@ -334,7 +336,7 @@ uint32_t nwktr_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
int const board = m_exrgb ? 1 : 0;
m_voodoo[board]->update(bitmap, cliprect);
- m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
+ m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
return 0;
}
@@ -377,7 +379,12 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
{
case 0:
case 1:
- m_pcb_digit[offset] = bitswap<7>(~data , 0, 1, 2, 3, 4, 5, 6);
+ m_pcb_digit[offset] = bitswap<7>(~data, 0, 1, 2, 3, 4, 5, 6);
+ break;
+
+ case 2:
+ // NWK-TR drive commands
+ m_wheel_motor = data;
break;
case 3:
@@ -416,7 +423,7 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
// Racing Jam sets CG board ID to 2 when writing to the tilemap chip.
// This could mean broadcast to both CG boards?
- m_exrgb = BIT(data, 0); // Select which CG Board outputs signal
+ m_exrgb = BIT(data, 0); // Select which CG Board outputs signal
m_cg_view.select(m_konppc->get_cgboard_id() ? 1 : 0);
break;
@@ -449,6 +456,7 @@ void nwktr_state::soundtimer_ack_w(uint16_t data)
void nwktr_state::machine_start()
{
m_pcb_digit.resolve();
+ m_wheel_motor.resolve();
// set conservative DRC options
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);