Saturday, May 31, 2025

A Manual Programmer for 82s129, 82s126, 72s287, and 72s387 PROM Chips

Introduction  Updated version 1.1 .  The 82s129, 82s126, 72s287, and 72s387 are PROM chips that were commonly used in older arcade games, vintage PCs, and equipment from the 1970s and 80s.    Many modern programmers do not support these chips often making vintage electronics projects difficult to complete.   This manual programmer can be used to read and write these chips.     PROM chips are written by blowing tiny fuses inside the chip and can only be written once.   If you mistakenly pulse the wrong bit on, you'll need to start over with a new chip.    When completing this board, it is advisable to practice pulsing some blank locations on an already written "scratch" chip like I do in this video.    Note: We also have an 82s123 version 


Video


BOM -  Excel BOM download

ReferenceQtyValueNoteDigiKey or Ebay Part #Footprint
C11100pFCapacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm
C2133 uF63vCapacitor_THT:CP_Radial_D8.0mm_P3.50mm
C3, C92100 uF25vCapacitor_THT:CP_Radial_D8.0mm_P3.50mm
C4122 uF25vCapacitor_THT:CP_Radial_D8.0mm_P3.50mm
C510.1 uFCapacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm
C610.01uFCapacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm
C71220 uF10vCapacitor_THT:CP_Radial_D8.0mm_P3.50mm
C81330pFCapacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm
C10110 uF25vCapacitor_THT:CP_Radial_D8.0mm_P3.50mm
D1, D2, D3, D4, D95LED 4 Green, 1 RedLED_THT:LED_D5.0mm
D10, D1121N5821Diode_THT:D_DO-201AD_P15.24mm_Horizontal
J11DIP 16 ZIF SocketEbay "dip 16 zif socket"Socket:DIP_Socket-16_W4.3_W5.08_W7.62_W10.16_W10.9_3M_216-3340-00-0602J
J21Conn_01x03_Pin277-1578-NDTerminalBlock:TerminalBlock_Altech_AK300-3_P5.00mm
L1168 uHInductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07P
L2115 uHInductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07P
Q11VP3203N3VP3203N3-G-NDPackage_TO_SOT_THT:TO-92
R111.3K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R2115K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R3, R920.5 Ohm.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R41180.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R51470.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R6110K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R711.3K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R8, R1221K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R10113K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R11182K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
R13, R14, R15, R1641.5K.25 wattResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal
SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW88SW_SPDT2449-ANT11SF1CQE-NDPromFootprints:ANT11SF1CQE
SW11, SW12, SW13, SW144SW_Push_DPDT141-TL2202OAYA-NDPromFootprints:TL2202OAYA
SW201SW_PushButton_Switch_THT:SW_PUSH_6mm_H5mm
SW211SW_DPDT2449-ANT21SECQE-NDPromFootprints:ANT21SECQE
U11LM555xN555 Timer DIP8Package_DIP:DIP-8_W7.62mm
U2, U32MC34063APPackage_DIP:DIP-8_W7.62mm
U41TC4429Package_DIP:DIP-8_W7.62mm
U1, U2, U3, U44DIP8 Sockets(Optional)
PC Power Supply Cable1Ebay item - 112095154991
Power Supply - 12v and 5v1
PC or Arcade


Pictures




Operation - How do I use it?  This programmer is manual and requires understanding of both Binary and Hexadecimal numbers.   These chips are made up of 256 addresses each which hold 4 bits of data.   Both the addresses and the bits are just 1s and 0s, but often the data you need to write will be in hex format.

Example - Lets say you wanted to write the value "E" to address "100".   To do this, we need to figure out the binary values for both E (hex) and 100 (decimal).   There are many converters available online if you're unsure how to do this.

https://www.rapidtables.com/convert/number/hex-to-binary.html?x=E

E converts to 1110.   This is the value we want to write to the chip to be shown in the LEDs.   1110 = On-On-On-Off

We need to write this to address 100.   100 is decimal, so lets covert that to binary too.

https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=100

100 converted into binary is 1100100, but that is only 7 digits wide, so we need to add a leading 0.  1100100 = 01100100

01100100 is the address we want to write to.   To get to this address, we need to set the switches to match this pattern.

01100100 = Down-Up-Up-Down-Down-Up-Down-Down.

We are at the correct address so pulse On-On-On-Off to the LEDs here.

Repeat for all 256 addresses.

Power - This board requires +5v, +12v, and G which can be tapped from a PC or arcade power supply.    For PC power supply, you can use a standard hard drive power connector.  

Assembly - Note orientation of blue push buttons.  Don't accidentally install these backwards! 


Buy the PCB

Available on this site and ebay


Digikey List (key parts)

https://www.digikey.com/en/mylists/list/JAWGCR5KV5


Schematics



V1.0 Board Error FixI have found an error in version 1.0 of this board.   A small number of v1.0 boards were shipped with this error.   If you have one, please contact me for a replacement.  If you have already assembled one and want to fix it, you can cut these traces and add these jumpers.  Version v1.1 boards being sold now do not have this issue. 





Leave your comment