trunk/src/mame/drivers/by35.c
| r31678 | r31679 | |
| 49 | 49 | |
| 50 | 50 | |
| 51 | 51 | ToDo: |
| 52 | | - Many games don't boot |
| 53 | | - Display to fix |
| 52 | - The Nuova Bell games don't boot |
| 53 | - The Bell games have major problems |
| 54 | 54 | - Sound |
| 55 | 55 | - Dips, Inputs, Solenoids vary per game |
| 56 | 56 | - Mechanical |
| r31678 | r31679 | |
| 84 | 84 | , m_io_x4(*this, "X4") |
| 85 | 85 | { } |
| 86 | 86 | |
| 87 | | DECLARE_DRIVER_INIT(by35); |
| 87 | DECLARE_DRIVER_INIT(by35_6); |
| 88 | DECLARE_DRIVER_INIT(by35_7); |
| 88 | 89 | DECLARE_READ8_MEMBER(u10_a_r); |
| 89 | 90 | DECLARE_WRITE8_MEMBER(u10_a_w); |
| 90 | 91 | DECLARE_READ8_MEMBER(u10_b_r); |
| r31678 | r31679 | |
| 98 | 99 | DECLARE_WRITE_LINE_MEMBER(u11_cb2_w); |
| 99 | 100 | DECLARE_INPUT_CHANGED_MEMBER(activity_test); |
| 100 | 101 | DECLARE_INPUT_CHANGED_MEMBER(self_test); |
| 101 | | TIMER_DEVICE_CALLBACK_MEMBER(u10_timer); |
| 102 | TIMER_DEVICE_CALLBACK_MEMBER(timer_x); |
| 102 | 103 | TIMER_DEVICE_CALLBACK_MEMBER(u11_timer); |
| 103 | 104 | private: |
| 104 | | UINT8 m_u10; |
| 105 | | UINT8 m_u10_a; |
| 106 | | UINT8 m_u10_b; |
| 107 | | UINT8 m_u11_a; |
| 108 | | UINT8 m_u11_b; |
| 105 | UINT8 m_u10a; |
| 106 | UINT8 m_u10b; |
| 107 | UINT8 m_u11a; |
| 108 | UINT8 m_u11b; |
| 109 | 109 | bool m_u10_ca2; |
| 110 | 110 | bool m_u10_cb2; |
| 111 | | bool m_u10_timer; |
| 111 | bool m_u11_cb2; |
| 112 | bool m_timer_x; |
| 112 | 113 | bool m_u11_timer; |
| 114 | bool m_6d; |
| 113 | 115 | UINT8 m_digit; |
| 114 | | UINT8 m_segment; |
| 116 | UINT8 m_counter; |
| 117 | UINT8 m_segment[5]; |
| 115 | 118 | virtual void machine_reset(); |
| 116 | 119 | required_device<m6800_cpu_device> m_maincpu; |
| 117 | 120 | required_device<pia6821_device> m_pia_u10; |
| r31678 | r31679 | |
| 144 | 147 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Activity") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by35_state, activity_test, 0) |
| 145 | 148 | |
| 146 | 149 | PORT_START("DSW0") |
| 147 | | PORT_DIPNAME( 0x01, 0x00, "S01") // S1-5: 32 combinations of coins/credits of a coin slot. S9-13 other slot. |
| 150 | PORT_DIPNAME( 0x1f, 0x02, "Coin Slot 1") |
| 151 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C )) // same as 01 |
| 152 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C )) |
| 153 | PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C )) |
| 154 | PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C )) |
| 155 | PORT_DIPSETTING( 0x05, DEF_STR( 2C_2C )) |
| 156 | PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C )) |
| 157 | PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C )) |
| 158 | PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C )) |
| 159 | PORT_DIPSETTING( 0x09, DEF_STR( 2C_4C )) |
| 160 | PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C )) |
| 161 | PORT_DIPSETTING( 0x0b, DEF_STR( 2C_5C )) |
| 162 | PORT_DIPSETTING( 0x0c, DEF_STR( 1C_6C )) |
| 163 | PORT_DIPSETTING( 0x0d, DEF_STR( 2C_6C )) |
| 164 | PORT_DIPSETTING( 0x0e, DEF_STR( 1C_7C )) |
| 165 | PORT_DIPSETTING( 0x0f, DEF_STR( 2C_7C )) |
| 166 | PORT_DIPSETTING( 0x10, DEF_STR( 1C_8C )) |
| 167 | PORT_DIPSETTING( 0x11, DEF_STR( 2C_8C )) |
| 168 | PORT_DIPSETTING( 0x12, DEF_STR( 1C_9C )) |
| 169 | PORT_DIPSETTING( 0x13, "2 coins 9 credits") |
| 170 | PORT_DIPSETTING( 0x14, "1 coin 10 credits") |
| 171 | PORT_DIPSETTING( 0x15, "2 coins 10 credits") |
| 172 | PORT_DIPSETTING( 0x16, "1 coin 11 credits") |
| 173 | PORT_DIPSETTING( 0x17, "2 coins 11 credits") |
| 174 | PORT_DIPSETTING( 0x18, "1 coin 12 credits") |
| 175 | PORT_DIPSETTING( 0x19, "2 coins 12 credits") |
| 176 | PORT_DIPSETTING( 0x1a, "1 coin 13 credits") |
| 177 | PORT_DIPSETTING( 0x1b, "2 coins 13 credits") |
| 178 | PORT_DIPSETTING( 0x1c, "1 coin 14 credits") |
| 179 | PORT_DIPSETTING( 0x1d, "2 coins 14 credits") |
| 180 | PORT_DIPSETTING( 0x1e, "1 coin 15 credits") |
| 181 | PORT_DIPSETTING( 0x1f, "2 coins 15 credits") |
| 182 | PORT_DIPNAME( 0x60, 0x40, "Award for beating high score") |
| 183 | PORT_DIPSETTING( 0x00, "Nothing") |
| 184 | PORT_DIPSETTING( 0x20, "1 free game") |
| 185 | PORT_DIPSETTING( 0x40, "2 free games") |
| 186 | PORT_DIPSETTING( 0x60, "3 free games") |
| 187 | PORT_DIPNAME( 0x80, 0x00, "Melody option 1") |
| 148 | 188 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 149 | | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 150 | | PORT_DIPNAME( 0x02, 0x00, "S02") |
| 151 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 152 | | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 153 | | PORT_DIPNAME( 0x04, 0x00, "S03") |
| 154 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 155 | | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 156 | | PORT_DIPNAME( 0x08, 0x00, "S04") |
| 157 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 158 | | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 159 | | PORT_DIPNAME( 0x10, 0x00, "S05") |
| 160 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 161 | | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 162 | | PORT_DIPNAME( 0x20, 0x20, "S06") |
| 163 | | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 164 | | PORT_DIPSETTING( 0x20, DEF_STR( Yes )) |
| 165 | | PORT_DIPNAME( 0x40, 0x40, "S07") |
| 166 | | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 167 | | PORT_DIPSETTING( 0x40, DEF_STR( Yes )) |
| 168 | | PORT_DIPNAME( 0x80, 0x80, "S08") |
| 169 | | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 170 | | PORT_DIPSETTING( 0x80, DEF_STR( Yes )) |
| 189 | PORT_DIPSETTING( 0x80, DEF_STR( On )) |
| 171 | 190 | |
| 172 | 191 | PORT_START("DSW1") |
| 173 | | PORT_DIPNAME( 0x01, 0x00, "S09") |
| 174 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 175 | | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 176 | | PORT_DIPNAME( 0x02, 0x00, "S10") |
| 177 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 178 | | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 179 | | PORT_DIPNAME( 0x04, 0x00, "S11") |
| 180 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 181 | | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 182 | | PORT_DIPNAME( 0x08, 0x00, "S12") |
| 183 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 184 | | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 185 | | PORT_DIPNAME( 0x10, 0x00, "S13") |
| 186 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 187 | | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 188 | | PORT_DIPNAME( 0x20, 0x00, "S14") |
| 189 | | PORT_DIPSETTING( 0x00, DEF_STR( Yes )) |
| 190 | | PORT_DIPSETTING( 0x20, DEF_STR( No )) |
| 191 | | PORT_DIPNAME( 0x40, 0x40, "S15") |
| 192 | | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 193 | | PORT_DIPSETTING( 0x40, DEF_STR( Yes )) |
| 194 | | PORT_DIPNAME( 0x80, 0x00, "S16") |
| 195 | | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 196 | | PORT_DIPSETTING( 0x80, DEF_STR( Yes )) |
| 192 | PORT_DIPNAME( 0x1f, 0x02, "Coin Slot 3") |
| 193 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C )) // same as 01 |
| 194 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C )) |
| 195 | PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C )) |
| 196 | PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C )) |
| 197 | PORT_DIPSETTING( 0x05, DEF_STR( 2C_2C )) |
| 198 | PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C )) |
| 199 | PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C )) |
| 200 | PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C )) |
| 201 | PORT_DIPSETTING( 0x09, DEF_STR( 2C_4C )) |
| 202 | PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C )) |
| 203 | PORT_DIPSETTING( 0x0b, DEF_STR( 2C_5C )) |
| 204 | PORT_DIPSETTING( 0x0c, DEF_STR( 1C_6C )) |
| 205 | PORT_DIPSETTING( 0x0d, DEF_STR( 2C_6C )) |
| 206 | PORT_DIPSETTING( 0x0e, DEF_STR( 1C_7C )) |
| 207 | PORT_DIPSETTING( 0x0f, DEF_STR( 2C_7C )) |
| 208 | PORT_DIPSETTING( 0x10, DEF_STR( 1C_8C )) |
| 209 | PORT_DIPSETTING( 0x11, DEF_STR( 2C_8C )) |
| 210 | PORT_DIPSETTING( 0x12, DEF_STR( 1C_9C )) |
| 211 | PORT_DIPSETTING( 0x13, "2 coins 9 credits") |
| 212 | PORT_DIPSETTING( 0x14, "1 coin 10 credits") |
| 213 | PORT_DIPSETTING( 0x15, "2 coins 10 credits") |
| 214 | PORT_DIPSETTING( 0x16, "1 coin 11 credits") |
| 215 | PORT_DIPSETTING( 0x17, "2 coins 11 credits") |
| 216 | PORT_DIPSETTING( 0x18, "1 coin 12 credits") |
| 217 | PORT_DIPSETTING( 0x19, "2 coins 12 credits") |
| 218 | PORT_DIPSETTING( 0x1a, "1 coin 13 credits") |
| 219 | PORT_DIPSETTING( 0x1b, "2 coins 13 credits") |
| 220 | PORT_DIPSETTING( 0x1c, "1 coin 14 credits") |
| 221 | PORT_DIPSETTING( 0x1d, "2 coins 14 credits") |
| 222 | PORT_DIPSETTING( 0x1e, "1 coin 15 credits") |
| 223 | PORT_DIPSETTING( 0x1f, "2 coins 15 credits") |
| 224 | PORT_DIPNAME( 0x60, 0x60, "Award") |
| 225 | PORT_DIPSETTING( 0x00, "Nothing") |
| 226 | PORT_DIPSETTING( 0x40, "Extra Ball") |
| 227 | PORT_DIPSETTING( 0x60, "Free Game") |
| 228 | PORT_DIPNAME( 0x80, 0x00, "Balls") |
| 229 | PORT_DIPSETTING( 0x00, "3") |
| 230 | PORT_DIPSETTING( 0x80, "5") |
| 197 | 231 | |
| 198 | 232 | PORT_START("DSW2") |
| 199 | | PORT_DIPNAME( 0x01, 0x00, "S17") |
| 233 | PORT_DIPNAME( 0x07, 0x02, "Maximum Credits") |
| 234 | PORT_DIPSETTING( 0x00, "5") |
| 235 | PORT_DIPSETTING( 0x01, "10") |
| 236 | PORT_DIPSETTING( 0x02, "15") |
| 237 | PORT_DIPSETTING( 0x03, "20") |
| 238 | PORT_DIPSETTING( 0x04, "25") |
| 239 | PORT_DIPSETTING( 0x05, "30") |
| 240 | PORT_DIPSETTING( 0x06, "35") |
| 241 | PORT_DIPSETTING( 0x07, "40") |
| 242 | PORT_DIPNAME( 0x08, 0x08, "Credits displayed") |
| 200 | 243 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 201 | | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 202 | | PORT_DIPNAME( 0x02, 0x00, "S18") |
| 203 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 204 | | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 205 | | PORT_DIPNAME( 0x04, 0x00, "S19") |
| 206 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 207 | | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 208 | | PORT_DIPNAME( 0x08, 0x00, "S20") |
| 209 | | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 210 | 244 | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 211 | | PORT_DIPNAME( 0x10, 0x00, "S21") |
| 245 | PORT_DIPNAME( 0x10, 0x10, "Match") |
| 212 | 246 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 213 | 247 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 214 | | PORT_DIPNAME( 0x20, 0x00, "S22") |
| 248 | PORT_DIPNAME( 0x20, 0x00, "S22 (game specific)") |
| 215 | 249 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 216 | 250 | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 217 | | PORT_DIPNAME( 0x40, 0x00, "S23") |
| 251 | PORT_DIPNAME( 0x40, 0x00, "S23 (game specific)") |
| 218 | 252 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 219 | 253 | PORT_DIPSETTING( 0x40, DEF_STR( On )) |
| 220 | | PORT_DIPNAME( 0x80, 0x00, "S24") |
| 254 | PORT_DIPNAME( 0x80, 0x00, "S24 (game specific)") |
| 221 | 255 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 222 | 256 | PORT_DIPSETTING( 0x80, DEF_STR( On )) |
| 223 | 257 | |
| 224 | 258 | PORT_START("DSW3") |
| 225 | | PORT_DIPNAME( 0x03, 0x03, "Maximum Credits") |
| 226 | | PORT_DIPSETTING( 0x00, "10") |
| 227 | | PORT_DIPSETTING( 0x01, "15") |
| 228 | | PORT_DIPSETTING( 0x02, "25") |
| 229 | | PORT_DIPSETTING( 0x03, "40") |
| 230 | | PORT_DIPNAME( 0x04, 0x04, "Credits displayed") |
| 259 | PORT_DIPNAME( 0x0f, 0x00, "Coin Slot 2") |
| 260 | PORT_DIPSETTING( 0x00, "Same as slot 1") |
| 261 | PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C )) |
| 262 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C )) |
| 263 | PORT_DIPSETTING( 0x03, DEF_STR( 1C_3C )) |
| 264 | PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C )) |
| 265 | PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C )) |
| 266 | PORT_DIPSETTING( 0x06, DEF_STR( 1C_6C )) |
| 267 | PORT_DIPSETTING( 0x07, DEF_STR( 1C_7C )) |
| 268 | PORT_DIPSETTING( 0x08, DEF_STR( 1C_8C )) |
| 269 | PORT_DIPSETTING( 0x09, DEF_STR( 1C_9C )) |
| 270 | PORT_DIPSETTING( 0x0a, "1 coin 10 credits") |
| 271 | PORT_DIPSETTING( 0x0b, "1 coin 11 credits") |
| 272 | PORT_DIPSETTING( 0x0c, "1 coin 12 credits") |
| 273 | PORT_DIPSETTING( 0x0d, "1 coin 13 credits") |
| 274 | PORT_DIPSETTING( 0x0e, "1 coin 14 credits") |
| 275 | PORT_DIPSETTING( 0x0f, "1 coin 15 credits") |
| 276 | PORT_DIPNAME( 0x10, 0x00, "S29") |
| 231 | 277 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 232 | | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 233 | | PORT_DIPNAME( 0x08, 0x08, "Match") |
| 278 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 279 | PORT_DIPNAME( 0x20, 0x00, "S30") |
| 234 | 280 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 235 | | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 236 | | PORT_DIPNAME( 0x10, 0x00, "Keep all replays") |
| 281 | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 282 | PORT_DIPNAME( 0x40, 0x00, "S31 (game specific)") |
| 237 | 283 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 238 | | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 239 | | PORT_DIPNAME( 0x20, 0x00, "Voice" ) |
| 284 | PORT_DIPSETTING( 0x40, DEF_STR( On )) |
| 285 | PORT_DIPNAME( 0x80, 0x00, "Melody option 2") |
| 240 | 286 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 241 | | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 242 | | PORT_DIPNAME( 0xC0, 0x40, "Balls") |
| 243 | | PORT_DIPSETTING( 0xC0, "2") |
| 244 | | PORT_DIPSETTING( 0x00, "3") |
| 245 | | PORT_DIPSETTING( 0x80, "4") |
| 246 | | PORT_DIPSETTING( 0x40, "5") |
| 287 | PORT_DIPSETTING( 0x80, DEF_STR( On )) |
| 247 | 288 | |
| 248 | 289 | PORT_START("X0") |
| 249 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) |
| 250 | | PORT_BIT( 0x0a, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 251 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) |
| 252 | | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) |
| 290 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) |
| 291 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) |
| 292 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) |
| 293 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) |
| 294 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) |
| 253 | 295 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) |
| 254 | 296 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT ) |
| 255 | 297 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X) |
| 256 | 298 | |
| 257 | 299 | PORT_START("X1") |
| 258 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 300 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 ) |
| 259 | 301 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 260 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) |
| 261 | | PORT_BIT( 0x38, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 262 | | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) |
| 302 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 303 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L) |
| 304 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) |
| 305 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) |
| 306 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) |
| 263 | 307 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT1 ) PORT_NAME("Slam Tilt") |
| 264 | 308 | |
| 265 | | // from here, vary per game |
| 266 | 309 | PORT_START("X2") |
| 267 | 310 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A) |
| 268 | 311 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S) |
| r31678 | r31679 | |
| 308 | 351 | WRITE_LINE_MEMBER( by35_state::u10_ca2_w ) |
| 309 | 352 | { |
| 310 | 353 | m_u10_ca2 = state; |
| 354 | if (!state) |
| 355 | m_counter = 0; |
| 311 | 356 | } |
| 312 | 357 | |
| 313 | 358 | WRITE_LINE_MEMBER( by35_state::u10_cb2_w ) |
| r31678 | r31679 | |
| 321 | 366 | |
| 322 | 367 | WRITE_LINE_MEMBER( by35_state::u11_cb2_w ) |
| 323 | 368 | { |
| 369 | m_u11_cb2 = state; |
| 324 | 370 | } |
| 325 | 371 | |
| 326 | 372 | READ8_MEMBER( by35_state::u10_a_r ) |
| 327 | 373 | { |
| 328 | | return m_u10_a; |
| 374 | return m_u10a; |
| 329 | 375 | } |
| 330 | 376 | |
| 331 | 377 | WRITE8_MEMBER( by35_state::u10_a_w ) |
| 332 | 378 | { |
| 333 | | static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0,0,0,0,0,0 }; // MC14543 |
| 334 | | m_segment = data >> 4; |
| 335 | | m_u10_a = data; |
| 336 | | m_u10 = (data & 15) | (BIT(m_u11_a, 0) << 4); |
| 379 | m_u10a = data; |
| 337 | 380 | |
| 338 | 381 | if (!m_u10_ca2) |
| 339 | 382 | { |
| 340 | | if (!BIT(m_u10, 0)) |
| 341 | | output_set_digit_value(m_digit, patterns[m_segment]); |
| 383 | m_counter++; |
| 384 | |
| 385 | if (m_counter==1) |
| 386 | m_segment[0] = data>>4; |
| 342 | 387 | else |
| 343 | | if (m_u10==0x1d) |
| 344 | | output_set_digit_value(8+m_digit, patterns[m_segment]); |
| 388 | if (m_counter==3) |
| 389 | m_segment[1] = data>>4; |
| 345 | 390 | else |
| 346 | | if (m_u10==0x1b) |
| 347 | | output_set_digit_value(16+m_digit, patterns[m_segment]); |
| 391 | if (m_counter==5) |
| 392 | m_segment[2] = data>>4; |
| 348 | 393 | else |
| 349 | | if (m_u10==0x17) |
| 350 | | output_set_digit_value(24+m_digit, patterns[m_segment]); |
| 394 | if (m_counter==7) |
| 395 | m_segment[3] = data>>4; |
| 351 | 396 | else |
| 352 | | if (m_u10==0x1f) |
| 353 | | output_set_digit_value(32+m_digit, patterns[m_segment]); |
| 397 | if (m_counter==9) |
| 398 | m_segment[4] = data>>4; |
| 354 | 399 | } |
| 355 | 400 | } |
| 356 | 401 | |
| r31678 | r31679 | |
| 358 | 403 | { |
| 359 | 404 | UINT8 data = 0; |
| 360 | 405 | |
| 361 | | if (BIT(m_u10_a, 0)) |
| 406 | if (BIT(m_u10a, 0)) |
| 362 | 407 | data |= m_io_x0->read(); |
| 363 | 408 | |
| 364 | | if (BIT(m_u10_a, 1)) |
| 409 | if (BIT(m_u10a, 1)) |
| 365 | 410 | data |= m_io_x1->read(); |
| 366 | 411 | |
| 367 | | if (BIT(m_u10_a, 2)) |
| 412 | if (BIT(m_u10a, 2)) |
| 368 | 413 | data |= m_io_x2->read(); |
| 369 | 414 | |
| 370 | | if (BIT(m_u10_a, 3)) |
| 415 | if (BIT(m_u10a, 3)) |
| 371 | 416 | data |= m_io_x3->read(); |
| 372 | 417 | |
| 373 | | if (BIT(m_u10_a, 4)) |
| 418 | if (BIT(m_u10a, 4)) |
| 374 | 419 | data |= m_io_x4->read(); |
| 375 | 420 | |
| 376 | | if (BIT(m_u10_a, 5)) |
| 421 | if (BIT(m_u10a, 5)) |
| 377 | 422 | data |= m_io_dsw0->read(); |
| 378 | 423 | |
| 379 | | if (BIT(m_u10_a, 6)) |
| 424 | if (BIT(m_u10a, 6)) |
| 380 | 425 | data |= m_io_dsw1->read(); |
| 381 | 426 | |
| 382 | | if (BIT(m_u10_a, 7)) |
| 427 | if (BIT(m_u10a, 7)) |
| 383 | 428 | data |= m_io_dsw2->read(); |
| 384 | 429 | |
| 385 | 430 | if (m_u10_cb2) |
| r31678 | r31679 | |
| 390 | 435 | |
| 391 | 436 | WRITE8_MEMBER( by35_state::u10_b_w ) |
| 392 | 437 | { |
| 393 | | m_u10_b = data; |
| 438 | m_u10b = data; |
| 394 | 439 | } |
| 395 | 440 | |
| 396 | 441 | READ8_MEMBER( by35_state::u11_a_r ) |
| 397 | 442 | { |
| 398 | | return m_u11_a; |
| 443 | return m_u11a; |
| 399 | 444 | } |
| 400 | 445 | |
| 401 | 446 | WRITE8_MEMBER( by35_state::u11_a_w ) |
| 402 | 447 | { |
| 403 | | m_u11_a = data; |
| 448 | m_u11a = data; |
| 404 | 449 | |
| 405 | | m_digit = 0xff; |
| 406 | | if BIT(data, 2) |
| 407 | | m_digit = 4; |
| 408 | | else |
| 409 | | if BIT(data, 3) |
| 410 | | m_digit = 3; |
| 411 | | else |
| 412 | | if BIT(data, 4) |
| 413 | | m_digit = 2; |
| 414 | | else |
| 415 | | if BIT(data, 5) |
| 416 | | m_digit = 1; |
| 417 | | else |
| 418 | | if BIT(data, 6) |
| 419 | | m_digit = 0; |
| 420 | | else |
| 421 | | if BIT(data, 7) |
| 422 | | m_digit = 5; |
| 450 | if (!m_u10_ca2) |
| 451 | { |
| 452 | if (!m_6d & BIT(data, 1)) |
| 453 | m_digit = 6; |
| 454 | else |
| 455 | if BIT(data, 2) |
| 456 | m_digit = 5; |
| 457 | else |
| 458 | if BIT(data, 3) |
| 459 | m_digit = 4; |
| 460 | else |
| 461 | if BIT(data, 4) |
| 462 | m_digit = 3; |
| 463 | else |
| 464 | if BIT(data, 5) |
| 465 | m_digit = 2; |
| 466 | else |
| 467 | if BIT(data, 6) |
| 468 | m_digit = 1; |
| 469 | else |
| 470 | if BIT(data, 7) |
| 471 | m_digit = 0; |
| 472 | |
| 473 | if (BIT(data, 0) && (m_counter > 8)) |
| 474 | { |
| 475 | static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0,0,0,0,0,0 }; // MC14543 |
| 476 | output_set_digit_value(m_digit, patterns[m_segment[0]]); |
| 477 | output_set_digit_value(10+m_digit, patterns[m_segment[1]]); |
| 478 | output_set_digit_value(20+m_digit, patterns[m_segment[2]]); |
| 479 | output_set_digit_value(30+m_digit, patterns[m_segment[3]]); |
| 480 | output_set_digit_value(40+m_digit, patterns[m_segment[4]]); |
| 481 | } |
| 482 | } |
| 423 | 483 | } |
| 424 | 484 | |
| 425 | 485 | WRITE8_MEMBER( by35_state::u11_b_w ) |
| 426 | 486 | { |
| 427 | | m_u11_b = data; |
| 428 | | switch (data & 15) |
| 487 | m_u11b = data; |
| 488 | if (!m_u11_cb2) |
| 429 | 489 | { |
| 430 | | case 0x0: // |
| 431 | | //m_samples->start(0, 3); |
| 432 | | break; |
| 433 | | case 0x1: // chime 10 |
| 434 | | m_samples->start(1, 1); |
| 435 | | break; |
| 436 | | case 0x2: // chime 100 |
| 437 | | m_samples->start(2, 2); |
| 438 | | break; |
| 439 | | case 0x3: // chime 1000 |
| 440 | | m_samples->start(3, 3); |
| 441 | | break; |
| 442 | | case 0x4: // chime 10000 |
| 443 | | m_samples->start(0, 4); |
| 444 | | break; |
| 445 | | case 0x5: // knocker |
| 446 | | m_samples->start(0, 6); |
| 447 | | break; |
| 448 | | case 0x6: // outhole |
| 449 | | m_samples->start(0, 5); |
| 450 | | break; |
| 451 | | // from here, vary per game |
| 452 | | case 0x7: |
| 453 | | case 0x8: |
| 454 | | case 0x9: |
| 455 | | //m_samples->start(0, 5); |
| 456 | | break; |
| 457 | | case 0xa: |
| 458 | | //m_samples->start(0, 5); |
| 459 | | break; |
| 460 | | case 0xb: |
| 461 | | //m_samples->start(0, 0); |
| 462 | | break; |
| 463 | | case 0xc: |
| 464 | | //m_samples->start(0, 5); |
| 465 | | break; |
| 466 | | case 0xd: |
| 467 | | //m_samples->start(0, 0); |
| 468 | | break; |
| 469 | | case 0xe: |
| 470 | | //m_samples->start(0, 5); |
| 471 | | break; |
| 472 | | case 0xf: // not used |
| 473 | | break; |
| 490 | switch (data & 15) |
| 491 | { |
| 492 | // these vary per game |
| 493 | case 0x0: // |
| 494 | //m_samples->start(0, 3); |
| 495 | break; |
| 496 | case 0x1: // chime 10 |
| 497 | //m_samples->start(1, 1); |
| 498 | break; |
| 499 | case 0x2: // chime 100 |
| 500 | //m_samples->start(2, 2); |
| 501 | break; |
| 502 | case 0x3: // chime 1000 |
| 503 | //m_samples->start(3, 3); |
| 504 | break; |
| 505 | case 0x4: // chime 10000 |
| 506 | //m_samples->start(0, 4); |
| 507 | break; |
| 508 | // these 2 are standard |
| 509 | case 0x5: // knocker |
| 510 | m_samples->start(0, 6); |
| 511 | break; |
| 512 | case 0x6: // outhole |
| 513 | m_samples->start(0, 5); |
| 514 | break; |
| 515 | // these vary per game |
| 516 | case 0x7: |
| 517 | case 0x8: |
| 518 | case 0x9: |
| 519 | //m_samples->start(0, 5); |
| 520 | break; |
| 521 | case 0xa: |
| 522 | //m_samples->start(0, 5); |
| 523 | break; |
| 524 | case 0xb: |
| 525 | //m_samples->start(0, 0); |
| 526 | break; |
| 527 | case 0xc: |
| 528 | //m_samples->start(0, 5); |
| 529 | break; |
| 530 | case 0xd: |
| 531 | //m_samples->start(0, 0); |
| 532 | break; |
| 533 | case 0xe: |
| 534 | //m_samples->start(0, 5); |
| 535 | break; |
| 536 | case 0xf: // not used |
| 537 | break; |
| 538 | } |
| 474 | 539 | } |
| 475 | 540 | } |
| 476 | 541 | |
| 477 | 542 | void by35_state::machine_reset() |
| 478 | 543 | { |
| 479 | | m_u10_a = 0; |
| 480 | | m_u10_b = 0; |
| 544 | m_u10a = 0; |
| 545 | m_u10b = 0; |
| 481 | 546 | m_u10_cb2 = 0; |
| 482 | | m_u11_a = 0; |
| 483 | | m_u11_b = 0; |
| 547 | m_u11a = 0; |
| 548 | m_u11b = 0; |
| 484 | 549 | } |
| 485 | 550 | |
| 486 | | DRIVER_INIT_MEMBER(by35_state,by35) |
| 551 | DRIVER_INIT_MEMBER( by35_state, by35_6 ) |
| 487 | 552 | { |
| 553 | m_6d = 1; |
| 488 | 554 | } |
| 489 | 555 | |
| 556 | DRIVER_INIT_MEMBER( by35_state, by35_7 ) |
| 557 | { |
| 558 | m_6d = 0; |
| 559 | } |
| 560 | |
| 490 | 561 | // zero-cross detection |
| 491 | | TIMER_DEVICE_CALLBACK_MEMBER( by35_state::u10_timer ) |
| 562 | TIMER_DEVICE_CALLBACK_MEMBER( by35_state::timer_x ) |
| 492 | 563 | { |
| 493 | | m_u10_timer ^= 1; |
| 494 | | m_pia_u10->cb1_w(m_u10_timer); |
| 564 | m_timer_x ^= 1; |
| 565 | m_pia_u10->cb1_w(m_timer_x); |
| 495 | 566 | } |
| 496 | 567 | |
| 497 | 568 | // 555 timer for display refresh |
| r31678 | r31679 | |
| 524 | 595 | MCFG_PIA_CB2_HANDLER(WRITELINE(by35_state, u10_cb2_w)) |
| 525 | 596 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) |
| 526 | 597 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) |
| 527 | | MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_z", by35_state, u10_timer, attotime::from_hz(120)) // mains freq*2 |
| 598 | MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_x", by35_state, timer_x, attotime::from_hz(120)) // mains freq*2 |
| 528 | 599 | |
| 529 | 600 | MCFG_DEVICE_ADD("pia_u11", PIA6821, 0) |
| 530 | 601 | MCFG_PIA_READPA_HANDLER(READ8(by35_state, u11_a_r)) |
| r31678 | r31679 | |
| 1772 | 1843 | ROM_END |
| 1773 | 1844 | |
| 1774 | 1845 | // AS-2888 sound |
| 1775 | | GAME( 1979, sst, 0, by35, by35, by35_state, by35, ROT0, "Bally","Supersonic", GAME_IS_SKELETON_MECHANICAL) |
| 1776 | | GAME( 1978, playboy, 0, by35, by35, by35_state, by35, ROT0, "Bally","Playboy", GAME_IS_SKELETON_MECHANICAL) |
| 1777 | | GAME( 1978, lostwrlp, 0, by35, by35, by35_state, by35, ROT0, "Bally","Lost World", GAME_IS_SKELETON_MECHANICAL) |
| 1778 | | GAME( 1978, smman, 0, by35, by35, by35_state, by35, ROT0, "Bally","Six Million Dollar Man", GAME_IS_SKELETON_MECHANICAL) |
| 1779 | | GAME( 1978, voltan, 0, by35, by35, by35_state, by35, ROT0, "Bally","Voltan Escapes Cosmic Doom", GAME_IS_SKELETON_MECHANICAL) |
| 1780 | | GAME( 1979, startrep, 0, by35, by35, by35_state, by35, ROT0, "Bally","Star Trek (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 1781 | | GAME( 1979, kiss, 0, by35, by35, by35_state, by35, ROT0, "Bally","Kiss", GAME_IS_SKELETON_MECHANICAL) |
| 1782 | | GAME( 1979, hglbtrtr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Harlem Globetrotters On Tour", GAME_IS_SKELETON_MECHANICAL) |
| 1783 | | GAME( 1979, dollyptn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Dolly Parton", GAME_IS_SKELETON_MECHANICAL) |
| 1784 | | GAME( 1979, paragon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Paragon", GAME_IS_SKELETON_MECHANICAL) |
| 1846 | GAME( 1979, sst, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Supersonic", GAME_IS_SKELETON_MECHANICAL) |
| 1847 | GAME( 1978, playboy, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Playboy", GAME_IS_SKELETON_MECHANICAL) |
| 1848 | GAME( 1978, lostwrlp, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Lost World", GAME_IS_SKELETON_MECHANICAL) |
| 1849 | GAME( 1978, smman, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Six Million Dollar Man", GAME_IS_SKELETON_MECHANICAL) |
| 1850 | GAME( 1978, voltan, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Voltan Escapes Cosmic Doom", GAME_IS_SKELETON_MECHANICAL) |
| 1851 | GAME( 1979, startrep, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Star Trek (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 1852 | GAME( 1979, kiss, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Kiss", GAME_IS_SKELETON_MECHANICAL) |
| 1853 | GAME( 1979, hglbtrtr, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Harlem Globetrotters On Tour", GAME_IS_SKELETON_MECHANICAL) |
| 1854 | GAME( 1979, dollyptn, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Dolly Parton", GAME_IS_SKELETON_MECHANICAL) |
| 1855 | GAME( 1979, paragon, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Paragon", GAME_IS_SKELETON_MECHANICAL) |
| 1785 | 1856 | |
| 1786 | 1857 | // AS-3022 sound |
| 1787 | | GAME( 1980, ngndshkr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Nitro Ground Shaker", GAME_IS_SKELETON_MECHANICAL) |
| 1788 | | GAME( 1980, slbmania, 0, by35, by35, by35_state, by35, ROT0, "Bally","Silverball Mania", GAME_IS_SKELETON_MECHANICAL) |
| 1789 | | GAME( 1979, futurspa, 0, by35, by35, by35_state, by35, ROT0, "Bally","Future Spa", GAME_IS_SKELETON_MECHANICAL) |
| 1790 | | GAME( 1980, spaceinv, 0, by35, by35, by35_state, by35, ROT0, "Bally","Space Invaders", GAME_IS_SKELETON_MECHANICAL) |
| 1791 | | GAME( 1980, rollston, 0, by35, by35, by35_state, by35, ROT0, "Bally","Rolling Stones", GAME_IS_SKELETON_MECHANICAL) |
| 1792 | | GAME( 1980, mystic, 0, by35, by35, by35_state, by35, ROT0, "Bally","Mystic", GAME_IS_SKELETON_MECHANICAL) |
| 1793 | | GAME( 1980, xenon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Xenon", GAME_IS_SKELETON_MECHANICAL) |
| 1794 | | GAME( 1980, xenonf, xenon, by35, by35, by35_state, by35, ROT0, "Bally","Xenon (French)", GAME_IS_SKELETON_MECHANICAL) |
| 1795 | | GAME( 1980, viking, 0, by35, by35, by35_state, by35, ROT0, "Bally","Viking", GAME_IS_SKELETON_MECHANICAL) |
| 1796 | | GAME( 1980, hotdoggn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Hotdoggin'", GAME_IS_SKELETON_MECHANICAL) |
| 1797 | | GAME( 1980, skatebll, 0, by35, by35, by35_state, by35, ROT0, "Bally","Skateball", GAME_IS_SKELETON_MECHANICAL) |
| 1798 | | GAME( 1980, frontier, 0, by35, by35, by35_state, by35, ROT0, "Bally","Frontier", GAME_IS_SKELETON_MECHANICAL) |
| 1799 | | GAME( 1982, speakesy, 0, by35, by35, by35_state, by35, ROT0, "Bally","Speakeasy", GAME_IS_SKELETON_MECHANICAL) |
| 1800 | | GAME( 1982, speakesy4p, speakesy, by35, by35, by35_state, by35, ROT0, "Bally","Speakeasy 4 Player", GAME_IS_SKELETON_MECHANICAL) |
| 1801 | | GAME( 1983, bmx, 0, by35, by35, by35_state, by35, ROT0, "Bally","BMX", GAME_IS_SKELETON_MECHANICAL) |
| 1802 | | GAME( 1983, granslam, 0, by35, by35, by35_state, by35, ROT0, "Bally","Grand Slam", GAME_IS_SKELETON_MECHANICAL) |
| 1803 | | GAME( 1983, granslam4, granslam, by35, by35, by35_state, by35, ROT0, "Bally","Grand Slam (4 Players)", GAME_IS_SKELETON_MECHANICAL) |
| 1804 | | GAME( 1983, goldball, 0, by35, by35, by35_state, by35, ROT0, "Bally","Gold Ball (set 1)", GAME_IS_SKELETON_MECHANICAL) |
| 1805 | | GAME( 1983, goldballn, goldball, by35, by35, by35_state, by35, ROT0, "Bally / Oliver","Gold Ball (set 2)", GAME_IS_SKELETON_MECHANICAL) |
| 1858 | GAME( 1980, ngndshkr, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Nitro Ground Shaker", GAME_IS_SKELETON_MECHANICAL) |
| 1859 | GAME( 1980, slbmania, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Silverball Mania", GAME_IS_SKELETON_MECHANICAL) |
| 1860 | GAME( 1979, futurspa, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Future Spa", GAME_IS_SKELETON_MECHANICAL) |
| 1861 | GAME( 1980, spaceinv, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Space Invaders", GAME_IS_SKELETON_MECHANICAL) |
| 1862 | GAME( 1980, rollston, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Rolling Stones", GAME_IS_SKELETON_MECHANICAL) |
| 1863 | GAME( 1980, mystic, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Mystic", GAME_IS_SKELETON_MECHANICAL) |
| 1864 | GAME( 1980, xenon, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Xenon", GAME_IS_SKELETON_MECHANICAL) |
| 1865 | GAME( 1980, xenonf, xenon, by35, by35, by35_state, by35_6, ROT0, "Bally", "Xenon (French)", GAME_IS_SKELETON_MECHANICAL) |
| 1866 | GAME( 1980, viking, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Viking", GAME_IS_SKELETON_MECHANICAL) |
| 1867 | GAME( 1980, hotdoggn, 0, by35, by35, by35_state, by35_6, ROT0, "Bally", "Hotdoggin'", GAME_IS_SKELETON_MECHANICAL) |
| 1868 | GAME( 1980, skatebll, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Skateball", GAME_IS_SKELETON_MECHANICAL) |
| 1869 | GAME( 1980, frontier, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Frontier", GAME_IS_SKELETON_MECHANICAL) |
| 1870 | GAME( 1982, speakesy, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Speakeasy", GAME_IS_SKELETON_MECHANICAL) |
| 1871 | GAME( 1982, speakesy4p, speakesy, by35, by35, by35_state, by35_7, ROT0, "Bally", "Speakeasy 4 Player", GAME_IS_SKELETON_MECHANICAL) |
| 1872 | GAME( 1983, bmx, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "BMX", GAME_IS_SKELETON_MECHANICAL) |
| 1873 | GAME( 1983, granslam, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Grand Slam", GAME_IS_SKELETON_MECHANICAL) |
| 1874 | GAME( 1983, granslam4, granslam, by35, by35, by35_state, by35_7, ROT0, "Bally", "Grand Slam (4 Players)", GAME_IS_SKELETON_MECHANICAL) |
| 1875 | GAME( 1983, goldball, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Gold Ball (set 1)", GAME_IS_SKELETON_MECHANICAL) |
| 1876 | GAME( 1983, goldballn, goldball, by35, by35, by35_state, by35_7, ROT0, "Bally / Oliver", "Gold Ball (set 2)", GAME_IS_SKELETON_MECHANICAL) |
| 1806 | 1877 | |
| 1807 | 1878 | // Squawk & Talk sound |
| 1808 | | GAME( 1981, flashgdn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon", GAME_IS_SKELETON_MECHANICAL) |
| 1809 | | GAME( 1981, flashgdnf, flashgdn, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon (French)", GAME_IS_SKELETON_MECHANICAL) |
| 1810 | | GAME( 1981, flashgdnv, flashgdn, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon (Vocalizer sound)", GAME_IS_SKELETON_MECHANICAL) |
| 1811 | | GAME( 1981, fball_ii, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fireball II", GAME_IS_SKELETON_MECHANICAL) |
| 1812 | | GAME( 1981, eballdlx, 0, by35, by35, by35_state, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 15)", GAME_IS_SKELETON_MECHANICAL) |
| 1813 | | GAME( 1981, eballd14, eballdlx, by35, by35, by35_state, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 14)", GAME_IS_SKELETON_MECHANICAL) |
| 1814 | | GAME( 1981, embryon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Embryon", GAME_IS_SKELETON_MECHANICAL) |
| 1815 | | GAME( 1981, fathom, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fathom", GAME_IS_SKELETON_MECHANICAL) |
| 1816 | | GAME( 1981, centaur, 0, by35, by35, by35_state, by35, ROT0, "Bally","Centaur", GAME_IS_SKELETON_MECHANICAL) |
| 1817 | | GAME( 1981, medusa, 0, by35, by35, by35_state, by35, ROT0, "Bally","Medusa", GAME_IS_SKELETON_MECHANICAL) |
| 1818 | | GAME( 1982, vector, 0, by35, by35, by35_state, by35, ROT0, "Bally","Vector", GAME_IS_SKELETON_MECHANICAL) |
| 1819 | | GAME( 1981, elektra, 0, by35, by35, by35_state, by35, ROT0, "Bally","Elektra", GAME_IS_SKELETON_MECHANICAL) |
| 1820 | | GAME( 1982, spectrm, 0, by35, by35, by35_state, by35, ROT0, "Bally","Spectrum", GAME_IS_SKELETON_MECHANICAL) |
| 1821 | | GAME( 1982, spectrm4, spectrm, by35, by35, by35_state, by35, ROT0, "Bally","Spectrum (ver 4)", GAME_IS_SKELETON_MECHANICAL) |
| 1822 | | GAME( 1982, rapidfip, 0, by35, by35, by35_state, by35, ROT0, "Bally","Rapid Fire", GAME_IS_SKELETON_MECHANICAL) |
| 1823 | | GAME( 1982, m_mpac, 0, by35, by35, by35_state, by35, ROT0, "Bally","Mr. and Mrs. PacMan", GAME_IS_SKELETON_MECHANICAL) |
| 1879 | GAME( 1981, flashgdn, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Flash Gordon", GAME_IS_SKELETON_MECHANICAL) |
| 1880 | GAME( 1981, flashgdnf, flashgdn, by35, by35, by35_state, by35_7, ROT0, "Bally", "Flash Gordon (French)", GAME_IS_SKELETON_MECHANICAL) |
| 1881 | GAME( 1981, flashgdnv, flashgdn, by35, by35, by35_state, by35_7, ROT0, "Bally", "Flash Gordon (Vocalizer sound)", GAME_IS_SKELETON_MECHANICAL) |
| 1882 | GAME( 1981, fball_ii, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Fireball II", GAME_IS_SKELETON_MECHANICAL) |
| 1883 | GAME( 1981, eballdlx, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Eight Ball Deluxe (rev. 15)", GAME_IS_SKELETON_MECHANICAL) |
| 1884 | GAME( 1981, eballd14, eballdlx, by35, by35, by35_state, by35_7, ROT0, "Bally", "Eight Ball Deluxe (rev. 14)", GAME_IS_SKELETON_MECHANICAL) |
| 1885 | GAME( 1981, embryon, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Embryon", GAME_IS_SKELETON_MECHANICAL) |
| 1886 | GAME( 1981, fathom, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Fathom", GAME_IS_SKELETON_MECHANICAL) |
| 1887 | GAME( 1981, centaur, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Centaur", GAME_IS_SKELETON_MECHANICAL) |
| 1888 | GAME( 1981, medusa, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Medusa", GAME_IS_SKELETON_MECHANICAL) |
| 1889 | GAME( 1982, vector, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Vector", GAME_IS_SKELETON_MECHANICAL) |
| 1890 | GAME( 1981, elektra, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Elektra", GAME_IS_SKELETON_MECHANICAL) |
| 1891 | GAME( 1982, spectrm, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Spectrum", GAME_IS_SKELETON_MECHANICAL) |
| 1892 | GAME( 1982, spectrm4, spectrm, by35, by35, by35_state, by35_7, ROT0, "Bally", "Spectrum (ver 4)", GAME_IS_SKELETON_MECHANICAL) |
| 1893 | GAME( 1982, rapidfip, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Rapid Fire", GAME_IS_SKELETON_MECHANICAL) |
| 1894 | GAME( 1982, m_mpac, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Mr. and Mrs. PacMan", GAME_IS_SKELETON_MECHANICAL) |
| 1824 | 1895 | |
| 1825 | 1896 | // Cheap Squeak sound |
| 1826 | | GAME( 1984, kosteel, 0, by35, by35, by35_state, by35, ROT0, "Bally","Kings of Steel", GAME_IS_SKELETON_MECHANICAL) |
| 1827 | | GAME( 1983, xsandos, 0, by35, by35, by35_state, by35, ROT0, "Bally","X's & O's", GAME_IS_SKELETON_MECHANICAL) |
| 1828 | | GAME( 1984, spyhuntr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Spy Hunter (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 1829 | | GAME( 1984, fbclass, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fireball Classic", GAME_IS_SKELETON_MECHANICAL) |
| 1830 | | GAME( 1984, blakpyra, 0, by35, by35, by35_state, by35, ROT0, "Bally","Black Pyramid", GAME_IS_SKELETON_MECHANICAL) |
| 1831 | | GAME( 1985, cybrnaut, 0, by35, by35, by35_state, by35, ROT0, "Bally","Cybernaut", GAME_IS_SKELETON_MECHANICAL) |
| 1897 | GAME( 1984, kosteel, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Kings of Steel", GAME_IS_SKELETON_MECHANICAL) |
| 1898 | GAME( 1983, xsandos, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "X's & O's", GAME_IS_SKELETON_MECHANICAL) |
| 1899 | GAME( 1984, spyhuntr, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Spy Hunter (Pinball)", GAME_IS_SKELETON_MECHANICAL) |
| 1900 | GAME( 1984, fbclass, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Fireball Classic", GAME_IS_SKELETON_MECHANICAL) |
| 1901 | GAME( 1984, blakpyra, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Black Pyramid", GAME_IS_SKELETON_MECHANICAL) |
| 1902 | GAME( 1985, cybrnaut, 0, by35, by35, by35_state, by35_7, ROT0, "Bally", "Cybernaut", GAME_IS_SKELETON_MECHANICAL) |
| 1832 | 1903 | |
| 1833 | 1904 | // Other manufacturers |
| 1834 | | GAME( 1984, suprbowl, xsandos, by35, by35, by35_state, by35, ROT0, "Bell Games","Super Bowl", GAME_IS_SKELETON_MECHANICAL) |
| 1835 | | GAME( 1984, tigerrag, kosteel, by35, by35, by35_state, by35, ROT0, "Bell Games","Tiger Rag", GAME_IS_SKELETON_MECHANICAL) |
| 1836 | | GAME( 1985, cosflash, flashgdn, by35, by35, by35_state, by35, ROT0, "Bell Games","Cosmic Flash", GAME_IS_SKELETON_MECHANICAL) |
| 1837 | | GAME( 1985, newwave, blakpyra, by35, by35, by35_state, by35, ROT0, "Bell Games","New Wave", GAME_IS_SKELETON_MECHANICAL) |
| 1838 | | GAME( 1985, saturn2, spyhuntr, by35, by35, by35_state, by35, ROT0, "Bell Games","Saturn 2", GAME_IS_SKELETON_MECHANICAL) |
| 1839 | | GAME( 1985, worlddef, 0, by35, by35, by35_state, by35, ROT0, "Bell Games","World Defender", GAME_IS_SKELETON_MECHANICAL) |
| 1840 | | GAME( 1986, spacehaw, cybrnaut, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Space Hawks", GAME_IS_SKELETON_MECHANICAL) |
| 1841 | | GAME( 1986, darkshad, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Dark Shadow", GAME_IS_SKELETON_MECHANICAL) |
| 1842 | | GAME( 1986, skflight, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Skill Flight", GAME_IS_SKELETON_MECHANICAL) |
| 1843 | | GAME( 1987, cobrap, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Cobra", GAME_IS_SKELETON_MECHANICAL) |
| 1844 | | GAME( 1987, futrquen, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Future Queen", GAME_IS_SKELETON_MECHANICAL) |
| 1845 | | GAME( 1987, f1gpp, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","F1 Grand Prix", GAME_IS_SKELETON_MECHANICAL) |
| 1846 | | GAME( 1988, toppin, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Top Pin", GAME_IS_SKELETON_MECHANICAL) |
| 1847 | | GAME( 1988, uboat65, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","U-boat 65", GAME_IS_SKELETON_MECHANICAL) |
| 1848 | | GAME( 1986, bullseye, 0, by35, by35, by35_state, by35, ROT0, "Grand Products","301/Bullseye", GAME_IS_SKELETON_MECHANICAL) |
| 1849 | | GAME( 1988, bbbowlin, 0, by35, by35, by35_state, by35, ROT0, "United","Big Ball Bowling (Bowler)", GAME_IS_SKELETON_MECHANICAL) |
| 1850 | | GAME( 1988, monrobwl, 0, by35, by35, by35_state, by35, ROT0, "Monroe Bowling Co.","Stars & Strikes (Bowler)", GAME_IS_SKELETON_MECHANICAL) |
| 1851 | | GAME( 1984, mdntmrdr, 0, by35, by35, by35_state, by35, ROT0, "Bally Midway","Midnight Marauders (Gun game)", GAME_IS_SKELETON_MECHANICAL) |
| 1852 | | GAME( 1988, blbeauty, 0, by35, by35, by35_state, by35, ROT0, "Stern","Black Beauty (Shuffle)", GAME_IS_SKELETON_MECHANICAL) |
| 1853 | | GAME( 1984, myststar, 0, by35, by35, by35_state, by35, ROT0, "Zaccaria","Mystic Star", GAME_IS_SKELETON_MECHANICAL) |
| 1905 | GAME( 1984, suprbowl, xsandos, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "Super Bowl", GAME_IS_SKELETON_MECHANICAL) |
| 1906 | GAME( 1984, tigerrag, kosteel, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "Tiger Rag", GAME_IS_SKELETON_MECHANICAL) |
| 1907 | GAME( 1985, cosflash, flashgdn, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "Cosmic Flash", GAME_IS_SKELETON_MECHANICAL) |
| 1908 | GAME( 1985, newwave, blakpyra, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "New Wave", GAME_IS_SKELETON_MECHANICAL) |
| 1909 | GAME( 1985, saturn2, spyhuntr, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "Saturn 2", GAME_IS_SKELETON_MECHANICAL) |
| 1910 | GAME( 1985, worlddef, 0, by35, by35, by35_state, by35_7, ROT0, "Bell Games", "World Defender", GAME_IS_SKELETON_MECHANICAL) |
| 1911 | GAME( 1986, spacehaw, cybrnaut, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Space Hawks", GAME_IS_SKELETON_MECHANICAL) |
| 1912 | GAME( 1986, darkshad, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Dark Shadow", GAME_IS_SKELETON_MECHANICAL) |
| 1913 | GAME( 1986, skflight, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Skill Flight", GAME_IS_SKELETON_MECHANICAL) |
| 1914 | GAME( 1987, cobrap, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Cobra", GAME_IS_SKELETON_MECHANICAL) |
| 1915 | GAME( 1987, futrquen, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Future Queen", GAME_IS_SKELETON_MECHANICAL) |
| 1916 | GAME( 1987, f1gpp, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "F1 Grand Prix", GAME_IS_SKELETON_MECHANICAL) |
| 1917 | GAME( 1988, toppin, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "Top Pin", GAME_IS_SKELETON_MECHANICAL) |
| 1918 | GAME( 1988, uboat65, 0, by35, by35, by35_state, by35_7, ROT0, "Nuova Bell Games", "U-boat 65", GAME_IS_SKELETON_MECHANICAL) |
| 1919 | GAME( 1986, bullseye, 0, by35, by35, by35_state, by35_7, ROT0, "Grand Products", "301/Bullseye", GAME_IS_SKELETON_MECHANICAL) |
| 1920 | GAME( 1988, bbbowlin, 0, by35, by35, by35_state, by35_7, ROT0, "United", "Big Ball Bowling (Bowler)", GAME_IS_SKELETON_MECHANICAL) |
| 1921 | GAME( 1988, monrobwl, 0, by35, by35, by35_state, by35_7, ROT0, "Monroe Bowling Co.", "Stars & Strikes (Bowler)", GAME_IS_SKELETON_MECHANICAL) |
| 1922 | GAME( 1984, mdntmrdr, 0, by35, by35, by35_state, by35_6, ROT0, "Bally Midway", "Midnight Marauders (Gun game)", GAME_IS_SKELETON_MECHANICAL) |
| 1923 | GAME( 1988, blbeauty, 0, by35, by35, by35_state, by35_7, ROT0, "Stern", "Black Beauty (Shuffle)", GAME_IS_SKELETON_MECHANICAL) |
| 1924 | GAME( 1984, myststar, 0, by35, by35, by35_state, by35_6, ROT0, "Zaccaria", "Mystic Star", GAME_IS_SKELETON_MECHANICAL) |