How To: Erase and Write SST 27SF512 EPROMs with a Willem burner
This is what works for me. Your mileage may vary. Proceed at your own risk.
Some people seem to be having trouble using 27SF512 EPROM chips with Willem burners, so here is what works for me...
Make your software look like this...
Select the chip from the Device menu, under "EPROM Electrical Erase"
-> SST27SFxxx -> SST27SF512. And make sure the icon bar says
"PCB3" instead of "Willem"... I think they are really the same, but the
PCB3 option displays the DIP switch like it is on my Willem board. The
8000 offset is used to write the primary program; if you have a Moates
2-timer, write the secondary program with a zero offset.
Set the DIP switch and jumper on the board to match the circle in this picture (ignore the arrows for now)...
Press Ctrl + E in the software to use the erase function. It will bring
up a dialog box about setting a jumper. It is now that you look at the
arrows in the picture above, and press the right-most button until the
green LED for W27C (far right) is lit. Click "OK" when you have done
this.
The progress bar on the software probably wont move right now (if it
does, the chip may be bad), but you should see some lights on the board
flash. Let them flash 3 or so times, then press that right-most button
once to turn off the W27C LED. The progress bar on the software should
then move and confirm that the chip is now blank. If the software
timed-out and showed an error message before you pressed the button to
turn off the W27C LED, that is ok... just do the erase procedure again.
I have found that I sometimes have to do this intentionally with chips
that have been subjected to a little static discharge; they require
extra time with the W27C light lit to erase them.
Once you get it to confirm that the chip is blank, you can then load an
ECU program into the software and write it to the chip. It should write
and verify without problems. If you try to write the chip again without
erasing it first, it will fail when it goes to verify it. However, if
you want to write a secondary program on the chip, then do not erase
it. FYI, if you write a program at the 8000 offset first, and then go
to write the other program at the 0 offset, it is normal for it to fail
the verify on the last byte (ie when it gets to the program that you
put at 8000 offset).