Skip to the content
2 layers106 × 72.8 mmXTIDE ROM Card, the printed circuit board in 3D

An 8-bit ISA card that holds a 27C256 EPROM as an option ROM in the upper memory area of a PC/XT-class machine, typically to load the XTIDE Universal BIOS.

Size
106 × 72.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
9
Nets
64
Pads
129
Tracks, vias
294, 39
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
7 Oct 2026
Updated
8 Oct 2026

Overview

XTIDE ROM Card is an open-source printed circuit board by hoffman373, from the hoffman373/XTIDE-ROM-Card repository on GitHub. It is a 2-layer board of 106 × 72.8 mm with 9 parts on 64 nets, routed with 294 tracks and 39 vias.

It is built around the 27C256-17/J. Its parts include 2 capacitors, 2 ICs and 2 connectors.

Main components

1

README

README.md

XTIDE-ROM-Card

An 8-bit ISA card that holds a 27C256 EPROM as an option ROM in the upper memory area of a PC/XT-class machine, typically to load the XTIDE Universal BIOS.

The schematic is a redraw of Dan Hoover's "The $4 XTIDE" concept.

Overview

  • ROM: 27C256 (32 KB) EPROM in a 28-pin DIP socket
  • Address decode: 74LS688 8-bit comparator in a 20-pin DIP socket
  • Address select: 2x4 pin header (J1) with a SIP-5 pull-up resistor network (RN1)
  • Bus connector: 8-bit ISA edge connector (Bus_ISA_8bit)
  • Decoupling: 100 nF disc capacitors on each IC

How it works

The 74LS688 compares A19-A15 against the levels set on J1. It also requires AEN low (no DMA cycle) and /MEMR low (memory read). When everything matches, it pulls ROM_SEL low and the EPROM drives D0-D7 for the read.

A19 is tied to match 1, so the 32 KB window always falls between 80000h and FFFFFh. RN1 pulls SEL_A15 to SEL_A18 high. Installing a jumper pulls that bit low.

Address selection

J1 pinsAddress bit
1-2A15
3-4A16
5-6A17
7-8A18

Jumper in = 0, jumper out = 1.

ROM baseA18A17A16A15Jumpers installed
C8000h10013-4, 5-6
D0000h10101-2, 5-6
D8000h10115-6
E0000h11001-2, 3-4
E8000h11013-4
  • Keep the jumper off 7-8. A18 = 0 maps the ROM into A0000h-BFFFFh, which is video memory.
  • C0000h is normally taken by the video BIOS.
  • Pick a window that doesn't overlap video memory, a hard disk controller BIOS, or any other option ROM in the machine.

Opening the project

  1. Install KiCad 10 or newer. The files use the KiCad 10 format and will not open in older versions.
  2. Clone the repository:
    text
    git clone https://github.com/hoffman373/XTIDE-ROM-Card.git
  3. Open xtide_rom_card.kicad_pro.

Custom footprints live in lib/footprints/ and are registered through the project's fp-lib-table using ${KIPRJMOD}, so no library setup is needed. Everything else uses stock KiCad symbols and footprints.

Programming the ROM

Burn the ROM image (for example, an XTIDE Universal BIOS build configured for your controller) to a 27C256 with any EPROM programmer. If the image is smaller than 32 KB, pad it to 32 KB with FFh. The BIOS checksum must be valid or the system BIOS will skip the ROM during its option ROM scan.

License

CC BY-SA 4.0, share-alike with the original $4 XTIDE design.

Parts

9
QtyValueFootprintReferences
2100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC1, C2
2MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2
127C256Package_DIP:DIP-28_W15.24mm_SocketU2
174LS688Package_DIP:DIP-20_W7.62mm_SocketU1
1Bus_ISA_8bitmyproject:PC_AT_8BITJ3
1Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ1
1R_Network04_USResistor_THT:R_Array_SIP5RN1

Similar boards

  • 4 layers184.9 × 243.8 mmProject NuXT, the printed circuit board in 3D

    Project NuXT

    monotech/NuXT

    MicroATX Turbo XT Motherboard, with VGA, Floppy, CF, Serial

    223 parts121GPL-3.0
  • 2 layers104.1 × 87.6 mmIsa svga, the printed circuit board in 3D

    Isa svga

    skiselev/isa-super-vga

    Trident TVGA9000i based Super VGA board

    62 parts81
  • 2 layers237.7 × 146.1 mmTipi peb, the printed circuit board in 3D

    Tipi peb

    jedimatt42/tipi

    TI-99/4A to Raspberry PI messaging through console sideport

    51 parts77
  • 4 layers318.4 × 124.5 mmN2360, the printed circuit board in 3D

    N2360

    jasonsbeer/Amiga-N2630

    A re-imagining of the Amiga A2630 processor card.

    248 parts69
  • 2 layers100 × 77.5 mmSmartDiskII, the printed circuit board in 3D

    SmartDiskII

    btb/SmartDiskII

    An hybrid Disk ][ and SmartPort controller

    42 parts60Apache-2.0
  • 4 layers337.6 × 105.7 mmISA CGA, the printed circuit board in 3D

    ISA CGA

    hkzlab/CGA_Redux

    The Color Graphics Adapter Redux board is a more or less faithful clone of the original IBM CGA, based on the original schematics

    170 parts56
  • 2 layers162.2 × 134.6 mmSg1000, the printed circuit board in 3D

    Sg1000

    barbeque/sg1000

    A homebrew Sega SG-1000, with an eye towards SC-3000 compatibility

    89 parts33
  • 2 layers20.3 × 47.6 mmC64-Kernal Switcher, the printed circuit board in 3D

    C64-Kernal Switcher

    tebl/C64-Kernal-Switcher

    Switchless kernal switcher for the common breadbin Commodore 64, "longboards". Reuses power LED for easier use.

    12 parts33

Questions

How big is the XTIDE ROM Card PCB?

It measures 106 × 72.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the XTIDE ROM Card use?

9 parts, built around the 27C256-17/J. 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 XTIDE ROM Card KiCad files?

From the hoffman373/XTIDE-ROM-Card repository on GitHub, at the commit this page was made from: the board is xtide_rom_card.kicad_pcb and its schematic xtide_rom_card.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the XTIDE ROM Card design in my own project?

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