ole00 / afterburner

GAL chip programmer for Arduino
166 stars 46 forks source link

GAL6001/GAL6002 support #37

Closed rhgndf closed 1 year ago

rhgndf commented 1 year ago

Read and write support. Reading PES works.

ole00 commented 1 year ago

Thanks for that. I'll have to buy some of these 6001B GALs off aliexpress :)

rhgndf commented 1 year ago

Read and erase works. Writing does not work, reading the chip back gives all 1s. No idea why.

This is what is read back before the erase, could not get it to be written:

JEDEC file for GAL6001
*QP24*QF8294*QV0*F0*G0*X0*
L0000 111111111111111111111111111111111111111111111111111111111111111111111111111111101011111111111111111111101010101010*
L0114 111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111*
L0228 111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111*
L0342 111111111011111111111111110111111111111111111111111111111111111111111111111111111111111111111111011111111111111111*
L0456 111111111011111111111111111101111111111111111111111111111111111111111111111111111111111111111101111111111111111111*
L0570 111111111111101111111111111111111111111111111111111111111011111111111111111111111111111111110111111111111111111111*
L0684 111111111011111111111111111111011111111111111111111111111111111111111111111111111111111111110111111111111111111111*
L0798 111111111011111111111111111111110111111111111111111111111111111111111111111111111111111111011111111111111111111111*
L0912 111111011101111111111101110111111111111111111111111111111111111111111111111111111111111111111111111111111111011111*
L1026 111111011101111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111011111*
L1140 111101011101111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111011111*
L1254 111111010101111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111011111*
L1368 110111011101111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111011111*
L1482 111010011011111111111110011111111111110111111111111111111111111111111111111111111111111111111111111111111111011111*
L1596 111111111111110111111111111111111111111111111111111111111111111111111111111111111101010101111111111111111111111111*
L1710 111111111111111111111111110111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L1824 111111011101111111111101111101111111111111111111111111111111111111111111111111111111111111111111111111111101111111*
L1938 111111011101111111111111101101111111111111111111111111111111111111111111111111111111111111111111111111111101111111*
L2052 111101011101111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111101111111*
L2166 111111010101111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111101111111*
L2280 110111011101111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111101111111*
L2394 111010011011111111111110011111111111111101111111111111111111111111111111111111111111111111111111111111111101111111*
L2508 111111111111111111111111111101111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L2622 111111011101111111111101111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111*
L2736 111111011101111111111111101111011111111111111111111111111111111111111111111111111111111111111111111111110111111111*
L2850 111101011101111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111*
L2964 111111010101111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111*
L3078 110111011101111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111*
L3192 111010011011111111111110011111111111111111011111111111111111111111111111111111111111111111111111111111110111111111*
L3306 111111111111111111111111111111011111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L3420 111111011101111111111101111111110111111111111111111111111111111111111111111111111111111111111111111111011111111111*
L3534 111111011101111111111111101111110111111111111111111111111111111111111111111111111111111111111111111111011111111111*
L3648 111101011101111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111011111111111*
L3762 111111010101111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111011111111111*
L3876 110111011101111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111011111111111*
L3990 111010011011111111111110011111111111111111110111111111111111111111111111111111111111111111111111111111011111111111*
L4104 111111111111111111111111111111110111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L4218 111010111111101101111110011111111111111111101111111111111111111111111111111111011111111111111111111111111111111111*
L4332 111111101111111111111111111111111111111111111111111111111111111111111111111111010111111111111111111111111111111111*
L4446 111111111111111110111111111111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L4560 111111111111111111111101111111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L4674 111111111111111111111111101111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L4788 111101111111111111111111111111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L4902 111111111111011111111111111111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L5016 110111111111111111111111111111111111111111111111111111110111111111111111111111011111111111111111111111111111111111*
L5130 111111111111111111111101111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5244 111111111111111111111111101111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5358 111111111111111101111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5472 111101111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5586 111111111111011111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5700 110111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L5814 111111111111111111111111111111111111111011111111111111111111111111111111111111110111111111111111111111111111111111*
L5928 111111111111111111111111111111111111111101111111111111111111111111111111111111110111111111111111111111111111111111*
L6042 111111111111111111111111111111111111111111101111111111111111111111111111111111110111111111111111111111111111111111*
L6156 111111111111111111111111111111111111111111110111111111111111111111111111111111110111111111111111111111111111111111*
L6270 111111111111101111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111110101*
L6384 111111111011111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111110101*
L6498 111111111111101111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101*
L6612 111111111011111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101*
L6726 111111111111101111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111*
L6840 111111111011111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111*
L7296 111001111111111111110111111111111111011111111111111111111111111111111111111111*
L7374 111001111111111111110111111111111111011111111111111111111111111111111111111111*
L7452 111001111111111111110111111111111111011111111111111111111111111111111111111111*
L7530 111001111111111111110111111111111111011111111111111111111111111111111111111111*
L7608 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L7686 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L7764 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L7842 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L7920 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L7998 111111111111111111110111111111111111111111111111111111111111111111111111111111*
L8154 10010010010010010000001010011001010101010101010101010101010101011111*
N UES FF FF FF FF FF FF FF FF FF*
L8222 111111111111111111111111111111111111111111111111111111111111111111111111*
N PES 00 05 41 A1 CD A6 03 00*
CB240
*
ole00 commented 1 year ago

Writing does not work: If you can sacrifice one of your 6001 GAL, check the VPP during programming. According to the PES from 6001 you shared above, the VPP required to program the chip is 14.5V, but Afterburner reduces it by 2V (mainly because of ATF GALs - need VPP 10V, and the fact the Lattice chips are happy being programmed by VPP 12V ). If you look at line 1223 there is this code:

//Afterburnes seems to work with programming voltages reduced by 2V
vpp -= 8; // -2V

Try to reduce that gradually (every writing attempt) by value 2. So next attempt : vpp -=6, the next one vpp-=4, the next one vpp-=2 etc. Hopefully one of the VPP voltage will work. It might be that 6001 really needs VPP 14.5 V for the fuses to be written.

rhgndf commented 1 year ago

Thanks for the suggestion! However it didn't work down to vpp -= 0;. The 6001 is still fine though, the PES reads back ok.

rhgndf commented 1 year ago

It works! After looking at the code for V10, turns out the implementation is a bit different.

rhgndf commented 1 year ago

Ok, seems like my GAL6002 has the PES wiped for some reason. Programming this multiplier generated from the ispLEVER Classic example project seems to work, but the PES shows all 0s. Did not manage to get the write PES to work to fix this.

ispLEVER Classic 1.8.00.04.29.14 Lattice Semiconductor Corp.
JEDEC file for: F6002 V1.2
Created on: Mon Oct 02 00:39:34 2023

4-bit Multiplier
*
QP24* QF8330* QV64* F0*
 X0*
NOTE DEVICE NAME: GAL6002B-15LP*
NOTE Table of pin names and numbers*
NOTE PINS a2:1 a1:2 a0:3 b2:6 b1:7 b0:8 p5:15 p4:16 p3:17 p2:18 p1:19*
NOTE PINS p0:22*
L0000 111101111111110111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111*
L0114 111101111111011011111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0228 110110111111110111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0342 110110111111011011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L0456 110111111111100111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0570 111001111111011111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0684 110110111101110111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L0798 111001111101111011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L0912 110111111110011011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1026 011101111111011011111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L1140 011110111111100111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1254 010101111111010111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L1368 011010111111110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1482 011010111111011111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L1596 011101111101010111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1710 010101111101110111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1824 010111111101011111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1938 010110111101101111111111111111111111111111111111111111111111111111111111111111111101011111111111111111111111111111*
L2052 010101111101101011111111111111111111111111111111111111111111111111111111111111111101010111111111111111111111111111*
L2166 011010111101111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2280 011011111101111011111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2394 011001111101100111111111111111111111111111111111111111111111111111111111111111111101011111111111111111111111111111*
L2508 011101111110110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L2622 011111111110011011111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L2736 010111111110010111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2850 011011111110011111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L2964 100110111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L3078 101101111101110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L3192 100110111101111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L3306 100101111101011111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L3420 100101111101101111111111111111111111111111111111111111111111111111111111111111111111010111111111111111111111111111*
L3534 100101111110010111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L3648 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3762 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3876 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3990 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4104 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4218 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4332 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4446 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4560 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4674 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4788 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4902 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5016 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5130 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5244 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5358 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5472 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5586 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5700 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5814 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5928 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6042 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6156 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6270 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6384 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6498 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6612 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6726 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6840 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6954 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7068 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7182 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7374 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7608 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7686 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7764 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7842 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7920 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L8182 0101*
L8186 0101*
L8190 0101*
L8194 0101*
L8198 0101*
L8210 0101*
L8218 1111111111111111111111111111111111111111*
L8258 010000010100011001010100010001010101001001000010010101010101001001001110*
V0001 000XX000XXXNXXLLLLLXXLXN*
V0002 000XX001XXXNXXLLLLLXXLXN*
V0003 000XX010XXXNXXLLLLLXXLXN*
V0004 000XX011XXXNXXLLLLLXXLXN*
V0005 000XX100XXXNXXLLLLLXXLXN*
V0006 000XX101XXXNXXLLLLLXXLXN*
V0007 000XX110XXXNXXLLLLLXXLXN*
V0008 000XX111XXXNXXLLLLLXXLXN*
V0009 001XX000XXXNXXLLLLLXXLXN*
V0010 001XX001XXXNXXLLLLLXXHXN*
V0011 001XX010XXXNXXLLLLHXXLXN*
V0012 001XX011XXXNXXLLLLHXXHXN*
V0013 001XX100XXXNXXLLLHLXXLXN*
V0014 001XX101XXXNXXLLLHLXXHXN*
V0015 001XX110XXXNXXLLLHHXXLXN*
V0016 001XX111XXXNXXLLLHHXXHXN*
V0017 010XX000XXXNXXLLLLLXXLXN*
V0018 010XX001XXXNXXLLLLHXXLXN*
V0019 010XX010XXXNXXLLLHLXXLXN*
V0020 010XX011XXXNXXLLLHHXXLXN*
V0021 010XX100XXXNXXLLHLLXXLXN*
V0022 010XX101XXXNXXLLHLHXXLXN*
V0023 010XX110XXXNXXLLHHLXXLXN*
V0024 010XX111XXXNXXLLHHHXXLXN*
V0025 011XX000XXXNXXLLLLLXXLXN*
V0026 011XX001XXXNXXLLLLHXXHXN*
V0027 011XX010XXXNXXLLLHHXXLXN*
V0028 011XX011XXXNXXLLHLLXXHXN*
V0029 011XX100XXXNXXLLHHLXXLXN*
V0030 011XX101XXXNXXLLHHHXXHXN*
V0031 011XX110XXXNXXLHLLHXXLXN*
V0032 011XX111XXXNXXLHLHLXXHXN*
V0033 100XX000XXXNXXLLLLLXXLXN*
V0034 100XX001XXXNXXLLLHLXXLXN*
V0035 100XX010XXXNXXLLHLLXXLXN*
V0036 100XX011XXXNXXLLHHLXXLXN*
V0037 100XX100XXXNXXLHLLLXXLXN*
V0038 100XX101XXXNXXLHLHLXXLXN*
V0039 100XX110XXXNXXLHHLLXXLXN*
V0040 100XX111XXXNXXLHHHLXXLXN*
V0041 101XX000XXXNXXLLLLLXXLXN*
V0042 101XX001XXXNXXLLLHLXXHXN*
V0043 101XX010XXXNXXLLHLHXXLXN*
V0044 101XX011XXXNXXLLHHHXXHXN*
V0045 101XX100XXXNXXLHLHLXXLXN*
V0046 101XX101XXXNXXLHHLLXXHXN*
V0047 101XX110XXXNXXLHHHHXXLXN*
V0048 101XX111XXXNXXHLLLHXXHXN*
V0049 110XX000XXXNXXLLLLLXXLXN*
V0050 110XX001XXXNXXLLLHHXXLXN*
V0051 110XX010XXXNXXLLHHLXXLXN*
V0052 110XX011XXXNXXLHLLHXXLXN*
V0053 110XX100XXXNXXLHHLLXXLXN*
V0054 110XX101XXXNXXLHHHHXXLXN*
V0055 110XX110XXXNXXHLLHLXXLXN*
V0056 110XX111XXXNXXHLHLHXXLXN*
V0057 111XX000XXXNXXLLLLLXXLXN*
V0058 111XX001XXXNXXLLLHHXXHXN*
V0059 111XX010XXXNXXLLHHHXXLXN*
V0060 111XX011XXXNXXLHLHLXXHXN*
V0061 111XX100XXXNXXLHHHLXXLXN*
V0062 111XX101XXXNXXHLLLHXXHXN*
V0063 111XX110XXXNXXHLHLHXXLXN*
V0064 111XX111XXXNXXHHLLLXXHXN*
C87BB*
C82F

Read back jed:

JEDEC file for GAL6002
*QP24*QF8330*QV0*F0*G0*X0*
L0000 111101111111110111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111*
L0114 111101111111011011111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0228 110110111111110111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0342 110110111111011011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L0456 110111111111100111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0570 111001111111011111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111*
L0684 110110111101110111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L0798 111001111101111011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L0912 110111111110011011111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1026 011101111111011011111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L1140 011110111111100111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1254 010101111111010111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L1368 011010111111110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L1482 011010111111011111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L1596 011101111101010111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1710 010101111101110111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1824 010111111101011111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111*
L1938 010110111101101111111111111111111111111111111111111111111111111111111111111111111101011111111111111111111111111111*
L2052 010101111101101011111111111111111111111111111111111111111111111111111111111111111101010111111111111111111111111111*
L2166 011010111101111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2280 011011111101111011111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2394 011001111101100111111111111111111111111111111111111111111111111111111111111111111101011111111111111111111111111111*
L2508 011101111110110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L2622 011111111110011011111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L2736 010111111110010111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L2850 011011111110011111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L2964 100110111111011111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L3078 101101111101110111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111*
L3192 100110111101111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L3306 100101111101011111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111*
L3420 100101111101101111111111111111111111111111111111111111111111111111111111111111111111010111111111111111111111111111*
L3534 100101111110010111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111111*
L3648 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3762 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3876 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L3990 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4104 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4218 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4332 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4446 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4560 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4674 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4788 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L4902 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5016 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5130 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5244 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5358 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5472 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5586 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5700 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5814 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L5928 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6042 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6156 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6270 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6384 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6498 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6612 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6726 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6840 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L6954 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7068 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7182 000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111*
L7374 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7608 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7686 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7764 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7842 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L7920 111111111111111111111111111111111111111111111111111111111111111111111111111111*
L8154 00000000000000000000000000000101010101010101010100000000010100001111111111111111111111111111111111111111*
N UES 82 62 2A A2 4A 42 AA 4A 72*
L8258 010000010100011001010100010001010101001001000010010101010101001001001110*
N PES 00 00 00 00 00 00 00 00*
C87BB
*
ole00 commented 1 year ago

Well done! And thanks for improving Afterburner.

ole00 commented 1 year ago

Just compiled afterburner.ino from your branch in Arduino IDE 2.1.0 and the linking failed:

Not enough memory; see https://support.arduino.cc/hc/en-us/articles/360013825179 for tips on reducing your footprint.
Sketch uses 18104 bytes (56%) of program storage space. Maximum is 32256 bytes.
Global variables use 2071 bytes (101%) of dynamic memory, leaving -23 bytes for local variables. Maximum is 2048 bytes.
data section exceeds available space in board

So basically we are out of RAM on UNO - did you have the same result? Did you compile for Arduino UNO board?

My previous build (without you new commits) were as follows:

Using library EEPROM at version 2.0 in folder: /home/ole/.arduino15/packages/arduino/hardware/avr/1.8.6/libraries/EEPROM 
/home/ole/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /tmp/arduino/sketches/782708B4E29C9B013FAD91040BA64208/afterburner.ino.elf
Sketch uses 15608 bytes (48%) of program storage space. Maximum is 32256 bytes.
Global variables use 1426 bytes (69%) of dynamic memory, leaving 622 bytes for local variables. Maximum is 2048 bytes.

Basically the new changes consume too much of RAM. I'll take a look how to optimise the code...

ole00 commented 1 year ago

Don't worry about it. I'll deal with the memory issue. I'll convert the 'static const unsigned char' array and declare them as PROGMEM (stored in flash only) which should free quite a lot of RAM. I'll modify the routines that access those arrays to fetch the bytes from the flash.

ole00 commented 1 year ago

OK. The fix was simple and easy. Now there is 365 bytes of RAM free. I've tested the code with GAL16V8 and ATF22V10C and all seems to work. Merging the request. Thanks again.