summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Kevin Eshbach <keshbach@comcast.net>2017-09-16 17:39:36 -0400
committer R. Belmont <rb6502@users.noreply.github.com>2017-09-16 17:39:36 -0400
commitc2b15cefaef64a625841d9b7dc3665b5c7cb2016 (patch)
tree10845486b1d4a7118d227584d74334e608d1ad64
parent452dedde80a3e1a8c110f120fdcb22ed67809ef5 (diff)
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.
-rw-r--r--regtests/jedutil/baseline/pls100/pls100.txt81
-rw-r--r--regtests/jedutil/eqns/AMAZE/pls100/AMAZE.DEF11
-rw-r--r--regtests/jedutil/eqns/AMAZE/pls100/PLS100.BEE92
-rw-r--r--regtests/jedutil/eqns/AMAZE/pls100/PLS100.PALbin0 -> 1 bytes
-rw-r--r--regtests/jedutil/eqns/AMAZE/pls100/PLS100.STD58
-rw-r--r--regtests/jedutil/eqns/AMAZE/readme.txt1
-rw-r--r--regtests/jedutil/jeds/pls100/pls100.jed60
-rw-r--r--src/mame/drivers/cclimber.cpp24
-rw-r--r--src/mame/drivers/snk.cpp93
-rw-r--r--src/tools/jedutil.cpp273
10 files changed, 648 insertions, 45 deletions
diff --git a/regtests/jedutil/baseline/pls100/pls100.txt b/regtests/jedutil/baseline/pls100/pls100.txt
new file mode 100644
index 00000000000..235c212c12d
--- /dev/null
+++ b/regtests/jedutil/baseline/pls100/pls100.txt
@@ -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
+
diff --git a/regtests/jedutil/eqns/AMAZE/pls100/AMAZE.DEF b/regtests/jedutil/eqns/AMAZE/pls100/AMAZE.DEF
new file mode 100644
index 00000000000..442babf2668
--- /dev/null
+++ b/regtests/jedutil/eqns/AMAZE/pls100/AMAZE.DEF
@@ -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
diff --git a/regtests/jedutil/eqns/AMAZE/pls100/PLS100.BEE b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.BEE
new file mode 100644
index 00000000000..b1305eff489
--- /dev/null
+++ b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.BEE
@@ -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 ) ;
diff --git a/regtests/jedutil/eqns/AMAZE/pls100/PLS100.PAL b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.PAL
new file mode 100644
index 00000000000..f76dd238ade
--- /dev/null
+++ b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.PAL
Binary files differ
diff --git a/regtests/jedutil/eqns/AMAZE/pls100/PLS100.STD b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.STD
new file mode 100644
index 00000000000..14deb3c8e5f
--- /dev/null
+++ b/regtests/jedutil/eqns/AMAZE/pls100/PLS100.STD
@@ -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
diff --git a/regtests/jedutil/eqns/AMAZE/readme.txt b/regtests/jedutil/eqns/AMAZE/readme.txt
new file mode 100644
index 00000000000..819eddc1496
--- /dev/null
+++ b/regtests/jedutil/eqns/AMAZE/readme.txt
@@ -0,0 +1 @@
+These files were created with Signetics AMAZE v1.7 software. \ No newline at end of file
diff --git a/regtests/jedutil/jeds/pls100/pls100.jed b/regtests/jedutil/jeds/pls100/pls100.jed
new file mode 100644
index 00000000000..2ef55d284dd
--- /dev/null
+++ b/regtests/jedutil/jeds/pls100/pls100.jed
@@ -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
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index e3b96a1f764..4b24f781997 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -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 )
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index cca33514a22..270395bc7bf 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -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) )
diff --git a/src/tools/jedutil.cpp b/src/tools/jedutil.cpp
index 23c6cd8753d..6bb0037e7f6 100644
--- a/src/tools/jedutil.cpp
+++ b/src/tools/jedutil.cpp
@@ -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}};
/***************************************************************************
@@ -3557,6 +3662,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
-------------------------------------------------*/
@@ -4279,6 +4396,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
-------------------------------------------------*/
@@ -5620,6 +5828,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
-------------------------------------------------*/
@@ -6843,6 +7077,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
-------------------------------------------------*/