From 25a338ad52d9af613637b59e78ee44a35baf196a Mon Sep 17 00:00:00 2001 From: Sandro Ronco Date: Fri, 27 Jun 2014 19:27:12 +0000 Subject: [PATCH] Added lamps layout to jwildb52 and segajw (nw) --- .gitattributes | 2 + src/mame/drivers/segajw.c | 27 ++++++- src/mame/drivers/sigmab52.c | 30 +++++++- src/mame/layout/segajw.lay | 140 +++++++++++++++++++++++++++++++++++ src/mame/layout/sigmab52.lay | 133 +++++++++++++++++++++++++++++++++ src/mame/mame.mak | 4 + 6 files changed, 330 insertions(+), 6 deletions(-) create mode 100644 src/mame/layout/segajw.lay create mode 100644 src/mame/layout/sigmab52.lay diff --git a/.gitattributes b/.gitattributes index 756829077d5..d1fa21ba191 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6571,11 +6571,13 @@ src/mame/layout/sderby.lay svneol=native#text/xml src/mame/layout/seabattl.lay svneol=native#text/xml src/mame/layout/seawolf.lay svneol=native#text/xml src/mame/layout/seawolf2.lay svneol=native#text/xml +src/mame/layout/segajw.lay svneol=native#text/xml src/mame/layout/sgsafari.lay svneol=native#text/xml src/mame/layout/sharkpy.lay svneol=native#text/xml src/mame/layout/sharkpye.lay svneol=native#text/xml src/mame/layout/shuttlei.lay svneol=native#text/xml src/mame/layout/sidewndr.lay svneol=native#text/xml +src/mame/layout/sigmab52.lay svneol=native#text/xml src/mame/layout/sigmapkr.lay svneol=native#text/xml src/mame/layout/skydiver.lay svneol=native#text/xml src/mame/layout/slots.lay svneol=native#text/xml diff --git a/src/mame/drivers/segajw.c b/src/mame/drivers/segajw.c index 3160af4b832..77bfd8fccaa 100644 --- a/src/mame/drivers/segajw.c +++ b/src/mame/drivers/segajw.c @@ -27,6 +27,8 @@ SOUND : YM3438 #include "video/h63484.h" #include "video/ramdac.h" +#include "segajw.lh" + class segajw_state : public driver_device { public: @@ -40,6 +42,8 @@ public: DECLARE_WRITE16_MEMBER(coin_counter_w); DECLARE_READ16_MEMBER(hopper_r); DECLARE_WRITE16_MEMBER(hopper_w); + DECLARE_READ8_MEMBER(lamps_r); + DECLARE_WRITE8_MEMBER(lamps_w); DECLARE_READ16_MEMBER(coinlockout_r); DECLARE_WRITE16_MEMBER(coinlockout_w); DECLARE_WRITE8_MEMBER(audiocpu_cmd_w); @@ -59,8 +63,9 @@ protected: UINT64 m_coin_start_cycles; UINT64 m_hopper_start_cycles; UINT8 m_coin_counter; - UINT16 m_coin_lockout; + UINT8 m_coin_lockout; UINT8 m_hopper_ctrl; + UINT8 m_lamps[2]; }; @@ -89,6 +94,19 @@ WRITE16_MEMBER(segajw_state::hopper_w) } } +READ8_MEMBER(segajw_state::lamps_r) +{ + return m_lamps[offset]; +} + +WRITE8_MEMBER(segajw_state::lamps_w) +{ + for(int i=0; i<8; i++) + output_set_lamp_value((offset * 8) + i, BIT(data, i)); + + m_lamps[offset] = data; +} + READ16_MEMBER(segajw_state::coinlockout_r) { return m_coin_lockout; @@ -98,6 +116,9 @@ WRITE16_MEMBER(segajw_state::coinlockout_w) { coin_lockout_w(machine(), 0, data & 1); m_coin_lockout = data; + + for(int i=0; i<3; i++) + output_set_indexed_value("towerlamp", i, BIT(data, 3 + i)); } WRITE8_MEMBER(segajw_state::audiocpu_cmd_w) @@ -167,7 +188,7 @@ static ADDRESS_MAP_START( segajw_map, AS_PROGRAM, 16, segajw_state ) AM_RANGE(0x18000c, 0x18000d) AM_READ_PORT("DSW2") AM_RANGE(0x1a0000, 0x1a0001) AM_WRITE(coin_counter_w) - AM_RANGE(0x1a0002, 0x1a0005) AM_NOP // TODO: lamps + AM_RANGE(0x1a0002, 0x1a0005) AM_READWRITE8(lamps_r, lamps_w, 0x00ff) AM_RANGE(0x1a0006, 0x1a0007) AM_READWRITE(hopper_r, hopper_w) AM_RANGE(0x1a000a, 0x1a000b) AM_READ(coin_counter_r) @@ -417,4 +438,4 @@ ROM_START( segajw ) ROM_END -GAME( 198?, segajw, 0, segajw, segajw, driver_device, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS ) // TODO: correct title +GAMEL( 198?, segajw, 0, segajw, segajw, driver_device, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS, layout_segajw ) // TODO: correct title diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c index 41247668129..782b842e3bf 100644 --- a/src/mame/drivers/sigmab52.c +++ b/src/mame/drivers/sigmab52.c @@ -132,6 +132,7 @@ #include "sound/3812intf.h" #include "video/h63484.h" +#include "sigmab52.lh" class sigmab52_state : public driver_device { @@ -155,6 +156,9 @@ public: DECLARE_WRITE8_MEMBER(audiocpu_cmd_irq_w); DECLARE_WRITE8_MEMBER(audiocpu_irq_ack_w); DECLARE_WRITE8_MEMBER(hopper_w); + DECLARE_WRITE8_MEMBER(lamps1_w); + DECLARE_WRITE8_MEMBER(lamps2_w); + DECLARE_WRITE8_MEMBER(tower_lamps_w); DECLARE_WRITE8_MEMBER(coin_enable_w); DECLARE_DRIVER_INIT(jwildb52); DECLARE_INPUT_CHANGED_MEMBER(coin_drop_start); @@ -252,6 +256,21 @@ WRITE8_MEMBER(sigmab52_state::hopper_w) m_hopper_start_cycles = data & 0x01 ? m_maincpu->total_cycles() : 0; } +WRITE8_MEMBER(sigmab52_state::lamps1_w) +{ + output_set_lamp_value(offset, data & 1); +} + +WRITE8_MEMBER(sigmab52_state::lamps2_w) +{ + output_set_lamp_value(6 + offset, data & 1); +} + +WRITE8_MEMBER(sigmab52_state::tower_lamps_w) +{ + output_set_indexed_value("towerlamp", offset, data & 1); +} + WRITE8_MEMBER(sigmab52_state::coin_enable_w) { coin_lockout_w(machine(), 0, data & 0x01 ? 0 : 1); @@ -314,11 +333,16 @@ static ADDRESS_MAP_START( jwildb52_map, AS_PROGRAM, 8, sigmab52_state ) AM_RANGE(0xf760, 0xf760) AM_READ(unk_f760_r) +// AM_RANGE(0xf770, 0xf77f) Bill validator + AM_RANGE(0xf780, 0xf780) AM_WRITE(audiocpu_cmd_irq_w) AM_RANGE(0xf790, 0xf790) AM_WRITE(soundlatch_byte_w) AM_RANGE(0xf7b0, 0xf7b0) AM_WRITE(coin_enable_w) AM_RANGE(0xf7d5, 0xf7d5) AM_WRITE(hopper_w) + AM_RANGE(0xf7b2, 0xf7b7) AM_WRITE(lamps1_w) + AM_RANGE(0xf7c0, 0xf7c3) AM_WRITE(lamps2_w) + AM_RANGE(0xf7d6, 0xf7d7) AM_WRITE(tower_lamps_w) AM_RANGE(0xf800, 0xffff) AM_ROM ADDRESS_MAP_END @@ -651,6 +675,6 @@ DRIVER_INIT_MEMBER(sigmab52_state,jwildb52) *************************/ /* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 199?, jwildb52, 0, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING ) -GAME( 199?, jwildb52a, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING ) -GAME( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NO_SOUND | GAME_NOT_WORKING ) +GAMEL( 199?, jwildb52, 0, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) +GAMEL( 199?, jwildb52a, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) +GAMEL( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) diff --git a/src/mame/layout/segajw.lay b/src/mame/layout/segajw.lay new file mode 100644 index 00000000000..ff360aa7170 --- /dev/null +++ b/src/mame/layout/segajw.lay @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/sigmab52.lay b/src/mame/layout/sigmab52.lay new file mode 100644 index 00000000000..175b1bcd4b0 --- /dev/null +++ b/src/mame/layout/sigmab52.lay @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/mame.mak b/src/mame/mame.mak index ae9c243f8b8..1dc6fd1b0d8 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -2787,12 +2787,16 @@ $(DRIVERS)/sderby.o: $(LAYOUT)/sderby.lh \ $(DRIVERS)/seabattl.o: $(LAYOUT)/seabattl.lh +$(DRIVERS)/segajw.o: $(LAYOUT)/segajw.lh + $(DRIVERS)/segaorun.o: $(LAYOUT)/outrun.lh $(DRIVERS)/segas32.o: $(LAYOUT)/radr.lh $(DRIVERS)/segaybd.o: $(LAYOUT)/pdrift.lh +$(DRIVERS)/sigmab52.o: $(LAYOUT)/sigmab52.lh + $(DRIVERS)/skydiver.o: $(LAYOUT)/skydiver.lh $(DRIVERS)/snookr10.o: $(LAYOUT)/snookr10.lh