This is the current version:
The tile ROM part seems to be correct, and it shouldn't break the ASIC communication, the rest is unknown. I think that a tri-state or input pin should read as '1' in the programmer.
I'll have to find some time to trace a bit more of the schematic...
Edit: Disconnected pin 1/clk, which makes o8 constant 1... so maybe that is a latch?
Edit: Just to mention, the source code above matches the original GAL 100% when dumped as an EPROM, though it doesn't work... I tried turning o8 into a latch, for i6, though it doesn't match the simulation - though the simulator in WinCUPL seems to be a bit poo, so I'll have to do more tests
Edit: Peeled the label off the original U14, it is a ATF22v10C-15PC. I don't remember any features it supports over plain GAL 22V10, though I'll have to check again.
Code:
PartNo FN_U14;
Date 11/10/2021;
Revision 01;
Designer Fluffy;
Company None;
Assembly None;
Location None;
Device g22v10;
Name FN_U14;
/* Inputs */
Pin 1 = i0;
Pin 2 = TA18;
Pin 3 = TA19;
Pin 4 = TA20;
Pin 5 = TA21;
Pin 6 = TA22;
Pin 7 = i6;
Pin 8 = U20_OE;
Pin 9 = i8;
Pin 10 = U15_Pin_8;
Pin 11 = i10;
Pin 13 = i11;
/* Outputs */
Pin 14 = INT_T_ROM_OE;
Pin 15 = T_ROM_OE;
Pin 16 = I_TA18;
Pin 17 = I_TA19;
Pin 18 = I_TA20;
Pin 19 = I_TA21;
Pin 20 = o6;
Pin 21 = U15_Pin_7;
Pin 22 = o8;
Pin 23 = o9;
/* Logic */
INT_T_ROM_OE = TA20 # TA22 # (TA18 & TA19) # TA21;
T_ROM_OE = (TA18 & TA19 & TA22) # (!TA19 & !TA20 & !TA21 & !TA22) # (TA20 & TA22) # (!TA18 & !TA20 & !TA21 & !TA22) # (TA21 & TA22);
I_TA18 = !TA18;
I_TA19 = (!TA18 & TA19) # (TA18 & !TA19);
I_TA20 = (!TA18 & !TA20) # (TA18 & TA19 & TA20) # (!TA19 & !TA20);
I_TA21 = (!TA18 & !TA20 & !TA21) # (TA20 & TA21) # (!TA19 & !TA20 & !TA21) # (TA18 & TA19 & TA21);
o6 = U15_Pin_8;
U15_Pin_7 = 'b'0;
o8 = !i6 # (!i0 & !TA18 & !TA19 & !TA20 & !TA21 & !TA22);
o9 = U20_OE;
I'll have to find some time to trace a bit more of the schematic...
Edit: Disconnected pin 1/clk, which makes o8 constant 1... so maybe that is a latch?
Edit: Just to mention, the source code above matches the original GAL 100% when dumped as an EPROM, though it doesn't work... I tried turning o8 into a latch, for i6, though it doesn't match the simulation - though the simulator in WinCUPL seems to be a bit poo, so I'll have to do more tests
Edit: Peeled the label off the original U14, it is a ATF22v10C-15PC. I don't remember any features it supports over plain GAL 22V10, though I'll have to check again.
Last edited: