trunk/src/mame/drivers/byvid.c
| r31267 | r31268 | |
| 51 | 51 | , m_crtc(*this, "crtc") |
| 52 | 52 | , m_crtc2(*this, "crtc2") |
| 53 | 53 | , m_beep(*this, "beeper") |
| 54 | , m_io_test(*this, "TEST") |
| 55 | , m_io_dsw0(*this, "DSW0") |
| 56 | , m_io_dsw1(*this, "DSW1") |
| 57 | , m_io_dsw2(*this, "DSW2") |
| 58 | , m_io_dsw3(*this, "DSW3") |
| 59 | , m_io_joy(*this, "JOY") |
| 60 | , m_io_x0(*this, "X0") |
| 61 | , m_io_x1(*this, "X1") |
| 62 | , m_io_x2(*this, "X2") |
| 63 | , m_io_x3(*this, "X3") |
| 64 | , m_io_x4(*this, "X4") |
| 54 | 65 | { } |
| 55 | 66 | |
| 56 | 67 | DECLARE_READ8_MEMBER(sound_data_r); |
| r31267 | r31268 | |
| 104 | 115 | required_device<tms9928a_device> m_crtc; |
| 105 | 116 | optional_device<tms9928a_device> m_crtc2; // for Granny only |
| 106 | 117 | optional_device<beep_device> m_beep; // temp |
| 118 | required_ioport m_io_test; |
| 119 | required_ioport m_io_dsw0; |
| 120 | required_ioport m_io_dsw1; |
| 121 | required_ioport m_io_dsw2; |
| 122 | required_ioport m_io_dsw3; |
| 123 | required_ioport m_io_joy; |
| 124 | required_ioport m_io_x0; |
| 125 | required_ioport m_io_x1; |
| 126 | required_ioport m_io_x2; |
| 127 | required_ioport m_io_x3; |
| 128 | required_ioport m_io_x4; // Granny |
| 107 | 129 | }; |
| 108 | 130 | |
| 109 | 131 | |
| r31267 | r31268 | |
| 175 | 197 | m_pia_u10->ca1_w(newval); |
| 176 | 198 | } |
| 177 | 199 | |
| 178 | | static INPUT_PORTS_START( by133 ) |
| 200 | static INPUT_PORTS_START( babypac ) |
| 179 | 201 | PORT_START("TEST") |
| 180 | 202 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Video Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, video_test, 0) |
| 181 | 203 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Sound Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, sound_test, 0) |
| 182 | 204 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Activity") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, activity_test, 0) |
| 183 | 205 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME("Self Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, self_test, 0) |
| 184 | | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F2) PORT_NAME("Power") |
| 185 | 206 | |
| 186 | 207 | PORT_START("DSW0") |
| 187 | 208 | PORT_DIPNAME( 0x01, 0x00, "S01") // S1-5: 32 combinations of coins/credits of a coin slot. S9-13 other slot. |
| r31267 | r31268 | |
| 293 | 314 | |
| 294 | 315 | PORT_START("X0") |
| 295 | 316 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Right Flipper EOS") PORT_CODE(KEYCODE_RSHIFT) |
| 296 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 317 | PORT_BIT( 0x0a, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 297 | 318 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 ) |
| 298 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 299 | 319 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Rebounds") |
| 300 | 320 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) |
| 301 | 321 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Right Spinner") |
| r31267 | r31268 | |
| 304 | 324 | PORT_START("X1") |
| 305 | 325 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 306 | 326 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 307 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 308 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 309 | | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 310 | | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 327 | PORT_BIT( 0x3c, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 311 | 328 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT ) |
| 312 | 329 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Slam Tilt") |
| 313 | 330 | |
| 314 | 331 | PORT_START("X2") |
| 315 | 332 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Top Loop Lane") |
| 316 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 317 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 333 | PORT_BIT( 0x06, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 318 | 334 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Top Loop Lane") |
| 319 | 335 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Tunnel Outlane") |
| 320 | 336 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Fruits Outlane") |
| r31267 | r31268 | |
| 330 | 346 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X) |
| 331 | 347 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Maze Saucer") |
| 332 | 348 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Maze Saucer") |
| 349 | |
| 350 | PORT_START("X4") |
| 351 | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 333 | 352 | INPUT_PORTS_END |
| 334 | 353 | |
| 354 | static INPUT_PORTS_START( granny ) |
| 355 | PORT_START("TEST") |
| 356 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Video Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, video_test, 0) |
| 357 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Sound Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, sound_test, 0) |
| 358 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Activity") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, activity_test, 0) |
| 359 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME("Self Test") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, by133_state, self_test, 0) |
| 360 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F2) PORT_NAME("Power") |
| 335 | 361 | |
| 362 | PORT_START("DSW0") |
| 363 | PORT_DIPNAME( 0x01, 0x00, "S01") // S1-5: 32 combinations of coins/credits of a coin slot. S9-13 other slot. |
| 364 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 365 | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 366 | PORT_DIPNAME( 0x02, 0x00, "S02") |
| 367 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 368 | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 369 | PORT_DIPNAME( 0x04, 0x00, "S03") |
| 370 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 371 | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 372 | PORT_DIPNAME( 0x08, 0x00, "S04") |
| 373 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 374 | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 375 | PORT_DIPNAME( 0x10, 0x00, "S05") |
| 376 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 377 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 378 | PORT_DIPNAME( 0x20, 0x20, "Hoop flashes centre rollover") |
| 379 | PORT_DIPSETTING( 0x00, "Long") |
| 380 | PORT_DIPSETTING( 0x20, "Short") |
| 381 | PORT_DIPNAME( 0x40, 0x40, "S07") |
| 382 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 383 | PORT_DIPSETTING( 0x40, DEF_STR( On )) |
| 384 | PORT_DIPNAME( 0x80, 0x80, "Centre rollover lights come on for next canoe") |
| 385 | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 386 | PORT_DIPSETTING( 0x80, DEF_STR( Yes )) |
| 387 | |
| 388 | PORT_START("DSW1") |
| 389 | PORT_DIPNAME( 0x01, 0x00, "S09") |
| 390 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 391 | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 392 | PORT_DIPNAME( 0x02, 0x00, "S10") |
| 393 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 394 | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 395 | PORT_DIPNAME( 0x04, 0x00, "S11") |
| 396 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 397 | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 398 | PORT_DIPNAME( 0x08, 0x00, "S12") |
| 399 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 400 | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 401 | PORT_DIPNAME( 0x10, 0x00, "S13") |
| 402 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 403 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 404 | PORT_DIPNAME( 0x20, 0x00, "S14") |
| 405 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 406 | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 407 | PORT_DIPNAME( 0x40, 0x40, "Extra canoe light will come on for next canoe") |
| 408 | PORT_DIPSETTING( 0x00, DEF_STR( No )) |
| 409 | PORT_DIPSETTING( 0x40, DEF_STR( Yes )) |
| 410 | PORT_DIPNAME( 0x80, 0x00, "S16") |
| 411 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 412 | PORT_DIPSETTING( 0x80, DEF_STR( On )) |
| 413 | |
| 414 | PORT_START("DSW2") |
| 415 | PORT_DIPNAME( 0x01, 0x00, "S17") |
| 416 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 417 | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 418 | PORT_DIPNAME( 0x02, 0x00, "S18") |
| 419 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 420 | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 421 | PORT_DIPNAME( 0x04, 0x00, "S19") |
| 422 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 423 | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 424 | PORT_DIPNAME( 0x08, 0x00, "S20") |
| 425 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 426 | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 427 | PORT_DIPNAME( 0x10, 0x00, "S21") |
| 428 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 429 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 430 | PORT_DIPNAME( 0x20, 0x00, "S22") |
| 431 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 432 | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 433 | PORT_DIPNAME( 0x40, 0x00, "S23") |
| 434 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 435 | PORT_DIPSETTING( 0x40, DEF_STR( On )) |
| 436 | PORT_DIPNAME( 0x80, 0x80, "Exit to video light will come on for") |
| 437 | PORT_DIPSETTING( 0x00, "paddle power") |
| 438 | PORT_DIPSETTING( 0x80, "next canoe") |
| 439 | |
| 440 | PORT_START("DSW3") |
| 441 | PORT_DIPNAME( 0x01, 0x00, "S25") |
| 442 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 443 | PORT_DIPSETTING( 0x01, DEF_STR( On )) |
| 444 | PORT_DIPNAME( 0x02, 0x00, "S26") |
| 445 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 446 | PORT_DIPSETTING( 0x02, DEF_STR( On )) |
| 447 | PORT_DIPNAME( 0x04, 0x04, "Credits displayed") |
| 448 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 449 | PORT_DIPSETTING( 0x04, DEF_STR( On )) |
| 450 | PORT_DIPNAME( 0x08, 0x00, "S28") |
| 451 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 452 | PORT_DIPSETTING( 0x08, DEF_STR( On )) |
| 453 | PORT_DIPNAME( 0x10, 0x00, "S29") |
| 454 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 455 | PORT_DIPSETTING( 0x10, DEF_STR( On )) |
| 456 | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Free_Play ) ) |
| 457 | PORT_DIPSETTING( 0x00, DEF_STR( Off )) |
| 458 | PORT_DIPSETTING( 0x20, DEF_STR( On )) |
| 459 | PORT_DIPNAME( 0xC0, 0x40, "Canoes") |
| 460 | PORT_DIPSETTING( 0xC0, "2") |
| 461 | PORT_DIPSETTING( 0x00, "3") |
| 462 | PORT_DIPSETTING( 0x80, "4") |
| 463 | PORT_DIPSETTING( 0x40, "5") |
| 464 | |
| 465 | PORT_START("JOY") // these inputs are not confirmed |
| 466 | PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 467 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 468 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY |
| 469 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 470 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY |
| 471 | //PORT_BIT( 0x??, IP_ACTIVE_HIGH, IPT_START1 ) |
| 472 | //PORT_BIT( 0x??, IP_ACTIVE_HIGH, IPT_START2 ) |
| 473 | |
| 474 | PORT_START("X0") |
| 475 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 1") |
| 476 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 2") |
| 477 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 3") |
| 478 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 4") |
| 479 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 5") |
| 480 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 6") |
| 481 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 7") |
| 482 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Canoe Rollover Button 8") |
| 483 | |
| 484 | PORT_START("X1") |
| 485 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 486 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 487 | PORT_BIT( 0x3c, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 488 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT ) |
| 489 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Slam Tilt") |
| 490 | |
| 491 | PORT_START("X2") |
| 492 | PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 493 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X) |
| 494 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME(" Top R. Gate") |
| 495 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Rollover Buttons") |
| 496 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Return Lane") |
| 497 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("L. Return Lane") |
| 498 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Drop Target R") |
| 499 | |
| 500 | PORT_START("X3") |
| 501 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Top Saucer") |
| 502 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("R. Lane Kickback") |
| 503 | PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 504 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Ammo Target O") |
| 505 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("2nd Ammo Target M") |
| 506 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("1st Ammo Target M") |
| 507 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Ammo Target A") |
| 508 | |
| 509 | PORT_START("X4") |
| 510 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Back Target T") |
| 511 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Back Target I") |
| 512 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Back Target X") |
| 513 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Back Target E") |
| 514 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Drop Target P") |
| 515 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Drop Target O") |
| 516 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Drop Target W") |
| 517 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Drop Target E") |
| 518 | INPUT_PORTS_END |
| 519 | |
| 520 | |
| 336 | 521 | WRITE8_MEMBER( by133_state::granny_crtc_w ) |
| 337 | 522 | { |
| 338 | 523 | if (offset) |
| r31267 | r31268 | |
| 416 | 601 | READ8_MEMBER( by133_state::u7_b_r ) |
| 417 | 602 | { |
| 418 | 603 | if (BIT(m_u7_a, 7)) // bits 6 and 7 work; pinmame uses 7 |
| 419 | | m_u7_b |= ioport("JOY")->read(); |
| 604 | m_u7_b |= m_io_joy->read(); |
| 420 | 605 | |
| 421 | 606 | if (BIT(m_u7_a, 6)) // Granny has a power button? according to Pinmame |
| 422 | | m_u7_b = ioport("TEST")->read() & 0x80; |
| 607 | m_u7_b = m_io_test->read() & 0x80; |
| 423 | 608 | |
| 424 | 609 | return m_u7_b; |
| 425 | 610 | } |
| r31267 | r31268 | |
| 453 | 638 | UINT8 data = 0; |
| 454 | 639 | |
| 455 | 640 | if (BIT(m_u10_a, 0)) |
| 456 | | data |= ioport("X0")->read(); |
| 641 | data |= m_io_x0->read(); |
| 457 | 642 | |
| 458 | 643 | if (BIT(m_u10_a, 1)) |
| 459 | | data |= ioport("X1")->read(); |
| 644 | data |= m_io_x1->read(); |
| 460 | 645 | |
| 461 | 646 | if (BIT(m_u10_a, 2)) |
| 462 | | data |= ioport("X2")->read(); |
| 647 | data |= m_io_x2->read(); |
| 463 | 648 | |
| 464 | 649 | if (BIT(m_u10_a, 3)) |
| 465 | | data |= ioport("X3")->read(); |
| 650 | data |= m_io_x3->read(); |
| 466 | 651 | |
| 652 | if (BIT(m_u10_a, 4)) |
| 653 | data |= m_io_x4->read(); // granny only |
| 654 | |
| 467 | 655 | if (BIT(m_u10_a, 5)) |
| 468 | | data |= ioport("DSW0")->read(); |
| 656 | data |= m_io_dsw0->read(); |
| 469 | 657 | |
| 470 | 658 | if (BIT(m_u10_a, 6)) |
| 471 | | data |= ioport("DSW1")->read(); |
| 659 | data |= m_io_dsw1->read(); |
| 472 | 660 | |
| 473 | 661 | if (BIT(m_u10_a, 7)) |
| 474 | | data |= ioport("DSW2")->read(); |
| 662 | data |= m_io_dsw2->read(); |
| 475 | 663 | |
| 476 | 664 | if (m_u10_cb2) |
| 477 | | data |= ioport("DSW3")->read(); |
| 665 | data |= m_io_dsw3->read(); |
| 478 | 666 | |
| 479 | 667 | return data; |
| 480 | 668 | } |
| r31267 | r31268 | |
| 534 | 722 | m_beep->set_state(0); |
| 535 | 723 | } |
| 536 | 724 | |
| 537 | | static MACHINE_CONFIG_START( by133, by133_state ) |
| 725 | static MACHINE_CONFIG_START( babypac, by133_state ) |
| 538 | 726 | /* basic machine hardware */ |
| 539 | 727 | MCFG_CPU_ADD("maincpu", M6800, XTAL_3_579545MHz/4) // no xtal, just 2 chips |
| 540 | 728 | MCFG_CPU_PROGRAM_MAP(main_map) |
| r31267 | r31268 | |
| 596 | 784 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "beee", 0.10) |
| 597 | 785 | MACHINE_CONFIG_END |
| 598 | 786 | |
| 599 | | static MACHINE_CONFIG_DERIVED( granny, by133 ) |
| 787 | static MACHINE_CONFIG_DERIVED( granny, babypac ) |
| 600 | 788 | MCFG_CPU_MODIFY( "videocpu" ) |
| 601 | 789 | MCFG_CPU_PROGRAM_MAP(granny_map) |
| 602 | 790 | |
| r31267 | r31268 | |
| 662 | 850 | ROM_END |
| 663 | 851 | |
| 664 | 852 | |
| 665 | | GAME( 1982, babypac, 0, by133, by133, driver_device, 0, ROT90, "Dave Nutting Associates / Bally", "Baby Pac-Man (set 1)", GAME_IS_SKELETON_MECHANICAL) |
| 666 | | GAME( 1982, babypac2, babypac, by133, by133, driver_device, 0, ROT90, "Dave Nutting Associates / Bally", "Baby Pac-Man (set 2)", GAME_IS_SKELETON_MECHANICAL) |
| 667 | | GAME( 1984, granny, 0, granny, by133, driver_device, 0, ROT0, "Bally", "Granny and the Gators", GAME_IS_SKELETON_MECHANICAL) |
| 853 | GAME( 1982, babypac, 0, babypac, babypac, driver_device, 0, ROT90, "Dave Nutting Associates / Bally", "Baby Pac-Man (set 1)", GAME_IS_SKELETON_MECHANICAL) |
| 854 | GAME( 1982, babypac2, babypac, babypac, babypac, driver_device, 0, ROT90, "Dave Nutting Associates / Bally", "Baby Pac-Man (set 2)", GAME_IS_SKELETON_MECHANICAL) |
| 855 | GAME( 1984, granny, 0, granny, granny, driver_device, 0, ROT0, "Bally", "Granny and the Gators", GAME_IS_SKELETON_MECHANICAL) |