igs/igs017.cpp: Use slots input types for Tarzan Chang Tian Guan in "joystick" mode to make playing slightly less confusing.

This commit is contained in:
Vas Crabb 2024-10-18 06:19:18 +11:00
parent d3b237c41b
commit b8be6ee7a8
3 changed files with 33 additions and 12 deletions

View file

@ -45,12 +45,30 @@ To Do:
Notes:
- Test mode is usually accessed by keeping test (F2) pressed during boot.
- iqblocka: keep start (1) pressed during boot for DSWs & input test. Keep test (F2) pressed for book-keeping / setup [pass: press deal (2)].
- The sound test is often accessed by holding test (F2) and bookkeeping (0) at the I/O test screen.
- iqblocka: keep start (1) pressed during boot for DSWs & input test. Keep test (F2) pressed for bookkeeping / setup [pass: press deal (2)].
- iqblockf/genius6: press service1 (9) then press deal (2) eight times to switch to gambling. Then test (F2) enters book-keeping / setup.
- lhzb2, mgcs, slqz2, tjsb: press test (F2) + book (0) during inputs test for sound test.
- mgdh, sdmg2: press keys A + B during test mode for sound test (B1 + B2 + B3 when using a joystick in mgdh).
- spkrform: to switch from poker to Formosa press service1 (9). To switch back, press in sequence:
service3 (right of 0) then Bet (M) then press "Hold 1".."Hold 5" (Z, X, C, V, B)
- Tarzan Chuang Tian Guan controls:
Start Start Stop All Take Score
Mahjong Bet Bet
Mahjong A Show Odds Stop 1 Double Up (twice winnings)
Mahjong B Stop 2
Mahjong C Stop 3 Double Up (winnings)
Mahjong D Stop 4
Mahjong E Double Up (half winnings)
Mahjong K Big
Mahjong M Small
Up Stop 1
Down Stop 2
Left Stop 3
Right Stop 4
Button 1 Show Odds Big Double Up (twice winnings)
Button 2 Bet Double Up (winnings)
Button 3 Small Double Up (half winnings)
************************************************************************************************************/
@ -3935,17 +3953,17 @@ static INPUT_PORTS_START( tarzan )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW3", 0x20, EQUALS, 0x00) // 洗分
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Show Credits") // 清除 (hold to show credits/bets/wins when hidden)
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x01)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // B
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // C
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Button B / Bet / Double Up") // B
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Button C / Small / Double Up (half)") // C
PORT_START("MATRIX")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x01) PORT_CUSTOM_MEMBER(NAME((&igs017_state::keys_ipt_r<ioport_value, 3>)))
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // 开始
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // 上
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // 下
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // 左
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // 右
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) // A
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Start / Stop All") // 开始
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Up / Stop 1") // 上
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Down / Stop 2") // 下
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Left / Stop 3") // 左
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Right / Stop 4") // 右
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00) PORT_NAME("Button A / Big / Double Up (double) / Show Odds") // A
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW3", 0x01, EQUALS, 0x00)

View file

@ -32,8 +32,11 @@
Chaoji Tuolaji Jiaqiang Ban doesn't show Kan, Pon, Chi, Reach, Ron,
Take Score, Double Up, Big or Small in test mode. However the game
does use Kan and Ron to play cards () and cancel all () as
shown on the instructions screen.
does use Kan to play cards () and Ron to cancel all () as
shown on the instructions screen, and Take Score, Big and Small can be
used in the double-up game. Start, G, A and E can be used in place of
Ron, Take Score, Big and Small, respectively (as shown on-screen), but
there doesn't seem to be an alternate button to cancel all.
TODO:
* I/O for remaining games

View file

@ -276,7 +276,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(igs_m027_023vid_state::interrupt)
m_maincpu->pulse_input_line(arm7_cpu_device::ARM7_FIRQ_LINE, m_maincpu->minimum_quantum_time()); // vbl?
break;
case 192:
case 192:
igs_m027_023vid_state::irq_w<0>(ASSERT_LINE);
break;
}