Skip to the content
PCBKitNew board
2 layers258.4 × 104.1 mmTralala8088homebrew, the printed circuit board in 3D

Tralala8088homebrew

ppsilv/my_pcxt

A try to make a pc-xt boar with SRAM

Size
258.4 × 104.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
90
Nets
205
Pads
593
Tracks, vias
1,948, 238
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
16 Nov 2024
Updated
2 Apr 2025

Overview

Tralala8088homebrew is an open-source printed circuit board by ppsilv, from the ppsilv/my_pcxt repository on GitHub. It is a 2-layer board of 258.4 × 104.1 mm with 90 parts on 205 nets, routed with 1,948 tracks and 238 vias.

It is built around the 74HCT245, 74HCT373D and 74HCT00D, with the 74HCT138D and 30R160UU among its other parts. Its parts include 24 capacitors, 15 ICs, 13 resistors, 12 connectors and 11 diodes. It belongs with the PIC boards of this library.

Main components

5

README

README.md

my_pcxt

A try to make a pc-xt board with SRAM

PC-XT I/O Addresses

PIC 8259 The PC/XT ISA system has one 8259 controller, and the port numbers for configuring it are: Port 0x20: The master PIC's port A Port 0x21: The master PIC's port B

The IBM PC XT uses a single 8259 Programmable Interrupt Controller (PIC) chip that interfaces with the system through the following I/O locations: Ports 20h/0A0h: The command register, which is write only, and the status register, which is read only Ports 21h/0A1h: Corresponds to the slave PIC 8259 – The eCS Dump The BIOS traditionally maps the 8259 PIC's eight interrupt requests (IRQs) to interrupts 8 to 15 (0x08 to 0x0F). The PIC manages hardware interrupt requests in an interrupt driven system environment. When an I/O device requires service, it signals the PIC via one of the PIC's seven interrupt request (IR) input lines. The PIC then activates the INT line, which is connected to the CPU INTR line.

TIMER 8253 On PCs the address for timer0 (chip) is at port 40h..43h and the second timer1 (chip) is at 50h..53h. Port 40h Port 41h Port 42h Port 43h

On x86 PCs, many video card BIOS and system BIOS will reprogram the second counter for their own use. Reprogramming typically happens during video mode changes, when the video BIOS may be executed, and during system management mode and power saving state changes, when the system BIOS may be executed. This prevents any serious alternative uses of the timer's second counter on many x86 systems.

As stated above, Channel 0 is implemented as a counter. Typically, the initial value of the counter is set by sending bytes to the Control, then Data I/O Port registers (the value 36h sent to port 43h, then the low byte to port 40h, and port 40h again for the high byte). The counter counts down to zero, then sends a hardware interrupt (IRQ 0, INT 8) to the CPU. The counter then resets to its initial value and begins to count down again. The fastest possible interrupt frequency is a little over a half of a megahertz. The slowest possible frequency, which is also the one normally used by computers running MS-DOS or compatible operating systems, is about 18.2 Hz. Under these real mode operating systems, the BIOS accumulates the number of INT 8 calls that it receives in real mode address 0040:006c, which can be read by a program.

Parallel Port LPT1: 0x378 (or occasionally 0x3BC) (IRQ 7) LPT2: 0x278 (IRQ 6).

IBM defined three standard port base addresses for the parallel printer port in the IBM PC: Port R/W IOAddr Bits Function: Data Out W Base+0 D0-D7 8 LS TTL outputs Status In R Base+1 S3-S7 5 LS TTL inputs Control Out W Base+2 C0-C3 4 TTL Open Collector outputs Common base addresses for parallel ports include: LPT1: 0x378 (or occasionally 0x3BC) (IRQ 7) LPT2: 0x278 (IRQ 6). A parallel port is a type of interface that allows computers to connect to various peripherals. The most common configuration for a standard parallel port is the Centronics port, which has 25 pins.

PORTS Common I/O Port Addresses

text
Port addresses are not always constant across PC, AT and PS/2
Unless marked, port addresses are relative to PC and XT only

000-00F  8237 DMA controller
000 Channel 0 address register
001 Channel 0 word count
002 Channel 1 address register
003 Channel 1 word count
004 Channel 2 address register
005 Channel 2 word count
006 Channel 3 address register
007 Channel 3 word count
008 Status/command register
009 Request register
00A Mask register
00B Mode register
00C Clear MSB/LSB flip flop
00D Master clear temp register
00E Clear mask register
00F Multiple mask register


020-02F  8259A Master Programmable Interrupt Controller
020 8259 Command port  (see 8259)

// 060-06F 8042 Keyboard Controller (AT,PS/2) // 060 8042 Keyboard input/output buffer register // 061 8042 system control port (for compatability with 8255) // 064 8042 Keyboard command/status register

text
070 CMOS RAM/RTC, also NMI enable/disable (AT,PS/2, see RTC)
071 CMOS RAM data  (AT,PS/2)

080 Manufacturer systems checkpoint port (used during POST)
080-090  DMA Page Registers
081 High order 4 bits of DMA channel 2 address
082 High order 4 bits of DMA channel 3 address
083 High order 4 bits of DMA channel 1 address

090-097  POS/Programmable Option Select  (PS/2)
090 Central arbitration control Port
091 Card selection feedback
092 System control and status register
094 System board enable/setup register
095 Reserved
096 Adapter enable/setup register
097 Reserved

0A0 NMI Mask Register (PC,XT) (write 80h to enable NMI, 00h disable)
0A0-0BF  Second 8259 Programmable Interrupt Controller (AT, PS/2)
0A0 Second 8259 Command port  (see 8259)
0A1 Second 8259 Interrupt mask register  (see 8259)

0C0 TI SN76496 Programmable Tone/Noise Generator (PCjr)

Parts

90
QtyValueFootprintReferences
17100nFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC3, C4, C5, C6, C7, C8, C10, C11, C13, C14, C15, C16, C20, C21, C23, C24 +1
410KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R6, R7, R8
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
3100Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR9, R10, R11
31N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD5, D9, D10
32N3904Package_TO_SOT_THT:TO-92_HandSolderQ1, Q2, Q3
374HCT373Package_DIP:DIP-20_W7.62mmU8, U9, U10
222pFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC18, C19
2510Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R4
2CONN_01X10Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalP6, P9
2Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalP1, P5
11000 uFCapacitor_THT:CP_Radial_D13.0mm_P5.00mmC1
1100uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC17
11N4002Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR13
120.000 MHzCrystal:Crystal_HC49-U_VerticalY2
1220nFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC22
1270Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
130R160UFuse:Fuse_Littelfuse_395SeriesF1
1330nFCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC2
14.7KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5
14.7uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC12
147KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR12
15.6 VDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD2
16-30 MHzCrystal:Crystal_HC49-U_VerticalY1
174HCT00Package_DIP:DIP-14_W7.62mmU1
174HCT138Package_DIP:DIP-16_W7.62mmU13
174HCT245Package_DIP:DIP-20_W7.62mmU6
17805Package_TO_SOT_THT:TO-220-3_VerticalU2
18088Socket:DIP_Socket-40_W11.9_W12.7_W15.24_W17.78_W18.5_3M_240-1280-00-0602JU5
18259APackage_DIP:DIP-28_W15.24mmU7
18284Package_DIP:DIP-18_W7.62mmU3
18288Package_DIP:DIP-20_W7.62mmU4
182C55APackage_DIP:DIP-40_W15.24mmU14
1AS6C4008Package_DIP:DIP-32_W15.24mmU11
1BARREL_JACKConnector_BarrelJack:BarrelJack_HorizontalCON1
1BT151-500RT.127Package_TO_SOT_THT:TO-220-3_VerticalD11
1Conn_01x05_FemaleConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalP4
1Conn_01x10Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalP10
1DDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD3
1Flash Write ProtectConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP2
1LA1034 Logicport ConnectionConnector_IDC:IDC-Header_2x20_P2.54mm_VerticalP3
1LED_GREENLED_THT:LED_D5.0mmD8
1LED_REDLED_THT:LED_D5.0mmD6
1LED_YELLOWLED_THT:LED_D5.0mmD7
1NMIConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalP2
1PIC ISPConnector_IDC:IDC-Header_2x03_P2.54mm_VerticalP7
1PIC18(L)F4550-I/P or PIC18(L)F4553-I/PPackage_DIP:DIP-40_W15.24mmU15
1PowerLED_THT:LED_D5.0mmD4
1RESET_8088Button_Switch_THT:SW_PUSH_6mm_H5mmSW1
1RESET_PICButton_Switch_THT:SW_PUSH_6mm_H5mmSW2
1ROM type selConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1SST39SF040Socket:DIP_Socket-32_W11.9_W12.7_W15.24_W17.78_W18.5_3M_232-1285-00-0602JU12
1USB_BConnector_USB:USB_B_Lumberg_2411_02_HorizontalP8
1~{TEST}Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalP11

The 89 most common of 90 parts.

Questions

How big is the Tralala8088homebrew PCB?

It measures 258.4 × 104.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tralala8088homebrew use?

90 parts, built around the 74HCT245, 74HCT373D, 74HCT00D and 74HCT138D. 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 Tralala8088homebrew KiCad files?

From the ppsilv/my_pcxt repository on GitHub, at the commit this page was made from: the board is INSUMOS/tralala-8088-homebrew-code-r196-trunk-hw-8088/tralala8088homebrew.kicad_pcb and its schematic INSUMOS/tralala-8088-homebrew-code-r196-trunk-hw-8088/8088system.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tralala8088homebrew design in my own project?

Its repository states no licence, so its author keeps all rights: ask ppsilv before reusing the design.

Similar boards

  • 4 layers304.8 × 330.2 mm2000ATX, the printed circuit board in 3D

    2000ATX

    jasonsbeer/Amiga-2000-EATX

    An Amiga 2000 PCB in the EATX form factor.

    614 parts200GPL-3.0
  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 2 layers368.3 × 215.9 mmTTL 6510 Computer fab, the printed circuit board in 3D

    TTL 6510 Computer fab

    StefansAI/TTL-6510-Computer

    Yet another CPU made from TTL chips

    330 parts1
  • 2 layers172.1 × 108 mmMb88-testboard, the printed circuit board in 3D

    Mb88-testboard

    ifilot/morseboard-8088

    Single board computer designed around the 8088 processor

    81 parts
  • 4 layers244.5 × 393.4 mm8-bit cpu, the printed circuit board in 3D

    8-bit cpu

    nurk/8-bit-cpu

    8-bit CPU

    458 parts
  • 2 layers150 × 90 mmCPUandGlueLogic, the printed circuit board in 3D

    CPUandGlueLogic

    daveho/DIY8bit

    Files and resources for DIY 8 bit computer video series

    37 parts19
  • 4 layers280 × 140 mmP8x memory card, the printed circuit board in 3D

    P8x memory card

    ksr/p8x

    Generated by generators/genkicad.py from the canonical geneagle netlist (CARDS["peripheral-card"]), same standard as the memory card: 4-layer (F/B signals, In1=GND, In2=VCC planes), a bypass cap above each IC, a…

    36 parts
  • 4 layers230 × 100 mmEda, the printed circuit board in 3D

    Eda

    nojan1/project-wrass

    The purpose of Project Wrass is to develop the Wrass 1.

    80 parts