Added support for viewing the pls100 device to jedutil (#2658)

* Adding dump of PAL from Guzzler (Swimmer Conversion)

* Adding dump of PAL from Guzzler (Swimmer Conversion)

* Initial support for viewing the logic equations of the PLS100, 82S100, PLS101 and 82S101.

* Initial support for viewing the logic equations of the PLS100, 82S100,
PLS101 and 82S101.

* Rename jed file from uppercase to lowercase.
This commit is contained in:
Kevin Eshbach 2017-09-16 17:39:36 -04:00 committed by R. Belmont
parent 452dedde80
commit c2b15cefae
10 changed files with 648 additions and 45 deletions

View File

@ -0,0 +1,81 @@
Inputs:
9, 8, 7, 6, 5, 4, 3, 2, 27, 26, 25, 24, 23, 22, 21, 20
Outputs:
18 (Combinatorial, No output feedback, Active low)
17 (Combinatorial, No output feedback, Active high)
16 (Combinatorial, No output feedback, Active high)
15 (Combinatorial, No output feedback, Active high)
13 (Combinatorial, No output feedback, Active low)
12 (Combinatorial, No output feedback, Active high)
11 (Combinatorial, No output feedback, Active high)
10 (Combinatorial, No output feedback, Active high)
Equations:
/o18 = /i4 +
i9 & /i8 +
/i7 & /i6 +
i4 & /i25 +
i2 & /i27 +
/i2
o18.oe = OE
o17 = /i4 +
i8 & /i7 & /i6 & i5 & i4 & i3 & /i2 +
/i2 & i24 +
i3 & /i26 +
/i4 & i26 +
/i2
o17.oe = OE
o16 = /i27 & /i26 +
/i26 & /i25 & i23 & i22 +
/i7 & /i6 +
i4 & /i25 +
i5 & /i24 +
/i3 & i27
o16.oe = OE
o15 = i9 & /i25 & i24 & i23 & i22 & /i21 & /i20 +
/i27 & /i26 +
/i27 & /i24 & /i22 +
i6 & /i23 +
i9 & /i20 +
/i2
o15.oe = OE
/o13 = /i27 & /i26 +
i25 & /i21 & /i20 +
i9 & /i8 +
i9 & /i5 +
i7 & /i22 +
i8 & /i21
o13.oe = OE
o12 = /i8 & i7 & i6 & /i5 & /i4 & /i3 & i2 & /i27 & /i26 +
/i27 & /i26 +
i27 & i26 +
i7 & i3 +
/i3 & i20 +
/i9 & i21
o12.oe = OE
o11 = /i9 & /i27 & /i26 & i25 & /i24 & /i23 & /i22 & i21 & i20 +
i27 & i26 +
/i6 & i4 +
/i7 & i23 +
/i6 & i24
o11.oe = OE
o10 = /i8 & i7 & i6 & /i5 & /i4 & /i3 & i2 +
/i9 & i25 & /i24 & /i23 & /i22 & i21 & i20 +
/i27 & /i26 +
i25 & i24 & i23 & i22 & i21 & i20 +
i6 & /i4 +
/i8 & i22 +
/i5 & i25
o10.oe = OE

View File

@ -0,0 +1,11 @@
@BLAST
616
EDIT
@DPI
1 1 8 3 1 1 1
@PTP
1 1 8 3 1 1 1
@USER PATH NAME
c:\temp
@USER DESIGN NAME
PLS100

View File

@ -0,0 +1,92 @@
@DEVICE TYPE
PLS100
@DRAWING
@REVISION
@DATE
@SYMBOL
@COMPANY
MAMEDev
@NAME
@DESCRIPTION
@PINLIST
"<--------FUNCTION--------> <--REFERENCE-->"
"PINLABEL PIN # PIN_FCT PIN_ID OE_CTRL"
N/C 1 FE FE - ;
INPUT2 2 I I7 - ;
INPUT3 3 I I6 - ;
INPUT4 4 I I5 - ;
INPUT5 5 I I4 - ;
INPUT6 6 I I3 - ;
INPUT7 7 I I2 - ;
INPUT8 8 I I1 - ;
INPUT9 9 I I0 - ;
OUTPUT10 10 O F7 CE ;
OUTPUT11 11 O F6 CE ;
OUTPUT12 12 O F5 CE ;
OUTPUT13 13 /O F4 CE ;
GND 14 0V GND - ;
OUTPUT15 15 O F3 CE ;
OUTPUT16 16 O F2 CE ;
OUTPUT17 17 O F1 CE ;
OUTPUT18 18 /O F0 CE ;
N/C 19 /CE /CE - ;
INPUT20 20 I I15 - ;
INPUT21 21 I I14 - ;
INPUT22 22 I I13 - ;
INPUT23 23 I I12 - ;
INPUT24 24 I I11 - ;
INPUT25 25 I I10 - ;
INPUT26 26 I I9 - ;
INPUT27 27 I I8 - ;
VCC 28 +5V VCC - ;
@COMMON PRODUCT TERM "CPT_label = (expression)"
TERM1=INPUT2 * /INPUT3 * /INPUT4 * /INPUT5 * INPUT6 * INPUT7 * /INPUT8 ;
TERM2=/INPUT9 * INPUT20 * INPUT21 * /INPUT22 * /INPUT23 * /INPUT24 * INPUT25 ;
TERM3=/INPUT26 * /INPUT27 ;
TERM4=/INPUT4 ;
TERM5=/INPUT2 * INPUT3 * INPUT4 * INPUT5 * /INPUT6 * /INPUT7 * INPUT8 ;
TERM6=INPUT9 * /INPUT20 * /INPUT21 * INPUT22 * INPUT23 * INPUT24 * /INPUT25 ;
TERM7=INPUT26 * INPUT27 ;
TERM8=INPUT20 * INPUT21 * INPUT22 * INPUT23 * INPUT24 * INPUT25 ;
TERM9=INPUT26 * INPUT27 ;
TERM10=/INPUT26 * /INPUT27 ;
TERM11=/INPUT20 * /INPUT21 * INPUT25 ;
TERM12=/INPUT22 * /INPUT24 * /INPUT27 ;
TERM13=INPUT22 * INPUT23 * /INPUT25 * /INPUT26 ;
TERM14=/INPUT2 * INPUT24 ;
TERM15=/INPUT6 * /INPUT7 ;
TERM16=/INPUT5 * INPUT9 ;
TERM17=/INPUT8 * INPUT9 ;
TERM18=INPUT3 * INPUT7 ;
TERM19=INPUT4 * /INPUT6 ;
TERM20=/INPUT4 * INPUT6 ;
TERM21=INPUT2 * /INPUT27 ;
TERM22=INPUT3 * /INPUT26 ;
TERM23=INPUT4 * /INPUT25 ;
TERM24=INPUT5 * /INPUT24 ;
TERM25=INPUT6 * /INPUT23 ;
TERM26=INPUT7 * /INPUT22 ;
TERM27=INPUT8 * /INPUT21 ;
TERM28=INPUT9 * /INPUT20 ;
TERM29=INPUT20 * /INPUT3 ;
TERM30=INPUT21 * /INPUT9 ;
TERM31=INPUT22 * /INPUT8 ;
TERM32=INPUT23 * /INPUT7 ;
TERM33=INPUT24 * /INPUT6 ;
TERM34=INPUT25 * /INPUT5 ;
TERM35=INPUT26 * /INPUT4 ;
TERM36=INPUT27 * /INPUT3 ;
TERM37=/INPUT2 ;
@LOGIC EQUATION
OUTPUT10 = ( TERM1 + TERM2 + TERM3 + TERM8 + TERM20 + TERM31 + TERM34 ) ;
OUTPUT11 = (TERM2 * TERM3 + TERM9 + TERM19 + TERM32 + TERM33 ) ;
OUTPUT12 = (TERM3 * TERM1 + TERM7 + TERM10 + TERM18 + TERM29 + TERM30 ) ;
OUTPUT13 = /( TERM3 + TERM11 + TERM17 + TERM16 + TERM26 + TERM27 ) ;
OUTPUT15 = (TERM3 + TERM6 + TERM12 + TERM25 + TERM28 + TERM37 ) ;
OUTPUT16 = (TERM3 + TERM13 + TERM15 + TERM23 + TERM24 + TERM36 ) ;
OUTPUT17 = ( TERM4 + TERM5 + TERM14 + TERM22 + TERM35 + TERM37 ) ;
OUTPUT18 = /( TERM4 + TERM15 + TERM17 + TERM21 + TERM23 + TERM37 ) ;

Binary file not shown.

View File

@ -0,0 +1,58 @@
PLS100
--------HL------........
---------H------........
----------L-----......AA
--------HLLL----........
--------HLLLH---........
--------HLLLHHL-A.......
---------H-----L........
HHL------------L........
HHLLL----------L........
HHLLLH---------LA.......
------LL--------........
HHLLLHLL-------L.A......
------LL--------........
------LLHLLLHHL-..A.....
------HH--------........
LLHHHL---------H....A...
--------LHHHLLH-......A.
------LL--------A.AAAA..
HHHHHH----------A.......
------HH--------.AA.....
LL---H----------...A....
--L-L--L--------....A...
--HH-LL---------.....A..
----H---L-------......A.
------------LL--........
----------L-H---A.......
----------H-L---.A......
---------H---H--..A.....
--------------LH...A...A
-----------L---H...A....
------------LL--.....A.A
-----L----H-----.....A.A
----L------H----.....A..
------L--H------......A.
-------LH-------.......A
H--------L------..A.....
-H-------------L..A.....
--L----------H--...A....
-L------------H-...A....
---L--------H---....A...
L--------------H....A...
--H-----------L-A.......
-----H-----L----A.......
---H---------L--.A......
----H-------L---.A......
------H---L-----......A.
--------L-------....A.AA
-------H-L------.....A..
HHHLHHHL

View File

@ -0,0 +1 @@
These files were created with Signetics AMAZE v1.7 software.

View File

@ -0,0 +1,60 @@

PLS100*
QF1928*
QP28*
QV0*
X0*
*
L0000
1111111111111001111111111111111111111111
1111111111110111111111111111111111111111
1111111111101111111111111111111100111111
1111111110101001111111111111111111111111
1111110110101001111111111111111111111111
1110010110101001111111111111111111111110
1011111111110111111111111111111111111111
1011111111111111111111111110010111111111
1011111111111111111111101010010111111111
1011111111111111111101101010010111111110
1111111111111111101011111111111111111111
1011111111111111101001101010010111111101
1111111111111111101011111111111111111111
1110010110101001101011111111111111111011
1111111111111111010111111111111111111111
0111111111111111111110010101101011101111
1101101001010110111111111111111110111111
1111111111111111101011111111111111000010
1111111111111111111101010101010111111110
1111111111111111010111111111111111111001
1111111111111111111101111111101011110111
1111111111111111101111101110111111101111
1111111111111111111010110101111111011111
1111111111111110111111011111111110111111
1111101011111111111111111111111111111111
1111110111101111111111111111111111111110
1111111011011111111111111111111111111101
1111011111110111111111111111111111111011
0110111111111111111111111111111101110111
0111111110111111111111111111111111110111
1111101011111111111111111111111101011111
1111111111011111111110111111111101011111
1111111101111111111111101111111111011111
1111111111110111111011111111111110111111
1111111111111101101111111111111101111111
1111111111111011111111111111110111111011
1011111111111111111111111111011111111011
1111011111111111111111111110111111110111
1101111111111111111111111111101111110111
1111110111111111111111111011111111101111
0111111111111111111111111111111011101111
1110111111111111111111111101111111111110
1111111110111111111101111111111111111110
1111101111111111111111110111111111111101
1111111011111111111111011111111111111101
1111111111101111110111111111111110111111
1111111111111110111111111111111100101111
1111111111111011011111111111111111011111
10001000
*
CD71C*
7E95

View File

@ -2454,6 +2454,13 @@ ROM_START( swimmerb )
ROM_LOAD( "18s030.12c", 0x0200, 0x020, CRC(3b2deb3a) SHA1(bb7b5c662454f5b355cc59cbdf8879e4664bed1d) )
ROM_END
/*
Guzzler
CPU/Sound Board: B102-403
Video Board: 102-401
*/
ROM_START( guzzler )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "guzz-01.bin", 0x0000, 0x2000, CRC(58aaa1e9) SHA1(4ea9c85670a0d71483ac79564093043762a24b2c) )
@ -2481,6 +2488,14 @@ ROM_START( guzzler )
ROM_LOAD( "guzzler.001", 0x0200, 0x020, CRC(69089495) SHA1(96b067b22be14536bac748f8d61e5587a8a04e92) )
ROM_END
/*
Guzzler (Swimmer Conversion)
CPU/Sound Board: B102-403
Video Board: 102-401
CPU Daughterboard: C102-405
*/
ROM_START( guzzlers ) /* Swimmer Conversion, 1k vs 2k romsize in maincpu */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "guzz1.l9", 0x0000, 0x1000, CRC(48f751ee) SHA1(a8ff19d150d382a43ad705fe2a470450e317aac3) )
@ -2507,9 +2522,12 @@ ROM_START( guzzlers ) /* Swimmer Conversion, 1k vs 2k romsize in maincpu */
ROM_LOAD( "guzz-09.bin", 0x2000, 0x1000, CRC(18927579) SHA1(414676193ef1f6ce79a4cba73e4d017312f766f4) ) // 9.C4
ROM_REGION( 0x0220, "proms", 0 )
ROM_LOAD( "guzzler.003", 0x0000, 0x100, CRC(f86930c1) SHA1(58efc8cbef05e1612d12e2f0babddf15571d42bb) ) // B.B13
ROM_LOAD( "guzzler.002", 0x0100, 0x100, CRC(b566ea9e) SHA1(345078af6a339fbe6cd966046acd9d04c8926b5c) ) // A.A13
ROM_LOAD( "c.c12", 0x0200, 0x020, CRC(51cd9980) SHA1(9c4858a01c9b03ff8c87ba9f11049e0c1af5d519) )
ROM_LOAD( "guzzler.003", 0x0000, 0x0100, CRC(f86930c1) SHA1(58efc8cbef05e1612d12e2f0babddf15571d42bb) ) // B.B13
ROM_LOAD( "guzzler.002", 0x0100, 0x0100, CRC(b566ea9e) SHA1(345078af6a339fbe6cd966046acd9d04c8926b5c) ) // A.A13
ROM_LOAD( "c.c12", 0x0200, 0x0020, CRC(51cd9980) SHA1(9c4858a01c9b03ff8c87ba9f11049e0c1af5d519) )
ROM_REGION( 0x0104, "cpu_pal", 0) /* C102-405 */
ROM_LOAD( "tk01.bin", 0x0000, 0x0104, CRC(af082b3c) SHA1(94ee780945255ebfc2a0848a40289fbc4c7e7d7c) ) // appears to be PAL16L8
ROM_END
ROM_START( yamato )

View File

@ -4658,78 +4658,95 @@ ROM_END
/***********************************************************************/
/*
Fighting Golf
SNK, 1988
CPU/Sound Board: A6001 UP02-02
Video Board: A6001 UP01-02
Pinouts very similar to JAMMA.
Socket at H8 is intentionally empty.
*/
ROM_START( fitegolf )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "gu2", 0x0000, 0x4000, CRC(19be7ad6) SHA1(6f0faf606e44a3f8cc027699cc816aa3414a1b98) )
ROM_LOAD( "gu1", 0x4000, 0x8000, CRC(bc32568f) SHA1(35fec3dbdd773ec7f427ecdd81066fb8f1b74e05) )
ROM_LOAD( "gu2.4p", 0x00000, 0x04000, CRC(19be7ad6) SHA1(6f0faf606e44a3f8cc027699cc816aa3414a1b98) )
ROM_LOAD( "gu1.4m", 0x04000, 0x08000, CRC(bc32568f) SHA1(35fec3dbdd773ec7f427ecdd81066fb8f1b74e05) )
ROM_REGION( 0x10000, "sub", 0 )
ROM_LOAD( "gu6", 0x0000, 0x4000, CRC(2b9978c5) SHA1(5490e9f796697318650fc5f70c0e64d6785ad7fc) )
ROM_LOAD( "gu5", 0x4000, 0x8000, CRC(ea3d138c) SHA1(af0a0bfe2d266179946948cf42fe697505798a4f) )
ROM_LOAD( "gu6.8p", 0x00000, 0x04000, CRC(2b9978c5) SHA1(5490e9f796697318650fc5f70c0e64d6785ad7fc) )
ROM_LOAD( "gu5.8m", 0x04000, 0x08000, CRC(ea3d138c) SHA1(af0a0bfe2d266179946948cf42fe697505798a4f) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "gu3", 0x0000, 0x4000, CRC(811b87d7) SHA1(fb387f42085d6e0e5a88729ca0e50656411ce037) )
ROM_LOAD( "gu4", 0x4000, 0x8000, CRC(2d998e2b) SHA1(a471cfbb4dabc90fcc29c562620b9965eaff6861) )
ROM_LOAD( "gu3.6g", 0x00000, 0x04000, CRC(811b87d7) SHA1(fb387f42085d6e0e5a88729ca0e50656411ce037) )
ROM_LOAD( "gu4.6k", 0x04000, 0x08000, CRC(2d998e2b) SHA1(a471cfbb4dabc90fcc29c562620b9965eaff6861) )
ROM_REGION( 0x0c00, "proms", 0 )
ROM_LOAD( "82s137.2c", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) )
ROM_LOAD( "82s137.1b", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) )
ROM_LOAD( "82s137.1c", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) )
ROM_LOAD( "3.2c", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) ) /* 82s137 */
ROM_LOAD( "1.1b", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) ) /* 82s137 */
ROM_LOAD( "2.1c", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) ) /* 82s137 */
ROM_REGION( 0x4000, "tx_tiles", 0 )
ROM_LOAD( "gu8", 0x0000, 0x4000, CRC(f1628dcf) SHA1(efea343d3a9dd45ef74947c297e166e34afbb680) )
ROM_LOAD( "gu8.2d", 0x00000, 0x04000, CRC(f1628dcf) SHA1(efea343d3a9dd45ef74947c297e166e34afbb680) )
ROM_REGION( 0x8000, "bg_tiles", 0 )
ROM_LOAD( "gu7", 0x0000, 0x8000, CRC(4655f94e) SHA1(08526206d8e929bb01d61fff8de2ee99fd287c17) )
ROM_LOAD( "gu7.2b", 0x00000, 0x08000, CRC(4655f94e) SHA1(08526206d8e929bb01d61fff8de2ee99fd287c17) )
ROM_REGION( 0x18000, "sp16_tiles", 0 )
ROM_LOAD( "gu9", 0x00000, 0x8000, CRC(d4957ec5) SHA1(8ead7866ba5ac66ead6b707aa868bcae30c486e1) )
ROM_LOAD( "gu10", 0x08000, 0x8000, CRC(b3acdac2) SHA1(7377480d5e1b5ab2c49f5fee2927623ce8240e19) )
ROM_LOAD( "gu11", 0x10000, 0x8000, CRC(b99cf73b) SHA1(23989fc3914e77d364807a9eb96a4ddf75ad7cf1) )
ROM_LOAD( "gu9.2p", 0x00000, 0x08000, CRC(d4957ec5) SHA1(8ead7866ba5ac66ead6b707aa868bcae30c486e1) )
ROM_LOAD( "gu10.2rs", 0x08000, 0x08000, CRC(b3acdac2) SHA1(7377480d5e1b5ab2c49f5fee2927623ce8240e19) )
ROM_LOAD( "gu11.2t", 0x10000, 0x08000, CRC(b99cf73b) SHA1(23989fc3914e77d364807a9eb96a4ddf75ad7cf1) )
ROM_REGION( 0x0600, "plds", 0 )
ROM_LOAD( "pal16r6a.6c", 0x0000, 0x0104, CRC(de291f4e) SHA1(b50294d30cb8eacc7a9bb8b46695a7463ef45ff1) )
ROM_LOAD( "pal16l8a.3f", 0x0200, 0x0104, CRC(c5f1c1da) SHA1(e17293be0f77d302c59c1095fe1ec65e45557627) )
ROM_LOAD( "pal20l8a.6r", 0x0400, 0x0144, CRC(0f011673) SHA1(383e6f6e78daec9c874d5b48378111ca60f5ed64) )
ROM_LOAD( "a6001-1.6c", 0x00000, 0x00104, CRC(de291f4e) SHA1(b50294d30cb8eacc7a9bb8b46695a7463ef45ff1) ) /* PAL16R6A */
ROM_LOAD( "a6001-3.3f", 0x00200, 0x00104, CRC(c5f1c1da) SHA1(e17293be0f77d302c59c1095fe1ec65e45557627) ) /* PAL16L8A */
ROM_LOAD( "a6001-2.6r", 0x00400, 0x00144, CRC(0f011673) SHA1(383e6f6e78daec9c874d5b48378111ca60f5ed64) ) /* PAL20L8A */
ROM_END
ROM_START( fitegolfu ) /* Later US version containing enhancements to make the game a little easier */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "np45.128", 0x0000, 0x4000, CRC(16e8e763) SHA1(0b5296f2a91a7f3176b7461ca4958865ce998241) )
ROM_LOAD( "mn45.256", 0x4000, 0x8000, CRC(a4fa09d5) SHA1(ae7f0cb47de06006ae71252c4201a93a01a26887) )
ROM_LOAD( "np45.4p", 0x00000, 0x04000, CRC(16e8e763) SHA1(0b5296f2a91a7f3176b7461ca4958865ce998241) )
ROM_LOAD( "mn45.4m", 0x04000, 0x08000, CRC(a4fa09d5) SHA1(ae7f0cb47de06006ae71252c4201a93a01a26887) )
ROM_REGION( 0x10000, "sub", 0 )
ROM_LOAD( "gu6", 0x0000, 0x4000, CRC(2b9978c5) SHA1(5490e9f796697318650fc5f70c0e64d6785ad7fc) ) // NP8.256
ROM_LOAD( "gu5", 0x4000, 0x8000, CRC(ea3d138c) SHA1(af0a0bfe2d266179946948cf42fe697505798a4f) ) // MN8.256
ROM_LOAD( "gu6.8p", 0x00000, 0x04000, CRC(2b9978c5) SHA1(5490e9f796697318650fc5f70c0e64d6785ad7fc) ) // NP8.256
ROM_LOAD( "gu5.8m", 0x04000, 0x08000, CRC(ea3d138c) SHA1(af0a0bfe2d266179946948cf42fe697505798a4f) ) // MN8.256
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "gu3", 0x0000, 0x4000, CRC(811b87d7) SHA1(fb387f42085d6e0e5a88729ca0e50656411ce037) ) // FG67.256
ROM_LOAD( "gu4", 0x4000, 0x8000, CRC(2d998e2b) SHA1(a471cfbb4dabc90fcc29c562620b9965eaff6861) ) // K67.256
ROM_LOAD( "gu3.6g", 0x00000, 0x04000, CRC(811b87d7) SHA1(fb387f42085d6e0e5a88729ca0e50656411ce037) ) // FG67.256
ROM_LOAD( "gu4.6k", 0x04000, 0x08000, CRC(2d998e2b) SHA1(a471cfbb4dabc90fcc29c562620b9965eaff6861) ) // K67.256
ROM_REGION( 0x0c00, "proms", 0 )
ROM_LOAD( "82s137.2c", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) )
ROM_LOAD( "82s137.1b", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) )
ROM_LOAD( "82s137.1c", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) )
ROM_LOAD( "3.2c", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) ) /* 82s137 */
ROM_LOAD( "1.1b", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) ) /* 82s137 */
ROM_LOAD( "2.1c", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) ) /* 82s137 */
ROM_REGION( 0x4000, "tx_tiles", 0 )
ROM_LOAD( "gu8", 0x0000, 0x4000, CRC(f1628dcf) SHA1(efea343d3a9dd45ef74947c297e166e34afbb680) ) // D2.128
ROM_LOAD( "gu8.2d", 0x00000, 0x04000, CRC(f1628dcf) SHA1(efea343d3a9dd45ef74947c297e166e34afbb680) ) // D2.128
ROM_REGION( 0x8000, "bg_tiles", 0 )
ROM_LOAD( "gu7", 0x0000, 0x8000, CRC(4655f94e) SHA1(08526206d8e929bb01d61fff8de2ee99fd287c17) ) // BC2.256
ROM_LOAD( "gu7.2b", 0x00000, 0x08000, CRC(4655f94e) SHA1(08526206d8e929bb01d61fff8de2ee99fd287c17) ) // BC2.256
ROM_REGION( 0x18000, "sp16_tiles", 0 )
ROM_LOAD( "gu9", 0x00000, 0x8000, CRC(d4957ec5) SHA1(8ead7866ba5ac66ead6b707aa868bcae30c486e1) ) // P2.256
ROM_LOAD( "gu10", 0x08000, 0x8000, CRC(b3acdac2) SHA1(7377480d5e1b5ab2c49f5fee2927623ce8240e19) ) // R2.256
ROM_LOAD( "gu11", 0x10000, 0x8000, CRC(b99cf73b) SHA1(23989fc3914e77d364807a9eb96a4ddf75ad7cf1) ) // S2.256
ROM_LOAD( "gu9.2p", 0x00000, 0x08000, CRC(d4957ec5) SHA1(8ead7866ba5ac66ead6b707aa868bcae30c486e1) ) // P2.256
ROM_LOAD( "gu10.2rs", 0x08000, 0x08000, CRC(b3acdac2) SHA1(7377480d5e1b5ab2c49f5fee2927623ce8240e19) ) // R2.256
ROM_LOAD( "gu11.2t", 0x10000, 0x08000, CRC(b99cf73b) SHA1(23989fc3914e77d364807a9eb96a4ddf75ad7cf1) ) // S2.256
ROM_REGION( 0x0600, "plds", 0 )
ROM_LOAD( "pal16r6a.6c", 0x0000, 0x0104, CRC(de291f4e) SHA1(b50294d30cb8eacc7a9bb8b46695a7463ef45ff1) )
ROM_LOAD( "pal16l8a.3f", 0x0200, 0x0104, CRC(c5f1c1da) SHA1(e17293be0f77d302c59c1095fe1ec65e45557627) )
ROM_LOAD( "pal20l8a.6r", 0x0400, 0x0144, CRC(0f011673) SHA1(383e6f6e78daec9c874d5b48378111ca60f5ed64) )
ROM_LOAD( "a6001-1.6c", 0x00000, 0x00104, CRC(de291f4e) SHA1(b50294d30cb8eacc7a9bb8b46695a7463ef45ff1) ) /* PAL16R6A */
ROM_LOAD( "a6001-3.3f", 0x00200, 0x00104, CRC(c5f1c1da) SHA1(e17293be0f77d302c59c1095fe1ec65e45557627) ) /* PAL16L8A */
ROM_LOAD( "a6001-2.6r", 0x00400, 0x00144, CRC(0f011673) SHA1(383e6f6e78daec9c874d5b48378111ca60f5ed64) ) /* PAL20L8A */
ROM_END
/*
Fighting Golf
SNK, 1988
CPU/Sound Board: ?
Video Board: ?
*/
ROM_START( fitegolf2 )
ROM_REGION( 0x10000, "maincpu", 0 )
@ -4747,9 +4764,9 @@ ROM_START( fitegolf2 )
ROM_LOAD( "fg_1.2e", 0x4000, 0x8000, CRC(2d998e2b) SHA1(a471cfbb4dabc90fcc29c562620b9965eaff6861) )
ROM_REGION( 0x0c00, "proms", 0 )
ROM_LOAD( "gl1.5f", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) )
ROM_LOAD( "gl2.5g", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) )
ROM_LOAD( "gl3.5h", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) )
ROM_LOAD( "gl1.5f", 0x00000, 0x00400, CRC(6e4c7836) SHA1(3ab3c498939fac992e2bf1c33983ee821a9b6a18) ) /* 82s137 */
ROM_LOAD( "gl2.5g", 0x00400, 0x00400, CRC(29e7986f) SHA1(85ba8d3443458c27728f633745857a1315dd183f) ) /* 82s137 */
ROM_LOAD( "gl3.5h", 0x00800, 0x00400, CRC(27ba9ff9) SHA1(f021d10460f40de4447560df5ac47fa53bb57ff9) ) /* 82s137 */
ROM_REGION( 0x4000, "tx_tiles", 0 )
ROM_LOAD( "fg_12.1e", 0x0000, 0x4000, CRC(f1628dcf) SHA1(efea343d3a9dd45ef74947c297e166e34afbb680) )

View File

@ -88,6 +88,8 @@
PAL20R6 = QP24 QF2560
PAL20R8 = QP24 QF2560
PAL20RA10 = QP24 QF3210
PAL20X4 = QP24 QF1600
PAL20X8 = QP24 QF1600
PAL20X10 = QP24 QF1600
@ -98,7 +100,10 @@
GAL22V10 = QP24 QF5892
28-pin devices:
PLS100 = QP28 QF1928
PLS100 = QP28 QF1928 (Tri-State)
82S100 = QP20 QF1928 (Tri-State)
PLS101 = QP20 QF1928 (Open Collector)
82S101 = QP20 QF1928 (Open Collector)
****************************************************************************
@ -281,6 +286,7 @@ static void print_pal20l10_product_terms(const pal_data* pal, const jed_data* je
static void print_pal20r4_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20r6_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20r8_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20ra10_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20x4_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20x8_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20x10_product_terms(const pal_data* pal, const jed_data* jed);
@ -316,6 +322,7 @@ static void print_pal18h4_product_terms(const pal_data* pal, const jed_data* jed
static void print_pal18l4_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20c1_product_terms(const pal_data* pal, const jed_data* jed);
static void print_pal20l2_product_terms(const pal_data* pal, const jed_data* jed);
static void print_82s100_pls100_product_terms(const pal_data* pal, const jed_data* jed);
@ -342,6 +349,7 @@ static void config_pal20l10_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20r4_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20r6_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20r8_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20ra10_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20x4_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20x8_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20x10_pins(const pal_data* pal, const jed_data* jed);
@ -377,6 +385,7 @@ static void config_pal18h4_pins(const pal_data* pal, const jed_data* jed);
static void config_pal18l4_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20c1_pins(const pal_data* pal, const jed_data* jed);
static void config_pal20l2_pins(const pal_data* pal, const jed_data* jed);
static void config_82s100_pls100_pins(const pal_data* pal, const jed_data* jed);
@ -608,6 +617,18 @@ static pin_fuse_rows pal20r8pinfuserows[] = {
{21, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600}, /* Registered Output */
{22, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 280}}; /* Registered Output */
static pin_fuse_rows pal20ra10pinfuserows[] = {
{ 14, 0, 0, 0 }, /* Registered Output */
{ 15, 0, 0, 0 }, /* Registered Output */
{ 16, 0, 0, 0 }, /* Registered Output */
{ 17, 0, 0, 0 }, /* Registered Output */
{ 18, 0, 0, 0 }, /* Registered Output */
{ 19, 0, 0, 0 }, /* Registered Output */
{ 20, 0, 0, 0 }, /* Registered Output */
{ 21, 0, 0, 0 }, /* Registered Output */
{ 22, 0, 0, 0 }, /* Registered Output */
{ 23, 0, 0, 0 }}; /* Registered Output */
static pin_fuse_rows pal20x4pinfuserows[] = {
{14, 1440, 1480, 1560},
{15, 1280, 1320, 1400},
@ -920,6 +941,16 @@ static pin_fuse_rows pal20l2pinfuserows[] = {
{18, NO_OUTPUT_ENABLE_FUSE_ROW, 320, 600},
{19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 280}};
static pin_fuse_rows _82s100_pls100_pinfuserows[] = {
{18, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{17, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{16, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{15, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{13, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{12, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{11, NO_OUTPUT_ENABLE_FUSE_ROW, 0},
{10, NO_OUTPUT_ENABLE_FUSE_ROW, 0}};
static pin_fuse_columns pal10l8pinfusecolumns[] = {
{1, 3, 2},
{2, 1, 0},
@ -1336,6 +1367,28 @@ static pin_fuse_columns pal20r8pinfusecolumns[] = {
{22, 7, 6},
{23, 3, 2}};
static pin_fuse_columns pal20ra10pinfusecolumns[] = {
{2, 1, 0},
{3, 5, 4},
{4, 9, 8},
{5, 13, 12},
{6, 17, 16},
{7, 21, 20},
{8, 25, 24},
{9, 29, 28},
{10, 33, 32},
{11, 37, 36},
{14, 39, 38},
{15, 35, 34},
{16, 31, 30},
{17, 27, 26},
{18, 23, 22},
{19, 19, 18},
{20, 15, 14},
{21, 11, 10},
{22, 7, 6},
{23, 3, 2}};
static pin_fuse_columns pal20x4pinfusecolumns[] = {
{2, 1, 0},
{3, 5, 4},
@ -1903,6 +1956,24 @@ static pin_fuse_columns pal20l2pinfusecolumns[] = {
{22, 11, 10},
{23, 7, 6}};
static pin_fuse_columns _82s100_pls100_pinfusecolumns[] = {
{9, 1, 0},
{8, 3, 2},
{7, 5, 4},
{6, 7, 6},
{5, 9, 8},
{4, 11, 10},
{3, 13, 12},
{2, 15, 14},
{27, 17, 16},
{26, 19, 18},
{25, 21, 20},
{24, 23, 22},
{23, 25, 24},
{22, 27, 26},
{21, 29, 28},
{20, 31, 30}};
static pal_data paldata[] = {
{"PAL10L8", 320,
pal10l8pinfuserows, ARRAY_LENGTH(pal10l8pinfuserows),
@ -2068,7 +2139,14 @@ static pal_data paldata[] = {
config_pal20r8_pins,
nullptr,
nullptr},
{"PAL20X4", 1600,
{"PAL20RA10", 3210,
pal20ra10pinfuserows, ARRAY_LENGTH(pal20ra10pinfuserows),
pal20ra10pinfusecolumns, ARRAY_LENGTH(pal20ra10pinfusecolumns),
print_pal20ra10_product_terms,
config_pal20ra10_pins,
nullptr,
nullptr },
{"PAL20X4", 1600,
pal20x4pinfuserows, ARRAY_LENGTH(pal20x4pinfuserows),
pal20x4pinfusecolumns, ARRAY_LENGTH(pal20x4pinfusecolumns),
print_pal20x4_product_terms,
@ -2091,8 +2169,7 @@ static pal_data paldata[] = {
nullptr},
/*{"PAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},
{"GAL20V8A", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},
{"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},
{"PLS100", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/
{"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/
{"82S153", 1842,
_82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows),
_82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns),
@ -2311,6 +2388,34 @@ static pal_data paldata[] = {
print_pal20l2_product_terms,
config_pal20l2_pins,
nullptr,
nullptr},
{"82S100", 1928,
_82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows),
_82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns),
print_82s100_pls100_product_terms,
config_82s100_pls100_pins,
nullptr,
nullptr},
{"PLS100", 1928,
_82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows),
_82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns),
print_82s100_pls100_product_terms,
config_82s100_pls100_pins,
nullptr,
nullptr},
{"82S101", 1928,
_82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows),
_82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns),
print_82s100_pls100_product_terms,
config_82s100_pls100_pins,
nullptr,
nullptr},
{"PLS101", 1928,
_82s100_pls100_pinfuserows, ARRAY_LENGTH(_82s100_pls100_pinfuserows),
_82s100_pls100_pinfusecolumns, ARRAY_LENGTH(_82s100_pls100_pinfusecolumns),
print_82s100_pls100_product_terms,
config_82s100_pls100_pins,
nullptr,
nullptr}};
/***************************************************************************
@ -3556,6 +3661,18 @@ static void print_pal20r8_product_terms(const pal_data* pal, const jed_data* jed
/*-------------------------------------------------
print_pal20ra10_product_terms - prints the product
terms for a PAL20RA10
-------------------------------------------------*/
static void print_pal20ra10_product_terms(const pal_data* pal, const jed_data* jed)
{
print_product_terms(pal, jed);
}
/*-------------------------------------------------
print_pal20x4_product_terms - prints the product
terms for a PAL20X4
@ -4278,6 +4395,97 @@ static void print_pal20l2_product_terms(const pal_data* pal, const jed_data* jed
/*-------------------------------------------------
print_82s100_pls100_product_terms - prints the product
terms for a 82S100 and PLS100
-------------------------------------------------*/
static void print_82s100_pls100_product_terms(const pal_data* pal, const jed_data* jed)
{
uint16_t index, columncount, flags, row, haveterms, or_column, fuserow;
char buffer[200];
int indent, indentindex;
columncount = calc_fuse_column_count(pal);
print_input_pins();
print_output_pins();
printf("Equations:\n\n");
for (index = 0; index < outputpinscount; ++index)
{
flags = outputpins[index].flags;
indent = 0;
if (flags & OUTPUT_ACTIVELOW)
{
printf(LOW_SYMBOL);
indent += strlen(LOW_SYMBOL);
}
sprintf(buffer, OUTPUT_SYMBOL "%d " COMBINATORIAL_ASSIGNMENT " ", outputpins[index].pin);
printf("%s", buffer);
haveterms = 0;
indent += strlen(buffer);
fuserow = 0;
if (outputpins[index].pin >= 15)
{
or_column = 18 - outputpins[index].pin;
}
else
{
or_column = 17 - outputpins[index].pin;
}
for (row = 0; row < 48; ++row)
{
if (!jed_get_fuse(jed, fuserow + columncount + or_column))
{
generate_product_terms(pal, jed, fuserow, buffer);
if (strlen(buffer) > 0)
{
if (haveterms)
{
printf(" " OR_SYMBOL "\n");
for (indentindex = 0; indentindex < indent; ++indentindex)
{
printf(" ");
}
}
else
{
haveterms = 1;
}
printf("%s", buffer);
}
}
fuserow += (columncount + 8);
}
printf("\n");
/* output enable equations */
printf(OUTPUT_SYMBOL "%d.oe " COMBINATORIAL_ASSIGNMENT " ", outputpins[index].pin);
printf("OE\n");
printf("\n");
}
}
/*-------------------------------------------------
config_pal10l8_pins - configures the pins for
a PAL10L8
@ -5619,6 +5827,32 @@ static void config_pal20r8_pins(const pal_data* pal, const jed_data* jed)
/*-------------------------------------------------
config_pal20ra10_pins - configures the pins for
a PAL20RA10
-------------------------------------------------*/
static void config_pal20ra10_pins(const pal_data* pal, const jed_data* jed)
{
static uint16_t input_pins[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
static pin_output_config output_pins[] = {
{14, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{15, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{16, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{17, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{18, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{19, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{20, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{21, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED},
{23, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}};
set_input_pins(input_pins, ARRAY_LENGTH(input_pins));
set_output_pins(output_pins, ARRAY_LENGTH(output_pins));
}
/*-------------------------------------------------
config_pal20x4_pins - configures the pins for
a PAL20X4
@ -6842,6 +7076,37 @@ static void config_pal20l2_pins(const pal_data* pal, const jed_data* jed)
/*-------------------------------------------------
config_82s100_pls100_pins - configures the pins for
a 82S100 and PLS100
-------------------------------------------------*/
static void config_82s100_pls100_pins(const pal_data* pal, const jed_data* jed)
{
static uint16_t input_pins[] = {9, 8, 7, 6, 5, 4, 3, 2, 27, 26, 25, 24, 23, 22, 21, 20};
pin_output_config output_pins[8];
for (uint16_t index = 0; index < ARRAY_LENGTH(output_pins); ++index)
{
output_pins[index].pin = pal->pinfuserows[index].pin;
output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE;
if (jed_get_fuse(jed, 1920 + index))
{
output_pins[index].flags |= OUTPUT_ACTIVELOW;
}
else
{
output_pins[index].flags |= OUTPUT_ACTIVEHIGH;
}
}
set_input_pins(input_pins, ARRAY_LENGTH(input_pins));
set_output_pins(output_pins, ARRAY_LENGTH(output_pins));
}
/*-------------------------------------------------
is_gal16v8_product_term_enabled - determines if
a fuse row in a GAL16V8 is enabled