EPROMr Frequently Asked Questions
FAQ Index (Updated: 23-Nov-1998)
IMPORTANT: This FAQ does not
detail troubleshooting procedures for mis-constructed EPROMr hardware. It
is assumed that the hobbyist has sufficient skill to follow the assembly
instructions accurately. Incorrect construction can result in almost any
conceivable problem.
Question: Can I buy
this project as a kit? Can I buy it fully assembled?
Answer:
At this time, there is nothing for sale on zws.com; we
provide software and hardware engineering services only, not manufacturing.
However, the V2.0 and V3.0 EPROMr may
be available in kit form from one or more third parties, and zws.com will
feature ordering links as soon as the products are available.
Jump back to index
Question:
Why are smaller (2732, 2716, 2708) devices not supported?
Reason:
The 2732 and smaller EPROMs use significantly older technology
than more modern, higher-density chips. As a result, they require a Vpp
(program pulse) voltage of 21V or 25V. The EPROMr 2.0 circuit, as illustrated,
supplies a non-programmable fixed 12.5V program pulse which makes it compatible
with the vast majority of modern EPROMs.
In order to lower project cost and complexity, the regulation
and switching circuits required to support multiple programming voltages
and 24-pin devices have been consciously omitted from the EPROMr design.
The 2708 also requires a negative power supply rail. The
construction of a suitable power supply is trivial, but it is not documented
nor supported as part of the EPROMr project at this time, since one of
the aims of the project was to be powerable from a simple off-the-shelf
DC plugpack.
Possible Workarounds:
Refer to the item "Enhancement: Adding support for
2716 and 2732 devices" for a detailed description of a possible modification
to the EPROMr design.
Jump back to index
Question: Can this
unit read and write EEPROM/FLASH chips?
Answer:
The V2.0 EPROMr will read 8-bit EEPROM and FLASH chips
with JEDEC pinouts. When reading these devices, configure the EPROMr and
software for the equivalent EPROM device. For example, to read a 28F020
chip, specify the chip type 27020 and set the DIP switches appropriately.
EEPROM write algorithms are very different from EPROM;
there is additional circuitry required as well as considerably more advanced
control software. Write support for these devices is not available in the
V2.0 EPROMr. You must build the EPROMr
3.0.
Jump back to index
Question: Can
I substitute 4020/4024/other chips for the 4040?
Answer:
The circuit design specifies 4040 ICs. No other type is
supported. If you use different ICs, you will need to modify the control
software. We cannot provide assistance with this.
Jump back to index
Problem: Cannot
burn 2764 chips at all
Applicable Hardware:
All EPROMr versions.
Reason:
Some older 2764 devices require a Vpp (program pulse)
voltage of 21V or 25V. The EPROMr 2.0 circuit, as illustrated, supplies
a non-programmable fixed 12.5V program pulse.
Possible Workarounds:
- (Recommended) Source and use only 2764 devices which
can be programmed with Vpp=12.5V.
- Increase the EPROMr's Vpp voltage to the required value
(21V or 25V, depending on chip vintage and manufacturer). You can achieve
this by increasing the DC supply voltage to approximately 30V and adjusting
VR1. WARNING: An EPROMr unit which has been modified in this way
cannot be used to burn 12.5V chips. Using a modified EPROMr to
burn devices specified for Vpp=12.5V will destroy the EPROMs being burned.
Jump back to index
Problem: Cannot
reliably burn certain brands of EPROM, particularly old Texas Instruments
27128 chips (circa 1989)
Applicable Hardware:
Parallel EPROMr only. This issue does not affect the serial
EPROMr.
Reason:
The EPROMr 2.0 design includes 33k pulldown resistors
on the EPROM data bus (which is connected directly to the host PC's parallel
port). These are necessary on a few PCs in order to work around peculiar
oddities of certain parallel port designs. On PCs which do not require
this pulldown workaround, it may not be possible to burn certain brands/batches
of EPROMs reliably, since the PC's parallel output buffers will not be
able to pull the data lines up far enough.
Fix:
Change the pulldown resistors into pullup resistors by
connecting their common leads to +5V instead of ground, or eliminate them
altogether.
Jump back to index
Problem: All bytes
read back are $FF (255 decimal)
Applicable Hardware:
Parallel EPROMr only. This issue does not affect the serial
EPROMr.
Reason:
The EPROMr 2.0 hardware requires a parallel port that
is compatible with the PS/2 specification for bidirectional operation.
Most modern systems should be compatible, but the factory-shipped settings
may disable this functionality.
Fix:
Check your system's CMOS settings for an option which
may be labeled "Parallel Port Mode", "Parallel Port Type",
or similar. Acceptable settings are "EPP", "EPP+ECP",
"EPP1.7", "EPP1.9", "ECP", "Enhanced",
"Bi-Direct","Bidir", or similar. Settings "SPP",
"Standard", and "Normal" are not compatible with the
EPROMr V2.0 hardware.
Exception:
Certain notebook systems, including the Toshiba Portegé
T3400 series and others based on the same logic board, and the NEC Versa
S, have fundamentally incompatible parallel port hardware. Even in "Bi-Direct"
mode, these systems will not work reliably with the parallel EPROMr. You
must use the EPROMr 3.x on these systems.
Jump back to index
Problem: Reading
the same chip twice yields different results.
Applicable Hardware:
All EPROMr versions.
Reason:
There are several possible causes for this problem, including:
- Excessively long cable between PC and EPROMr (parallel
version only).
- Electrical noise on data bus.
- Host timing error and/or incorrectly specified counter
ICs.
- Damaged or incorrectly specified counter ICs.
- Intermittent connection due to poor construction.
Fix:
Suggested fixes for the causes listed above are:
- Use a parallel cable no longer than 1.5m.
- Try the read operation with no chip in the device socket
and your hand resting on the pins of the socket. If the file read back
is not all $FF bytes (255 decimal), you have a noise problem. Keep your
hands well clear of the EPROMr while reading or burning. Verify that the
pullup resistors on the data bus are wired correctly and are not open circuit.
Installing the project in a grounded metal box may help with this problem.
- Your machine may be under-timing the width of the clock
pulses so that it falls outside the minimum active time for the particular
counter IC variant you have chosen (metal-gate CMOS or 74HC series). This
is characterized by "streaks" of the same byte in a chip dump,
as the counter stays at the same address for several (a semi-random number)
of byte read operations due to a too-short clock pulse. If you are using
the parallel EPROMr, try in this order: turning off your PC's "turbo"
function, disabling level 2 cache systems, and using the alternate timing
switch for the EPROMr control software. If all these methods fail (or if
you are using the serial EPROMr), and you are using CD4040 parts, try using
the specified 74HC4040 parts instead.
- Replace the counter ICs with known-good parts of the
specified type (74HC4040).
- Verify all connections with a continuity tester and resolder
any which are suspect.
Also refer to this troubleshooting
note.
Jump back to index
Problem: Erratic
results reading and/or burning chips on Pentium(r)-class PCs.
Applicable Hardware:
Parallel EPROMr only. This issue does not affect the serial
EPROMr.
Reason:
The EPROMr R2.x uses the host's CMOS real-time clock for
timing. On certain systems, mostly fast Pentiums, this timing method fails
and the counter ICs are clocked too quickly.
Fix:
You must download the latest
software archive, which contains control software version 2.0.2. This
version has a new switch '-h' which is designed to combat the Pentium timing
problem. This switch will not work properly inside Windows or OS/2.
It will also make the read/burn process considerably slower, so you should
avoid using this switch if it is not necessary for your PC.
The EPROMr 3.x has
internal hardware timing and does not suffer from this problem.
Jump back to index
Problem: Burn
operations are always partially unsuccessful the first time around.
Applicable Hardware:
Parallel EPROMr only. This issue does not affect the serial
EPROMr.
Reason:
The EPROMr R2.0 design does not permit fast burn/verify,
burn/verify operation. Some chips (especially older devices) require longer
Vpp pulse widths than the EPROMr default. Running the same burn operation
multiple times should show a rapidly shrinking number of errors; after
three or four burns at the most, you should have a perfectly burned chip.
For example, 1989-vintage SGS-Thompson 27512s may yield
similar results to this:
First pass 1700 errors
Second pass 6 errors
Third pass 0 errors
Fix:
You must run the burn operation again until it verifies
successfully. Because of this design artifact in the R2.0 parallel EPROMr,
it is STRONGLY RECOMMENDED that you do NOT disable auto-verify-after-burn
mode.
The EPROMr 3.x supports
the RAPID burn algorithm (among others) and does not suffer from this problem.
Jump back to index
Enhancement:
Adding support for 2716 and 2732 devices.
Applicable Hardware:
Parallel EPROMr version 2.x only. This procedure is not
documented for the serial EPROMr.
Abstract & Caveats:
The only major modification required to support 2716 and
2732 devices is the provision of a 21V or 25V program pulse (Vpp) voltage.
Some minor changes are also required to bring the correct signals to the
device pins, and the control software needs some small modifications.
Parts Required:
1 x LM317T (IC1b)
1 x 24-pin wire-wrap IC socket OR 1 x 24-pin regular IC socket
1 x DPDT toggle switch (SW1)
1 x SPDT toggle switch (SW2)
1 x BC547 transistor (Q1b)
1 x BC557 transistor (Q2b)
1 x 240R 1% metal-film resistor (R1b)
1 x 33K 5% resistor (R10b)
1 x 82K 5% resistor (R11b)
1 x 10K trimpot (VR1b)
Details:
This is a special case of the EPROMr generic mode, documented
more generally in this FAQ under the heading "Enhancement: General process for reading and/or burning any 8-bit device
of up to 2^24 octets (16Mbyte/128Mbit).
There are two processes which need to be carried out in
order to support 2716 and 2732 devices. The first of these is to add support
for the higher programming voltage required by these older devices. The
second is to route the correct signals to the pins of a 24-pin socket to
accept the 2716/2732 device.
Refer to the EPROMr 2.0 PSU schematic diagram. You must
build a second regulator section which duplicates the circuit comprised
of IC1, R1 and VR1. We will designate the parts in this new regulator section
IC1b, R1b, and VR1b. The output of this stage, we will designate Vppb.
Now, refer to the EPROMr 2.0 logic board diagram. Vppb
should be fed to a switching circuit comprised of Q1b, Q2b, R10b and R11b.
This circuit duplicates the illustrated circuit comprised of Q1, Q2, R10
and R11. The switch line (the free end of R10b) is connected to pin 16
of the D25 connector. The switched output (the collector of Q2b) is the
program pulse line for the 2716/2732 device - read below for more information
on where to connect this.
Before proceeding to the second stage of this modification,
you must adjust the new regulator. The DC input voltage to the EPROMr needs
to be increased to approximately 30V. Once you have connected a suitable
DC supply, use VR1 to recalibrate the output of Q2 to ensure it is still
12.5V, and use VR1b to calibrate the output of Q2b to ensure it is 21V
or 25V (according to the specifications of the EPROMs you are using).
The second stage of the modification is to provide the
correct address, power and control signals to a socket into which the 24-pin
2716 or 2732 can be inserted. There are two methods by which the second
stage of the modification can be achieved. The first is to wire a separate
24-pin socket onto the EPROMr board to accept these old devices; the second
is to use a 24-pin wire-wrap socket.
If you are using the latter technique, take your wire-wrap
socket and clip short pins 24, 21 and 20.
Pin 24 is the Vcc pin on a 2716 or 2732, and the clipped
socket leg should be led direct to a convenient +5V take-off on the EPROMr
mainboard.
Clipped-off pins 20 and 21 should be connected as follows:

The following matrix illustrates the switch settings (when
the switches are viewed from behind, and oriented as shown above):
| Device |
Mode |
SW1 |
SW2 |
| 2716 |
Read/verify/blank check |
Up |
Down |
| Write |
Up |
Up |
| 2732 |
Any |
Down |
Don't care |
IMPORTANT: The settings above
assume you are using toggle switches. If you are using slide switches,
all entries in the above table should be inverted (down <-> up)
All pins not mentioned are identical to the lower 24 pins
on the 27512. Insert the wire-wrap socket into the device socket on the
EPROMr, set the EPROMr 2.0 DIP switches for a 27512 chip, and you are ready
to read and burn 2716/2732 devices.
An alternative to the above procedure is to wire an ordinary
24-pin socket in parallel with the low 24 pins of the 32-pin socket on
the EPROMr, with the additional circuitry and altered connections as described
above; this has the advantage of allowing you simply to plug 24-pin devices
into the 24-pin socket, and 28/32-pin devices into the 32-pin socket, without
needing to reconnect or disconnect any wires. It also allows you to use
a ZIF socket if you wish.
The command line for burning 2716 devices is:
eprom -tgeneric -v2048 -w filename
To read 2716 devices:
eprom -tgeneric -v2048 filename
To burn 2732 devices:
eprom -tgeneric -v4096 -w filename
To read 2732 devices:
eprom -tgeneric -v4096 filename
REMEMBER TO SET SW1 AND SW2 APPROPRIATELY!
Notes:
- 2732A and 2732B (half-2732, quality control return) chips
are not supported. Depending on how the manufacturer implemented these
devices, you may be able to write them as 2732s (ignore verify errors).
- This modification is not officially supported on any
version of the EPROMr hardware.
Jump back to index
Enhancement: General
process for reading and/or burning any 8-bit device of up to 2^24 octets
(16MByte/128MBit).
Applicable Hardware:
All EPROMr versions up to and including serial version
2.1.
Abstract:
Control software V2.0.1 supports a new "generic"
mode. In this mode, all chip type switching is assumed to be performed
by user-supplied external hardware (e.g. DIP switches). The 24 output lines
from the two counters are thus all available for addressing functions.
The general procedure for constructing a reader for any device is then
to connect the outputs of the counters to the address inputs of the device
to be read, the parallel port data bus lines to the device's data lines,
and (if required) the switched Vpp line to the device's Vpp pin. Any required
chip select or mode control lines must be tied to the required state with
external wires or switches.
For more information on how to use generic mode, refer
to the documentation for the EPROMr control software.
This generic mode allows easy construction of readers
for video game console cartridges and other such devices.
WARNING: Ensure you have the
right to examine and/or modify the copyrighted contents of such devices.
Note:
Please mail any unusual or hard-to-find chip pinouts to
Lewin A.R.W. Edwards. They may be added
as officially supported devices in future revisions of the hardware and/or
software.
Jump back to index
|