trunk/src/mame/drivers/allied.c
| r31646 | r31647 | |
| 25 | 25 | For some reason the 'rol $46' instruction outputs the original data |
| 26 | 26 | followed by the new result, so I've had to employ a horrible hack. |
| 27 | 27 | |
| 28 | | When playing, you must hit Z at the start of each ball, or you'll get |
| 29 | | no points. When the ball indicator goes out, your game is over. |
| 28 | At the start of each ball, the display will be flashing. You need to |
| 29 | hit Z, and then you can get a score. When the ball indicator goes out, |
| 30 | your game is over. |
| 30 | 31 | |
| 31 | 32 | Game doesn't have any backup battery, so all info is lost at poweroff. |
| 32 | 33 | If required, a fake nvram could be used at 00-3F (like PinMAME does). |
| r31646 | r31647 | |
| 417 | 418 | segment = (m_player_score[i] >> 16) & 15; |
| 418 | 419 | output_set_digit_value(i*10+5, patterns[segment]); |
| 419 | 420 | } |
| 421 | else |
| 422 | { |
| 423 | output_set_digit_value(i*10, 0); |
| 424 | output_set_digit_value(i*10+1, 0); |
| 425 | output_set_digit_value(i*10+2, 0); |
| 426 | output_set_digit_value(i*10+3, 0); |
| 427 | output_set_digit_value(i*10+4, 0); |
| 428 | output_set_digit_value(i*10+5, 0); |
| 429 | } |
| 420 | 430 | } |
| 421 | 431 | |
| 422 | 432 | // doesn't seem to be a strobe for the credits display |
| r31646 | r31647 | |
| 583 | 593 | |
| 584 | 594 | void allied_state::machine_reset() |
| 585 | 595 | { |
| 586 | | output_set_value("led0", 1); //1=off (diagnostic led still to be hooked up) |
| 596 | m_display = 0; |
| 597 | m_bit_counter = 0; |
| 598 | m_disp_data = 0; |
| 599 | m_ic5a = 0; |
| 600 | m_ic6a0 = 0; |
| 601 | m_ic6a1 = 0; |
| 602 | m_ic6a2 = 0; |
| 603 | m_ic6b4 = 0; |
| 604 | m_ic6b7 = 0; |
| 605 | output_set_value("led0", 1); //1=off |
| 587 | 606 | } |
| 588 | 607 | |
| 589 | 608 | static MACHINE_CONFIG_START( allied, allied_state ) |