Introduction - The 82s123, 82s23, 72s288 and 72s188 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.
The PCB - The blank PCB is available here. The rest of the parts you can buy via Digikey, Ebay, and others.
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.
Parts required - The parts for this project can be purchased from Digikey, Ebay. Electronic hobbyists will likely have some of these parts already available in your parts collection.
You can download this list in Excel format here. You can also access a direct link to some of the key parts from Digikey here.
Reference | Qty | Value | Note | DigiKey or Ebay Part # | Footprint |
C1 | 1 | 100pF | Capacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm | ||
C2 | 1 | 33 uF | 25v | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | |
C3, C9 | 2 | 100 uF | 25v | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | |
C4 | 1 | 22 uF | 25v | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | |
C5 | 1 | 0.1 uF | Capacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm | ||
C6 | 1 | 0.01uF | Capacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm | ||
C7 | 1 | 220 uF | 10v | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | |
C8 | 1 | 330pF | Capacitor_THT:C_Disc_D9.0mm_W2.5mm_P5.00mm | ||
C10 | 1 | 10 uF | 25v | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | |
D1, D2, D3, D4, D5, D6, D7, D8, D9 | 9 | LED | 8 Green, 1 Red | LED_THT:LED_D5.0mm | |
D10, D11 | 2 | 1N5821 | Diode_THT:D_DO-201AD_P15.24mm_Horizontal | ||
J1 | 1 | DIP 16 ZIF Socket | Ebay "dip 16 zif socket" | Socket:DIP_Socket-16_W4.3_W5.08_W7.62_W10.16_W10.9_3M_216-3340-00-0602J | |
J2 | 1 | Conn_01x03_Pin | 277-1578-ND | TerminalBlock:TerminalBlock_Altech_AK300-3_P5.00mm | |
L1 | 1 | 68 uH | Inductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07P | ||
L2 | 1 | 15 uH | Inductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07P | ||
Q1 | 1 | VP3203N3 | VP3203N3-G-ND | Package_TO_SOT_THT:TO-92 | |
R1 | 1 | 1.3K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R2 | 1 | 15K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R3, R9 | 2 | 0.5 Ohm | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R4 | 1 | 180 | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R5 | 1 | 470 | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R6 | 1 | 10K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R7 | 1 | 1.3K | .25 watt (In previous versions this was 4.7k, but was changed to 1.3k to provide timing support for both 82s123 and 74s288) |
Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R8, R12 | 2 | 1K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R10 | 1 | 13K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R11 | 1 | 82K | .25 watt (In previous versions this was 91k, but was changed to 82k to provide voltage support for both 82s123 and 74s288) | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
R13, R14, R15, R16, R17, R18, R19, R20 | 8 | 1.5K | .25 watt | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | |
SW1, SW2, SW3, SW4, SW5 | 5 | SW_SPDT | 2449-ANT11SF1CQE-ND | PromFootprints:ANT11SF1CQE | |
SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18 | 8 | SW_Push_DPDT | 141-TL2202OAYA-ND | PromFootprints:TL2202OAYA | |
SW20 | 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H5mm | ||
SW21 | 1 | SW_DPDT | 2449-ANT21SECQE-ND | PromFootprints:ANT21SECQE | |
U1 | 1 | LM555xN | 555 Timer DIP8 | Package_DIP:DIP-8_W7.62mm | |
U2, U3 | 2 | MC34063AP | Package_DIP:DIP-8_W7.62mm | ||
U4 | 1 | TC4429 | Package_DIP:DIP-8_W7.62mm | ||
U1, U2, U3, U4 | 4 | DIP8 Sockets | (Optional) | ||
PC Power Supply Cable | 1 | Ebay item - 112095154991 | |||
Power Supply - 12v and 5v | 1 | PC or Arcade | |||
Schematic
*Update 6/23/2024 -
Error in Version 1.4 - There is a missing trace in version 1.4 that causes LED D8 to constantly say lit. This may not be obvious if you are just testing with an already written 82s123, but you will see this it if you load in a completely blank 82s123. You can fix this by jumpering the top center pin of SW18 to pin 9 of the ZIF socket. Sorry for the mistake here. v1.3 does not have this problem.
72s288 and 74s188 Programming- . These chips are interchangeable, but require slightly less voltage and pulse time when programming. To add support for these chips on an existing programmer, change R7 from 4.7K to 1.3K and R11 from 91K to 82K. This will lower the VCC voltage from 10v to 9.5v and shorten the pulse time from 1 sec to .3 sec.
*Update Jan 2024 -
Old Version 1.3 Problem and Fix - Unfortunately the 1.3 version of this board had a design flaw and a small number were shipped this way. All new v1.4 boards have this problem fixed. On the 1.3 board, the address switches are backwards. For example, address 20 is backwards as 00101 instead of correctly being 10100. If you have one, I'm happy to provide a refund and you can keep the 1.3 board or provide a corrected replacement. If you do want to fix your v1.3 board, you'd need to cut 4 traces and add 4 jumpers. Sorry for the mistake and message me if you have any questions.
Cut these 4 traces...
Add 4 jumpers...
Comments (1)
Appreciate the detailed instructions and errata notes for the various previous versions. Just built a v1.5 pcb with 82S23 configuration. Works well! One suggestion on parts list documentation, clarify notes for R7 and R11 to more explicitly match the instruction text. Typo in R11. Something like: R7 - 4.7K for 82S23 or 1.3k for 74S288 (timing) and R11: 91K for 82S23 or 82K for 74S288 (voltage level). Perfect tool for my current restoration projects.