

Tralala8088homebrew
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
574HCT245
DIP-20-40℃~+85℃ 28ns@4.5V 4.5V~5.5V 6mA 6mA 74HCT 8 8uA Bidirectional TTL-compatible CMOS Tri-State DIP-20 Buffers, Drivers, Receivers, Transceivers ROHSWuxi I-core Elec74 Series74HCT373D
SO-20-300mil-40℃~+125℃ 12ns 160uA 17ns 4.5V~5.5V 4ns 6mA 6mA 74HCT 8 D Latch Tri-State SO-20-300mil Latches ROHSNexperiaLatches74HCT00D
SO-14-40℃~+125℃ 100mV、400mV 12ns@4.5V,50pF 2 2V 3.7V、4.4V 4 4.5V~5.5V 40uA 4mA 4mA 74HCT Series 800mV NAND Gate Overvoltage-tolerant input TTL Compatible CMOS SO-14 Logic Gates ROHSNexperiaLogic Gates74HCT138D
SO-16-40℃~+125℃ 160uA 20ns@4.5V,50pF 3/8 4.5V~5.5V 4mA 4mA 74HCT Decoder Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers30R160UU
插件-40℃~+85℃ 1.6A 110mΩ 3.2A 30V 30mΩ 40A 8s 900mW 插件 Resettable Fuses ROHSLittelfuseResettable Fuses
README
README.mdmy_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
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
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| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 100nF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C3, C4, C5, C6, C7, C8, C10, C11, C13, C14, C15, C16, C20, C21, C23, C24 +1 |
| 4 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2, R6, R7, R8 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 3 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R9, R10, R11 |
| 3 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D5, D9, D10 |
| 3 | 2N3904 | Package_TO_SOT_THT:TO-92_HandSolder | Q1, Q2, Q3 |
| 3 | 74HCT373 | Package_DIP:DIP-20_W7.62mm | U8, U9, U10 |
| 2 | 22pF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C18, C19 |
| 2 | 510 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3, R4 |
| 2 | CONN_01X10 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | P6, P9 |
| 2 | Conn_01x02_Male | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | P1, P5 |
| 1 | 1000 uF | Capacitor_THT:CP_Radial_D13.0mm_P5.00mm | C1 |
| 1 | 100uF | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C17 |
| 1 | 1N4002 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R13 |
| 1 | 20.000 MHz | Crystal:Crystal_HC49-U_Vertical | Y2 |
| 1 | 220nF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C22 |
| 1 | 270 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 30R160U | Fuse:Fuse_Littelfuse_395Series | F1 |
| 1 | 330nF | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C2 |
| 1 | 4.7K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 4.7uF | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C12 |
| 1 | 47K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R12 |
| 1 | 5.6 V | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D2 |
| 1 | 6-30 MHz | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | 74HCT00 | Package_DIP:DIP-14_W7.62mm | U1 |
| 1 | 74HCT138 | Package_DIP:DIP-16_W7.62mm | U13 |
| 1 | 74HCT245 | Package_DIP:DIP-20_W7.62mm | U6 |
| 1 | 7805 | Package_TO_SOT_THT:TO-220-3_Vertical | U2 |
| 1 | 8088 | Socket:DIP_Socket-40_W11.9_W12.7_W15.24_W17.78_W18.5_3M_240-1280-00-0602J | U5 |
| 1 | 8259A | Package_DIP:DIP-28_W15.24mm | U7 |
| 1 | 8284 | Package_DIP:DIP-18_W7.62mm | U3 |
| 1 | 8288 | Package_DIP:DIP-20_W7.62mm | U4 |
| 1 | 82C55A | Package_DIP:DIP-40_W15.24mm | U14 |
| 1 | AS6C4008 | Package_DIP:DIP-32_W15.24mm | U11 |
| 1 | BARREL_JACK | Connector_BarrelJack:BarrelJack_Horizontal | CON1 |
| 1 | BT151-500RT.127 | Package_TO_SOT_THT:TO-220-3_Vertical | D11 |
| 1 | Conn_01x05_Female | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | P4 |
| 1 | Conn_01x10 | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | P10 |
| 1 | D | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D3 |
| 1 | Flash Write Protect | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP2 |
| 1 | LA1034 Logicport Connection | Connector_IDC:IDC-Header_2x20_P2.54mm_Vertical | P3 |
| 1 | LED_GREEN | LED_THT:LED_D5.0mm | D8 |
| 1 | LED_RED | LED_THT:LED_D5.0mm | D6 |
| 1 | LED_YELLOW | LED_THT:LED_D5.0mm | D7 |
| 1 | NMI | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | P2 |
| 1 | PIC ISP | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | P7 |
| 1 | PIC18(L)F4550-I/P or PIC18(L)F4553-I/P | Package_DIP:DIP-40_W15.24mm | U15 |
| 1 | Power | LED_THT:LED_D5.0mm | D4 |
| 1 | RESET_8088 | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW1 |
| 1 | RESET_PIC | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW2 |
| 1 | ROM type sel | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | SST39SF040 | Socket:DIP_Socket-32_W11.9_W12.7_W15.24_W17.78_W18.5_3M_232-1285-00-0602J | U12 |
| 1 | USB_B | Connector_USB:USB_B_Lumberg_2411_02_Horizontal | P8 |
| 1 | ~{TEST} | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | P11 |
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 mm

- 2 layers297.2 × 180.3 mm

- 2 layers368.3 × 215.9 mm

- 2 layers172.1 × 108 mm

Mb88-testboard
ifilot/morseboard-8088
Single board computer designed around the 8088 processor
81 parts - 4 layers244.5 × 393.4 mm

- 2 layers150 × 90 mm

- 4 layers280 × 140 mm

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 mm
