trunk/src/mame/includes/gottlieb.h
| r18490 | r18491 | |
| 241 | 241 | m_r2_sound(*this, "r2sound"), |
| 242 | 242 | m_videoram(*this, "videoram"), |
| 243 | 243 | m_charram(*this, "charram"), |
| 244 | | m_spriteram(*this, "spriteram") { } |
| 244 | m_spriteram(*this, "spriteram") |
| 245 | { } |
| 245 | 246 | |
| 246 | 247 | // devices |
| 247 | 248 | required_device<i8088_device> m_maincpu; |
| r18490 | r18491 | |
| 275 | 276 | UINT8 m_transparent0; |
| 276 | 277 | tilemap_t *m_bg_tilemap; |
| 277 | 278 | double m_weights[4]; |
| 279 | |
| 278 | 280 | DECLARE_WRITE8_MEMBER(gottlieb_analog_reset_w); |
| 279 | 281 | DECLARE_WRITE8_MEMBER(general_output_w); |
| 280 | 282 | DECLARE_WRITE8_MEMBER(reactor_output_w); |
| 281 | 283 | DECLARE_WRITE8_MEMBER(stooges_output_w); |
| 284 | DECLARE_WRITE8_MEMBER(qbertqub_output_w); |
| 282 | 285 | DECLARE_READ8_MEMBER(laserdisc_status_r); |
| 283 | 286 | DECLARE_WRITE8_MEMBER(laserdisc_select_w); |
| 284 | 287 | DECLARE_WRITE8_MEMBER(laserdisc_command_w); |
| r18490 | r18491 | |
| 295 | 298 | DECLARE_DRIVER_INIT(vidvince); |
| 296 | 299 | DECLARE_DRIVER_INIT(ramtiles); |
| 297 | 300 | DECLARE_DRIVER_INIT(stooges); |
| 301 | DECLARE_DRIVER_INIT(qbertqub); |
| 298 | 302 | TILE_GET_INFO_MEMBER(get_bg_tile_info); |
| 299 | 303 | TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info); |
| 300 | 304 | virtual void machine_start(); |
trunk/src/mame/drivers/gottlieb.c
| r18490 | r18491 | |
| 324 | 324 | /* bit 7 controls the optional coin lockout; it appears that no games used this */ |
| 325 | 325 | } |
| 326 | 326 | |
| 327 | | |
| 327 | // custom overrides |
| 328 | 328 | WRITE8_MEMBER(gottlieb_state::reactor_output_w) |
| 329 | 329 | { |
| 330 | 330 | general_output_w(space, offset, data & ~0xe0); |
| 331 | |
| 331 | 332 | set_led_status(machine(), 0, data & 0x20); |
| 332 | 333 | set_led_status(machine(), 1, data & 0x40); |
| 333 | 334 | set_led_status(machine(), 2, data & 0x80); |
| 334 | 335 | } |
| 335 | 336 | |
| 337 | WRITE8_MEMBER(gottlieb_state::qbertqub_output_w) |
| 338 | { |
| 339 | // coincounter is on bit 5 instead |
| 340 | general_output_w(space, offset, (data >> 1 & 0x10) | (data & ~0x30)); |
| 336 | 341 | |
| 342 | // bit 4 controls the sprite bank |
| 343 | m_spritebank = (data & 0x10) >> 4; |
| 344 | } |
| 345 | |
| 337 | 346 | WRITE8_MEMBER(gottlieb_state::stooges_output_w) |
| 338 | 347 | { |
| 339 | 348 | general_output_w(space, offset, data & ~0x60); |
| 349 | |
| 350 | // bit 5,6: joystick input multiplexer |
| 340 | 351 | m_joystick_select = (data >> 5) & 0x03; |
| 341 | 352 | } |
| 342 | 353 | |
| r18490 | r18491 | |
| 2430 | 2441 | } |
| 2431 | 2442 | |
| 2432 | 2443 | |
| 2444 | DRIVER_INIT_MEMBER(gottlieb_state,qbertqub) |
| 2445 | { |
| 2446 | DRIVER_INIT_CALL(romtiles); |
| 2447 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x5803, 0x5803, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::qbertqub_output_w),this)); |
| 2448 | } |
| 2449 | |
| 2450 | |
| 2433 | 2451 | DRIVER_INIT_MEMBER(gottlieb_state,stooges) |
| 2434 | 2452 | { |
| 2435 | 2453 | DRIVER_INIT_CALL(ramtiles); |
| 2436 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x05803, 0x05803, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::stooges_output_w),this)); |
| 2454 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x5803, 0x5803, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::stooges_output_w),this)); |
| 2437 | 2455 | } |
| 2438 | 2456 | |
| 2439 | 2457 | |
| r18490 | r18491 | |
| 2474 | 2492 | GAME( 1983, krull, 0, gottlieb1, krull, gottlieb_state, ramtiles, ROT270, "Gottlieb", "Krull", 0 ) |
| 2475 | 2493 | GAME( 1983, kngtmare, 0, gottlieb1, kngtmare, gottlieb_state, romtiles, ROT0, "Gottlieb", "Knightmare (prototype)", GAME_NO_SOUND ) |
| 2476 | 2494 | GAME( 1983, sqbert, 0, qbert, qbert, gottlieb_state, romtiles, ROT270, "Mylstar", "Faster, Harder, More Challenging Q*bert (prototype)", GAME_IMPERFECT_SOUND ) |
| 2477 | | GAME( 1983, qbertqub, 0, qbert, qbertqub, gottlieb_state, romtiles, ROT270, "Mylstar", "Q*bert's Qubes", GAME_IMPERFECT_SOUND ) |
| 2495 | GAME( 1983, qbertqub, 0, qbert, qbertqub, gottlieb_state, qbertqub, ROT270, "Mylstar", "Q*bert's Qubes", GAME_IMPERFECT_SOUND ) |
| 2478 | 2496 | GAME( 1984, curvebal, 0, gottlieb1, curvebal, gottlieb_state, romtiles, ROT270, "Mylstar", "Curve Ball", 0 ) |
| 2479 | 2497 | |
| 2480 | 2498 | /* games using rev 2 sound board */ |