trunk/src/mess/drivers/hh_ucom4.c
| r244882 | r244883 | |
| 234 | 234 | * PCB label Emix Corp. ET-03 |
| 235 | 235 | * NEC uCOM-43 MCU, labeled D553C 031 |
| 236 | 236 | * green VFD display Emix-102 |
| 237 | |
| 238 | Press the Kick button to start the game, an automatic sequence follows. |
| 239 | Then choose a formation(A,B,C) and either pass the ball, and/or start |
| 240 | running. For more information, refer to the official manual. |
| 237 | 241 | |
| 238 | 242 | NOTE!: MESS external artwork is recommended |
| 239 | 243 | |
| r244882 | r244883 | |
| 283 | 287 | static INPUT_PORTS_START( ssfball ) |
| 284 | 288 | PORT_START("IN.0") // F3 port B3 |
| 285 | 289 | PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 286 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) |
| 290 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("Formation A") |
| 287 | 291 | |
| 288 | 292 | PORT_START("IN.1") // G3 port B3 |
| 289 | 293 | PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 290 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON9 ) |
| 294 | PORT_CONFNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) |
| 295 | PORT_CONFSETTING( 0x00, "1" ) |
| 296 | PORT_CONFSETTING( 0x08, "2" ) |
| 291 | 297 | |
| 292 | 298 | PORT_START("IN.2") // port B |
| 293 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) |
| 294 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 ) |
| 295 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 ) |
| 299 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("Kick/Display") |
| 300 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("Formation C") |
| 301 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("Formation B") |
| 296 | 302 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) // multiplexed, handled in ssfball_input_b_r |
| 297 | 303 | |
| 298 | 304 | PORT_START("IN.3") // port A |
| 299 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 300 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 301 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) |
| 302 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) |
| 305 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Left/Right") |
| 306 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_UP) PORT_NAME("Up") |
| 307 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Down") |
| 308 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("Pass") |
| 303 | 309 | INPUT_PORTS_END |
| 304 | 310 | |
| 305 | 311 | |
| r244882 | r244883 | |
| 340 | 346 | Bambino Space Laser Fight (manufactured in Japan) |
| 341 | 347 | * PCB label Emix Corp. ET-12 |
| 342 | 348 | * NEC uCOM-43 MCU, labeled D553C 055 |
| 343 | | * blue VFD display Emix-104 |
| 349 | * blue VFD display Emix-104 (some versions had a green display) |
| 344 | 350 | |
| 345 | 351 | NOTE!: MESS external artwork is recommended |
| 346 | 352 | |
| r244882 | r244883 | |
| 388 | 394 | } |
| 389 | 395 | |
| 390 | 396 | |
| 397 | /* physical button layout and labels is like this: |
| 398 | |
| 399 | * left = P1 side * * right = P2 side * (note: in 1P mode, switch sides between turns) |
| 400 | |
| 401 | [ JUMP ] [ HIGH ] (players sw) [ HIGH ] [ JUMP ] |
| 402 | 1<--->2 [START/ |
| 403 | [STRAIGHT] [MEDIUM] RESET] [MEDIUM] [STRAIGHT] |
| 404 | 1<---OFF--->2 |
| 405 | [ STOOP ] [ LOW ] (skill lvl sw) [ LOW ] [ STOOP ] |
| 406 | */ |
| 407 | |
| 391 | 408 | static INPUT_PORTS_START( splasfgt ) |
| 392 | 409 | PORT_START("IN.0") // G0 port B |
| 393 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 394 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 395 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) |
| 410 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("P1 Position Straight") |
| 411 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("P1 Position Jump") |
| 412 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 Position Stoop") |
| 396 | 413 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 397 | 414 | |
| 398 | 415 | PORT_START("IN.1") // G1 port B |
| 399 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) |
| 400 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) |
| 401 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) |
| 416 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("P1 Beam High") |
| 417 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("P1 Beam Medium") |
| 418 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 Beam Low") |
| 402 | 419 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 403 | 420 | |
| 404 | 421 | PORT_START("IN.2") // G2 port B |
| 405 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON7 ) |
| 406 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON8 ) |
| 407 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON9 ) |
| 422 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("P2 Position Straight") |
| 423 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("P2 Position Jump") |
| 424 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("P2 Position Stoop") |
| 408 | 425 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 409 | 426 | |
| 410 | 427 | PORT_START("IN.3") // G3 port B |
| 411 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON10 ) |
| 412 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON11 ) |
| 413 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON12 ) |
| 428 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("P2 Beam High") |
| 429 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("P2 Beam Medium") |
| 430 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_M) PORT_NAME("P2 Beam Low") |
| 414 | 431 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 415 | 432 | |
| 416 | 433 | PORT_START("IN.4") // port A |
| 417 | | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON13 ) |
| 418 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON14 ) |
| 419 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON15 ) // start |
| 434 | PORT_CONFNAME( 0x01, 0x00, "Players" ) |
| 435 | PORT_CONFSETTING( 0x00, "1" ) |
| 436 | PORT_CONFSETTING( 0x01, "2" ) |
| 437 | PORT_CONFNAME( 0x02, 0x00, DEF_STR( Difficulty ) ) |
| 438 | PORT_CONFSETTING( 0x00, "1" ) |
| 439 | PORT_CONFSETTING( 0x02, "2" ) |
| 440 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START ) |
| 420 | 441 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 421 | 442 | INPUT_PORTS_END |
| 422 | 443 | |
| r244882 | r244883 | |
| 546 | 567 | The initial release of this game was in 1979, known as Pro-Tennis, |
| 547 | 568 | it has a D553 instead of D552, with just a little over 50% ROM used. |
| 548 | 569 | |
| 549 | | This is an early VFD simple electronic tennis game. Player 1 is on the right |
| 550 | | side, player 2 or CPU on the left. Each player has six possible positions |
| 551 | | where to hit the ball. A backdrop behind the VFD shows a tennis court. |
| 570 | This is an early VFD simple electronic tennis game. Each player has six possible |
| 571 | positions where to hit the ball. A backdrop behind the VFD shows a tennis court. |
| 552 | 572 | |
| 553 | 573 | NOTE!: MESS external artwork is recommended |
| 554 | 574 | |
| r244882 | r244883 | |
| 590 | 610 | |
| 591 | 611 | |
| 592 | 612 | /* Pro-Tennis physical button layout and labels is like this: |
| 613 | |
| 614 | * left = P2/CPU side * * right = P1 side * |
| 593 | 615 | |
| 594 | 616 | [SERVE] [1] [2] [3] [3] [2] [1] [SERVE] |
| 595 | 617 | [4] [5] [6] [6] [5] [4] |
| r244882 | r244883 | |
| 601 | 623 | PORT_START("IN.0") // E0 port A/B |
| 602 | 624 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("P1 Serve") |
| 603 | 625 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("P2 Serve") |
| 604 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 605 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) |
| 606 | | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 607 | | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) |
| 608 | | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) |
| 609 | | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON6 ) |
| 626 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_O) PORT_NAME("P1 Button 1") |
| 627 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("P1 Button 4") |
| 628 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("P1 Button 2") |
| 629 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("P1 Button 5") |
| 630 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("P1 Button 3") |
| 631 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("P1 Button 6") |
| 610 | 632 | |
| 611 | 633 | PORT_START("IN.1") // E1 port A/B |
| 612 | 634 | PORT_CONFNAME( 0x101, 0x100, DEF_STR( Difficulty ) ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_ucom4_state, tmtennis_difficulty_switch, NULL) |
| r244882 | r244883 | |
| 616 | 638 | PORT_CONFNAME( 0x02, 0x00, "Players" ) |
| 617 | 639 | PORT_CONFSETTING( 0x00, "1" ) |
| 618 | 640 | PORT_CONFSETTING( 0x02, "2" ) |
| 619 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) |
| 620 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) |
| 621 | | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) |
| 622 | | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(2) |
| 623 | | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) |
| 624 | | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(2) |
| 641 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("P2 Button 1") |
| 642 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 Button 4") |
| 643 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("P2 Button 2") |
| 644 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 Button 5") |
| 645 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("P2 Button 3") |
| 646 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 Button 6") |
| 625 | 647 | INPUT_PORTS_END |
| 626 | 648 | |
| 627 | 649 | |
| r244882 | r244883 | |
| 933 | 955 | |
| 934 | 956 | |
| 935 | 957 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ |
| 936 | | CONS( 1979, ssfball, 0, 0, ssfball, ssfball, driver_device, 0, "Bambino", "Superstar Football", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 937 | | CONS( 1980, splasfgt, 0, 0, splasfgt, splasfgt, driver_device, 0, "Bambino", "Space Laser Fight", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 958 | CONS( 1979, ssfball, 0, 0, ssfball, ssfball, driver_device, 0, "Bambino", "Superstar Football", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 959 | CONS( 1980, splasfgt, 0, 0, splasfgt, splasfgt, driver_device, 0, "Bambino", "Space Laser Fight", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 938 | 960 | |
| 939 | 961 | CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 940 | 962 | |