diff options
Diffstat (limited to 'src/mame/drivers/vegas.cpp')
-rw-r--r-- | src/mame/drivers/vegas.cpp | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp index bfa066e95b0..6bb868ee6ee 100644 --- a/src/mame/drivers/vegas.cpp +++ b/src/mame/drivers/vegas.cpp @@ -290,6 +290,7 @@ #include "video/voodoo_pci.h" #include "screen.h" +#include "sf2049.lh" /************************************* * @@ -974,8 +975,27 @@ WRITE32_MEMBER(vegas_state::wheel_board_w) uint8_t op = (data >> 8) & 0x3; uint8_t arg = data & 0xff; - if (valid && flag && op == 2) - m_keypad_select = arg; + if (valid && flag) + { + switch (op) + { + case 0x0: + machine().output().set_value("wheel", arg); // target wheel angle. signed byte. + break; + + case 0x1: + for (uint8_t bit = 0; bit < 8; bit++) + machine().output().set_lamp_value(bit, (arg >> bit) & 0x1); + + /* leader lamp bit is included in every write, for some reason. */ + machine().output().set_lamp_value(8, (data >> 12) & 0x1); + break; + + case 0x2: + m_keypad_select = arg; + break; + } + } } CUSTOM_INPUT_MEMBER(vegas_state::keypad_r) @@ -2186,9 +2206,9 @@ GAME( 2000, nbagold , 0, nbagold, nbashowt, vegas_state, nbanfl, ROT /* Durango + Denver SIO + Voodoo 3 */ -GAME( 1998, sf2049, 0, sf2049, sf2049, vegas_state, sf2049, ROT0, "Atari Games", "San Francisco Rush 2049", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1998, sf2049se, sf2049, sf2049se, sf2049se, vegas_state, sf2049se, ROT0, "Atari Games", "San Francisco Rush 2049: Special Edition", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -GAME( 1998, sf2049te, sf2049, sf2049te, sf2049, vegas_state, sf2049te, ROT0, "Atari Games", "San Francisco Rush 2049: Tournament Edition", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +GAMEL( 1998, sf2049, 0, sf2049, sf2049, vegas_state, sf2049, ROT0, "Atari Games", "San Francisco Rush 2049", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_sf2049 ) +GAMEL( 1998, sf2049se, sf2049, sf2049se, sf2049se, vegas_state, sf2049se, ROT0, "Atari Games", "San Francisco Rush 2049: Special Edition", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_sf2049 ) +GAMEL( 1998, sf2049te, sf2049, sf2049te, sf2049, vegas_state, sf2049te, ROT0, "Atari Games", "San Francisco Rush 2049: Tournament Edition", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_sf2049 ) /* Durango + Vegas SIO + Voodoo 3 */ GAME( 2000, cartfury, 0, cartfury, cartfury, vegas_state, cartfury, ROT0, "Midway Games", "Cart Fury", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) |