summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/model1.c
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2013-01-14 15:47:05 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2013-01-14 15:47:05 +0000
commit408b15043d9da0a93379febfab7026f062a2cb7f (patch)
treeef60f0d53cd3e8b2689c6d004f83a445e2558e3e /src/mame/drivers/model1.c
parentf2ce386a91cab6cab9c2bdc4a05a1c74a9c8b2e1 (diff)
Hooked up lamps in Virtua Racing. [SailorSat]
Diffstat (limited to 'src/mame/drivers/model1.c')
-rw-r--r--src/mame/drivers/model1.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index be2ee7e0caf..7e6f615b9d0 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -645,6 +645,9 @@ READ16_MEMBER(model1_state::io_r)
if(offset < 0x8)
return ioport(analognames[offset])->read_safe(0x00);
+ if(offset == 0x0f)
+ return m_lamp_state;
+
if(offset < 0x10)
{
offset -= 0x8;
@@ -660,12 +663,14 @@ READ16_MEMBER(model1_state::io_r)
WRITE16_MEMBER(model1_state::io_w)
{
if(offset == 0x0f){
- // tested in vf, swa, wingwar
+ // tested in vr, vf, swa, wingwar
set_led_status(machine(), 0, data & 0x4); // START (1)
set_led_status(machine(), 1, data & 0x8); // VIEW1 (START2 - VF)
set_led_status(machine(), 2, data & 0x10); // VIEW2 (VIEW - SWA)
set_led_status(machine(), 3, data & 0x20); // VIEW3
set_led_status(machine(), 4, data & 0x40); // VIEW4
+ set_led_status(machine(), 5, data & 0x80); // RACE LEADER
+ m_lamp_state = data;
return;
}
logerror("IOW: %02x %02x\n", offset, data);
@@ -965,7 +970,7 @@ static ADDRESS_MAP_START( model1_vr_mem, AS_PROGRAM, 16, model1_state )
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_SHARE("paletteram")
AM_RANGE(0x910000, 0x91bfff) AM_RAM AM_SHARE("color_xlat")
- AM_RANGE(0xc00000, 0xc0003f) AM_READ(io_r) AM_WRITENOP
+ AM_RANGE(0xc00000, 0xc0003f) AM_READWRITE(io_r, io_w)
AM_RANGE(0xc00040, 0xc00043) AM_READWRITE(network_ctl_r, network_ctl_w)