mt 'bug' fix, coinage info into source

This commit is contained in:
Michaël Banaan Ananas 2010-07-15 18:14:32 +00:00
parent ca11f24202
commit 2750af7c63

View File

@ -508,42 +508,386 @@ static INPUT_PORTS_START( armwrest )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE1 )
/* See http://www.mametesters.org/mantis/view.php?id=790 for more info about coinage */ /* Coinage:
R18 (Coin Slots setting) determines which table is used.
L = number of credits per coin for left coin slot
R = number of credits per coin for right coin slot
C = number of credits needed for one play
Table 1 (for 2 Coin Slots):
DSW1 DSW2
bit 3210 5432 L R C
0000 0000 1 1 1
0000 0001 8 1 1
0000 0010 2 1 1
0000 0011 8 3 3
0000 0100 3 1 2
0000 0101 3 12 4
0000 0110 1 2 2
0000 0111 3 24 2
0000 1000 1 3 3
0000 1001 4 1 3
0000 1010 1 4 4
0000 1011 3 3 4
0000 1100 1 5 5
0000 1101 1 1 1
0000 1110 2 3 3
0000 1111 5 5 3
0001 0000 1 2 1
0001 0001 1 8 1
0001 0010 2 2 1
0001 0011 3 8 3
0001 0100 3 2 1
0001 0101 12 3 4
0001 0110 1 4 2
0001 0111 24 3 2
0001 1000 1 6 3
0001 1001 1 4 3
0001 1010 1 8 4
0001 1011 3 3 4
0001 1100 1 10 5
0001 1101 1 1 2
0001 1110 2 6 3
0001 1111 5 5 4
0010 0000 1 3 1
0010 0001 9 1 1
0010 0010 2 3 1
0010 0011 3 4 4
0010 0100 3 3 1
0010 0101 4 4 1
0010 0110 1 6 2
0010 0111 3 1 2
0010 1000 1 9 3
0010 1001 10 1 3
0010 1010 1 12 4
0010 1011 1 1 6
0010 1100 1 15 5
0010 1101 2 2 1
0010 1110 2 9 3
0010 1111 2 2 5
0011 0000 1 4 1
0011 0001 1 9 1
0011 0010 2 4 1
0011 0011 4 3 4
0011 0100 3 4 1
0011 0101 4 4 1
0011 0110 1 8 2
0011 0111 1 3 2
0011 1000 1 12 3
0011 1001 1 10 3
0011 1010 1 16 4
0011 1011 1 1 6
0011 1100 1 20 5
0011 1101 1 1 4
0011 1110 2 12 3
0011 1111 8 8 1
0100 0000 1 5 1
0100 0001 10 1 1
0100 0010 2 5 1
0100 0011 2 5 5
0100 0100 3 5 1
0100 0101 4 4 1
0100 0110 1 10 2
0100 0111 10 1 2
0100 1000 1 15 3
0100 1001 20 1 3
0100 1010 1 20 4
0100 1011 16 1 2
0100 1100 1 25 5
0100 1101 1 1 5
0100 1110 2 15 3
0100 1111 8 8 3
0101 0000 1 6 1
0101 0001 1 10 1
0101 0010 2 6 1
0101 0011 5 2 5
0101 0100 3 6 1
0101 0101 4 5 1
0101 0110 1 12 2
0101 0111 1 10 2
0101 1000 1 18 3
0101 1001 1 20 3
0101 1010 1 24 4
0101 1011 20 20 0 Not a "Freeplay": you MUST insert a coin!
0101 1100 1 30 5
0101 1101 3 3 3
0101 1110 2 18 1
0101 1111 9 9 1
0110 0000 2 1 2
0110 0001 12 1 1
0110 0010 4 1 2
0110 0011 10 2 1
0110 0100 6 1 2
0110 0101 3 8 2
0110 0110 1 1 2
0110 0111 3 2 4
0110 1000 2 3 6
0110 1001 9 4 12
0110 1010 1 2 4
0110 1011 1 1 1
0110 1100 2 5 10
0110 1101 4 4 1
0110 1110 4 3 6
0110 1111 9 9 2
0111 0000 3 1 3
0111 0001 1 12 1
0111 0010 6 1 3
0111 0011 2 10 1
0111 0100 9 1 3
0111 0101 8 3 2
0111 0110 3 2 6
0111 0111 2 3 4
0111 1000 1 1 3
0111 1001 4 9 12
0111 1010 3 4 12
0111 1011 1 1 1
0111 1100 3 5 15
0111 1101 6 6 1
0111 1110 2 2 3
0111 1111 10 10 1
1000 0000 4 1 4
1000 0001 3 2 2
1000 0010 8 1 4
1000 0011 12 2 1
1000 0100 12 1 4
1000 0101 5 5 1
1000 0110 2 1 4
1000 0111 3 3 2
1000 1000 4 3 12
1000 1001 4 2 3
1000 1010 1 1 4
1000 1011 1 1 1
1000 1100 4 5 20
1000 1101 1 1 6
1000 1110 8 3 12
1000 1111 10 10 3
1001 0000 5 1 5
1001 0001 2 3 2
1001 0010 10 1 5
1001 0011 2 12 1
1001 0100 15 1 5
1001 0101 5 5 1
1001 0110 5 2 10
1001 0111 3 3 2
1001 1000 5 3 15
1001 1001 2 4 3
1001 1010 5 4 20
1001 1011 1 1 1
1001 1100 1 1 5
1001 1101 2 2 3
1001 1110 10 3 15
1001 1111 11 11 1
1010 0000 3 2 3
1010 0001 5 2 2
1010 0010 6 2 3
1010 0011 3 4 2
1010 0100 9 2 3
1010 0101 6 6 1
1010 0110 3 4 6
1010 0111 4 9 6
1010 1000 1 2 3
1010 1001 10 2 3
1010 1010 3 8 12
1010 1011 1 1 1
1010 1100 2 10 15
1010 1101 5 5 1
1010 1110 2 2 3
1010 1111 11 11 3
1011 0000 3 5 3
1011 0001 2 5 2
1011 0010 6 5 3
1011 0011 4 3 2
1011 0100 9 5 3
1011 0101 6 6 1
1011 0110 3 10 6
1011 0111 9 4 6
1011 1000 1 5 3
1011 1001 2 10 3
1011 1010 3 20 12
1011 1011 1 1 1
1011 1100 3 25 15
1011 1101 3 3 2
1011 1110 2 5 3
1011 1111 12 12 1
1100 0000 4 5 4
1100 0001 9 2 2
1100 0010 8 5 4
1100 0011 3 8 4
1100 0100 12 5 4
1100 0101 3 12 2
1100 0110 2 5 4
1100 0111 8 9 6
1100 1000 4 15 12
1100 1001 11 2 3
1100 1010 1 5 4
1100 1011 1 1 1
1100 1100 4 25 20
1100 1101 1 1 3
1100 1110 8 15 12
1100 1111 20 20 3
1101 0000 4 1 1
1101 0001 2 9 2
1101 0010 4 2 1
1101 0011 8 3 4
1101 0100 4 3 1
1101 0101 12 3 2
1101 0110 8 1 2
1101 0111 9 8 6
1101 1000 12 1 3
1101 1001 2 11 3
1101 1010 12 2 3
1101 1011 1 1 1
1101 1100 20 1 5
1101 1101 5 5 2
1101 1110 18 2 3
1101 1111 3 3 4
1110 0000 5 5 1
1110 0001 4 4 3
1110 0010 5 2 1
1110 0011 11 2 1
1110 0100 5 3 1
1110 0101 3 24 4
1110 0110 10 1 2
1110 0111 1 6 4
1110 1000 15 1 3
1110 1001 9 8 12
1110 1010 20 1 4
1110 1011 1 1 1
1110 1100 25 1 5
1110 1101 4 4 3
1110 1110 20 4 4
1110 1111 20 20 0 Not a "Freeplay": you MUST insert a coin!
1111 0000 6 1 1
1111 0001 3 4 3
1111 0010 6 2 1
1111 0011 2 11 1
1111 0100 6 3 1
1111 0101 24 3 1
1111 0110 12 1 2
1111 0111 6 1 4
1111 1000 18 1 3
1111 1001 8 9 12
1111 1010 24 1 4
1111 1011 1 1 1
1111 1100 15 2 3
1111 1101 3 3 4
1111 1110 "Freeplay"
1111 1111 "Freeplay"
Table 2 (for 1 Coin Slot):
DSW1 DSW2
bit 3210 5432 L R C
0000 0xxx 1 1 1
0000 1xxx 5 5 3
0001 0xxx 1 1 2
0001 1xxx 5 5 4
0010 0xxx 2 2 1
0010 1xxx 2 2 5
0011 0xxx 1 1 4
0011 1xxx 8 8 1
0100 0xxx 1 1 5
0100 1xxx 8 8 3
0101 0xxx 3 3 1
0101 1xxx 9 9 1
0110 0xxx 4 4 1
0110 1xxx 9 9 2
0111 0xxx 6 6 1
0111 1xxx 10 10 1
1000 0xxx 1 1 6
1000 1xxx 10 10 3
1001 0xxx 5 1 5
1001 1xxx 11 11 1
1010 0xxx 5 5 1
1010 1xxx 11 11 3
1011 0xxx 3 3 2
1011 1xxx 12 12 1
1100 0xxx 1 1 3
1100 1xxx 20 20 3
1101 0xxx 5 5 2
1101 1xxx 3 3 4
1110 0xxx 4 4 3
1110 1xxx 20 20 0 Not a "Freeplay": you MUST insert a coin!
1111 xxxx "Freeplay"
*/
PORT_MODIFY("DSW2") PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x1c, 0x00, "Coinage 2" ) PORT_DIPLOCATION("SW2:!3,!4,!5") //K,L,M PORT_DIPNAME( 0x3c, 0x00, "Coinage 2" ) PORT_DIPLOCATION("SW2:!3,!4,!5,!6") // K,L,M,N
PORT_DIPSETTING( 0x00, "0" ) PORT_DIPSETTING( 0x00, "0000" )
PORT_DIPSETTING( 0x04, "4" ) PORT_DIPSETTING( 0x04, "0001" )
PORT_DIPSETTING( 0x08, "8" ) PORT_DIPSETTING( 0x08, "0010" )
PORT_DIPSETTING( 0x0c, "c" ) PORT_DIPSETTING( 0x0c, "0011" )
PORT_DIPSETTING( 0x10, "10" ) PORT_DIPSETTING( 0x10, "0100" )
PORT_DIPSETTING( 0x14, "14" ) PORT_DIPSETTING( 0x14, "0101" )
PORT_DIPSETTING( 0x18, "18" ) PORT_DIPSETTING( 0x18, "0110" )
PORT_DIPSETTING( 0x1c, "1c" ) PORT_DIPSETTING( 0x1c, "0111" )
PORT_DIPNAME( 0x20, 0x00, "Coinage 3" ) PORT_DIPLOCATION("SW2:!6") //N PORT_DIPSETTING( 0x20, "1000" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x24, "1001" )
PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPSETTING( 0x28, "1010" )
PORT_DIPSETTING( 0x2c, "1011" )
PORT_DIPSETTING( 0x30, "1100" )
PORT_DIPSETTING( 0x34, "1101" )
PORT_DIPSETTING( 0x38, "1110" )
PORT_DIPSETTING( 0x3c, "1111" )
PORT_DIPNAME( 0x40, 0x00, "Rematches" ) PORT_DIPLOCATION("SW2:!7") PORT_DIPNAME( 0x40, 0x00, "Rematches" ) PORT_DIPLOCATION("SW2:!7")
PORT_DIPSETTING( 0x40, "3" ) PORT_DIPSETTING( 0x40, "3" )
PORT_DIPSETTING( 0x00, "7" ) PORT_DIPSETTING( 0x00, "7" )
PORT_MODIFY("DSW1") PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x0f, 0x00, "Coinage 1" ) PORT_DIPLOCATION("SW1:!1,!2,!3,!4") //A,B,C,D PORT_DIPNAME( 0x0f, 0x00, "Coinage 1" ) PORT_DIPLOCATION("SW1:!1,!2,!3,!4") // A,B,C,D
PORT_DIPSETTING( 0x00, "0" ) PORT_DIPSETTING( 0x00, "0000" )
PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x01, "0001" )
PORT_DIPSETTING( 0x02, "2" ) PORT_DIPSETTING( 0x02, "0010" )
PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x03, "0011" )
PORT_DIPSETTING( 0x04, "4" ) PORT_DIPSETTING( 0x04, "0100" )
PORT_DIPSETTING( 0x05, "5" ) PORT_DIPSETTING( 0x05, "0101" )
PORT_DIPSETTING( 0x06, "6" ) PORT_DIPSETTING( 0x06, "0110" )
PORT_DIPSETTING( 0x07, "7" ) PORT_DIPSETTING( 0x07, "0111" )
PORT_DIPSETTING( 0x08, "8" ) PORT_DIPSETTING( 0x08, "1000" )
PORT_DIPSETTING( 0x09, "9" ) PORT_DIPSETTING( 0x09, "1001" )
PORT_DIPSETTING( 0x0a, "a" ) PORT_DIPSETTING( 0x0a, "1010" )
PORT_DIPSETTING( 0x0b, "b" ) PORT_DIPSETTING( 0x0b, "1011" )
PORT_DIPSETTING( 0x0c, "c" ) PORT_DIPSETTING( 0x0c, "1100" )
PORT_DIPSETTING( 0x0d, "d" ) PORT_DIPSETTING( 0x0d, "1101" )
PORT_DIPSETTING( 0x0e, "e" ) PORT_DIPSETTING( 0x0e, "1110" )
PORT_DIPSETTING( 0x0f, "f" ) PORT_DIPSETTING( 0x0f, "1111" )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
PORT_DIPNAME( 0x40, 0x00, "Coin Slots" ) PORT_DIPLOCATION("R18:!1") /* R18 resistor */ PORT_DIPNAME( 0x40, 0x00, "Coin Slots" ) PORT_DIPLOCATION("R18:!1") /* R18 resistor */
PORT_DIPSETTING( 0x40, "1" ) PORT_DIPSETTING( 0x40, "1" )