Added lamps layout to jwildb52 and segajw (nw)

This commit is contained in:
Sandro Ronco 2014-06-27 19:27:12 +00:00
parent 6ea3bb7acf
commit 25a338ad52
6 changed files with 330 additions and 6 deletions

2
.gitattributes vendored
View File

@ -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

View File

@ -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

View File

@ -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 )

140
src/mame/layout/segajw.lay Normal file
View File

@ -0,0 +1,140 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="DEALDRAW" defstate="1">
<rect state="0">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="DEAL">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.4" />
</text>
<text string="DRAW">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.5" width="1" height="0.4" />
</text>
</element>
<element name="HOLD" defstate="1">
<rect state="0">
<color red="1.0" green="1.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.2" blue="0.0" />
</rect>
<text string="HOLD">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="BET" defstate="1">
<rect state="0">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="1 BET">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="MAXBET" defstate="1">
<rect state="0">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="MAX BET">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="DOUBLE" defstate="1">
<rect state="0">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="DOUBLE">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="WHITELAMP" defstate="1">
<rect state="0">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
</element>
<element name="REDLAMP" defstate="1">
<rect state="0">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="1">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
</element>
<view name="Lamps">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<bezel name="lamp0" element="HOLD" inputtag="IN0" inputmask="0x0001">
<bounds x="0.45" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp1" element="HOLD" inputtag="IN0" inputmask="0x0002">
<bounds x="0.80" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp2" element="HOLD" inputtag="IN0" inputmask="0x0004">
<bounds x="1.15" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp3" element="HOLD" inputtag="IN0" inputmask="0x0008">
<bounds x="1.50" y="3.05" width="0.30" height="0.15" />
</bezel>4
<bezel name="lamp4" element="HOLD" inputtag="IN0" inputmask="0x0010">
<bounds x="1.85" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp7" element="DEALDRAW" inputtag="IN0" inputmask="0x0080">
<bounds x="0.10" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp5" element="BET" inputtag="IN0" inputmask="0x0020">
<bounds x="2.20" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp6" element="MAXBET" inputtag="IN0" inputmask="0x0040">
<bounds x="2.55" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp9" element="DOUBLE" inputtag="IN1" inputmask="0x0002">
<bounds x="2.90" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="towerlamp0" element="WHITELAMP">
<bounds x="3.8" y="3.05" width="0.15" height="0.05" />
</bezel>
<bezel name="towerlamp1" element="REDLAMP">
<bounds x="3.8" y="3.10" width="0.15" height="0.05" />
</bezel>
<bezel name="towerlamp2" element="REDLAMP">
<bounds x="3.8" y="3.15" width="0.15" height="0.05" />
</bezel>
</view>
<view name="Screen">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
</view>
</mamelayout>

View File

@ -0,0 +1,133 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="DEAL" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="DEAL">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="DRAW" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="DRAW">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="HOLD" defstate="0">
<rect state="1">
<color red="1.0" green="1.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.2" blue="0.0" />
</rect>
<text string="HOLD">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="CANCEL" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
<text string="CANCEL">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.8" />
</text>
</element>
<element name="EMPTY" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
</element>
<element name="WHITELAMP" defstate="0">
<rect state="1">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
</element>
<element name="REDLAMP" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.0" blue="0.0" />
</rect>
</element>
<view name="Lamps">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<bezel name="lamp5" element="HOLD" inputtag="IN1" inputmask="0x80">
<bounds x="0.80" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp6" element="HOLD" inputtag="IN2" inputmask="0x02">
<bounds x="1.15" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp7" element="HOLD" inputtag="IN2" inputmask="0x10">
<bounds x="1.50" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp8" element="HOLD" inputtag="IN2" inputmask="0x20">
<bounds x="1.85" y="3.05" width="0.30" height="0.15" />
</bezel>4
<bezel name="lamp9" element="HOLD" inputtag="IN2" inputmask="0x40">
<bounds x="2.20" y="3.05" width="0.30" height="0.15" />
</bezel>
<!-- functions of those buttons depends on the DIP switches -->
<bezel name="lamp3" element="DEAL" inputtag="IN0" inputmask="0x1000">
<bounds x="0.10" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp2" element="DRAW" inputtag="IN0" inputmask="0x2000">
<bounds x="0.45" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp1" element="CANCEL" inputtag="IN0" inputmask="0x4000">
<bounds x="2.55" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp0" element="EMPTY" inputtag="IN0" inputmask="0x4000">
<bounds x="2.90" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="lamp4" element="EMPTY" inputtag="IN0" inputmask="0x4000">
<bounds x="3.25" y="3.05" width="0.30" height="0.15" />
</bezel>
<bezel name="towerlamp0" element="REDLAMP">
<bounds x="3.8" y="3.13" width="0.15" height="0.05" />
</bezel>
<bezel name="towerlamp1" element="WHITELAMP">
<bounds x="3.8" y="3.07" width="0.15" height="0.05" />
</bezel>
</view>
<view name="Screen">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
</view>
</mamelayout>

View File

@ -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