VOGONS


Arduino-based combinatorial PAL dumper

Topic actions

First post, by rpocc

User metadata
Rank Newbie
Rank
Newbie

Hi to all.
Today I would like to introduce here my complete Arduino project: PALDump, version 1.0 1.3

Couple of weeks ago I was trying to revive one of my VGA cards, specifically Hedaka OTIVGA, which I've obtained with one of its PAL chips pulled off. I was struggling searching for an easy to build PAL dumper and to my surprise I coudn't find any related project based on Arduino board. Some PAL-related topics were discussed even here, on Vogons, but neither of them seemed to be simple enough to build with basic DIY tools. So, I've started developing one from scratch and made it to the first working release which I've decided to make public.

It uses Arduino MEGA-2560 mainly due up to 23 needed pins while Uno and other MEGA328-based modules have only 19 (including one shared with Serial RX) which barely enough for PAL16L8 and not enough for PAL20L8.

Main features:

  1. Detection of tri-state outputs using the dedicated probe pin.
  2. Analysis of outputs. It reads each output pin and counts occurunces of each state for all 65K/1M of input combinations, detecting inputs, outputs, I/O or buffered outputs, and builds an internal table of active outputs as the boolean function outputs with addition of Output Enable functions per each buffered output.
  3. Analysis of inputs. It tests each pin that could be used as a logic input and detects if any change at this input doesn't affect output functions. Then it builds a table of usable inputs.
  4. Generation of the truth table. It generates the optimized truth table (with excluded unused inputs) in Berkeley format and transfers it via Serial port (USB/UART1) at 115200 bps.

The output can be fed directly to command-line tool Espresso, which in its turn will generate minimized logic equations, which in their respective turn, may be used almost as-is in pld projects for WinCUPL or other similar software.

During writing and testing this tool, I've dumped couple of PLAs from another OTIVGA card, tried to burn a restored .jed file to ATF16V8B and the board had successfully started with either of its chips replaced by the copy, so I believe this can pass as alpha-test.

It would be great if somebody having required equipment will make dumps of their PALs installed on old PC boards and share them with others. There's no yet such a thing as PLA database, similar to BIOS dumps database but it could appear. I've added first made dumps as examples at the project page and later willing to add more dumps from boards I own with specified identification.

The reason why such thing should exist is the same as BIOS dumps: for situations where there is a known board having a missing PAL. I've finally restored my Hedaka U8 after implementing missing functions presented on another OTIVGA board with different schematic. I'm curious to see a dump/equations from original U8 IC to compare it with mine. A set of ready-to-burn JED and PLD files for two versions os OTIVGA are included to the project page as well.

Last edited by rpocc on 2024-03-04, 16:38. Edited 1 time in total.

Reply 1 of 23, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Wonderful idea and project! Kudos! 🙂💙

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 23, by majestyk

User metadata
Rank Oldbie
Rank
Oldbie

Did you come across the "DUPAL" project?

https://github.com/DuPAL-PAL-DUmper

They also have a layout for a small PCB with the most common PAL / GAL sockets.

I also support the idea of creating a how to and FAQ here so everybody can dump their PALs / GALS here just like in the BIOS threads.
At the moment I have 5 PALs waiting to be cloned to complete mainboards that have missing PALs.

Reply 3 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
majestyk wrote on 2024-02-25, 20:44:
Did you come across the "DUPAL" project? […]
Show full quote

Did you come across the "DUPAL" project?

https://github.com/DuPAL-PAL-DUmper

They also have a layout for a small PCB with the most common PAL / GAL sockets.

I also support the idea of creating a how to and FAQ here so everybody can dump their PALs / GALS here just like in the BIOS threads.
At the moment I have 5 PALs waiting to be cloned to complete mainboards that have missing PALs.

Yes, I’ve seen this project but to me it seemed more demanding: you have to print PCB, wait for shipping, collect a whole BOM of parts, solder everything together and at the end you get the tool based on popular but not optimal MCU. I can’t evaluate the performance of that project without trying it but since it’s based on the same 8-bit AVR MCU family as Arduino boards, I think using Arduino as a cheap open platform makes it easier to implement for an enthusiast not so experienced in buying and soldering electronic stuff.

As for the FAQ, I think I’ll do something later. I just finished writing yesterday and had no much time for documenting in details.

The project page contains a short list of requirements and brief workflow but I think I can write a tutorial. The main difficulty with that is that I’m no so bad with coding but quite clumsy with writing long texts in English.

Reply 4 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie

The code was updated to version 1.3. Works stable with PAL16L8.

It should support PAL20L8 as well, but all 3 chips I have to test are either registered or give doubtful results due to feedbacks (Paradise EGA board). Probably, in order to correclty support feedback configurations in auto mode, this board will need couple of 4066 and one 4051 chips, or couple of 74138 and ULN2003 because the only way to detect feedbacks is shorting outputs to gnd and Vcc to override their own output. That's not a perfect way to deal with digital IC but at least it allows to detect existence of feedback and treat feedback inputs as independent in the truth table.

I've uploaded a little collection of pld/jed files confirmed to work along with dump files in folder PAL Database at the project page on Github.
TODO: upload a normal schematic, upload images of dumped boards and improve support for PAL20 or at least confirm support for combinatorial configurations without feedbacks. Will try the latter later when I get an ATF22V10 IC to brew my own test chips.
Also, I'm going to add the limited support for Arduino UNO and other MEGA328-based boards.

Last edited by rpocc on 2024-06-12, 06:09. Edited 1 time in total.

Reply 5 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie

A few updates to PAL Database:
1. MB Hyundai Super-16V Clone
2. VGA OTI037C_1037162003_REV_A
3. VGA OTI037C_1037164002_REV_D
4. VGA OTI037C_Hedaka_HED-622

All four has properly named pins in source files, so I even found an interesting additional use of this tool: a simple modification allowed to disable internal FDD controller for SUper-16V XT-clone motherboard, which though has no practical use because its BIOS doesn't support high density drives, so there's no big difference in using buit-in or ISA FDD card.

So, currently database contain 12 tested boards with .jed files.
Interesting thing: Today I found a VGA card, OTIVGA revision D, which appeared similar to my Hedaka HED-622 which initially made me start this project. To my great satisfaction, the dump I got appeared completely pin to pin and equation to equation identical to the one I've redesigned made using reverse engineering.

Reply 6 of 23, by retrotechrestoration

User metadata
Rank Newbie
Rank
Newbie
rpocc wrote on 2024-02-25, 12:51:
Hi to all. Today I would like to introduce here my complete Arduino project: PALDump, version 1.0 1.3 […]
Show full quote

Hi to all.
Today I would like to introduce here my complete Arduino project: PALDump, version 1.0 1.3

Couple of weeks ago I was trying to revive one of my VGA cards, specifically Hedaka OTIVGA, which I've obtained with one of its PAL chips pulled off. I was struggling searching for an easy to build PAL dumper and to my surprise I coudn't find any related project based on Arduino board. Some PAL-related topics were discussed even here, on Vogons, but neither of them seemed to be simple enough to build with basic DIY tools. So, I've started developing one from scratch and made it to the first working release which I've decided to make public.

It uses Arduino MEGA-2560 mainly due up to 23 needed pins while Uno and other MEGA328-based modules have only 19 (including one shared with Serial RX) which barely enough for PAL16L8 and not enough for PAL20L8.

I've been trying to get a pal20l8 dumped for another Vogons member here - Some help with one interesting multifunction card (Multitech PC500+ II VIO) . Just straight up reading it with a Dataman was a no go, so I'm wondering if it might be either secured or combinatorial.

I was looking at your github, but the photo showing the Arduino connections wasn't clear to me. I have a MEGA-2560 and all the breadboard components. Could you assist me in setting it up for my pal20l8 chip?

Reply 7 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
retrotechrestoration wrote on 2024-06-11, 18:31:

I've been trying to get a pal20l8 dumped for another Vogons member here - Some help with one interesting multifunction card (Multitech PC500+ II VIO) . Just straight up reading it with a Dataman was a no go, so I'm wondering if it might be either secured or combinatorial.

I was looking at your github, but the photo showing the Arduino connections wasn't clear to me. I have a MEGA-2560 and all the breadboard components. Could you assist me in setting it up for my pal20l8 chip?

Have you tried looking into paldump.h? There is a list of connections in the commentary, where all pins of PAL chips are associated with respective MEGA2560 pins. The only sheet you may need to have in addition is detailed pinout with all MCU ports associated with Arduino pin numbering. Let me know if you need additional explanation, because currently I didn't make a clear picture of schematic of connections.

Reply 8 of 23, by retrotechrestoration

User metadata
Rank Newbie
Rank
Newbie
rpocc wrote on 2024-06-12, 05:57:
retrotechrestoration wrote on 2024-06-11, 18:31:

I've been trying to get a pal20l8 dumped for another Vogons member here - Some help with one interesting multifunction card (Multitech PC500+ II VIO) . Just straight up reading it with a Dataman was a no go, so I'm wondering if it might be either secured or combinatorial.

I was looking at your github, but the photo showing the Arduino connections wasn't clear to me. I have a MEGA-2560 and all the breadboard components. Could you assist me in setting it up for my pal20l8 chip?

Have you tried looking into paldump.h? There is a list of connections in the commentary, where all pins of PAL chips are associated with respective MEGA2560 pins. The only sheet you may need to have in addition is detailed pinout with all MCU ports associated with Arduino pin numbering. Let me know if you need additional explanation, because currently I didn't make a clear picture of schematic of connections.

Yes, I've looked at those diagrams. I'm not sure what you're referring to by Port 1 and Port 2, etc... the code references port G, but in the photo it looks like you're using just port A.

Reply 9 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
retrotechrestoration wrote on 2024-06-12, 12:28:

Yes, I've looked at those diagrams. I'm not sure what you're referring to by Port 1 and Port 2, etc... the code references port G, but in the photo it looks like you're using just port A.

Sorry for being out for so long. I got it, yes it's a bit cryptic.
Ports 1, 2, 3 are defined in the .ino project file since you may want to redefine which ports you're using (eg for other AVR platform or in conjunction with other functions such as display, etc). In my sketch for 2560 it's A, C and K.

#define GLOBAL_PORT1 PORTA
#define GLOBAL_PORT2 PORTC
#define GLOBAL_PORT3 PORTK

Further, in the same file an instance of the class in constructed using these three entities passed as arguments

PALDump PLA(globalPALType, &GLOBAL_PORT1, &GLOBAL_PORT2, &GLOBAL_PORT3, 1);

Reply 10 of 23, by Giants

User metadata
Rank Newbie
Rank
Newbie

Hi here.

Glad to hear that such a project is underway.
I have some PAL16L8 I'd like to dump. (oldschool computer interface)
I have already try to dump them with interfaces available on the net (ex : duPal) without success.
Of course, they are protected against reading.

I'm going to follow this project closely and why not participate when it's stable.

See You

Reply 11 of 23, by kinetix

User metadata
Rank Member
Rank
Member
retrotechrestoration wrote on 2024-06-11, 18:31:

I've been trying to get a pal20l8 dumped for another Vogons member here - Some help with one interesting multifunction card (Multitech PC500+ II VIO) . Just straight up reading it with a Dataman was a no go, so I'm wondering if it might be either secured or combinatorial.

I was looking at your github, but the photo showing the Arduino connections wasn't clear to me. I have a MEGA-2560 and all the breadboard components. Could you assist me in setting it up for my pal20l8 chip?

And I hope you manage to read it. I'll keep waiting for it
Once I have it I'll have to take it to a GAL20V, which are the ones I have available for now.

Last edited by kinetix on 2024-11-30, 04:31. Edited 2 times in total.

Reply 12 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
kinetix wrote on 2024-09-13, 19:25:

And I hope you manage to read it. I'll keep waiting for it
Once I have it I'll have to take it to a GAL22V, which are the ones I have available for now. I'll have to make some kind of adapter, in addition to setting the unused inputs to 0 (or 1)

Look at my last comment here. The ports are assigned in the main file, in defines.

Reply 13 of 23, by kinetix

User metadata
Rank Member
Rank
Member
retrotechrestoration wrote on 2024-06-11, 18:31:

I've been trying to get a pal20l8 dumped for another Vogons member here - Some help with one interesting multifunction card (Multitech PC500+ II VIO) . Just straight up reading it with a Dataman was a no go, so I'm wondering if it might be either secured or combinatorial.

I was looking at your github, but the photo showing the Arduino connections wasn't clear to me. I have a MEGA-2560 and all the breadboard components. Could you assist me in setting it up for my pal20l8 chip?

Hi. Any luck with the PAL?
I've been looking into how it's connected, to see if it's really possible to replace it with one of the kind of equivalent GALs I have, so far it seems that it is. All the missing components have been restored and everything has been polished, only the PAL is missing.
I asked the guys at theretroweb for help, so they could ask the person who helped them with this card, and it seems that it's someone on their team, but I have to remind them.
I was hoping for at least a truth table, of the outputs for all combinations of inputs, from there on things can be done.

Reply 14 of 23, by Adriand1281

User metadata
Rank Newbie
Rank
Newbie

Hi Using your solution I read the truth table from the PAL16v8 chip, then I used "Espresso Logic Minimizer" and I got stuck. I don't really understand how I can now get the logical conditions to recreate the code. I used "Espresso Logic Minimizer online" I had a problem running the local version. I would like some advice on how to move forward.
.i 10
.o 6
.ilb p15 p14 p11 p9 p7 p6 p5 p3 p2 p1
.ob p19 p18 p17 p16 p13 p12
#.phase 000000
.p 10
--0------0 000010
0---0----- 000001
-0--1----- 000001
-------0-1 100000
---0---0-- 100000
--------01 010000
---0----0- 010000
------0--1 001000
---0--0--- 001000
-----0---- 000100
.e

Reply 15 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
Adriand1281 wrote on 2024-12-23, 16:30:

Hi Using your solution I read the truth table from the PAL16v8 chip, then I used "Espresso Logic Minimizer" and I got stuck. I don't really understand how I can now get the logical conditions to recreate the code. I used "Espresso Logic Minimizer online" I had a problem running the local version. I would like some advice on how to move forward.

The original utility has command line parameters determining the form of its output.

Usually I just use bat file with the followng commands: (I just drag and drop the file containing the dumped truth table into this bat file having espresso.exe in the same directory)

espresso -Dexact -Dmany -o eqntott %1 > %1.eqn.txt
espresso -Dexact -Dmany %1 > %1.min.txt

The first file converts the truth table to equations, and seconds outputs minimized truth table which looks like yours.

This command file gave me this result, which can be used as equation section in a pld file with some miniscule edits. (character "|" is replaced with "#" and all equations are wrapped into "!()" due to negative phase at all outputs)

#.phase 000000
p19 = (!p3&p1) | (!p9&!p3);
p18 = (!p2&p1) | (!p9&!p2);
p17 = (!p5&p1) | (!p9&!p5);
p16 = (!p6);
p13 = (!p11&!p1);
p12 = (!p15&!p7) | (!p14&p7);

Let's take a closer look at your file to understand the logic:

.i 10
.o 6
.ilb p15 p14 p11 p9 p7 p6 p5 p3 p2 p1
.ob p19 p18 p17 p16 p13 p12

The first two lines tell that your chip has effectively 10 inputs and 6 outputs; some of pins are just not used.
Next two lines defines names for these I/O and were automatically named by serial output of my code.

#.phase 000000
.p 10

.Phase derictive tells that outputs are active low, which is important because that means that output inverters should be active for each output. Most of the time PALs are programmed exactly this way: the most short equation turns outputs low state, any other case — high state.
IIRC, the .p directive determines the number of entries containing minimized truth table: there are exactly 10 lines in your output.

--0------0 000010

Look at the active bits at the right part and non-dashed bits at the left part: there are two input pins which state being LOW affects the 5th output, so when they are LOW, the output will be active, e.g. as well, LOW. Other times it's HIGH, so it can be expressed with the following logical equation: p13 = !(!p11&!p1);
That means that pin 13 is negated ((negated pin11) and (negated pin1)). In C language this would look like p11 = !((!p11)&(!p1))

Next two lines:

0---0----- 000001
-0--1----- 000001

There are two entries which turn output 6 to the active state, so this translates to two ORed clauses: p12 = !((!p15&!p7) # (!p14&p7));
(in CUPL # is the same as | in C: OR operator)

Other lines work the same way.

The working pld file which can be compiled in WinCUPL should look something like this:

Name     DEVICE_NAME ;
PartNo 00 ;
Date 24.12.2024 ;
Revision 01 ;
Designer Your Name ;
Company Your Company ;
Assembly None ;
Location ;
Device G16V8MA ;

PIN 1 = p1;
PIN 2 = p2;
PIN 3 = p3;
PIN 4 = p4;
PIN 5 = p5;
PIN 6 = p6;
PIN 7 = p7;
PIN 8 = p8;
PIN 9 = p9;

PIN 12 = p12;
PIN 13 = p13;
PIN 16 = p16;
PIN 17 = p17;
PIN 18 = p18;
PIN 19 = p19;

p19 = !((!p3&p1) # (!p9&!p3));
p18 = !((!p2&p1) # (!p9&!p2));
p17 = !((!p5&p1) # (!p9&!p5));
p16 = !(!p6);
p13 = !(!p11&!p1);
p12 = !((!p15&!p7) # (!p14&p7));

So, with Atmel WinCUPL you can create a project, insert this code into it and compile the JED file for the specified device, which later can be programmed into suitable GAL or ATF chip with TL866 or other suitable programmer.

Hope, that will help you and also will work as a tutorial for similar questions on this subject.

Good luck with cloning your PAL!

Reply 16 of 23, by rkurbatov

User metadata
Rank Member
Rank
Member
rpocc wrote on 2024-03-16, 15:52:

2. VGA OTI037C_1037162003_REV_A
3. VGA OTI037C_1037164002_REV_D
4. VGA OTI037C_Hedaka_HED-622

Wow, OTI 037C. Don't you have card with tow 16v8 cards? Some help here could be needed: Oak Technology VGA-16 (OTI-037C based mda/cga/ega/vga) video card schematics?

Even if you have one - seems like second PAL on our boards is for managing the 8/16 bit BIOS reads so for the second one the code should be pretty same.

Could you help please with jed-files (I suppose I can convert them back to equations) and probably pinouts of your cards?

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 17 of 23, by rpocc

User metadata
Rank Newbie
Rank
Newbie
rkurbatov wrote on 2024-12-23, 21:49:
Wow, OTI 037C. Don't you have card with tow 16v8 cards? Some help here could be needed: Oak Technology VGA-16 (OTI-037C based md […]
Show full quote
rpocc wrote on 2024-03-16, 15:52:

2. VGA OTI037C_1037162003_REV_A
3. VGA OTI037C_1037164002_REV_D
4. VGA OTI037C_Hedaka_HED-622

Wow, OTI 037C. Don't you have card with tow 16v8 cards? Some help here could be needed: Oak Technology VGA-16 (OTI-037C based mda/cga/ega/vga) video card schematics?

Even if you have one - seems like second PAL on our boards is for managing the 8/16 bit BIOS reads so for the second one the code should be pretty same.

Could you help please with jed-files (I suppose I can convert them back to equations) and probably pinouts of your cards?

According to the pinout provided by Strakh, your boards have PALs, identical to my Hedaka (the particular IC is U8 U9! on mine)

All necessary PLD and JED files are provided here:
https://github.com/rpocc/PALDump/tree/8787c80 … _Hedaka_HED-622

Last edited by rpocc on 2024-12-24, 20:39. Edited 1 time in total.

Reply 18 of 23, by Adriand1281

User metadata
Rank Newbie
Rank
Newbie
rpocc wrote on 2024-12-23, 21:34:
The original utility has command line parameters determining the form of its output. […]
Show full quote
Adriand1281 wrote on 2024-12-23, 16:30:

Hi Using your solution I read the truth table from the PAL16v8 chip, then I used "Espresso Logic Minimizer" and I got stuck. I don't really understand how I can now get the logical conditions to recreate the code. I used "Espresso Logic Minimizer online" I had a problem running the local version. I would like some advice on how to move forward.

The original utility has command line parameters determining the form of its output.

Usually I just use bat file with the followng commands: (I just drag and drop the file containing the dumped truth table into this bat file having espresso.exe in the same directory)

espresso -Dexact -Dmany -o eqntott %1 > %1.eqn.txt
espresso -Dexact -Dmany %1 > %1.min.txt

The first file converts the truth table to equations, and seconds outputs minimized truth table which looks like yours.

This command file gave me this result, which can be used as equation section in a pld file with some miniscule edits. (character "|" is replaced with "#" and all equations are wrapped into "!()" due to negative phase at all outputs)

#.phase 000000
p19 = (!p3&p1) | (!p9&!p3);
p18 = (!p2&p1) | (!p9&!p2);
p17 = (!p5&p1) | (!p9&!p5);
p16 = (!p6);
p13 = (!p11&!p1);
p12 = (!p15&!p7) | (!p14&p7);

Let's take a closer look at your file to understand the logic:

.i 10
.o 6
.ilb p15 p14 p11 p9 p7 p6 p5 p3 p2 p1
.ob p19 p18 p17 p16 p13 p12

The first two lines tell that your chip has effectively 10 inputs and 6 outputs; some of pins are just not used.
Next two lines defines names for these I/O and were automatically named by serial output of my code.

#.phase 000000
.p 10

.Phase derictive tells that outputs are active low, which is important because that means that output inverters should be active for each output. Most of the time PALs are programmed exactly this way: the most short equation turns outputs low state, any other case — high state.
IIRC, the .p directive determines the number of entries containing minimized truth table: there are exactly 10 lines in your output.

--0------0 000010

Look at the active bits at the right part and non-dashed bits at the left part: there are two input pins which state being LOW affects the 5th output, so when they are LOW, the output will be active, e.g. as well, LOW. Other times it's HIGH, so it can be expressed with the following logical equation: p13 = !(!p11&!p1);
That means that pin 13 is negated ((negated pin11) and (negated pin1)). In C language this would look like p11 = !((!p11)&(!p1))

Next two lines:

0---0----- 000001
-0--1----- 000001

There are two entries which turn output 6 to the active state, so this translates to two ORed clauses: p12 = !((!p15&!p7) # (!p14&p7));
(in CUPL # is the same as | in C: OR operator)

Other lines work the same way.

The working pld file which can be compiled in WinCUPL should look something like this:

Name     DEVICE_NAME ;
PartNo 00 ;
Date 24.12.2024 ;
Revision 01 ;
Designer Your Name ;
Company Your Company ;
Assembly None ;
Location ;
Device G16V8MA ;

PIN 1 = p1;
PIN 2 = p2;
PIN 3 = p3;
PIN 4 = p4;
PIN 5 = p5;
PIN 6 = p6;
PIN 7 = p7;
PIN 8 = p8;
PIN 9 = p9;

PIN 12 = p12;
PIN 13 = p13;
PIN 16 = p16;
PIN 17 = p17;
PIN 18 = p18;
PIN 19 = p19;

p19 = !((!p3&p1) # (!p9&!p3));
p18 = !((!p2&p1) # (!p9&!p2));
p17 = !((!p5&p1) # (!p9&!p5));
p16 = !(!p6);
p13 = !(!p11&!p1);
p12 = !((!p15&!p7) # (!p14&p7));

So, with Atmel WinCUPL you can create a project, insert this code into it and compile the JED file for the specified device, which later can be programmed into suitable GAL or ATF chip with TL866 or other suitable programmer.

Hope, that will help you and also will work as a tutorial for similar questions on this subject.

Good luck with cloning your PAL!

Thank you for your answer.

It clarified a lot for me. I compiled the shared code. I only added "declarations" of pins 11 14 15, the compiler required it.

Unfortunately, the truth table readings for the programmed system differ from the original. I am attaching the original and the read batch from the programmed system.

I also have a request for a link to the working "Espresso" program. I probably won't be able to move forward without it.

I also absolutely do not understand why during reading PIN 2
(p2) is recognized as "doesn't matter", and PIN 4(p4), which is not even declared in the program, is "OK".

Reply 19 of 23, by rkurbatov

User metadata
Rank Member
Rank
Member
rpocc wrote on 2024-12-24, 00:22:

According to the pinout provided by Strakh, your boards have PALs, identical to my Hedaka (the particular IC is U8 on mine)

All necessary PLD and JED files are provided here:
https://github.com/rpocc/PALDump/tree/8787c80 … _Hedaka_HED-622

Thank you very much!

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300