trunk/src/mame/drivers/gts80b.c
r32777 | r32778 | |
1 | | /* |
| 1 | /**************************************************************************************************************** |
2 | 2 | |
3 | | Gottlieb System 80B |
| 3 | PINBALL |
| 4 | Gottlieb System 80B |
4 | 5 | |
5 | | */ |
| 6 | Same as system 80, except that the displays are 20-digit alphanumeric driven by Rockwell 10939/10941 chips. |
6 | 7 | |
| 8 | Nothing works |
7 | 9 | |
8 | | #include "emu.h" |
9 | | #include "cpu/m6502/m6502.h" |
| 10 | *****************************************************************************************************************/ |
10 | 11 | |
11 | | class gts80b_state : public driver_device |
| 12 | #include "machine/genpin.h" |
| 13 | #include "audio/gottlieb.h" |
| 14 | #include "cpu/i86/i86.h" |
| 15 | #include "gts80b.lh" |
| 16 | |
| 17 | class gts80b_state : public genpin_class |
12 | 18 | { |
13 | 19 | public: |
14 | 20 | gts80b_state(const machine_config &mconfig, device_type type, const char *tag) |
15 | | : driver_device(mconfig, type, tag), |
16 | | m_maincpu(*this, "maincpu") |
| 21 | : genpin_class(mconfig, type, tag) |
| 22 | , m_maincpu(*this, "maincpu") |
| 23 | , m_r0_sound(*this, "r0sound") |
| 24 | , m_r1_sound(*this, "r1sound") |
17 | 25 | { } |
18 | 26 | |
19 | | protected: |
20 | | |
21 | | // devices |
| 27 | DECLARE_DRIVER_INIT(gts80b); |
| 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); |
| 35 | private: |
| 36 | UINT8 m_port2; |
| 37 | UINT8 m_segment; |
| 38 | UINT8 m_lamprow; |
| 39 | UINT8 m_swrow; |
| 40 | virtual void machine_reset(); |
22 | 41 | required_device<cpu_device> m_maincpu; |
23 | | |
24 | | // driver_device overrides |
25 | | virtual void machine_reset(); |
26 | | public: |
27 | | DECLARE_DRIVER_INIT(gts80b); |
| 42 | optional_device<gottlieb_sound_r0_device> m_r0_sound; |
| 43 | optional_device<gottlieb_sound_r1_device> m_r1_sound; |
28 | 44 | }; |
29 | 45 | |
30 | 46 | static ADDRESS_MAP_START( gts80b_map, AS_PROGRAM, 8, gts80b_state ) |
31 | | AM_RANGE(0x0000, 0xffff) AM_NOP |
32 | | AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0xc000) AM_ROM /* PROM */ |
33 | | AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0xc000) AM_ROM /* u2 ROM */ |
34 | | AM_RANGE(0x3000, 0x3fff) AM_MIRROR(0xc000) AM_ROM /* u3 ROM */ |
| 47 | ADDRESS_MAP_GLOBAL_MASK(0x3fff) |
| 48 | AM_RANGE(0x0000, 0x017f) AM_RAM |
| 49 | AM_RANGE(0x0200, 0x027f) AM_DEVREADWRITE("riot1", riot6532_device, read, write) |
| 50 | AM_RANGE(0x0280, 0x02ff) AM_DEVREADWRITE("riot2", riot6532_device, read, write) |
| 51 | AM_RANGE(0x0300, 0x037f) AM_DEVREADWRITE("riot3", riot6532_device, read, write) |
| 52 | AM_RANGE(0x1000, 0x17ff) AM_ROM |
| 53 | AM_RANGE(0x1800, 0x18ff) AM_RAM AM_SHARE("nvram") // 5101L-1 256x4 |
| 54 | AM_RANGE(0x2000, 0x2fff) AM_ROM |
| 55 | AM_RANGE(0x3000, 0x3fff) AM_ROM |
35 | 56 | ADDRESS_MAP_END |
36 | 57 | |
| 58 | static INPUT_PORTS_START( gts80b ) |
| 59 | PORT_START("DSW.0") |
| 60 | PORT_DIPNAME( 0x80, 0x00, "SW 1") |
| 61 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 62 | PORT_DIPSETTING( 0x80, DEF_STR(On)) |
| 63 | PORT_DIPNAME( 0x40, 0x00, "SW 2") |
| 64 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 65 | PORT_DIPSETTING( 0x40, DEF_STR(On)) |
| 66 | PORT_DIPNAME( 0x20, 0x00, "SW 3") |
| 67 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 68 | PORT_DIPSETTING( 0x20, DEF_STR(On)) |
| 69 | PORT_DIPNAME( 0x10, 0x00, "SW 4") |
| 70 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 71 | PORT_DIPSETTING( 0x10, DEF_STR(On)) |
| 72 | PORT_DIPNAME( 0x08, 0x00, "SW 5") |
| 73 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 74 | PORT_DIPSETTING( 0x08, DEF_STR(On)) |
| 75 | PORT_DIPNAME( 0x04, 0x00, "SW 6") |
| 76 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 77 | PORT_DIPSETTING( 0x04, DEF_STR(On)) |
| 78 | PORT_DIPNAME( 0x02, 0x00, "SW 7") |
| 79 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 80 | PORT_DIPSETTING( 0x02, DEF_STR(On)) |
| 81 | PORT_DIPNAME( 0x01, 0x00, "SW 8") |
| 82 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 83 | PORT_DIPSETTING( 0x01, DEF_STR(On)) |
37 | 84 | |
38 | | static INPUT_PORTS_START( gts80b ) |
| 85 | PORT_START("DSW.1") |
| 86 | PORT_DIPNAME( 0x80, 0x00, "SW 9") |
| 87 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 88 | PORT_DIPSETTING( 0x80, DEF_STR(On)) |
| 89 | PORT_DIPNAME( 0x40, 0x00, "SW 10") |
| 90 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 91 | PORT_DIPSETTING( 0x40, DEF_STR(On)) |
| 92 | PORT_DIPNAME( 0x20, 0x00, "SW 11") |
| 93 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 94 | PORT_DIPSETTING( 0x20, DEF_STR(On)) |
| 95 | PORT_DIPNAME( 0x10, 0x00, "SW 12") |
| 96 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 97 | PORT_DIPSETTING( 0x10, DEF_STR(On)) |
| 98 | PORT_DIPNAME( 0x08, 0x00, "SW 13") |
| 99 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 100 | PORT_DIPSETTING( 0x08, DEF_STR(On)) |
| 101 | PORT_DIPNAME( 0x04, 0x00, "SW 14") |
| 102 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 103 | PORT_DIPSETTING( 0x04, DEF_STR(On)) |
| 104 | PORT_DIPNAME( 0x02, 0x02, "SW 15") |
| 105 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 106 | PORT_DIPSETTING( 0x02, DEF_STR(On)) |
| 107 | PORT_DIPNAME( 0x01, 0x00, "SW 16") |
| 108 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 109 | PORT_DIPSETTING( 0x01, DEF_STR(On)) |
| 110 | |
| 111 | PORT_START("DSW.2") |
| 112 | PORT_DIPNAME( 0x80, 0x80, "SW 17") |
| 113 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 114 | PORT_DIPSETTING( 0x80, DEF_STR(On)) |
| 115 | PORT_DIPNAME( 0x40, 0x40, "SW 18") |
| 116 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 117 | PORT_DIPSETTING( 0x40, DEF_STR(On)) |
| 118 | PORT_DIPNAME( 0x20, 0x00, "SW 19") |
| 119 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 120 | PORT_DIPSETTING( 0x20, DEF_STR(On)) |
| 121 | PORT_DIPNAME( 0x10, 0x00, "SW 20") |
| 122 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 123 | PORT_DIPSETTING( 0x10, DEF_STR(On)) |
| 124 | PORT_DIPNAME( 0x08, 0x00, "SW 21") |
| 125 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 126 | PORT_DIPSETTING( 0x08, DEF_STR(On)) |
| 127 | PORT_DIPNAME( 0x04, 0x00, "SW 22") |
| 128 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 129 | PORT_DIPSETTING( 0x04, DEF_STR(On)) |
| 130 | PORT_DIPNAME( 0x02, 0x02, "SW 23") |
| 131 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 132 | PORT_DIPSETTING( 0x02, DEF_STR(On)) |
| 133 | PORT_DIPNAME( 0x01, 0x01, "SW 24") |
| 134 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 135 | PORT_DIPSETTING( 0x01, DEF_STR(On)) |
| 136 | |
| 137 | PORT_START("DSW.3") |
| 138 | PORT_DIPNAME( 0x80, 0x80, "SW 25") |
| 139 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 140 | PORT_DIPSETTING( 0x80, DEF_STR(On)) |
| 141 | PORT_DIPNAME( 0x40, 0x40, "SW 26") |
| 142 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 143 | PORT_DIPSETTING( 0x40, DEF_STR(On)) |
| 144 | PORT_DIPNAME( 0x20, 0x20, "SW 27") |
| 145 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 146 | PORT_DIPSETTING( 0x20, DEF_STR(On)) |
| 147 | PORT_DIPNAME( 0x10, 0x10, "SW 28") |
| 148 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 149 | PORT_DIPSETTING( 0x10, DEF_STR(On)) |
| 150 | PORT_DIPNAME( 0x08, 0x08, "SW 29") |
| 151 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 152 | PORT_DIPSETTING( 0x08, DEF_STR(On)) |
| 153 | PORT_DIPNAME( 0x04, 0x04, "SW 30") |
| 154 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 155 | PORT_DIPSETTING( 0x04, DEF_STR(On)) |
| 156 | PORT_DIPNAME( 0x02, 0x00, "SW 31") |
| 157 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 158 | PORT_DIPSETTING( 0x02, DEF_STR(On)) |
| 159 | PORT_DIPNAME( 0x01, 0x00, "SW 32") |
| 160 | PORT_DIPSETTING( 0x00, DEF_STR(Off)) |
| 161 | PORT_DIPSETTING( 0x01, DEF_STR(On)) |
| 162 | |
| 163 | PORT_START("X0") |
| 164 | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 165 | |
| 166 | PORT_START("X1") |
| 167 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) |
| 168 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) |
| 169 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) |
| 170 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) |
| 171 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) |
| 172 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) |
| 173 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) |
| 174 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) |
| 175 | |
| 176 | PORT_START("X2") |
| 177 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A) |
| 178 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S) |
| 179 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D) |
| 180 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F) |
| 181 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G) |
| 182 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H) |
| 183 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J) |
| 184 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 185 | |
| 186 | PORT_START("X4") |
| 187 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L) |
| 188 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z) |
| 189 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C) |
| 190 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V) |
| 191 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B) |
| 192 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N) |
| 193 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M) |
| 194 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 195 | |
| 196 | PORT_START("X8") |
| 197 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP) |
| 198 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) |
| 199 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) |
| 200 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) |
| 201 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA) |
| 202 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) |
| 203 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) |
| 204 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN3 ) |
| 205 | |
| 206 | PORT_START("X10") |
| 207 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) |
| 208 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) |
| 209 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) |
| 210 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) |
| 211 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT) |
| 212 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT) |
| 213 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_UP) |
| 214 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START ) |
| 215 | |
| 216 | PORT_START("X20") |
| 217 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K) |
| 218 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) |
| 219 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9_PAD) |
| 220 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) |
| 221 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ASTERISK) |
| 222 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS_PAD) |
| 223 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_PLUS_PAD) |
| 224 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) // won't boot if closed |
| 225 | |
| 226 | PORT_START("X40") |
| 227 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH_PAD) |
| 228 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER_PAD) |
| 229 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_0_PAD) |
| 230 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_DEL_PAD) |
| 231 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_HOME) |
| 232 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_END) |
| 233 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_PGUP) |
| 234 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_X) |
| 235 | |
| 236 | PORT_START("X80") |
| 237 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q) |
| 238 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_W) |
| 239 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E) |
| 240 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R) |
| 241 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Y) |
| 242 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U) |
| 243 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_I) |
| 244 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_O) |
39 | 245 | INPUT_PORTS_END |
40 | 246 | |
| 247 | READ8_MEMBER( gts80b_state::port1a_r ) |
| 248 | { |
| 249 | char kbdrow[8]; |
| 250 | UINT8 data = 0; |
| 251 | if ((m_lamprow < 4) && (m_segment==0x80)) |
| 252 | { |
| 253 | sprintf(kbdrow,"DSW.%d",m_lamprow); |
| 254 | data = ioport(kbdrow)->read(); |
| 255 | } |
| 256 | else |
| 257 | { |
| 258 | sprintf(kbdrow,"X%X",m_swrow); |
| 259 | data = ioport(kbdrow)->read(); |
| 260 | } |
| 261 | |
| 262 | return data; |
| 263 | } |
| 264 | |
| 265 | READ8_MEMBER( gts80b_state::port2a_r ) |
| 266 | { |
| 267 | return m_port2 | 0x80; // slam tilt off |
| 268 | } |
| 269 | |
| 270 | // sw strobes |
| 271 | WRITE8_MEMBER( gts80b_state::port1b_w ) |
| 272 | { |
| 273 | m_swrow = data; |
| 274 | } |
| 275 | |
| 276 | // schematic and pinmame say '1' is indicated by m_segment !bits 4,5,6, but it is !bit 7 |
| 277 | WRITE8_MEMBER( gts80b_state::port2a_w ) |
| 278 | { |
| 279 | m_port2 = data; |
| 280 | static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0 }; // 7448 |
| 281 | UINT16 seg1 = (UINT16)patterns[m_segment & 15]; |
| 282 | UINT16 seg2 = BITSWAP16(seg1, 8, 8, 8, 8, 8, 8, 7, 7, 6, 6, 5, 4, 3, 2, 1, 0); |
| 283 | switch (data & 0x70) |
| 284 | { |
| 285 | case 0x10: // player 1&2 |
| 286 | if (!BIT(m_segment, 7)) seg2 |= 0x300; // put '1' in the middle |
| 287 | output_set_digit_value(data & 15, seg2); |
| 288 | break; |
| 289 | case 0x20: // player 3&4 |
| 290 | if (!BIT(m_segment, 7)) seg2 |= 0x300; // put '1' in the middle |
| 291 | output_set_digit_value((data & 15)+20, seg2); |
| 292 | break; |
| 293 | case 0x40: // credits & balls |
| 294 | if (!BIT(m_segment, 7)) m_segment = 1; // turn '1' back to normal |
| 295 | output_set_digit_value((data & 15)+40, patterns[m_segment & 15]); |
| 296 | break; |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | //d0-3 bcd data; d4-6 = centre segment; d7 = dipsw enable |
| 301 | WRITE8_MEMBER( gts80b_state::port2b_w ) |
| 302 | { |
| 303 | m_segment = data;//printf("%s:%X ",machine().describe_context(),data); |
| 304 | } |
| 305 | |
| 306 | // solenoids |
| 307 | WRITE8_MEMBER( gts80b_state::port3a_w ) |
| 308 | { |
| 309 | } |
| 310 | |
| 311 | //pb0-3 = sound; pb4-7 = lamprow |
| 312 | WRITE8_MEMBER( gts80b_state::port3b_w ) |
| 313 | { |
| 314 | UINT8 sndcmd = data & 15; |
| 315 | m_lamprow = data >> 4; |
| 316 | if (m_r0_sound) |
| 317 | m_r0_sound->write(space, offset, sndcmd); |
| 318 | if (m_r1_sound) |
| 319 | m_r1_sound->write(space, offset, sndcmd); |
| 320 | } |
| 321 | |
41 | 322 | void gts80b_state::machine_reset() |
42 | 323 | { |
43 | 324 | } |
44 | 325 | |
45 | | DRIVER_INIT_MEMBER(gts80b_state,gts80b) |
| 326 | DRIVER_INIT_MEMBER( gts80b_state, gts80b ) |
46 | 327 | { |
47 | 328 | } |
48 | 329 | |
49 | | /* with Old Style Sound Board */ |
50 | | static MACHINE_CONFIG_START( gts80b_s, gts80b_state ) |
| 330 | /* with Sound Board */ |
| 331 | static MACHINE_CONFIG_START( gts80b, gts80b_state ) |
51 | 332 | /* basic machine hardware */ |
52 | | MCFG_CPU_ADD("maincpu", M6502, 850000) |
| 333 | MCFG_CPU_ADD("maincpu", M6502, XTAL_3_579545MHz/4) |
53 | 334 | MCFG_CPU_PROGRAM_MAP(gts80b_map) |
54 | 335 | |
55 | | /* related to src/mame/audio/gottlieb.c */ |
56 | | // MCFG_IMPORT_FROM(gts80s_s) |
| 336 | MCFG_NVRAM_ADD_1FILL("nvram") // must be 1 |
| 337 | |
| 338 | /* Video */ |
| 339 | MCFG_DEFAULT_LAYOUT(layout_gts80b) |
| 340 | |
| 341 | /* Devices */ |
| 342 | MCFG_DEVICE_ADD("riot1", RIOT6532, XTAL_3_579545MHz/4) |
| 343 | MCFG_RIOT6532_IN_PA_CB(READ8(gts80b_state, port1a_r)) // sw_r |
| 344 | //MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80b_state, port1a_w)) |
| 345 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80b_state, port1b_r)) |
| 346 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80b_state, port1b_w)) // sw_w |
| 347 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 348 | MCFG_DEVICE_ADD("riot2", RIOT6532, XTAL_3_579545MHz/4) |
| 349 | MCFG_RIOT6532_IN_PA_CB(READ8(gts80b_state, port2a_r)) // pa7 - slam tilt |
| 350 | MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80b_state, port2a_w)) // digit select |
| 351 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80b_state, port2b_r)) |
| 352 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80b_state, port2b_w)) // seg |
| 353 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 354 | MCFG_DEVICE_ADD("riot3", RIOT6532, XTAL_3_579545MHz/4) |
| 355 | //MCFG_RIOT6532_IN_PA_CB(READ8(gts80b_state, port3a_r)) |
| 356 | MCFG_RIOT6532_OUT_PA_CB(WRITE8(gts80b_state, port3a_w)) // sol, snd |
| 357 | //MCFG_RIOT6532_IN_PB_CB(READ8(gts80b_state, port3b_r)) |
| 358 | MCFG_RIOT6532_OUT_PB_CB(WRITE8(gts80b_state, port3b_w)) // lamps |
| 359 | MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE)) |
| 360 | |
| 361 | /* Sound */ |
| 362 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 363 | MCFG_SPEAKER_STANDARD_MONO("mono") |
57 | 364 | MACHINE_CONFIG_END |
58 | 365 | |
59 | | static MACHINE_CONFIG_START( gts80b_s1, gts80b_state ) |
60 | | /* basic machine hardware */ |
61 | | MCFG_CPU_ADD("maincpu", M6502, 850000) |
62 | | MCFG_CPU_PROGRAM_MAP(gts80b_map) |
| 366 | static MACHINE_CONFIG_DERIVED( gts80b_s, gts80b ) |
| 367 | MCFG_GOTTLIEB_SOUND_R0_ADD("r0sound") |
| 368 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 369 | MACHINE_CONFIG_END |
63 | 370 | |
| 371 | //static MACHINE_CONFIG_DERIVED( gts80b_ss, gts80b ) |
| 372 | // MCFG_GOTTLIEB_SOUND_R1_ADD("r1sound") |
| 373 | // //MCFG_GOTTLIEB_SOUND_R1_ADD_VOTRAX("r1sound") // votrax crashes |
| 374 | // MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 375 | //MACHINE_CONFIG_END |
| 376 | |
| 377 | static MACHINE_CONFIG_DERIVED( gts80b_s1, gts80b ) |
| 378 | |
64 | 379 | /* related to src/mame/audio/gottlieb.c? */ |
65 | 380 | // MCFG_IMPORT_FROM(gts80s_b1) |
66 | 381 | MACHINE_CONFIG_END |
67 | 382 | |
68 | | static MACHINE_CONFIG_START( gts80b_s2, gts80b_state ) |
69 | | /* basic machine hardware */ |
70 | | MCFG_CPU_ADD("maincpu", M6502, 850000) |
71 | | MCFG_CPU_PROGRAM_MAP(gts80b_map) |
| 383 | static MACHINE_CONFIG_DERIVED( gts80b_s2, gts80b ) |
72 | 384 | |
73 | 385 | /* related to src/mame/audio/gottlieb.c? */ |
74 | 386 | // MCFG_IMPORT_FROM(gts80s_b2) |
75 | 387 | MACHINE_CONFIG_END |
76 | 388 | |
77 | | static MACHINE_CONFIG_START( gts80b_s3, gts80b_state ) |
78 | | /* basic machine hardware */ |
79 | | MCFG_CPU_ADD("maincpu", M6502, 850000) |
80 | | MCFG_CPU_PROGRAM_MAP(gts80b_map) |
| 389 | static MACHINE_CONFIG_DERIVED( gts80b_s3, gts80b ) |
81 | 390 | |
82 | 391 | /* related to src/mame/audio/gottlieb.c? */ |
83 | 392 | // MCFG_IMPORT_FROM(gts80s_b3) |
84 | 393 | MACHINE_CONFIG_END |
85 | 394 | |
86 | | static MACHINE_CONFIG_START( bonebstr, gts80b_state ) |
87 | | /* basic machine hardware */ |
88 | | MCFG_CPU_ADD("maincpu", M6502, 850000) |
89 | | MCFG_CPU_PROGRAM_MAP(gts80b_map) |
| 395 | static MACHINE_CONFIG_DERIVED( bonebstr, gts80b ) |
90 | 396 | |
91 | 397 | /* related to src/mame/audio/gottlieb.c? */ |
92 | 398 | // MCFG_IMPORT_FROM(gts80s_b3a) |
r32777 | r32778 | |
94 | 400 | |
95 | 401 | |
96 | 402 | /*------------------------------------------------------------------- |
| 403 | / Ace High (#700) 1985 (Prototype) |
| 404 | /-------------------------------------------------------------------*/ |
| 405 | |
| 406 | /*------------------------------------------------------------------- |
97 | 407 | / Amazon Hunt II 05/85 |
98 | 408 | /-------------------------------------------------------------------*/ |
99 | 409 | |
100 | 410 | /*------------------------------------------------------------------- |
101 | | / Arena |
| 411 | / Arena (#709) |
102 | 412 | /-------------------------------------------------------------------*/ |
103 | 413 | ROM_START(arena) |
104 | 414 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
120 | 430 | ROM_END |
121 | 431 | |
122 | 432 | /*------------------------------------------------------------------- |
123 | | / Bad Girls |
| 433 | / Bad Girls (#717) |
124 | 434 | /-------------------------------------------------------------------*/ |
125 | 435 | ROM_START(badgirls) |
126 | 436 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
141 | 451 | ROM_END |
142 | 452 | |
143 | 453 | /*------------------------------------------------------------------- |
144 | | / Big House |
| 454 | / Big House (#713) |
145 | 455 | /-------------------------------------------------------------------*/ |
146 | 456 | ROM_START(bighouse) |
147 | 457 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
162 | 472 | ROM_END |
163 | 473 | |
164 | 474 | /*------------------------------------------------------------------- |
165 | | / Bone Busters Inc. |
| 475 | / Bone Busters Inc. (#719) |
166 | 476 | /-------------------------------------------------------------------*/ |
167 | 477 | ROM_START(bonebstr) |
168 | 478 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
216 | 526 | ROM_RELOAD(0xa000, 0x2000) |
217 | 527 | ROM_RELOAD(0xe000, 0x2000) |
218 | 528 | |
219 | | ROM_REGION(0x10000, "cpu2", 0) |
| 529 | ROM_REGION(0x1000, "r0sound:audiocpu", 0) |
220 | 530 | ROM_LOAD("694-s.snd", 0x0800, 0x0800, CRC(a0383e41) SHA1(156514d2b52fcd89b608b85991c5066780949979)) |
221 | | ROM_RELOAD( 0xf800, 0x0800) |
222 | 531 | ROM_END |
223 | 532 | |
224 | 533 | /*------------------------------------------------------------------- |
r32777 | r32778 | |
231 | 540 | ROM_RELOAD(0xa000, 0x2000) |
232 | 541 | ROM_RELOAD(0xe000, 0x2000) |
233 | 542 | |
234 | | ROM_REGION(0x10000, "cpu2", 0) |
| 543 | ROM_REGION(0x1000, "r0sound:audiocpu", 0) |
235 | 544 | ROM_LOAD("696-s.snd", 0x0800, 0x0800, CRC(deedea61) SHA1(6aec221397f250d5dd99faefa313e8028c8818f7)) |
236 | | ROM_RELOAD( 0xf800, 0x0800) |
237 | 545 | ROM_END |
238 | 546 | |
239 | 547 | /*------------------------------------------------------------------- |
240 | | / Diamond Lady |
| 548 | / Diamond Lady (#711) |
241 | 549 | /-------------------------------------------------------------------*/ |
242 | 550 | ROM_START(diamondp) |
243 | 551 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
258 | 566 | ROM_END |
259 | 567 | |
260 | 568 | /*------------------------------------------------------------------- |
261 | | / Excalibur |
| 569 | / Excalibur (#715) |
262 | 570 | /-------------------------------------------------------------------*/ |
263 | 571 | ROM_START(excalibr) |
264 | 572 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
323 | 631 | ROM_END |
324 | 632 | |
325 | 633 | /*------------------------------------------------------------------- |
326 | | / Hollywood Heat |
| 634 | / Hollywood Heat (#703) |
327 | 635 | /-------------------------------------------------------------------*/ |
328 | 636 | ROM_START(hlywoodh) |
329 | 637 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
345 | 653 | ROM_END |
346 | 654 | |
347 | 655 | /*------------------------------------------------------------------- |
348 | | / Hot Shots |
| 656 | / Hot Shots (#718) |
349 | 657 | /-------------------------------------------------------------------*/ |
350 | 658 | ROM_START(hotshots) |
351 | 659 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
366 | 674 | ROM_END |
367 | 675 | |
368 | 676 | /*------------------------------------------------------------------- |
369 | | / Monte Carlo |
| 677 | / Monte Carlo (#708) |
370 | 678 | /-------------------------------------------------------------------*/ |
371 | 679 | ROM_START(mntecrlo) |
372 | 680 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
409 | 717 | ROM_END |
410 | 718 | |
411 | 719 | /*------------------------------------------------------------------- |
412 | | / Raven |
| 720 | / Raven (#702) |
413 | 721 | /-------------------------------------------------------------------*/ |
414 | 722 | ROM_START(raven) |
415 | 723 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
430 | 738 | ROM_END |
431 | 739 | |
432 | 740 | /*------------------------------------------------------------------- |
433 | | / Robo-War |
| 741 | / Robo-War (#714) |
434 | 742 | /-------------------------------------------------------------------*/ |
435 | 743 | ROM_START(robowars) |
436 | 744 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
486 | 794 | ROM_END |
487 | 795 | |
488 | 796 | /*------------------------------------------------------------------- |
489 | | / Spring Break |
| 797 | / Spring Break (#706) |
490 | 798 | /-------------------------------------------------------------------*/ |
491 | 799 | ROM_START(sprbreak) |
492 | 800 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
498 | 806 | ROM_RELOAD(0x6000, 0x2000) |
499 | 807 | ROM_RELOAD(0xa000, 0x2000) |
500 | 808 | ROM_RELOAD(0xe000, 0x2000) |
| 809 | |
501 | 810 | ROM_REGION(0x10000, "cpu3", 0) |
502 | 811 | ROM_LOAD("drom1.snd",0xe000,0x2000, CRC(97d3f9ba) SHA1(1b34c7e51373c26d29d757c57a2b0333fe38d19e)) |
| 812 | |
503 | 813 | ROM_REGION(0x10000, "cpu2", 0) |
504 | 814 | ROM_LOAD("yrom1.snd",0xe000,0x2000, CRC(5ea89df9) SHA1(98ce7661a4d862fd02c77e69b0f6e9372c3ade2b)) |
505 | 815 | ROM_LOAD("yrom2.snd",0xc000,0x2000, CRC(0fb0128e) SHA1(3bdc5ed11b8e062f71f2a78b955830bd985e80a3)) |
r32777 | r32778 | |
515 | 825 | ROM_RELOAD(0x6000, 0x2000) |
516 | 826 | ROM_RELOAD(0xa000, 0x2000) |
517 | 827 | ROM_RELOAD(0xe000, 0x2000) |
| 828 | |
518 | 829 | ROM_REGION(0x10000, "cpu3", 0) |
519 | 830 | ROM_LOAD("drom1.snd",0xe000,0x2000, CRC(97d3f9ba) SHA1(1b34c7e51373c26d29d757c57a2b0333fe38d19e)) |
| 831 | |
520 | 832 | ROM_REGION(0x10000, "cpu2", 0) |
521 | 833 | ROM_LOAD("yrom1.snd",0xe000,0x2000, CRC(5ea89df9) SHA1(98ce7661a4d862fd02c77e69b0f6e9372c3ade2b)) |
522 | 834 | ROM_LOAD("yrom2.snd",0xc000,0x2000, CRC(0fb0128e) SHA1(3bdc5ed11b8e062f71f2a78b955830bd985e80a3)) |
r32777 | r32778 | |
536 | 848 | ROM_RELOAD(0xa000, 0x2000) |
537 | 849 | ROM_RELOAD(0xe000, 0x2000) |
538 | 850 | |
539 | | ROM_REGION(0x10000, "cpu2", 0) |
| 851 | ROM_REGION(0x1000, "r0sound:audiocpu", 0) |
540 | 852 | ROM_LOAD("698-s.snd", 0x0800, 0x0800, CRC(9c8191b7) SHA1(12b017692f078dcdc8e4bbf1ffcea1c5d0293d06)) |
541 | | ROM_RELOAD( 0xf800, 0x0800) |
542 | 853 | ROM_END |
543 | 854 | |
544 | 855 | ROM_START(tagteamp2) |
r32777 | r32778 | |
552 | 863 | ROM_RELOAD(0xa000, 0x2000) |
553 | 864 | ROM_RELOAD(0xe000, 0x2000) |
554 | 865 | |
555 | | ROM_REGION(0x10000, "cpu2", 0) |
| 866 | ROM_REGION(0x1000, "r0sound:audiocpu", 0) |
556 | 867 | ROM_LOAD("698-s.snd", 0x0800, 0x0800, CRC(9c8191b7) SHA1(12b017692f078dcdc8e4bbf1ffcea1c5d0293d06)) |
557 | | ROM_RELOAD( 0xf800, 0x0800) |
558 | 868 | ROM_END |
559 | 869 | |
560 | 870 | /*------------------------------------------------------------------- |
561 | | / TX-Sector |
| 871 | / TX-Sector (#712) |
562 | 872 | /-------------------------------------------------------------------*/ |
563 | 873 | ROM_START(txsector) |
564 | 874 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
579 | 889 | ROM_END |
580 | 890 | |
581 | 891 | /*------------------------------------------------------------------- |
582 | | / Victory |
| 892 | / Victory (#710) |
583 | 893 | /-------------------------------------------------------------------*/ |
584 | 894 | ROM_START(victoryp) |
585 | 895 | ROM_REGION(0x10000, "maincpu", 0) |
r32777 | r32778 | |
600 | 910 | ROM_END |
601 | 911 | |
602 | 912 | |
603 | | GAME(1987, arena, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Arena", GAME_IS_SKELETON_MECHANICAL) |
604 | | GAME(1988, badgirls, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bad Girls", GAME_IS_SKELETON_MECHANICAL) |
605 | | GAME(1989, bighouse, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Big House", GAME_IS_SKELETON_MECHANICAL) |
606 | | GAME(1989, bonebstr, 0, bonebstr, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bone Busters Inc.", GAME_IS_SKELETON_MECHANICAL) |
607 | | GAME(1989, bonebstrf, bonebstr,bonebstr, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bone Busters Inc. (French)", GAME_IS_SKELETON_MECHANICAL) |
608 | | GAME(1985, bountyh, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bounty Hunter", GAME_IS_SKELETON_MECHANICAL) |
609 | | GAME(1985, triplay, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Triple Play", GAME_IS_SKELETON_MECHANICAL) |
610 | | GAME(1988, diamondp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Diamond Lady", GAME_IS_SKELETON_MECHANICAL) |
611 | | GAME(1988, excalibr, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Excalibur", GAME_IS_SKELETON_MECHANICAL) |
612 | | GAME(1986, genesisp, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Genesis", GAME_IS_SKELETON_MECHANICAL) |
613 | | GAME(1986, goldwing, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Gold Wings", GAME_IS_SKELETON_MECHANICAL) |
614 | | GAME(1986, hlywoodh, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hollywood Heat", GAME_IS_SKELETON_MECHANICAL) |
615 | | GAME(1989, hotshots, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hot Shots", GAME_IS_SKELETON_MECHANICAL) |
616 | | GAME(1987, mntecrlo, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Monte Carlo (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
617 | | GAME(1989, nmoves, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "International Concepts", "Night Moves", GAME_IS_SKELETON_MECHANICAL) |
618 | | GAME(1986, raven, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Raven", GAME_IS_SKELETON_MECHANICAL) |
619 | | GAME(1988, robowars, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Robo-War", GAME_IS_SKELETON_MECHANICAL) |
620 | | GAME(1985, rock, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock", GAME_IS_SKELETON_MECHANICAL) |
621 | | GAME(1986, rock_enc, rock, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock Encore", GAME_IS_SKELETON_MECHANICAL) |
622 | | GAME(1987, sprbreak, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break", GAME_IS_SKELETON_MECHANICAL) |
623 | | GAME(19??, sprbreaks, sprbreak,gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break (single ball game)", GAME_IS_SKELETON_MECHANICAL) |
624 | | GAME(1985, tagteamp, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling", GAME_IS_SKELETON_MECHANICAL) |
625 | | GAME(1985, tagteamp2, tagteamp, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", GAME_IS_SKELETON_MECHANICAL) |
626 | | GAME(1988, txsector, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "TX-Sector", GAME_IS_SKELETON_MECHANICAL) |
627 | | GAME(1987, victoryp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Victory (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 913 | GAME(1985, bountyh, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bounty Hunter", GAME_IS_SKELETON_MECHANICAL) |
| 914 | GAME(1985, triplay, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Triple Play", GAME_IS_SKELETON_MECHANICAL) |
| 915 | GAME(1985, rock, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock", GAME_IS_SKELETON_MECHANICAL) |
| 916 | GAME(1985, tagteamp, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling", GAME_IS_SKELETON_MECHANICAL) |
| 917 | GAME(1985, tagteamp2, tagteamp, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", GAME_IS_SKELETON_MECHANICAL) |
| 918 | GAME(1986, raven, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Raven", GAME_IS_SKELETON_MECHANICAL) |
| 919 | GAME(1986, hlywoodh, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hollywood Heat", GAME_IS_SKELETON_MECHANICAL) |
| 920 | GAME(1986, rock_enc, rock, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock Encore", GAME_IS_SKELETON_MECHANICAL) |
| 921 | GAME(1986, genesisp, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Genesis", GAME_IS_SKELETON_MECHANICAL) |
| 922 | GAME(1987, sprbreak, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break", GAME_IS_SKELETON_MECHANICAL) |
| 923 | GAME(19??, sprbreaks, sprbreak, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break (single ball game)", GAME_IS_SKELETON_MECHANICAL) |
| 924 | GAME(1986, goldwing, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Gold Wings", GAME_IS_SKELETON_MECHANICAL) |
| 925 | GAME(1987, mntecrlo, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Monte Carlo (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 926 | GAME(1987, arena, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Arena", GAME_IS_SKELETON_MECHANICAL) |
| 927 | GAME(1987, victoryp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Victory (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 928 | GAME(1988, diamondp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Diamond Lady", GAME_IS_SKELETON_MECHANICAL) |
| 929 | GAME(1988, txsector, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "TX-Sector", GAME_IS_SKELETON_MECHANICAL) |
| 930 | GAME(1989, bighouse, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Big House", GAME_IS_SKELETON_MECHANICAL) |
| 931 | GAME(1988, robowars, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Robo-War", GAME_IS_SKELETON_MECHANICAL) |
| 932 | GAME(1988, excalibr, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Excalibur", GAME_IS_SKELETON_MECHANICAL) |
| 933 | GAME(1988, badgirls, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bad Girls", GAME_IS_SKELETON_MECHANICAL) |
| 934 | GAME(1989, hotshots, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hot Shots", GAME_IS_SKELETON_MECHANICAL) |
| 935 | GAME(1989, bonebstr, 0, bonebstr, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bone Busters Inc.", GAME_IS_SKELETON_MECHANICAL) |
| 936 | GAME(1989, bonebstrf, bonebstr, bonebstr, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bone Busters Inc. (French)", GAME_IS_SKELETON_MECHANICAL) |
| 937 | GAME(1989, nmoves, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "International Concepts", "Night Moves", GAME_IS_SKELETON_MECHANICAL) |