Skip to the content
PCBKitNew board
2 layers99.1 × 99.1 mmBasic IO Board, the printed circuit board in 3D

Basic IO Board

giraffeics/BEEBA2

An 8-bit computer built using 7400 Series discrete logic chips.

Size
99.1 × 99.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
112
Pads
310
Tracks, vias
822, 25
Pours
2
Routed
Yes
KiCad
KiCad 4
Created
14 Oct 2017
Updated
14 Oct 2017

Overview

Basic IO Board is an open-source printed circuit board by giraffeics, from the giraffeics/BEEBA repository on GitHub. It is a 2-layer board of 99.1 × 99.1 mm with 57 parts on 112 nets, routed with 822 tracks and 25 vias.

It is built around the 74LS373SC, 74LS240DC and 74LS14PC. Its parts include 21 resistors, 17 diodes, 9 ICs, 3 switches and 1 capacitor. It belongs with the retro computing and games boards of this library.

Main components

3

README

README.md

BEEBA

An 8-bit computer built using 7400 Series discrete logic chips.

Repository Layout

The "CAD" folder contains all design files for the printed circuit boards. These are KiCAD documents. The "Assembler" folder contains the C++ source code for the assembler, as well as the list of register names and some programs written in BEEBA assembly language. The assembler can be compiled with MinGW on Windows, and has not been tested on other compilers or operating systems.

Assembly Language

Assembly language programs can be in any plain-text file format. The language is not case-sensitive. Each instruction copies eight bits of data from one register location to another. A line of code can follow one of three formats:

COPY [read location] TO [write location]

Reads one byte of data from the register specified by [read location], writes data to the register specified by [write location].

SET [write location] TO [data]

Writes a byte of data specified by [data] to the register specified by [write location]. [data] can be a two-digit hexadecimal number or a marker.

MARK [marker name]

Marks the instruction position that corresponds to the following line of code. This does not represent an actual instruction. [marker name] can be referenced by SET instructions before or after the location of the marker, using a colon to specify which byte of the marker's location to use. This ranges from 0 (least significant) to 2 (most significant).

For all of these, any text after the last parameter will be ignored. However, it must be separated by a space or tab from the last parameter.

Register names are listed in REGISTER_NAMES.txt. The assembler uses this file to convert names to addresses while compiling programs.

Using The Assembler

To use the assembler, simply drag assembly source files onto the compiled executable.

As BEEBA uses two physical ROM chips to store 16-bit-wide instructions, the assembler will output two .bin files. One of these is loaded onto the ROM chip on the left, the other is loaded onto the ROM chip on the right. They are named accordingly.

Known Issues

When writing a constant to a register, the value will be corrupted unless the same data is sent to another register in the next instruction. The current workaround is to send data to NULL, which is an unused register.

The NES controller interface board cannot read the state of the A button. Pannenkoek2012 would love this.

The "Basic IO Board"'s input does not work at all. This was caused by oversights during the transition from TTL to CMOS. Output is still fully functional.

Parts

57
QtyValueFootprintReferences
19270ΩResistors_ThroughHole:Resistor_Horizontal_RM10mmR0, R1, R2, R3, R4, R5, R6, R10, R11, R12, R13, R14, R15, R18, R19, R20 +3
16Led_SmallLEDs:LED-3MMD0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15
41pinConnect:1pinMOUNT 1, MOUNT 2, MOUNT 3, MOUNT 4
374LS373Housings_DIP:DIP-20_W7.62mmU1, U2, U8
274LS138Housings_DIP:DIP-16_W7.62mmU4, U5
274LS240Housings_DIP:DIP-20_W7.62mmU6, U7
2CONN_01X12Socket_Strips:Socket_Strip_Straight_1x12H1, H2
2DIPS_08dip-s:DIPS-DS08SW1, SW2
110KΩResistors_ThroughHole:Resistor_Horizontal_RM10mmR16
110µFCapacitors_ThroughHole:C_Radial_D5_L11_P2C1
11KΩResistors_ThroughHole:Resistor_Horizontal_RM10mmR17
174LS14Housings_DIP:DIP-14_W7.62mmU3
174LS244Housings_DIP:DIP-20_W7.62mmU9
1LED_RCBGLEDs:LED-RGB-5MM_Common_CathodeD16
1SW_PUSHcustom:switch_tactile_6mmSW3

Questions

How big is the Basic IO Board PCB?

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

What parts does the Basic IO Board use?

57 parts, built around the 74LS373SC, 74LS240DC and 74LS14PC. 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 Basic IO Board KiCad files?

From the giraffeics/BEEBA repository on GitHub, at the commit this page was made from: the board is CAD/Basic IO Board/Basic IO Board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Basic IO Board design in my own project?

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

More from giraffeics/BEEBA

11
  • 2 layers99.1 × 99.1 mm100x100mm Computer Perf Board, the printed circuit board in 3D

    100x100mm Computer Perf Board

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    1,283 parts2
  • 2 layers99.1 × 99.1 mmInstruction Decoder, the printed circuit board in 3D

    Instruction Decoder

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    50 parts2
  • 2 layers99.1 × 99.1 mmRegister Board, the printed circuit board in 3D

    Register Board

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    35 parts2
  • 2 layers99.1 × 99.1 mmRAM Board MK2, the printed circuit board in 3D

    RAM Board MK2

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    32 parts2
  • 2 layers99.1 × 99.1 mmALU Board 02 - Copy, the printed circuit board in 3D

    ALU Board 02 - Copy

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    30 parts2
  • 2 layers99.1 × 99.1 mmALU Master Board, the printed circuit board in 3D

    ALU Master Board

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    29 parts2
  • 2 layers99.1 × 99.1 mmALU Board 01, the printed circuit board in 3D

    ALU Board 01

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    28 parts2
  • 2 layers99.1 × 99.1 mmNES Controller Board, the printed circuit board in 3D

    NES Controller Board

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    19 parts2
  • 2 layers99.1 × 99.1 mmROM Board MK2, the printed circuit board in 3D

    ROM Board MK2

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    15 parts2
  • 2 layers99.1 × 99.1 mmALU Master Board, the printed circuit board in 3D

    ALU Master Board

    giraffeics/BEEBA

    An 8-bit computer built using 7400 Series discrete logic chips.

    11 parts2

Similar boards

  • 4 layers253.6 × 137.7 mmS100 Thunder186-1.0-006, the printed circuit board in 3D

    S100 Thunder186-1.0-006

    RichCini/LomasBoards

    Small repository of files/data related to Lomas Data Products S-100 boards.

    118 parts1
  • 2 layers99.1 × 99.1 mmRC1802 CPU, the printed circuit board in 3D

    RC1802 CPU

    tebl/RC1802-Cosmac-ELF

    With the RC6502-project for making an Apple 1 replica done I wanted to do something different, so I started designing a simple version of the RCA 1802-based Cosmac ELF instead.

    54 parts31GPL-3.0
  • 2 layers364 × 203 mmCPU6S, the printed circuit board in 3D

    CPU6S

    Meisaka/CenMiniCom

    Centurion Minicomputer Schematics

    240 parts8
  • 2 layers309.9 × 50.8 mmAcorn AIV SCSI Adapter, the printed circuit board in 3D

    Acorn AIV SCSI Adapter

    Domesday86/Acorn-AIV-SCSI-Adapter-Card

    A reproduction of the original Acorn AIV SCSI Adapter Card in KiCAD (as used in the BBC Domesday System)

    44 parts3CC-BY-SA-4.0
  • 2 layers93.7 × 98.4 mmCmii, the printed circuit board in 3D

    Cmii

    dbalsom/et2000

    Resources related to the Tseng Labs ET2000 EGA chipset

    33 parts1MIT
  • 2 layers233.4 × 160 mmMpu, the printed circuit board in 3D

    Mpu

    kolod/ztr-georg

    78 parts
  • 2 layers124.5 × 132.1 mmInterface osi, the printed circuit board in 3D

    Interface osi

    osiweb/unified_retro_keyboard

    Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard

    80 parts122
  • 2 layers136.8 × 199.1 mmSt225 20427, the printed circuit board in 3D

    St225 20427

    schlae/HardDriveInfo

    Repair info and schematics for mostly older MFM hard drives

    212 parts38