EPROM Programmers   (A.K.A. EPROM Burners)

There is no universal programmer that will program every kind of EPROM (or PIC, etc.) that you will ever encounter.
The technical documentation for each programmer will contain a list of chips that the programmer supports.
When browsing such a list, you may notice that some of the listed chips will not fit into the programmer's IC socket.  That is certainly an indicator that an adapter of some kind will be required. (Example.)
Normally, you determine in advance what kind of chips you'll be programming, and choose your programmer accordingly.  For my needs, I have two different models.
Ideally, get a modern USB based programmer.  Ensure that the software supplied will run on your modern PC.
Modern USB based programmers are good. Normally, the programming sequence for an EPROM is:
   1. Connect programmer to a USB port on the your modern computer.
   2. Run software that was supplied with programmer.
   3. Tell the software the part number of the EPROM that you are going to program. (Example: HN482764)
   4. As directed, insert the EPROM into the programmer's IC socket.  A diagram is normally shown to indicate position and orientation (example).
   5. Get the software to check that the EPROM is blank.
   6. Into the software, upload the code that is to be programmed into the EPROM.
   7. Get the software to program the EPROM.
   8. Get the software to verify that the EPROM contents are now as expected. This may be done automatically for you.
Avoid the Willem units. Cheap, but:
  - The software is designed for Windows XP.  With some work, it may be possible to get operation on later versions of Windows (e.g. see here).
  - There are jumpers and switches that need to be constantly changed.  Often, you forget to change them, or you do it wrong.
  - Requires that your computer have a parallel port.  Some people have thought, "I have no parallel port, and so I will buy a USB-to-parallel adapter.", not knowning that such adapters are unsuitable - they are designed for parallel printers only.
  - The USB connection is for power only.
With USB based programmers, the USB port can supply a certain amount of power, and for most chips, that will suffice.  But early chips draw a lot of power when they are being programmed.  If your programmer supports those early power-hungry chips, and you go to program one, the programmer software will normally indicate to you that you are to connect an external power supply to the programmer (example).
You will notice that the makers of programmers are quite specific about the make/model of EPROMs that they support, and the EPROM programmer requires that you specify the make/model of EPROM that you are about to program.  For example, HN482764 versus TMS2764 (both 2764 class)?  Why is that?
  - One example of many: 27256 class EPROMs.  They have the same pinout, but from a programming perspective, there can be some subtle differences between the various make/models, differences that the EPROM programmer caters for when it programs the chip.
  - Different makers of the 2716 EPROM have used different pinouts.
This subject has been discussed many times on the Vintage Computer Forums (VCF).
I suggest that you search the VCF site. Use the Google search text of   site:www.vcfed.org eprom burner
Pointers to additional EPROM information are at here.