So, being not able to help with the electronic details, I'm still following the path "what, if PA.EXE has a bug?".
Hi Johann,
Your work really has the potential to help this problem considerably and could possibly become a key influence to achieve the solution to finally be able to reproduce a 5170 "from scratch" which is what we are trying to accomplish.
So if you can finally work out the last problems to be able to process the complete input terms, that is really valuable work for the 5170 recreation.
Since IBM has done some irregular things in U87 which I am certain were done out of pure necessity to be able to achieve a 5170 design that will even fit on a mainboard PCB, I hope we can ultimately recover the original equations by analyzing the information.
While looking at the compare results of U87 and the test GAL each time, I am encountering a problem in this work which is similar to the problem of processing the 27C020 BIN files into AND/OR lists of equations.
So in this matter it could be really helpful and possibly provide breakthrough information if I could employ some software assistance by a certain python analysis "toolbox".
If you have time and would be interested in looking into this, could you perhaps write a python script to process some information?
What would really help the process is as follows:
When I read the EPROM mode results, I will get the information in hexadecimal address positions which then refer to the output data.
I am already able to visually spot certain points of interest because I am doing a bit-wise compare which only leads to a few possible hex data values.
For example, only "0" and "2" in case of GATE_245.
So what I am going to do is to assemble lists of the hex addresses which are producing differences in the PAL output.
I will assemble lists with hex address values of:
- the first compare read analysis where U87 was producing 0 outputs while the test GAL was producing 1 outputs.
- my second analysis where a pull up resistor on /GATE_245 is revealing a floating or at least transitioning condition of /GATE_245 due to the fact of a resistor to VCC being present
So the input information will be
- a list of the input names with comma separation, ordered from LSB to MSB. (ordered from A0 to A12 for example), where the number of inputs is defined by how many names are provided.
- a text list of hexadecimal addresses which correspond with the binary values of those inputs.
This text based input file would list the hexadecimal positions where a certain occurrence presents itself in the analysis.
I attached a table of the inputs I am using now.
So the command syntax for providing the input names in this case would be something like:
Code:
-signal RAS,MEMW,IOR,AIOW,Q1,IO_CS_16,AEN_1,AEN_2,Q4,FSYS_16,RES_0WS,XA0,XBHE
So I need a conversion into the same
output = "A & B & !C" + !A & !B & C etc. equations in a similar fashion as you already did in your PAL analysis python script.
It would really help to be able to provide the input names and the address list of important positions so that the data can be converted into a list of equations which reflect the positions of interest.
If a script could output the resulting list of equations according to the binary value of each provided address in the same syntax as your python script you already made, that would be really useful and could save
me hours of work assembling all these positions by hand and converting them into "the input is true" or "the input is false" for each input bit.
If you have time, I would appreciate it if this were possible. It could possibly lead to big steps forward in the whole process.
Today I will wire up something to be able to test the complete GAL on the 5170 mainboard while supplying DMA_AEN using a separate AND gate.
I will post the results as soon as I know more.
This process is turning out to be really complex, I hope we can figure it out and get to the breakthrough moment where the 5170 will power up and actually provide a POST.
We will have uncovered the final key to the historic IBM design which resulted in the whole AT line of PC development since.
What IBM did was really so important and amazing, to provide true backwards compatibility with all 8 bit devices.
From the PAL we can see that detecting all these conditions was quite complex and must have taken some considerable development and testing time.
It's really a pity that we can't know some insider stories and information from this historic work floor back then!