trunk/src/mame/layout/gts80.lay
| r0 | r32580 | |
| 1 | <!-- GTS80 copied from hankin.lay --> |
| 2 | |
| 3 | <!-- 2014-10-08: Initial version. [Robbbert] --> |
| 4 | |
| 5 | <mamelayout version="2"> |
| 6 | |
| 7 | <element name="digit" defstate="0"> |
| 8 | <led14seg> |
| 9 | <color red="0.0" green="0.75" blue="1.0" /> |
| 10 | </led14seg> |
| 11 | </element> |
| 12 | <element name="red_led"> |
| 13 | <disk><color red="1.0" green="0.0" blue="0.0" /></disk> |
| 14 | </element> |
| 15 | <element name="background"> |
| 16 | <rect> |
| 17 | <bounds left="0" top="0" right="1" bottom="1" /> |
| 18 | <color red="0.0" green="0.0" blue="0.0" /> |
| 19 | </rect> |
| 20 | </element> |
| 21 | <element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 22 | <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 23 | <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 24 | <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 25 | <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 26 | <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 27 | |
| 28 | <view name="Default Layout"> |
| 29 | |
| 30 | <!-- Background --> |
| 31 | <backdrop element="background"> |
| 32 | <bounds left="0" top="20" right="274" bottom="394" /> |
| 33 | </backdrop> |
| 34 | |
| 35 | <!-- LEDs --> |
| 36 | |
| 37 | <!-- Player 1 Score --> |
| 38 | |
| 39 | <bezel name="digit5" element="digit"> |
| 40 | <bounds left="10" top="45" right="44" bottom="84" /> |
| 41 | </bezel> |
| 42 | <bezel name="digit4" element="digit"> |
| 43 | <bounds left="54" top="45" right="88" bottom="84" /> |
| 44 | </bezel> |
| 45 | <bezel name="digit3" element="digit"> |
| 46 | <bounds left="98" top="45" right="132" bottom="84" /> |
| 47 | </bezel> |
| 48 | <bezel name="digit2" element="digit"> |
| 49 | <bounds left="142" top="45" right="176" bottom="84" /> |
| 50 | </bezel> |
| 51 | <bezel name="digit1" element="digit"> |
| 52 | <bounds left="186" top="45" right="220" bottom="84" /> |
| 53 | </bezel> |
| 54 | <bezel name="digit0" element="digit"> |
| 55 | <bounds left="230" top="45" right="264" bottom="84" /> |
| 56 | </bezel> |
| 57 | |
| 58 | <!-- Player 2 Score --> |
| 59 | <bezel name="digit15" element="digit"> |
| 60 | <bounds left="10" top="105" right="44" bottom="144" /> |
| 61 | </bezel> |
| 62 | <bezel name="digit14" element="digit"> |
| 63 | <bounds left="54" top="105" right="88" bottom="144" /> |
| 64 | </bezel> |
| 65 | <bezel name="digit13" element="digit"> |
| 66 | <bounds left="98" top="105" right="132" bottom="144" /> |
| 67 | </bezel> |
| 68 | <bezel name="digit12" element="digit"> |
| 69 | <bounds left="142" top="105" right="176" bottom="144" /> |
| 70 | </bezel> |
| 71 | <bezel name="digit11" element="digit"> |
| 72 | <bounds left="186" top="105" right="220" bottom="144" /> |
| 73 | </bezel> |
| 74 | <bezel name="digit10" element="digit"> |
| 75 | <bounds left="230" top="105" right="264" bottom="144" /> |
| 76 | </bezel> |
| 77 | |
| 78 | <!-- Player 3 Score --> |
| 79 | <bezel name="digit25" element="digit"> |
| 80 | <bounds left="10" top="165" right="44" bottom="204" /> |
| 81 | </bezel> |
| 82 | <bezel name="digit24" element="digit"> |
| 83 | <bounds left="54" top="165" right="88" bottom="204" /> |
| 84 | </bezel> |
| 85 | <bezel name="digit23" element="digit"> |
| 86 | <bounds left="98" top="165" right="132" bottom="204" /> |
| 87 | </bezel> |
| 88 | <bezel name="digit22" element="digit"> |
| 89 | <bounds left="142" top="165" right="176" bottom="204" /> |
| 90 | </bezel> |
| 91 | <bezel name="digit21" element="digit"> |
| 92 | <bounds left="186" top="165" right="220" bottom="204" /> |
| 93 | </bezel> |
| 94 | <bezel name="digit20" element="digit"> |
| 95 | <bounds left="230" top="165" right="264" bottom="204" /> |
| 96 | </bezel> |
| 97 | |
| 98 | <!-- Player 4 Score --> |
| 99 | <bezel name="digit35" element="digit"> |
| 100 | <bounds left="10" top="225" right="44" bottom="264" /> |
| 101 | </bezel> |
| 102 | <bezel name="digit34" element="digit"> |
| 103 | <bounds left="54" top="225" right="88" bottom="264" /> |
| 104 | </bezel> |
| 105 | <bezel name="digit33" element="digit"> |
| 106 | <bounds left="98" top="225" right="132" bottom="264" /> |
| 107 | </bezel> |
| 108 | <bezel name="digit32" element="digit"> |
| 109 | <bounds left="142" top="225" right="176" bottom="264" /> |
| 110 | </bezel> |
| 111 | <bezel name="digit31" element="digit"> |
| 112 | <bounds left="186" top="225" right="220" bottom="264" /> |
| 113 | </bezel> |
| 114 | <bezel name="digit30" element="digit"> |
| 115 | <bounds left="230" top="225" right="264" bottom="264" /> |
| 116 | </bezel> |
| 117 | |
| 118 | <!-- Credits and Balls --> |
| 119 | <bezel name="digit41" element="digit"> |
| 120 | <bounds left="30" top="345" right="64" bottom="384" /> |
| 121 | </bezel> |
| 122 | <bezel name="digit40" element="digit"> |
| 123 | <bounds left="69" top="345" right="103" bottom="384" /> |
| 124 | </bezel> |
| 125 | <bezel name="digit44" element="digit"> |
| 126 | <bounds left="171" top="345" right="205" bottom="384" /> |
| 127 | </bezel> |
| 128 | <bezel name="digit43" element="digit"> |
| 129 | <bounds left="210" top="345" right="244" bottom="384" /> |
| 130 | </bezel> |
| 131 | <bezel element="P1"><bounds left="200" right="258" top="330" bottom="342" /></bezel> |
| 132 | <bezel element="P0"><bounds left="50" right="108" top="330" bottom="342" /></bezel> |
| 133 | <bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel> |
| 134 | <bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel> |
| 135 | <bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel> |
| 136 | <bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel> |
| 137 | <bezel name="led0" element="red_led"> |
| 138 | <bounds left="10" right="25" top="360" bottom="375" /></bezel> |
| 139 | </view> |
| 140 | </mamelayout> |
trunk/src/mame/drivers/gts80.c
| r32579 | r32580 | |
| 11 | 11 | ************************************************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | |
| 14 | | #include "emu.h" |
| 14 | #include "machine/genpin.h" |
| 15 | 15 | #include "cpu/m6502/m6502.h" |
| 16 | 16 | #include "machine/6532riot.h" |
| 17 | #include "gts80.lh" |
| 17 | 18 | |
| 18 | | class gts80_state : public driver_device |
| 19 | class gts80_state : public genpin_class |
| 19 | 20 | { |
| 20 | 21 | public: |
| 21 | 22 | gts80_state(const machine_config &mconfig, device_type type, const char *tag) |
| 22 | | : driver_device(mconfig, type, tag) |
| 23 | : genpin_class(mconfig, type, tag) |
| 23 | 24 | , m_maincpu(*this, "maincpu") |
| 24 | 25 | { } |
| 25 | 26 | |
| 26 | 27 | DECLARE_DRIVER_INIT(gts80); |
| 28 | DECLARE_READ8_MEMBER(port1a_r); |
| 29 | DECLARE_READ8_MEMBER(port2a_r); |
| 30 | DECLARE_WRITE8_MEMBER(port1b_w); |
| 31 | DECLARE_WRITE8_MEMBER(port2a_w); |
| 32 | DECLARE_WRITE8_MEMBER(port2b_w); |
| 33 | DECLARE_WRITE8_MEMBER(port3a_w); |
| 34 | DECLARE_WRITE8_MEMBER(port3b_w); |
| 27 | 35 | private: |
| 28 | 36 | virtual void machine_reset(); |
| 29 | 37 | required_device<cpu_device> m_maincpu; |
| r32579 | r32580 | |
| 45 | 53 | static INPUT_PORTS_START( gts80 ) |
| 46 | 54 | INPUT_PORTS_END |
| 47 | 55 | |
| 56 | READ8_MEMBER( gts80_state::port1a_r ) |
| 57 | { |
| 58 | return 0xff; |
| 59 | } |
| 60 | |
| 61 | READ8_MEMBER( gts80_state::port2a_r ) |
| 62 | { |
| 63 | return 0xff; |
| 64 | } |
| 65 | |
| 66 | WRITE8_MEMBER( gts80_state::port1b_w ) |
| 67 | { |
| 68 | } |
| 69 | |
| 70 | WRITE8_MEMBER( gts80_state::port2a_w ) |
| 71 | { |
| 72 | //printf("A:%X ",data); |
| 73 | } |
| 74 | |
| 75 | WRITE8_MEMBER( gts80_state::port2b_w ) |
| 76 | { |
| 77 | //printf("B:%X ",data); |
| 78 | } |
| 79 | |
| 80 | WRITE8_MEMBER( gts80_state::port3a_w ) |
| 81 | { |
| 82 | } |
| 83 | |
| 84 | WRITE8_MEMBER( gts80_state::port3b_w ) |
| 85 | { |
| 86 | } |
| 87 | |
| 48 | 88 | void gts80_state::machine_reset() |
| 49 | 89 | { |
| 50 | 90 | } |
| r32579 | r32580 | |
| 58 | 98 | /* basic machine hardware */ |
| 59 | 99 | MCFG_CPU_ADD("maincpu", M6502, 850000) // xtal frequency not shown |
| 60 | 100 | MCFG_CPU_PROGRAM_MAP(gts80_map) |
| 101 | |
| 102 | /* Video */ |
| 103 | MCFG_DEFAULT_LAYOUT(layout_gts80) |
| 104 | |
| 105 | /* Devices */ |
| 61 | 106 | MCFG_DEVICE_ADD("riot1", RIOT6532, 850000) |
| 62 | | //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port1a_r)) |
| 107 | MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port1a_r)) // sw_r |
| 63 | 108 | //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port1a_w)) |
| 64 | 109 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port1b_r)) |
| 65 | | //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port1b_w)) |
| 110 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port1b_w)) // sw_w |
| 66 | 111 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 67 | 112 | MCFG_DEVICE_ADD("riot2", RIOT6532, 850000) |
| 68 | | //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port2a_r)) |
| 69 | | //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port2a_w)) |
| 113 | MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port2a_r)) // pa7 - slam tilt |
| 114 | MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port2a_w)) // digit select |
| 70 | 115 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port2b_r)) |
| 71 | | //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port2b_w)) |
| 116 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port2b_w)) // seg |
| 72 | 117 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 73 | 118 | MCFG_DEVICE_ADD("riot3", RIOT6532, 850000) |
| 74 | 119 | //MCFG_RIOT6532_IN_PA_CB(READ8(gts80_state, port3a_r)) |
| 75 | | //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port3a_w)) |
| 120 | MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80_state, port3a_w)) // sol, snd |
| 76 | 121 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80_state, port3b_r)) |
| 77 | | //MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port3b_w)) |
| 122 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80_state, port3b_w)) // lamps |
| 78 | 123 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 79 | 124 | |
| 125 | /* Sound */ |
| 126 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 127 | |
| 80 | 128 | /* related to src/mame/audio/gottlieb.c */ |
| 81 | 129 | // MCFG_IMPORT_FROM(gts80s_s) |
| 82 | 130 | MACHINE_CONFIG_END |