diff options
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | src/mame/drivers/gts80.c | 68 | ||||
-rw-r--r-- | src/mame/layout/gts80.lay | 140 | ||||
-rw-r--r-- | src/mame/mame.mak | 2 |
4 files changed, 201 insertions, 10 deletions
diff --git a/.gitattributes b/.gitattributes index 753283463bc..168bc3d734e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6660,6 +6660,7 @@ src/mame/layout/gp_1.lay svneol=native#text/xml src/mame/layout/gp_2.lay svneol=native#text/xml src/mame/layout/grchamp.lay svneol=native#text/xml src/mame/layout/gridiron.lay svneol=native#text/xml +src/mame/layout/gts80.lay svneol=native#text/plain src/mame/layout/gunchamp.lay svneol=native#text/xml src/mame/layout/gunchamps.lay svneol=native#text/xml src/mame/layout/gunfight.lay svneol=native#text/xml diff --git a/src/mame/drivers/gts80.c b/src/mame/drivers/gts80.c index 9d4daa5b0a8..03716845d70 100644 --- a/src/mame/drivers/gts80.c +++ b/src/mame/drivers/gts80.c @@ -11,19 +11,27 @@ ToDO: ************************************************************************************************************/ -#include "emu.h" +#include "machine/genpin.h" #include "cpu/m6502/m6502.h" #include "machine/6532riot.h" +#include "gts80.lh" -class gts80_state : public driver_device +class gts80_state : public genpin_class { public: gts80_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) + : genpin_class(mconfig, type, tag) , m_maincpu(*this, "maincpu") { } DECLARE_DRIVER_INIT(gts80); + DECLARE_READ8_MEMBER(port1a_r); + DECLARE_READ8_MEMBER(port2a_r); + DECLARE_WRITE8_MEMBER(port1b_w); + DECLARE_WRITE8_MEMBER(port2a_w); + DECLARE_WRITE8_MEMBER(port2b_w); + DECLARE_WRITE8_MEMBER(port3a_w); + DECLARE_WRITE8_MEMBER(port3b_w); private: virtual void machine_reset(); required_device<cpu_device> m_maincpu; @@ -45,6 +53,38 @@ ADDRESS_MAP_END static INPUT_PORTS_START( gts80 ) INPUT_PORTS_END +READ8_MEMBER( gts80_state::port1a_r ) +{ + return 0xff; +} + +READ8_MEMBER( gts80_state::port2a_r ) +{ + return 0xff; +} + +WRITE8_MEMBER( gts80_state::port1b_w ) +{ +} + +WRITE8_MEMBER( gts80_state::port2a_w ) +{ +//printf("A:%X ",data); +} + +WRITE8_MEMBER( gts80_state::port2b_w ) +{ +//printf("B:%X ",data); +} + +WRITE8_MEMBER( gts80_state::port3a_w ) +{ +} + +WRITE8_MEMBER( gts80_state::port3b_w ) +{ +} + void gts80_state::machine_reset() { } @@ -58,25 +98,33 @@ static MACHINE_CONFIG_START( gts80_s, gts80_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6502, 850000) // xtal frequency not shown MCFG_CPU_PROGRAM_MAP(gts80_map) + + /* Video */ + MCFG_DEFAULT_LAYOUT(layout_gts80) + + /* Devices */ MCFG_DEVICE_ADD("riot1", RIOT6532, 850000) - //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port1a_r)) + MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port1a_r)) // sw_r //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port1a_w)) //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port1b_r)) - //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port1b_w)) + MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port1b_w)) // sw_w MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) MCFG_DEVICE_ADD("riot2", RIOT6532, 850000) - //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port2a_r)) - //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port2a_w)) + MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port2a_r)) // pa7 - slam tilt + MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port2a_w)) // digit select //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port2b_r)) - //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port2b_w)) + MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port2b_w)) // seg MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) MCFG_DEVICE_ADD("riot3", RIOT6532, 850000) //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port3a_r)) - //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port3a_w)) + MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port3a_w)) // sol, snd //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port3b_r)) - //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port3b_w)) + MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port3b_w)) // lamps MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) + /* Sound */ + MCFG_FRAGMENT_ADD( genpin_audio ) + /* related to src/mame/audio/gottlieb.c */ // MCFG_IMPORT_FROM(gts80s_s) MACHINE_CONFIG_END diff --git a/src/mame/layout/gts80.lay b/src/mame/layout/gts80.lay new file mode 100644 index 00000000000..129ca042d2c --- /dev/null +++ b/src/mame/layout/gts80.lay @@ -0,0 +1,140 @@ +<!-- GTS80 copied from hankin.lay --> + +<!-- 2014-10-08: Initial version. [Robbbert] --> + +<mamelayout version="2"> + + <element name="digit" defstate="0"> + <led14seg> + <color red="0.0" green="0.75" blue="1.0" /> + </led14seg> + </element> + <element name="red_led"> + <disk><color red="1.0" green="0.0" blue="0.0" /></disk> + </element> + <element name="background"> + <rect> + <bounds left="0" top="0" right="1" bottom="1" /> + <color red="0.0" green="0.0" blue="0.0" /> + </rect> + </element> + <element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element> + <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element> + <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element> + <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element> + <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element> + <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element> + + <view name="Default Layout"> + + <!-- Background --> + <backdrop element="background"> + <bounds left="0" top="20" right="274" bottom="394" /> + </backdrop> + + <!-- LEDs --> + + <!-- Player 1 Score --> + + <bezel name="digit5" element="digit"> + <bounds left="10" top="45" right="44" bottom="84" /> + </bezel> + <bezel name="digit4" element="digit"> + <bounds left="54" top="45" right="88" bottom="84" /> + </bezel> + <bezel name="digit3" element="digit"> + <bounds left="98" top="45" right="132" bottom="84" /> + </bezel> + <bezel name="digit2" element="digit"> + <bounds left="142" top="45" right="176" bottom="84" /> + </bezel> + <bezel name="digit1" element="digit"> + <bounds left="186" top="45" right="220" bottom="84" /> + </bezel> + <bezel name="digit0" element="digit"> + <bounds left="230" top="45" right="264" bottom="84" /> + </bezel> + + <!-- Player 2 Score --> + <bezel name="digit15" element="digit"> + <bounds left="10" top="105" right="44" bottom="144" /> + </bezel> + <bezel name="digit14" element="digit"> + <bounds left="54" top="105" right="88" bottom="144" /> + </bezel> + <bezel name="digit13" element="digit"> + <bounds left="98" top="105" right="132" bottom="144" /> + </bezel> + <bezel name="digit12" element="digit"> + <bounds left="142" top="105" right="176" bottom="144" /> + </bezel> + <bezel name="digit11" element="digit"> + <bounds left="186" top="105" right="220" bottom="144" /> + </bezel> + <bezel name="digit10" element="digit"> + <bounds left="230" top="105" right="264" bottom="144" /> + </bezel> + + <!-- Player 3 Score --> + <bezel name="digit25" element="digit"> + <bounds left="10" top="165" right="44" bottom="204" /> + </bezel> + <bezel name="digit24" element="digit"> + <bounds left="54" top="165" right="88" bottom="204" /> + </bezel> + <bezel name="digit23" element="digit"> + <bounds left="98" top="165" right="132" bottom="204" /> + </bezel> + <bezel name="digit22" element="digit"> + <bounds left="142" top="165" right="176" bottom="204" /> + </bezel> + <bezel name="digit21" element="digit"> + <bounds left="186" top="165" right="220" bottom="204" /> + </bezel> + <bezel name="digit20" element="digit"> + <bounds left="230" top="165" right="264" bottom="204" /> + </bezel> + + <!-- Player 4 Score --> + <bezel name="digit35" element="digit"> + <bounds left="10" top="225" right="44" bottom="264" /> + </bezel> + <bezel name="digit34" element="digit"> + <bounds left="54" top="225" right="88" bottom="264" /> + </bezel> + <bezel name="digit33" element="digit"> + <bounds left="98" top="225" right="132" bottom="264" /> + </bezel> + <bezel name="digit32" element="digit"> + <bounds left="142" top="225" right="176" bottom="264" /> + </bezel> + <bezel name="digit31" element="digit"> + <bounds left="186" top="225" right="220" bottom="264" /> + </bezel> + <bezel name="digit30" element="digit"> + <bounds left="230" top="225" right="264" bottom="264" /> + </bezel> + + <!-- Credits and Balls --> + <bezel name="digit41" element="digit"> + <bounds left="30" top="345" right="64" bottom="384" /> + </bezel> + <bezel name="digit40" element="digit"> + <bounds left="69" top="345" right="103" bottom="384" /> + </bezel> + <bezel name="digit44" element="digit"> + <bounds left="171" top="345" right="205" bottom="384" /> + </bezel> + <bezel name="digit43" element="digit"> + <bounds left="210" top="345" right="244" bottom="384" /> + </bezel> + <bezel element="P1"><bounds left="200" right="258" top="330" bottom="342" /></bezel> + <bezel element="P0"><bounds left="50" right="108" top="330" bottom="342" /></bezel> + <bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel> + <bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel> + <bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel> + <bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel> + <bezel name="led0" element="red_led"> + <bounds left="10" right="25" top="360" bottom="375" /></bezel> + </view> +</mamelayout> diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 329de7496aa..fcd77000974 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -2647,6 +2647,8 @@ $(DRIVERS)/goldnpkr.o: $(LAYOUT)/goldnpkr.lh \ $(LAYOUT)/pmpoker.lh \ $(LAYOUT)/upndown.lh +$(DRIVERS)/gts80.o: $(LAYOUT)/gts80.lh + $(DRIVERS)/lbeach.o: $(LAYOUT)/lbeach.lh $(DRIVERS)/goldstar.o: $(LAYOUT)/goldstar.lh \ |