

ISA CGA
The Color Graphics Adapter Redux board is a more or less faithful clone of the original IBM CGA, based on the original schematics
- Size
- 337.6 × 105.7 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 170
- Nets
- 302
- Pads
- 1,403
- Tracks, vias
- 7,503, 328
- Pours
- 38
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 10 Jun 2021
- Updated
- 6 Jul 2026
Overview
ISA CGA is an open-source printed circuit board by hkzlab, from the hkzlab/CGA_Redux repository on GitHub. It is a 4-layer board of 337.6 × 105.7 mm with 170 parts on 302 nets, routed with 7,503 tracks and 328 vias.
It is built around the 74LS125DC, 74LS245SC and 27C256-17/J, with the 74LS374PC, 74LS51P-E and 74LS00SC among its other parts. Its parts include 79 capacitors, 69 ICs, 15 resistors, 5 connectors and 1 transistor. It belongs with the retro computing and games and lEDs and displays boards of this library.
Main components
1274LS125DC
-0℃~+70℃ 1 10ns@5.5V,50pF 15mA 18mA 24mA 4 4.5V~5.5V 74LS Power-off isolation、Output enable Tri-State Unidirectional - Buffers, Drivers, Receivers, TransceiversTexas InstrumentsBuffers, Drivers, Receivers, Transceivers74LS245SC
-0℃~+70℃ 12ns@5V,45pF 15mA 24mA 4.75V~5.25V 74LS 8 Bidirectional Output enable Schmitt trigger Tri-State - Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, Transceivers27C256-17/J
-0℃~+70℃ 256Kbit 4.5V~5.5V EPROM Parallel Port (Parallel) - Non-Volatile Memory (ROM)Microchip TechnologyNon-Volatile Memory (ROM)74LS374PC
PDIP-200ns 0℃~+70℃ 1 20ns 28ns@5V,45pF 35MHz 4.75V~5.25V 45mA 74LS Series 8 D-Type Rising Edge Tri-State PDIP-20 Flip FlopsonsemiFlip Flops74LS51P-E
DIP-14-20℃~+75℃ 2.7V 20ns@5V,15pF 2V 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA AND-OR-NOT gate DIP-14 Logic Gates ROHSRenesas ElectronicsLogic Gates74LS00SC
-0℃~+70℃ 15ns@5V,50pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA NAND Gate - Logic Gates ROHSTexas InstrumentsLogic Gates74LS04PC
PDIP-140℃~+70℃ 4.75V~5.25V 6 6.6mA 74LS PDIP-14 InvertersonsemiInverters74LS166AP-E
DIP-16-20℃~+75℃ 14ns@5V,15pF 25MHz 4.75V~5.25V 400mW 400uA 74LS 8 8mA Asynchronous clear function Parallel or Serial to Serial DIP-16 Shift Registers ROHSRenesas ElectronicsShift Registers74LS174DC
-0ns 0℃~+70℃ 1 16mA 20ns 30MHz 30ns@5V,15pF 4.75V~5.25V 400uA 6 74LS Series 8mA Asynchronous Push-Pull Reset Rising Edge - Flip Flops ROHSonsemiFlip Flops74S174DC
CDIP-160℃~+70℃ 1 12ns@5V,15pF 144mA 3ns 4.75V~5.25V 5ns 6 74S Series 75MHz Asynchronous D-Type Reset Rising Edge CDIP-16 Flip FlopsTexas InstrumentsFlip Flops74LS02PC
DIP-140℃~+70℃ 15ns@5V,15pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA 8mA NOR Gate DIP-14 Logic Gates ROHSonsemiLogic Gates74LS273PC
PDIP-201 15ns 27mA 27ns@5V,15pF 30MHz 5ns 74LS Series 8 D-Type Reset Rising Edge PDIP-20 Flip Flops ROHSonsemiFlip Flops
README
README.mdColor Graphics Adapter - Redux
Introduction
The Color Graphics Adapter (CGA) Redux board is a more or less faithful clone of the original IBM CGA, based on the original schematics.

Since revision 0.2 of this board, You can decide to build it with the "new" or "old" style composite output, giving you slightly different colours.
Have a look HERE for a blog post that discusses the difference in regard to the famous 8088MPH demo!
Disclaimer
I take NO responsibility for what happens if you decide to build and use this card. Your computer might crash, catch fire or be destroyed in other nasty ways. You're encourauged to take what you deem fit from this, and use it in your projects!
Functionalities
✅ means I tested the functionality and it works, ❌ means I tested the functionality and found issues, ? means that the functionality has yet to be tested.
- [✅] Digital display in text mode, 40 columns
- [✅] Digital display in text mode, 80 columns
- [✅] Composite display in text mode, 40 columns
- [✅] Composite display in text mode, 80 columns
- [✅] Graphics mode in digital
- [✅] Graphics mode in composite
- [✅] Run CheckIt video test
- [✅] 8088MPH Demo
- [?] Light pen input
Bill of Materials
| Component | Qty | Type / Value |
|---|---|---|
| TODO |
Character ROM
This board needs a character ROM to work. I would advise to search for a dump of IBM P/N 5788005, concatenate it four times and burn it on a 27C256 EPROM.
Component substitutions
- U4,U5 and U101 should all be 'S174s, but I had only 'LS174 available. The board looks to be working without issues anyway
- U50-U57 are all 120ns DRAMs in my original board. I had only 150ns chips for this build, and they worked fine
- U9,U10 are 74153 chips. I tried to replace them with 74LS153 chips by Texas Instruments with good results. Needs some testing with colored screens
- U50-U57 can be substituted by 41256 / 4164 DRAMs like the M5K4164 or HM4864P (the additional address lines are grounded). Tested with HM4864P
Support
If you wish to support me in building new hardware and software for old machines, throw a few euros in my direction via Ko-Fi ☕!
💰 Selling these boards 💰
I you want to contact me about selling this project, you can reach me via email at 0hkzUNDERSCOREprojects6ATposteoDOTnet after properly fixing the email address by removing the digits and replacing the uppercase words with the proper characters.
Contacts via other channels will be ignored, as it means you did not read this document thoroughly.
"Collaborations" will boil down to the following:
- If you wish to produce and share this project at a loss or at cost, go for it. I am only asking for attribution and to let me know via email.
- If you want to do it for profit, let's discuss it. I'll probably settle for a rough 5% of the profit. Importing components is getting more expensive by the day, so this will contribute to me making future projects available for free.
- I will NOT do customer assistance for you or your customers. This is a hobby, not my job.
If this is not ok for you, you're cordially invited to go bother someone else :)
Authorized sellers will be listed in this README. If you find someone selling my boards without being listed here, it means they're stealing other people's work.
Known issues
Rev 0
- The Composite video out has an inverted connection for that type of footprint. (fixed in rev 0.1)
- Silkscreen for U28 says 74LS10, but it's actually an 74S10 on an original board (fixed in rev 0.1)
- traces that connect the edge to the power planes for 5V and GND are a bit too thin for my taste (fixed in rev 0.1)
TODO
- ???
Credits
Thanks to Sergey Kiselev for his symbol/footprint library!
Parts
170| Qty | Value | Footprint | References |
|---|---|---|---|
| 70 | 100nF | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1, C2, C3, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C25, C28, C29 +54 |
| 8 | 2118 | Package_DIP:DIP-16_W7.62mm | U50, U51, U52, U53, U54, U55, U56, U57 |
| 6 | 47p | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C20, C21, C22, C23, C31, C32 |
| 5 | 74LS374 | Package_DIP:DIP-20_W7.62mm | U37, U58, U59, U60, U61 |
| 4 | 30 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R11, R12, R13, R14 |
| 4 | 74LS51 | Package_DIP:DIP-14_W7.62mm | U22, U27, U47, U48 |
| 3 | 10uF | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C24, C26, C27 |
| 3 | 74LS00 | Package_DIP:DIP-14_W7.62mm | U15, U25, U46 |
| 3 | 74LS04 | Package_DIP:DIP-14_W7.62mm | U6, U16, U20 |
| 3 | 74LS138 | Package_DIP:DIP-16_W7.62mm | U17, U18, U19 |
| 3 | 74LS166 | Package_DIP:DIP-16_W7.62mm | U7, U8, U32 |
| 3 | 74LS174 | Package_DIP:DIP-16_W7.62mm | U21, U39, U40 |
| 3 | 74LS244 | Package_DIP:DIP-20_W7.62mm | U24, U36, U67 |
| 3 | 74S174 | Package_DIP:DIP-16_W7.62mm | U4, U5, U101 |
| 2 | 680 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5, R7 |
| 2 | 74153 | Package_DIP:DIP-16_W7.62mm | U9, U10 |
| 2 | 74LS02 | Package_DIP:DIP-14_W7.62mm | U49, U65 |
| 2 | 74LS08 | Package_DIP:DIP-14_W7.62mm | U13, U41 |
| 2 | 74LS273 | Package_DIP:DIP-20_W7.62mm | U34, U35 |
| 2 | 74LS32 | Package_DIP:DIP-14_W7.62mm | U23, U30 |
| 2 | 74LS74 | Package_DIP:DIP-14_W7.62mm | U2, U11 |
| 2 | 74LS86 | Package_DIP:DIP-14_W7.62mm | U42, U68 |
| 2 | 74S04 | Package_DIP:DIP-14_W7.62mm | U26, U29 |
| 2 | 74S74 | Package_DIP:DIP-14_W7.62mm | U43, U44 |
| 1 | 0 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R90 |
| 1 | 130 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R17 |
| 1 | 1X4 BERG | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | P1 |
| 1 | 1X6 BERG | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | P2 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R6 |
| 1 | 20 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 27C256 | Package_DIP:DIP-28_W15.24mm | U33 |
| 1 | 2N3904 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | 2k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R18 |
| 1 | 360 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R20 |
| 1 | 3k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R19 |
| 1 | 74LS125 | Package_DIP:DIP-14_W7.62mm | U62 |
| 1 | 74LS151 | Package_DIP:DIP-16_W7.62mm | U45 |
| 1 | 74LS164 | Package_DIP:DIP-14_W7.62mm | U64 |
| 1 | 74LS175 | Package_DIP:DIP-16_W7.62mm | U63 |
| 1 | 74LS245 | Package_DIP:DIP-20_W7.62mm | U66 |
| 1 | 74LS393 | Package_DIP:DIP-14_W7.62mm | U12 |
| 1 | 74S08 | Package_DIP:DIP-14_W7.62mm | U31 |
| 1 | 74S10 | Package_DIP:DIP-14_W7.62mm | U28 |
| 1 | 74S112 | Package_DIP:DIP-16_W7.62mm | U1 |
| 1 | 74S32 | Package_DIP:DIP-14_W7.62mm | U14 |
| 1 | 74S86 | Package_DIP:DIP-14_W7.62mm | U3 |
| 1 | 75 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 750 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R8 |
| 1 | Bus_ISA_8bit | My_Components:Conn_Edge_PCB_ISA8 | P5 |
| 1 | COMPOSITE OUT | My_Components:Conn_RCA_Right | J1 |
| 1 | Comp Mod | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabels | JP1 |
| 1 | MC6845 | Package_DIP:DIP-40_W15.24mm | U38 |
| 1 | RGBI Output | Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm | J2 |
Similar boards
- 2 layers190.6 × 172.4 mm

- 4 layers254 × 137.7 mm

S100 ColorMagic-1.1-006
RichCini/LomasBoards
Small repository of files/data related to Lomas Data Products S-100 boards.
150 parts1 - 2 layers236.8 × 169.8 mm

TK2000
clemarfolly/Microdigital-TK2000
Reprodução da PCB do TK-2000 da Microdigital, clone do Micro-Professor MPF-II
212 parts17 - 2 layers450 × 160 mm

- 4 layers218.4 × 114 mm

Video v2.0
ksr/YACC1-D
YACC1 (Yet Another Custom CPU) - definitive tree: hardware, firmware, software, tools and docs for the hand-built TTL computer. Supersedes ksr/YACC1-2020.
121 parts - 2 layers190.5 × 77.5 mm

NinthWave512K
XekriRedmane/ninth_wave_256k
Reverse engineered Ninth Wave memory expansion board for Apple IIe.
69 partsMIT - 2 layers320 × 150 mm

- 2 layers630 × 300 mm

Questions
How big is the ISA CGA PCB?
It measures 337.6 × 105.7 mm and has 4 copper layers, 1.6 mm thick.
What parts does the ISA CGA use?
170 parts, built around the 74LS125DC, 74LS245SC, 27C256-17/J and 74LS374PC. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the ISA CGA KiCad files?
From the hkzlab/CGA_Redux repository on GitHub, at the commit this page was made from: the board is ISA_CGA.kicad_pcb and its schematic CGA_1_6.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the ISA CGA design in my own project?
Its repository states no licence, so its author keeps all rights: ask hkzlab before reusing the design.