New device for jedutil and rom name changes (#6490)

* Adding dump of PAL from Guzzler (Swimmer Conversion)

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

* Rename jed file from uppercase to lowercase.

* Corrected name and locations for the Rug Rats set.

* Fixed jedutil to compile.

* Added support to view the the logic equations of the PALCE22V10 device

* Improved the documentation on the Magix game and the undumped PAL's (security fuses blown)

* Added PAL22V10 as another device that is equivalent to the PALCE22V10 device.

* Added initial registration test for the PALCE22V10/PAL22V10 devices

* Adding PAL22V10 combinatorial regression test data.

* Removed duplicate device entry.

* Fix bad merge.

* Updated jedutil with a new command that will take a jed file and list the devices that the jed file could represent
This commit is contained in:
Kevin Eshbach 2020-03-29 23:48:59 -04:00 committed by GitHub
parent 67a9517c8e
commit e021d5bae9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1253 additions and 23 deletions

View File

@ -0,0 +1,159 @@
Inputs:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
Outputs:
14 (Combinatorial, Output feedback output, Active high)
15 (Combinatorial, Output feedback output, Active low)
16 (Combinatorial, Output feedback output, Active low)
17 (Combinatorial, Output feedback output, Active high)
18 (Combinatorial, Output feedback output, Active high)
19 (Combinatorial, Output feedback output, Active low)
20 (Combinatorial, Output feedback output, Active low)
21 (Combinatorial, Output feedback output, Active low)
22 (Combinatorial, Output feedback output, Active low)
23 (Combinatorial, Output feedback output, Active high)
Equations:
o14 = /i9 +
/i8 +
/i7 +
/i6 +
/i5 +
/i4 +
/i3 +
/i2
o14.oe = vcc
/o15 = i3 +
i7 & i8 +
i9 & i10 +
i11 & i13 +
i8 +
i4 & i6 +
i2 & i5 +
/i13 +
/i11 +
/i10
o15.oe = vcc
/o16 = /i4 & /i5 & /i6 +
i2 & i3 & i11 & i13 +
i2 & i3 +
/i2 & i3 & /i4 +
/i3 & /i4 & /i13 +
/i5 & /i11 & /i13 +
i11 & i13 +
i9 & i10 +
i7 & i8 +
i5 & i6 +
i3 & i4 +
i1 & i2
o16.oe = o14
o17 = /i6 & /i7 & /i8 & /i9 & /i10 +
/i1 & /i2 & /i3 & /i4 & /i5 +
i1 +
i2 +
i3 +
i4 +
i5 +
i6 +
i7 +
i8 +
i9 +
i10 +
i11 +
i13
o17.oe = /o15
o18 = /i7 & /i8 +
i1 & i2 & /i5 & /i6 +
i13 & /o20 +
/i9 & /i10 & /i11 +
/i5 & /i6 & o20 +
o17 & /o20 +
i1 & i3 & /o17 +
i9 & i11 +
/i7 & /i9 & /i13 +
i5 & i6 & /i10 +
/i3 & i4 +
/i3 & /o17 +
i1 & i2 & i4 +
/i3 & /i4 & o17 +
/i1 & /i2 & o17 +
/o17
o18.oe = /i11 & /i13
/o19 = i4 +
i3 +
i2 +
/i13 +
/i11 +
/i10 +
/i9 +
/i8 +
/i7 +
/i6 +
/i5 +
/i4 +
/i3 +
/i2 +
/o14 +
i1 & o14
o19.oe = vcc
/o20 = /i8 +
/i9 +
/i10 +
/i11 +
/i13 +
i13 +
i11 +
i10 +
i9 +
i8 +
i7 +
i6 +
i5 +
i1 & /i2
o20.oe = i3 & /i9 & /i10 & i11
/o21 = i5 & /i6 +
i4 & /i5 +
i3 & /i4 +
i2 & /i3 +
/i11 & /i13 +
/i9 & /i10 +
/i7 & /i8 +
/i5 & /i6 +
/i3 & /i4 +
/i2 & /i3 +
/o17 & /o23 +
i1 & i10
o21.oe = vcc
/o22 = i9 & i10 & i11 & i13 +
i5 & i6 & i7 & i8 +
i1 & i2 & i3 & i4 +
i11 & /i13 +
i10 & /i11 +
i9 & /i10 +
i8 & /i9 +
i7 & /i8 +
i6 & /i7 +
o23
o22.oe = /i13
o23 = /i1 & /i2 & /i3 & /i4 & /i5 & /i6 & /i7 & /i8 & /i9 & /i10 & /i11 & /i13 +
/i1 & i2 & /i3 & i4 & /i5 & i6 & /i7 & i8 & /i9 & i10 & /i11 & i13 +
i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & i9 & /i10 & i11 & /i13 +
/i1 & /i13 +
/i1 & /i2 & /i3 & /i4 & /i5 & /i6 & /i7 & /i8 & /i9 & /i10 & /i11 & /i13 +
/i3 & i4 +
i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 & i9 & i10 & i11 & i13 +
i3 & /i4
o23.oe = /o15 & o21

View File

@ -0,0 +1,159 @@
Inputs:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
Outputs:
14 (Registered, Output feedback registered, Active low)
15 (Registered, Output feedback registered, Active high)
16 (Registered, Output feedback registered, Active high)
17 (Registered, Output feedback registered, Active low)
18 (Registered, Output feedback registered, Active low)
19 (Registered, Output feedback registered, Active high)
20 (Registered, Output feedback registered, Active high)
21 (Registered, Output feedback registered, Active high)
22 (Registered, Output feedback registered, Active high)
23 (Registered, Output feedback registered, Active low)
Equations:
/rf14 := i2 +
i3 +
i4 +
i5 +
i6 +
i7 +
i8 +
i9
rf14.oe = /i1
rf15 := i10 +
i11 +
i13 +
/i2 & /i5 +
/i4 & /i6 +
/i8 +
/i11 & /i13 +
/i9 & /i10 +
/i7 & /i8 +
/i3
rf15.oe = i1
rf16 := /i1 & /i2 +
/i3 & /i4 +
/i5 & /i6 +
/i7 & /i8 +
/i9 & /i10 +
/i11 & /i13 +
i5 & i11 & i13 +
i3 & i4 & i13 +
i2 & /i3 & i4 +
/i2 & /i3 +
/i2 & /i3 & /i11 & /i13 +
i4 & i5 & i6
rf16.oe = /rf14
/rf17 := /i13 +
/i11 +
/i10 +
/i9 +
/i8 +
/i7 +
/i6 +
/i5 +
/i4 +
/i3 +
/i2 +
/i1 +
i1 & i2 & i3 & i4 & i5 +
i6 & i7 & i8 & i9 & i10
rf17.oe = vcc
/rf18 := rf17 +
i1 & i2 & /rf17 +
i3 & i4 & /rf17 +
/i1 & /i2 & /i4 +
i3 & rf17 +
i3 & /i4 +
/i5 & /i6 & i10 +
i7 & i9 & i13 +
/i9 & /i11 +
/i1 & /i3 & rf17 +
/rf17 & /rf20 +
i5 & i6 & rf20 +
i9 & i10 & i11 +
/i13 & /rf20 +
/i1 & /i2 & i5 & i6 +
i7 & i8
rf18.oe = i11 & i13
rf19 := /i1 & /rf14 +
rf14 +
i2 +
i3 +
i4 +
i5 +
i6 +
i7 +
i8 +
i9 +
i10 +
i11 +
i13 +
/i2 +
/i3 +
/i4
rf19.oe = /i3 & i9 & i10 & /i11
rf20 := /i1 & i2 +
/i5 +
/i6 +
/i7 +
/i8 +
/i9 +
/i10 +
/i11 +
/i13 +
i13 +
i11 +
i10 +
i9 +
i8
rf20.oe = vcc
rf21 := /i1 & /i10 +
rf17 & rf23 +
i2 & i3 +
i3 & i4 +
i5 & i6 +
i7 & i8 +
i9 & i10 +
i11 & i13 +
/i2 & i3 +
/i3 & i4 +
/i4 & i5 +
/i5 & i6
rf21.oe = i13
rf22 := /rf23 +
/i6 & i7 +
/i7 & i8 +
/i8 & i9 +
/i9 & i10 +
/i10 & i11 +
/i11 & i13 +
/i1 & /i2 & /i3 & /i4 +
/i5 & /i6 & /i7 & /i8 +
/i9 & /i10 & /i11 & /i13
rf22.oe = vcc
/rf23 := /i3 & i4 +
/i1 & /i2 & /i3 & /i4 & /i5 & /i6 & /i7 & /i8 & /i9 & /i10 & /i11 & /i13 +
i3 & /i4 +
i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 & i9 & i10 & i11 & i13 +
i1 & i13 +
/i1 & i2 & /i3 & i4 & /i5 & i6 & /i7 & i8 & /i9 & i10 & /i11 & i13 +
i1 & /i2 & i3 & /i4 & i5 & /i6 & i7 & /i8 & i9 & /i10 & i11 & /i13 +
i1 & i2 & i3 & i4 & i5 & i6 & i7 & i8 & i9 & i10 & i11 & i13
rf23.oe = vcc

View File

@ -0,0 +1,180 @@
TITLE PAL22V10 Combinatorial Test
PATTERN A
REVISION 1.0
AUTHOR MAMEDev
COMPANY MAMEDev
DATE 3/24/2020
CHIP PAL22V10Test1 PAL22V10
;---------------------------------- PIN Declarations ---------------
PIN 1 I1 COMBINATORIAL ;
PIN 2 I2 COMBINATORIAL ;
PIN 3 I3 COMBINATORIAL ;
PIN 4 I4 COMBINATORIAL ;
PIN 5 I5 COMBINATORIAL ;
PIN 6 I6 COMBINATORIAL ;
PIN 7 I7 COMBINATORIAL ;
PIN 8 I8 COMBINATORIAL ;
PIN 9 I9 COMBINATORIAL ;
PIN 10 I10 COMBINATORIAL ;
PIN 11 I11 COMBINATORIAL ;
PIN 12 GND ;
PIN 13 I13 COMBINATORIAL ;
PIN 14 O14 COMBINATORIAL ;
PIN 15 O15 COMBINATORIAL ;
PIN 16 O16 COMBINATORIAL ;
PIN 17 O17 COMBINATORIAL ;
PIN 18 O18 COMBINATORIAL ;
PIN 19 O19 COMBINATORIAL ;
PIN 20 O20 COMBINATORIAL ;
PIN 21 O21 COMBINATORIAL ;
PIN 22 O22 COMBINATORIAL ;
PIN 23 O23 COMBINATORIAL ;
PIN 24 VCC ;
EQUATIONS
O14 = /I9 +
/I8 +
/I7 +
/I6 +
/I5 +
/I4 +
/I3 +
/I2
O14.TRST = VCC
/O15 = I3 +
I7 * I8 +
I9 * I10 +
I11 * I13 +
I8 +
I4 * I6 +
I2 * I5 +
/I13 +
/I11 +
/I10
O15.TRST = VCC
/O16 = /I4 * /I5 * /I6 +
I2 * I3 * I11 * I13 +
I2 * I3 +
/I2 * I3 * /I4 +
/I3 * /I4 * /I13 +
/I5 * /I11 * /I13 +
I11 * I13 +
I9 * I10 +
I7 * I8 +
I5 * I6 +
I3 * I4 +
I1 * I2
O16.TRST = O14
O17 = /I6 * /I7 * /I8 * /I9 * /I10 +
/I1 * /I2 * /I3 * /I4 * /I5 +
I1 +
I2 +
I3 +
I4 +
I5 +
I6 +
I7 +
I8 +
I9 +
I10 +
I11 +
I13
O17.TRST = /O15
O18 = /I7 * /I8 +
I1 * I2 * /I5 * /I6 +
I13 * /O20 +
/I9 * /I10 * /I11 +
/I5 * /I6 * O20 +
O17 * /O20 +
I1 * I3 * /O17 +
I9 * I11 +
/I7 * /I9 * /I13 +
I5 * I6 * /I10 +
/I3 * I4 +
/I3 * /O17 +
I1 * I2 * I4 +
/I3 * /I4 * O17 +
/I1 * /I2 * O17 +
/O17
O18.TRST = /I11 * /I13
/O19 = I4 +
I3 +
I2 +
/I13 +
/I11 +
/I10 +
/I9 +
/I8 +
/I7 +
/I6 +
/I5 +
/I4 +
/I3 +
/I2 +
/O14 +
I1 * O14
O19.TRST = VCC
/O20 = /I8 +
/I9 +
/I10 +
/I11 +
/I13 +
I13 +
I11 +
I10 +
I9 +
I8 +
I7 +
I6 +
I5 +
I1 * /I2
O20.TRST = I3 * /I9 * /I10 * I11
/O21 = I5 * /I6 +
I4 * /I5 +
I3 * /I4 +
I2 * /I3 +
/I11 * /I13 +
/I9 * /I10 +
/I7 * /I8 +
/I5 * /I6 +
/I3 * /I4 +
/I2 * /I3 +
/O17 * /O23 +
I1 * I10
O21.TRST = VCC
/O22 = I9 * I10 * I11 * I13 +
I5 * I6 * I7 * I8 +
I1 * I2 * I3 * I4 +
I11 * /I13 +
I10 * /I11 +
I9 * /I10 +
I8 * /I9 +
I7 * /I8 +
I6 * /I7 +
O23
O22.TRST = /I13
O23 = /I1 * /I2 * /I3 * /I4 * /I5 * /I6 * /I7 * /I8 * /I9 * /I10 * /I11 * /I13 +
/I1 * I2 * /I3 * I4 * /I5 * I6 * /I7 * I8 * /I9 * I10 * /I11 * I13 +
I1 * /I2 * I3 * /I4 * I5 * /I6 * I7 * /I8 * I9 * /I10 * I11 * /I13 +
/I1 * /I13 +
/I1 * /I2 * /I3 * /I4 * /I5 * /I6 * /I7 * /I8 * /I9 * /I10 * /I11 * /I13 +
/I3 * I4 +
I1 * I2 * I3 * I4 * I5 * I6 * I7 * I8 * I9 * I10 * I11 * I13 +
I3 * /I4
O23.TRST = /O15 * O21
SIMULATION

View File

@ -0,0 +1,180 @@
TITLE PAL22V10 Registered Test
PATTERN A
REVISION 1.0
AUTHOR MAMEDev
COMPANY MAMEDev
DATE 3/23/2020
CHIP PAL22V10Test2 PAL22V10
;---------------------------------- PIN Declarations ---------------
PIN 1 I1 COMBINATORIAL ;
PIN 2 I2 COMBINATORIAL ;
PIN 3 I3 COMBINATORIAL ;
PIN 4 I4 COMBINATORIAL ;
PIN 5 I5 COMBINATORIAL ;
PIN 6 I6 COMBINATORIAL ;
PIN 7 I7 COMBINATORIAL ;
PIN 8 I8 COMBINATORIAL ;
PIN 9 I9 COMBINATORIAL ;
PIN 10 I10 COMBINATORIAL ;
PIN 11 I11 COMBINATORIAL ;
PIN 12 GND ;
PIN 13 I13 COMBINATORIAL ;
PIN 14 RF14 REGISTERED ;
PIN 15 RF15 REGISTERED ;
PIN 16 RF16 REGISTERED ;
PIN 17 RF17 REGISTERED ;
PIN 18 RF18 REGISTERED ;
PIN 19 RF19 REGISTERED ;
PIN 20 RF20 REGISTERED ;
PIN 21 RF21 REGISTERED ;
PIN 22 RF22 REGISTERED ;
PIN 23 RF23 REGISTERED ;
PIN 24 VCC ;
EQUATIONS
/RF14 := I2 +
I3 +
I4 +
I5 +
I6 +
I7 +
I8 +
I9
RF14.TRST = /I1
RF15 := I10 +
I11 +
I13 +
/I2 * /I5 +
/I4 * /I6 +
/I8 +
/I11 * /I13 +
/I9 * /I10 +
/I7 * /I8 +
/I3
RF15.TRST = I1
RF16 := /I1 * /I2 +
/I3 * /I4 +
/I5 * /I6 +
/I7 * /I8 +
/I9 * /I10 +
/I11 * /I13 +
I5 * I11 * I13 +
I3 * I4 * I13 +
I2 * /I3 * I4 +
/I2 * /I3 +
/I2 * /I3 * /I11 * /I13 +
I4 * I5 * I6
RF16.TRST = /RF14
/RF17 := /I13 +
/I11 +
/I10 +
/I9 +
/I8 +
/I7 +
/I6 +
/I5 +
/I4 +
/I3 +
/I2 +
/I1 +
I1 * I2 * I3 * I4 * I5 +
I6 * I7 * I8 * I9 * I10
RF17.TRST = VCC
/RF18 := RF17 +
I1 * I2 * /RF17 +
I3 * I4 * /RF17 +
/I1 * /I2 * /I4 +
I3 * RF17 +
I3 * /I4 +
/I5 * /I6 * I10 +
I7 * I9 * I13 +
/I9 * /I11 +
/I1 * /I3 * RF17 +
/RF17 * RF20 +
I5 * I6 * /RF20 +
I9 * I10 * I11 +
/I13 * RF20 +
/I1 * /I2 * I5 * I6 +
I7 * I8
RF18.TRST = I11 * I13
RF19 := /I1 * /RF14 +
RF14 +
I2 +
I3 +
I4 +
I5 +
I6 +
I7 +
I8 +
I9 +
I10 +
I11 +
I13 +
/I2 +
/I3 +
/I4
RF19.TRST = /I3 * I9 * I10 * /I11
RF20 := /I1 * I2 +
/I5 +
/I6 +
/I7 +
/I8 +
/I9 +
/I10 +
/I11 +
/I13 +
I13 +
I11 +
I10 +
I9 +
I8
RF20.TRST = VCC
RF21 := /I1 * /I10 +
RF17 * RF23 +
I2 * I3 +
I3 * I4 +
I5 * I6 +
I7 * I8 +
I9 * I10 +
I11 * I13 +
/I2 * I3 +
/I3 * I4 +
/I4 * I5 +
/I5 * I6
RF21.TRST = I13
RF22 := /RF23 +
/I6 * I7 +
/I7 * I8 +
/I8 * I9 +
/I9 * I10 +
/I10 * I11 +
/I11 * I13 +
/I1 * /I2 * /I3 * /I4 +
/I5 * /I6 * /I7 * /I8 +
/I9 * /I10 * /I11 * /I13
RF22.TRST = VCC
/RF23 := /I3 * I4 +
/I1 * /I2 * /I3 * /I4 * /I5 * /I6 * /I7 * /I8 * /I9 * /I10 * /I11 * /I13 +
I3 * /I4 +
I1 * I2 * I3 * I4 * I5 * I6 * I7 * I8 * I9 * I10 * I11 * I13 +
I1 * I13 +
/I1 * I2 * /I3 * I4 * /I5 * I6 * /I7 * I8 * /I9 * I10 * /I11 * I13 +
I1 * /I2 * I3 * /I4 * I5 * /I6 * I7 * /I8 * I9 * /I10 * I11 * /I13 +
I1 * I2 * I3 * I4 * I5 * I6 * I7 * I8 * I9 * I10 * I11 * I13
RF23.TRST = VCC
SIMULATION

View File

@ -0,0 +1,150 @@
PALASM4 PAL ASSEMBLER - MARKET RELEASE 1.5a (8-20-92)
(C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1992
TITLE :PAL22V10 Combinatorial TestAUTHOR :MAMEDev
PATTERN :A COMPANY:MAMEDev
REVISION:1.0 DATE :3/24/2020

PAL22V10
PAL22V10TEST1*
QP24*
QF5828*
G0*F0*
L0000 00000000000000000000000000000000000000000000*
L0044 11111111110111111111111111111111111011111111*
L0088 10111011101110111011101110111011101110111010*
L0132 10110111101101111011011110110111101101111001*
L0176 01111011011110110111101101111011011110110110*
L0220 10111111111111111111111111111111111111111110*
L0264 10111011101110111011101110111011101110111010*
L0308 11111111101101111111111111111111111111111111*
L0352 01110111011101110111011101110111011101110101*
L0396 11111111011110111111111111111111111111111111*
L0440 11111111111111111111111111111111111111111110*
L0484 11111111111111111111111111111111011101110101*
L0528 11111111111111110111011101110111111111111111*
L0572 01110111011101111111111111111111111111111111*
L0616 11111111111111111111111111111111111111110110*
L0660 11111111111111111111111111111111111101111011*
L0704 11111111111111111111111111111111011110111111*
L0748 11111111111111111111111111110111101111111111*
L0792 11111111111111111111111101111011111111111111*
L0836 11111111111111111111011110111111111111111111*
L0880 11011111111111111111111111111111111111111111*
L0924 11111111111111111111111111111111111111111111*
L0968 11111111111111110111101111111111111111111111*
L1012 11111111111101111011111111111111111111111111*
L1056 11111111011110111111111111111111111111111111*
L1100 11110111101111111111111111111111111111111111*
L1144 11111111111111111111111111111111111111111010*
L1188 11111111111111111111111111111111101110111111*
L1232 11111111111111111111111110111011111111111111*
L1276 11111111111111111011101111111111111111111111*
L1320 11111111101110111111111111111111111111111111*
L1364 11111011101111111111111111111111111111111111*
L1408 11101111111111111111111111101111111111111111*
L1452 01111111111111111111111111111111111101111111*
L1496 11111111011111111111111111111111101110110111*
L1540 11111111111111111111111111111011111111111111*
L1584 11111111111111111111111111111111101111111111*
L1628 11111111111111111111111111111111111110111111*
L1672 11111111111111111111111111111111111111111011*
L1716 11111111111111111111111111111111111111111110*
L1760 11111111111111111111111111111111111111111101*
L1804 11111111111111111111111111111111111111110111*
L1848 11111111111111111111111111111111111101111111*
L1892 11111111111111111111111111111111011111111111*
L1936 11111111111111111111111111110111111111111111*
L1980 11111111111111111111111101111111111111111111*
L2024 11111111111111111111011111111111111111111111*
L2068 11111111111111110111111111111111111111111111*
L2112 01111011111111111111111111111111111111111111*
L2156 11111111111111111111111111111111111111111111*
L2200 11111111111101111111111111111111111111111111*
L2244 11111111011111111111111111111111111111111111*
L2288 11110111111111111111111111111111111111111111*
L2332 11111111111111111111111111111111111111111110*
L2376 11111111111111111111111111111111111111111011*
L2420 11111111111111111111111111111111111110111111*
L2464 11111111111111111111111111111111101111111111*
L2508 11111111111111111111111111111011111111111111*
L2552 11111111111111111111111110111111111111111111*
L2596 11111111111111111111101111111111111111111111*
L2640 11111111111111111011111111111111111111111111*
L2684 11111111111110111111111111111111111111111111*
L2728 11111111101111111111111111111111111111111111*
L2772 11111011111111111111111111111111111111111111*
L2816 11111111111111111111111111111111111111101111*
L2860 01111111111111111111111111111111111111011111*
L2904 11111111111111111111111111111111111111111010*
L2948 11111111111111111111111110111011111111111111*
L2992 01110111111111111011101111111111111111111111*
L3036 11111111111111101111111111111111111111111101*
L3080 11111111111111111111111111111111101110111011*
L3124 11111111111111011011101111111111111111111111*
L3168 11111111111111101111111111011111111111111111*
L3212 01111111011111111111111111101111111111111111*
L3256 11111111111111111111111111111111011111110111*
L3300 11111111111111111111111110111111101111111110*
L3344 11111111111111110111011111111111111110111111*
L3388 11111111101101111111111111111111111111111111*
L3432 11111111101111111111111111101111111111111111*
L3476 01110111111101111111111111111111111111111111*
L3520 11111111101110111111111111011111111111111111*
L3564 10111011111111111111111111011111111111111111*
L3608 11111111111111111111111111101111111111111111*
L3652 11111111111111111111111111111111111011111111*
L3696 11111111111111111111101110111011101110111111*
L3740 10111011101110111011111111111111111111111111*
L3784 01111111111111111111111111111111111111111111*
L3828 11110111111111111111111111111111111111111111*
L3872 11111111011111111111111111111111111111111111*
L3916 11111111111101111111111111111111111111111111*
L3960 11111111111111110111111111111111111111111111*
L4004 11111111111111111111011111111111111111111111*
L4048 11111111111111111111111101111111111111111111*
L4092 11111111111111111111111111110111111111111111*
L4136 11111111111111111111111111111111011111111111*
L4180 11111111111111111111111111111111111101111111*
L4224 11111111111111111111111111111111111111110111*
L4268 11111111111111111111111111111111111111111101*
L4312 11111111111111111111111111111111111111011111*
L4356 11111111111110111011101111111111111111111111*
L4400 11110111011111111111111111111111111111110101*
L4444 11110111011111111111111111111111111111111111*
L4488 11111011011110111111111111111111111111111111*
L4532 11111111101110111111111111111111111111111110*
L4576 11111111111111111011111111111111111111111010*
L4620 11111111111111111111111111111111111111110101*
L4664 11111111111111111111111111111111011101111111*
L4708 11111111111111111111111101110111111111111111*
L4752 11111111111111110111011111111111111111111111*
L4796 11111111011101111111111111111111111111111111*
L4840 01110111111111111111111111111111111111111111*
L4884 11111111111111111111111111111111111111111111*
L4928 11111111011111111111111111111111111111111111*
L4972 11111111111111111111111101110111111111111111*
L5016 11111111111111111111111111111111011101111111*
L5060 11111111111111111111111111111111111111110101*
L5104 11111111111111111111111111110111111111111111*
L5148 11111111111101111111011111111111111111111111*
L5192 11110111111111110111111111111111111111111111*
L5236 11111111111111111111111111111111111111111110*
L5280 11111111111111111111111111111111111111111011*
L5324 11111111111111111111111111111111111110111111*
L5368 11111111111111111111111111111111111111111111*
L5412 11111111111111111111111111111111101111111111*
L5456 11111111111111111111111111111011111111111111*
L5500 11111111111111111111111110111111111111111111*
L5544 11111111111111111111101111111111111111111111*
L5588 11111111111111111011111111111111111111111111*
L5632 11111111111110111111111111111111111111111111*
L5676 11111111101111111111111111111111111111111111*
L5720 11111011111111111111111111111111111111111111*
L5764 00000000000000000000000000000000000000000000*
L5808 11010101011111010111*
CB5B2*
2B25

View File

@ -0,0 +1,150 @@
PALASM4 PAL ASSEMBLER - MARKET RELEASE 1.5a (8-20-92)
(C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1992
TITLE :PAL22V10 Test 2 AUTHOR :MAMEDev
PATTERN :A COMPANY:MAMEDev
REVISION:1.0 DATE :3/23/2020

PAL22V10
PAL22V10TEST2*
QP24*
QF5828*
G0*F0*
L0000 00000000000000000000000000000000000000000000*
L0044 11111111111111111111111111111111111111111111*
L0088 11111111101101111111111111111111111111111111*
L0132 10111011101110111011101110111011101110111010*
L0176 11111111011110111111111111111111111111111111*
L0220 01110111011101110111011101110111011101110101*
L0264 01111111111111111111111111111111111111111101*
L0308 10110111101101111011011110110111101101111001*
L0352 01111011011110110111101101111011011110110110*
L0396 01110111011101110111011101110111011101110101*
L0440 11111111111111111111111111111111111111111111*
L0484 11101111111111111111111111111111111111111111*
L0528 11111111111111111111101101111111111111111111*
L0572 11111111111111111111111110110111111111111111*
L0616 11111111111111111111111111111011011111111111*
L0660 11111111111111111111111111111111101101111111*
L0704 11111111111111111111111111111111111110110111*
L0748 11111111111111111111111111111111111111111001*
L0792 10111011101110111111111111111111111111111111*
L0836 11111111111111111011101110111011111111111111*
L0880 11111111111111111111111111111111101110111010*
L0924 11111111111111111111111111111111111111111101*
L0968 10111111111111111111111111111111111110111111*
L1012 11011111111111111111111111011111111111111111*
L1056 11110111011111111111111111111111111111111111*
L1100 11111111011101111111111111111111111111111111*
L1144 11111111111111110111011111111111111111111111*
L1188 11111111111111111111111101110111111111111111*
L1232 11111111111111111111111111111111011101111111*
L1276 11111111111111111111111111111111111111110101*
L1320 11111011011111111111111111111111111111111111*
L1364 11111111101101111111111111111111111111111111*
L1408 11111111111110110111111111111111111111111111*
L1452 11111111111111111011011111111111111111111111*
L1496 11111111111111111111111111111111111111111111*
L1540 10110111111111111111111111111111111111111111*
L1584 11111111111111111011111111111111111111111111*
L1628 11111111111111111111101111111111111111111111*
L1672 11111111111111111111111110111111111111111111*
L1716 11111111111111111111111111111011111111111111*
L1760 11111111111111111111111111111111101111111111*
L1804 11111111111111111111111111111111111110111111*
L1848 11111111111111111111111111111111111111111011*
L1892 11111111111111111111111111111111111111111110*
L1936 11111111111111111111111111111111111111111101*
L1980 11111111111111111111111111111111111111110111*
L2024 11111111111111111111111111111111111101111111*
L2068 11111111111111111111111111111111011111111111*
L2112 11111111111111111111111111110111111111111111*
L2156 11111111101111111111111111111111011101111011*
L2200 10111111111111111111111111111111111111101111*
L2244 11111111111111111111111111111111111111011111*
L2288 11110111111111111111111111111111111111111111*
L2332 11111111011111111111111111111111111111111111*
L2376 11111111111101111111111111111111111111111111*
L2420 11111111111111110111111111111111111111111111*
L2464 11111111111111111111011111111111111111111111*
L2508 11111111111111111111111101111111111111111111*
L2552 11111111111111111111111111110111111111111111*
L2596 11111111111111111111111111111111011111111111*
L2640 11111111111111111111111111111111111101111111*
L2684 11111111111111111111111111111111111111110111*
L2728 11111111111111111111111111111111111111111101*
L2772 11111011111111111111111111111111111111111111*
L2816 11111111101111111111111111111111111111111111*
L2860 11111111111110111111111111111111111111111111*
L2904 11111111111111111111111111111111111111110101*
L2948 11111111111111111111111111011111111111111111*
L2992 01110111111111111111111111101111111111111111*
L3036 11111111011101111111111111101111111111111111*
L3080 10111011111110111111111111111111111111111111*
L3124 11111111011111111111111111011111111111111111*
L3168 11111111011110111111111111111111111111111111*
L3212 11111111111111111011101111111111111101111111*
L3256 11111111111111111111111101111111011111111101*
L3300 11111111111111111111111111111111101111111011*
L3344 10111111101111111111111111011111111111111111*
L3388 11111111111111101111111111101111111111111111*
L3432 11111111111111010111011111111111111111111111*
L3476 11111111111111111111111111111111011101110111*
L3520 11111111111111101111111111111111111111111110*
L3564 10111011111111110111011111111111111111111111*
L3608 11111111111111111111111101110111111111111111*
L3652 11111111111111111111111111111111111111111111*
L3696 11111111111111111111111111111111111111111110*
L3740 11111111111111111111111111111111111111111011*
L3784 11111111111111111111111111111111111110111111*
L3828 11111111111111111111111111111111101111111111*
L3872 11111111111111111111111111111011111111111111*
L3916 11111111111111111111111110111111111111111111*
L3960 11111111111111111111101111111111111111111111*
L4004 11111111111111111011111111111111111111111111*
L4048 11111111111110111111111111111111111111111111*
L4092 11111111101111111111111111111111111111111111*
L4136 11111011111111111111111111111111111111111111*
L4180 10111111111111111111111111111111111111111111*
L4224 01110111011101110111111111111111111111111111*
L4268 11111111111111111111011101110111011101111111*
L4312 11111111111111111111111111111111111111101111*
L4356 10111011111111111111111111111111111111111111*
L4400 11111111101110111111111111111111111111111111*
L4444 11111111111111111011101111111111111111111111*
L4488 11111111111111111111111110111011111111111111*
L4532 11111111111111111111111111111111101110111111*
L4576 11111111111111111111111111111111111111111010*
L4620 11111111111111110111111111111111111111110101*
L4664 11111111011101111111111111111111111111111101*
L4708 11110111101101111111111111111111111111111111*
L4752 11111011101111111111111111111111111111111111*
L4796 11111011101111111111111111111111111111111010*
L4840 11111111111101110111011111111111111111111111*
L4884 01111111111111111111111111111111111111111111*
L4928 11111111111111111111111111111111111101111111*
L4972 11111111111111111111111111111111111111110111*
L5016 11111111111111111111111111111111111111111101*
L5060 11111011111111111011111111111111111111111111*
L5104 11111111111110111111101111111111111111111111*
L5148 11111111111111111111111111111011111111111111*
L5192 11111111111111111111111111111111111111111010*
L5236 11111111111111111111111111111111101110111111*
L5280 11111111111111111111111110111011111111111111*
L5324 11111111101111111111111111111111111111111111*
L5368 10111111111111111111111111111111111111111111*
L5412 11110111111111111111111111111111111111111111*
L5456 11111111011111111111111111111111111111111111*
L5500 11111111111101111111111111111111111111111111*
L5544 11111111111111110111111111111111111111111111*
L5588 11111111111111111111011111111111111111111111*
L5632 11111111111111111111111101111111111111111111*
L5676 11111111111111111111111111110111111111111111*
L5720 11111111111111111111111111111111011111111111*
L5764 00000000000000000000000000000000000000000000*
L5808 00101010100000101000*
CB42D*
2B20

View File

@ -361,31 +361,31 @@ ROM_END
ROM_START( rugrats )
ROM_REGION( 0x10000, "maincpu", 0 ) /* main cpu code */
ROM_LOAD( "rugr1d1", 0x0000, 0x2000, CRC(e7e1bd6d) SHA1(985799b1bfd001c6304e6166180745cb019f834e) )
ROM_LOAD( "rugr2d2", 0x2000, 0x2000, CRC(5f47b9ad) SHA1(2d3eb737ea8e86691293e432e866d2623d6b6b1b) )
ROM_LOAD( "rugr3d3", 0x4000, 0x2000, CRC(3d748d1a) SHA1(2b301119b6eb3f0f9bb2ad734cff1d25365dfe99) )
ROM_LOAD( "1.1d", 0x0000, 0x2000, CRC(e7e1bd6d) SHA1(985799b1bfd001c6304e6166180745cb019f834e) )
ROM_LOAD( "2.2d", 0x2000, 0x2000, CRC(5f47b9ad) SHA1(2d3eb737ea8e86691293e432e866d2623d6b6b1b) )
ROM_LOAD( "3.3d", 0x4000, 0x2000, CRC(3d748d1a) SHA1(2b301119b6eb3f0f9bb2ad734cff1d25365dfe99) )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */
ROM_LOAD( "rugr4c4", 0x0000, 0x2000, CRC(d4a92c38) SHA1(4a31cfef9f084b4d2934595155bf0f3dd589efb3) )
ROM_LOAD( "4.3b", 0x0000, 0x2000, CRC(d4a92c38) SHA1(4a31cfef9f084b4d2934595155bf0f3dd589efb3) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "rugr8d2", 0x0000, 0x1000, CRC(a3dcaca5) SHA1(d71f9090bf95dfd035ee0e0619a1cce575033cf3) ) /* chars */
ROM_LOAD( "8.2d", 0x0000, 0x1000, CRC(a3dcaca5) SHA1(d71f9090bf95dfd035ee0e0619a1cce575033cf3) ) /* chars */
ROM_REGION( 0x2000, "gfx2", 0 )
ROM_LOAD( "rugr7c13", 0x0000, 0x2000, CRC(fe1191dd) SHA1(80ebf093f7a32f4cc9dc89dcc44cab6e3db4fca1) ) /* sprites */
ROM_LOAD( "7.13c", 0x0000, 0x2000, CRC(fe1191dd) SHA1(80ebf093f7a32f4cc9dc89dcc44cab6e3db4fca1) ) /* sprites */
ROM_REGION( 0x0220, "proms", 0 )
ROM_LOAD( "prom.13g", 0x0000, 0x0020, CRC(f21238f0) SHA1(944627d1551453c7f828d96b83fd4eeb038b20ad) ) /* palette */
ROM_LOAD( "prom.4f", 0x0020, 0x0100, CRC(cfc90f3d) SHA1(99f7dc0d14c62d4c676c96310c219c696c9a7897) ) /* char lookup table */
ROM_LOAD( "prom.11e", 0x0120, 0x0100, CRC(cfc90f3d) SHA1(99f7dc0d14c62d4c676c96310c219c696c9a7897) ) /* sprite lookup table */
ROM_LOAD( "g13.13g", 0x0000, 0x0020, CRC(f21238f0) SHA1(944627d1551453c7f828d96b83fd4eeb038b20ad) ) /* palette */
ROM_LOAD( "eiif4.4f", 0x0020, 0x0100, CRC(cfc90f3d) SHA1(99f7dc0d14c62d4c676c96310c219c696c9a7897) ) /* char lookup table */
ROM_LOAD( "eiif4.11e", 0x0120, 0x0100, CRC(cfc90f3d) SHA1(99f7dc0d14c62d4c676c96310c219c696c9a7897) ) /* sprite lookup table */
ROM_REGION( 0x4000, "samples", 0 ) /* samples */
ROM_LOAD( "rugr5c8", 0x0000, 0x2000, CRC(67bafbbf) SHA1(2085492b58ce44f61a42320c54595b79fdf7a91c) )
ROM_LOAD( "rugr6c9", 0x2000, 0x2000, CRC(cac84a87) SHA1(90f6c514d0cdbeb4c8c979597db79ebcdf443df4) )
ROM_LOAD( "5.8c", 0x0000, 0x2000, CRC(67bafbbf) SHA1(2085492b58ce44f61a42320c54595b79fdf7a91c) )
ROM_LOAD( "6.9c", 0x2000, 0x2000, CRC(cac84a87) SHA1(90f6c514d0cdbeb4c8c979597db79ebcdf443df4) )
ROM_REGION( 0x0200, "soundproms", 0 ) /* 4bit->8bit sample expansion PROMs */
ROM_LOAD( "wip-e8.bin", 0x0000, 0x0100, CRC(bd2c080b) SHA1(9782bb5001e96db56bc29df398187f700bce4f8e) ) /* low 4 bits */
ROM_LOAD( "wip-e9.bin", 0x0100, 0x0100, CRC(4017a2a6) SHA1(dadef2de7a1119758c8e6d397aa42815b0218889) ) /* high 4 bits */
ROM_LOAD( "e8.8e", 0x0000, 0x0100, CRC(bd2c080b) SHA1(9782bb5001e96db56bc29df398187f700bce4f8e) ) /* low 4 bits */
ROM_LOAD( "e9.9e", 0x0100, 0x0100, CRC(4017a2a6) SHA1(dadef2de7a1119758c8e6d397aa42815b0218889) ) /* high 4 bits */
ROM_END

View File

@ -16,7 +16,7 @@ Sound Chips : OKI M5205 + YM3812
Year + Game Board#
---------------------------------------------------------------------------
95 Cannon Ball YS-ROCK-970712 or 940712?
95 Magix / Rock YS-ROCK-970712
95 Magix / Rock YS-ROCK-940712
94? Rock Tris YS-ROCK-940712
---------------------------------------------------------------------------
@ -395,10 +395,11 @@ void yunsung8_state::yunsung8(machine_config &config)
Magix
Yun Sung, 1995
YS-ROCK-970712
YS-ROCK-940712
+-------------------------------------+
|VOL YM3014 6116 04|
| M5205 400KHz 03|
| 09 |
| Z80A CXK5118PN-15L 02|
| 08 GM76C28-10 01|
| MCM2018AN45 |
@ -411,7 +412,7 @@ YS-ROCK-970712
| U66 +--------+ 06|
| HM6264 05|
| 07 HM6264 |
| Z80B YM3812 16MHz |
| Z80B YM3812 10 16MHz |
+-------------------------------------+
Main CPU: Z80B
@ -442,6 +443,10 @@ ROM_START( magix )
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "yunsung8.05", 0x00000, 0x20000, CRC(862d378c) SHA1(a4e2cf14b5b25c6b8725dd285ddea65ce9ee257a) ) // only first $8000 bytes != 0
ROM_LOAD( "yunsung8.06", 0x20000, 0x20000, CRC(8b2ab901) SHA1(1a5c05dd0cf830b645357a62d8e6e876b44c6b7f) ) // only first $8000 bytes != 0
ROM_REGION( 0x0002, "plds", 0 ) /* PAL's and GAL's */
ROM_LOAD( "palce20v8h.09", 0x0000, 0x0001, NO_DUMP ) /* PALCE20V8H-25PC/4 - security fuse blown */
ROM_LOAD( "palce20v8h.10", 0x0000, 0x0001, NO_DUMP ) /* PALCE20V8H-25PC/4 - security fuse blown */
ROM_END
/***************************************************************************
@ -470,6 +475,10 @@ ROM_START( magixb )
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "5.bin", 0x00000, 0x20000, CRC(11b99819) SHA1(4b20feea227cefd2e905601d934538a13ba6685b) ) // only first $8000 bytes != 0
ROM_LOAD( "6.bin", 0x20000, 0x20000, CRC(361a864c) SHA1(e0bb78b49fc3d461d6ac46ad97a9d04112783132) ) // only first $8000 bytes != 0
ROM_REGION( 0x0002, "plds", 0 ) /* PAL's and GAL's */
ROM_LOAD( "palce20v8h.09", 0x0000, 0x0001, NO_DUMP ) /* PALCE20V8H-25PC/4 - security fuse blown */
ROM_LOAD( "palce20v8h.10", 0x0000, 0x0001, NO_DUMP ) /* PALCE20V8H-25PC/4 - security fuse blown */
ROM_END

View File

@ -94,11 +94,12 @@
PAL20X8 = QP24 QF1600
PAL20X10 = QP24 QF1600
PAL22V10 = QP24 QF5828?
GAL20V8A = QP24 QF2706
GAL22V10 = QP24 QF5892
PALCE22V10 = QP24 QF5828
PAL22V10 = QP24 QF5828
28-pin devices:
PLS100 = QP28 QF1928 (Tri-State)
82S100 = QP20 QF1928 (Tri-State)
@ -290,6 +291,7 @@ static void print_pal20ra10_product_terms(const pal_data* pal, const jed_data* j
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);
static void print_palce22v10_pal22v10_product_terms(const pal_data* pal, const jed_data* jed);
static void print_82s153_pls153_product_terms(const pal_data* pal, const jed_data* jed);
static void print_ck2605_product_terms(const pal_data* pal, const jed_data* jed);
#if defined(ricoh_pals)
@ -353,6 +355,7 @@ 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);
static void config_palce22v10_pal22v10_pins(const pal_data* pal, const jed_data* jed);
static void config_82s153_pls153_pins(const pal_data* pal, const jed_data* jed);
static void config_ck2605_pins(const pal_data* pal, const jed_data* jed);
#if defined(ricoh_pals)
@ -665,6 +668,18 @@ static pin_fuse_rows pal20x10pinfuserows[] = {
{22, NO_OUTPUT_ENABLE_FUSE_ROW, 160, 280}, /* Registered Output */
{23, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 120}}; /* Registered Output */
static pin_fuse_rows palce22v10_pal22v10pinfuserows[] = {
{14, 5368, 5412, 5720},
{15, 4884, 4928, 5324},
{16, 4312, 4356, 4840},
{17, 3652, 3696, 4268},
{18, 2904, 2948, 3608},
{19, 2156, 2200, 2860},
{20, 1496, 1540, 2112},
{21, 924, 968, 1452},
{22, 440, 484, 880},
{23, 44, 88, 396}};
static pin_fuse_rows _82s153_pls153pinfuserows[] = {
{9, 1472, 0, 0},
{11, 1508, 0, 0},
@ -1456,6 +1471,30 @@ static pin_fuse_columns pal20x10pinfusecolumns[] = {
{23, 3, 2}
};
static pin_fuse_columns palce22v10_pal22v10pinfusecolumns[] = {
{1, 1, 0},
{2, 5, 4},
{3, 9, 8},
{4, 13, 12},
{5, 17, 16},
{6, 21, 20},
{7, 25, 24},
{8, 29, 28},
{9, 33, 32},
{10, 37, 36},
{11, 41, 40},
{13, 43, 42},
{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 _82s153_pls153pinfusecolumns[] = {
{1, 1, 0},
{2, 3, 2},
@ -2167,9 +2206,22 @@ static pal_data paldata[] = {
config_pal20x10_pins,
nullptr,
nullptr},
/*{"PAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},
{"GAL20V8A", 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},*/
{"PAL22V10", 5828,
palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows),
palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns),
print_palce22v10_pal22v10_product_terms,
config_palce22v10_pal22v10_pins,
nullptr,
nullptr},
{"PALCE22V10", 5828,
palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows),
palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns),
print_palce22v10_pal22v10_product_terms,
config_palce22v10_pal22v10_pins,
nullptr,
nullptr},
{"82S153", 1842,
_82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows),
_82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns),
@ -3709,6 +3761,42 @@ static void print_pal20x10_product_terms(const pal_data* pal, const jed_data* je
/*-------------------------------------------------
print_palce22v10_pal22v10_product_terms - prints the product
terms for a PALCE22V10 and PAL22V10
-------------------------------------------------*/
static void print_palce22v10_pal22v10_product_terms(const pal_data* pal, const jed_data* jed)
{
char buffer[200];
print_product_terms(pal, jed);
/* Synchronous Preset */
generate_product_terms(pal, jed, 5764, buffer);
if (strlen(buffer))
{
printf("Synchronous Preset:\n\n");
printf("%s\n", buffer);
printf("\n");
}
/* Asynchronous Reset */
generate_product_terms(pal, jed, 0, buffer);
if (strlen(buffer))
{
printf("Asynchronous Reset:\n\n");
printf("%s\n", buffer);
printf("\n");
}
}
/*-------------------------------------------------
print_82s153_pls153_product_terms - prints the product
terms for a 82S153/PLS153
@ -5929,6 +6017,87 @@ static void config_pal20x10_pins(const pal_data* pal, const jed_data* jed)
/*-------------------------------------------------
config_palce22v10_pal22v10_pins - configures the pins for
a PALCE22V10
-------------------------------------------------*/
static void config_palce22v10_pal22v10_pins(const pal_data* pal, const jed_data* jed)
{
typedef struct _output_logic_macrocell output_logic_macrocell;
struct _output_logic_macrocell
{
uint16_t pin;
uint16_t s0_fuse; /* output polarity (0 - low, 1 - high) */
uint16_t s1_fuse; /* registers allowed (0 - registered, 1 - not registered) */
};
static output_logic_macrocell macrocells[] = {
{14, 5826, 5827},
{15, 5824, 5825},
{16, 5822, 5823},
{17, 5820, 5821},
{18, 5818, 5819},
{19, 5816, 5817},
{20, 5814, 5815},
{21, 5812, 5813},
{22, 5810, 5811},
{23, 5808, 5809}};
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};
pin_output_config output_pins[ARRAY_LENGTH(macrocells)];
uint16_t index, output_pin_count;
output_pin_count = 0;
for (index = 0; index < ARRAY_LENGTH(output_pins); ++index)
{
if (jed_get_fuse(jed, macrocells[index].s1_fuse))
{
/* Combinatorial output or dedicated input */
if (does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable))
{
output_pins[output_pin_count].pin = macrocells[index].pin;
output_pins[output_pin_count].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT;
if (!jed_get_fuse(jed, macrocells[index].s0_fuse))
{
output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
}
else
{
output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
}
++output_pin_count;
}
}
else
{
/* Registered output */
output_pins[output_pin_count].pin = macrocells[index].pin;
output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED;
if (!jed_get_fuse(jed, macrocells[index].s0_fuse))
{
output_pins[output_pin_count].flags |= OUTPUT_ACTIVELOW;
}
else
{
output_pins[output_pin_count].flags |= OUTPUT_ACTIVEHIGH;
}
++output_pin_count;
}
}
set_input_pins(input_pins, ARRAY_LENGTH(input_pins));
set_output_pins(output_pins, output_pin_count);
}
/*-------------------------------------------------
config_82s153_pls153_pins - configures the pins for
a 82S153/PLS153
@ -7323,6 +7492,8 @@ static int print_usage()
" jedutil -view <source.jed> <device> -- dump JED logic equations\n"
" jedutil -view <source.bin> <device> -- dump binary logic equations\n"
" jedutil -viewlist -- view list of supported devices\n"
" jedutil -listcompatible <source.jed> -- list compatible devices\n"
" jedutil -listcompatible <source.bin> -- list compatible devices\n"
);
return 0;
@ -7577,6 +7748,77 @@ static int command_viewlist(int argc, char *argv[])
}
/*-------------------------------------------------
command_listcompatible - views the list of
compatible devices
-------------------------------------------------*/
static int command_listcompatible(int argc, char *argv[])
{
int result = 0;
const char *srcfile;
int is_jed;
jed_data jed;
int err;
int index;
if (argc != 1)
{
return print_usage();
}
/* extract arguments */
srcfile = argv[0];
/* does the source end in '.jed'? */
is_jed = is_jed_file(srcfile);
/* read the source file */
err = read_source_file(srcfile);
if (err != 0)
{
result = 1;
goto end;
}
/* if the source is JED, convert to binary */
if (is_jed)
{
/* read the JEDEC data */
err = jed_parse(srcbuf, srcbuflen, &jed);
switch (err)
{
case JEDERR_INVALID_DATA: fprintf(stderr, "Fatal error: Invalid .JED file\n"); result = 1; goto end;
case JEDERR_BAD_XMIT_SUM: fprintf(stderr, "Fatal error: Bad transmission checksum\n"); result = 1; goto end;
case JEDERR_BAD_FUSE_SUM: fprintf(stderr, "Fatal error: Bad fusemap checksum\n"); result = 1; goto end;
}
}
else
{
/* read the binary data */
err = jedbin_parse(srcbuf, srcbuflen, &jed);
switch (err)
{
case JEDERR_INVALID_DATA: fprintf(stderr, "Fatal error: Invalid binary JEDEC file\n"); result = 1; goto end;
}
}
for (index = 0; index < ARRAY_LENGTH(paldata); ++index)
{
if (paldata[index].numfuses == jed.numfuses)
{
printf("%s\n", paldata[index].name);
}
}
end:
free(srcbuf);
return result;
}
/*-------------------------------------------------
main - primary entry point
-------------------------------------------------*/
@ -7584,9 +7826,10 @@ static int command_viewlist(int argc, char *argv[])
int main(int argc, char *argv[])
{
command_entry command_entries[] = {
{"-convert", &command_convert},
{"-view", &command_view},
{"-viewlist", &command_viewlist}};
{"-convert", &command_convert},
{"-view", &command_view},
{"-viewlist", &command_viewlist},
{"-listcompatible", &command_listcompatible}};
int index;
if (argc < 2)