Skip to content

Commit 15143d6

Browse files
authored
nwk-tr.cpp: Wheel FFB outputs for Thrill Drive, Racing Jam 1/2 (#14593)
1 parent 4fd09f8 commit 15143d6

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/mame/konami/nwk-tr.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,9 @@ GN676 PWB(B)B
192192
TEXELFX - 3DFX 500-0004-02 BD0665.1 TMU (QFP208)
193193
PIXELFX - 3DFX 500-0003-03 F001701.1 FBI (QFP240)
194194
001604 - Konami Custom (QFP208)
195-
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
195+
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
196196
MACH111 - AMD MACH111 CPLD (Stamped '03161A', PLCC44)
197-
PLCC44_SOCKET - empty PLCC44 socket
197+
PLCC44_SOCKET - empty PLCC44 socket
198198
AV9170 - Integrated Circuit Systems Inc. Clock Multiplier (SOIC8)
199199
AM7201 - AMD AM7201 FIFO (PLCC32)
200200
PAL1 - AMD PALCE16V8 (stamped 'N676B4', DIP20)
@@ -271,6 +271,7 @@ class nwktr_state : public driver_device
271271
m_dsw(*this, "DSW"),
272272
m_analog(*this, "ANALOG%u", 1U),
273273
m_pcb_digit(*this, "pcbdigit%u", 0U),
274+
m_wheel_motor(*this, "wheel_motor"),
274275
m_cg_view(*this, "cg_view")
275276
{ }
276277

@@ -306,6 +307,7 @@ class nwktr_state : public driver_device
306307
required_ioport m_dsw;
307308
required_ioport_array<5> m_analog;
308309
output_finder<2> m_pcb_digit;
310+
output_finder<> m_wheel_motor;
309311
memory_view m_cg_view;
310312

311313
bool m_sound_irq_enabled = false;
@@ -334,7 +336,7 @@ uint32_t nwktr_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
334336
int const board = m_exrgb ? 1 : 0;
335337

336338
m_voodoo[board]->update(bitmap, cliprect);
337-
m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
339+
m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
338340

339341
return 0;
340342
}
@@ -377,7 +379,12 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
377379
{
378380
case 0:
379381
case 1:
380-
m_pcb_digit[offset] = bitswap<7>(~data , 0, 1, 2, 3, 4, 5, 6);
382+
m_pcb_digit[offset] = bitswap<7>(~data, 0, 1, 2, 3, 4, 5, 6);
383+
break;
384+
385+
case 2:
386+
// NWK-TR drive commands
387+
m_wheel_motor = data;
381388
break;
382389

383390
case 3:
@@ -416,7 +423,7 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
416423
// Racing Jam sets CG board ID to 2 when writing to the tilemap chip.
417424
// This could mean broadcast to both CG boards?
418425

419-
m_exrgb = BIT(data, 0); // Select which CG Board outputs signal
426+
m_exrgb = BIT(data, 0); // Select which CG Board outputs signal
420427

421428
m_cg_view.select(m_konppc->get_cgboard_id() ? 1 : 0);
422429
break;
@@ -449,6 +456,7 @@ void nwktr_state::soundtimer_ack_w(uint16_t data)
449456
void nwktr_state::machine_start()
450457
{
451458
m_pcb_digit.resolve();
459+
m_wheel_motor.resolve();
452460

453461
// set conservative DRC options
454462
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);

0 commit comments

Comments
 (0)