Skip to the content
2 layers156 × 100.1 mmVIO MPF v2.0, the printed circuit board in 3D

Extended firmware for the 6845 based video card for the Microprofessor MPF-I(b)

Size
156 × 100.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
171
Pads
539
Tracks, vias
2,620, 381
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
6 Feb 2022
Updated
27 Sep 2025

Overview

VIO MPF v2.0 is an open-source printed circuit board by electrickery, from the electrickery/VIO_MPF_I repository on GitHub. It is a 2-layer board of 156 × 100.1 mm with 64 parts on 171 nets, routed with 2,620 tracks and 381 vias.

It is built around the 74LS245SC, 74LS157PC and 74LS00SC, with the 74LS151PC, 74LS161DC and 74LS174DC among its other parts. Its parts include 20 ICs, 17 capacitors, 12 connectors, 9 resistors and 1 diode.

Main components

11

README

README.md

This repository contains the firmware versions for the Bardhele Electronic VIDEO-MPF-I card.

More info on my home page: https://www.electrickery.nl/comp/mpf1/index.html

VIO.zip are the hex dumps of the original ROMs that came with the card.

These are the most interesting entry addresses as of version 2.2:

  • 0a000h: clear screen, reset cursor

  • 0a004h: init 6845, clear screen, return from call

  • 0a007h: init 6845, clear screen, jump to 0000h

  • 0a00ah: (JCRTCO) print character in C, interpret control codes

  • 0a00dh: (JCRTOU) print character in C, print codes 00h-31h too

  • 0a010h: (JTEXCO) print 00h terminated string (start in IY)

  • 0a013h: (JTEXCLN) print 00h terminated string (start in IY) with line end (CR/LF)

  • 0a016h: writes character set to screen, jump to 0000h

  • 0a019h: init 6845, clear screen, print banner, rst 0

  • 0a01Fh: hex/ascii memory dump of 8 * 16 bytes, rst 0

The hardware is configured for 8 bit wide, 11 bit high characters, limiting the screen to 40 x 20 characters (PAL timing). A proper video standard is useful as it allows usage of small, cheap TFT screens.

The assembly code is not very well understood, and used to contain multiple usages of un-occupied memory (0ff04h - 0ffcch range). It works, as long as all unused memory returns 0FFh (EPROM installed). This dead code is now succesfully removed now (entry points still work). It may have been part of a debugging tool.

The new code is initially assembled for and tested via the MicroProfessor U7 socket at 02000h. The VIO-MPF-I 1.2 PCB ROM 0A000h socket also works.

Screenshot of the first page of the Monitor ROM: Hex-ASCII dump

Schema of the original Bardhele VIDEO-MPF-I: Schema VIDEO-MPF-I v1.2

The 8x9 FONT ROM works ok with the 40x25 mode: 40x25 mode with 8x9 font

Parts

64
QtyValueFootprintReferences
140.1uFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC2, C4, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
33k3Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R7, R10
374LS157Package_DIP:DIP-16_W7.62mmU16, U17, U18
274LS138Package_DIP:DIP-16_W7.62mmU3, U20
274LS245Package_DIP:DIP-20_W7.62mmU14, U15
2MPF-BUSConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical_CWJ1, J2
110Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5
1100uFCapacitor_THT:CP_Radial_Tantal_D5.5mm_P5.00mmC3
1120Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR9
11N4148WDiode_THT:D_A-405_P7.62mm_HorizontalD1
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8
12.2uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC1
1220Potentiometer_THT:Potentiometer_Piher_PT-10-V10_VerticalRV1
122pFCapacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mmC5
127Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR6
12716/2732Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ11
12716_altPackage_DIP:DIP-24_W15.24mmU11
12732_altPackage_DIP:DIP-24_W15.24mmU19
1330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
1390Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
16116_altPackage_DIP:DIP-24_W15.24mmU12
174LS00Package_DIP:DIP-14_W7.62mmU5
174LS151Package_DIP:DIP-16_W7.62mmU9
174LS161Package_DIP:DIP-16_W7.62mmU10
174LS174Package_DIP:DIP-16_W7.62mmU7
174LS273Package_DIP:DIP-20_W7.62mmU4
174LS32Package_DIP:DIP-14_W7.62mmU13
174LS85Package_DIP:DIP-16_W7.62mmU2
174LS86Package_DIP:DIP-14_W7.62mmU6
1A4Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ8
1A5Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ7
1A6Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6
1A7Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5
1ACO-8.0MHzOscillator:Oscillator_DIP-14X1
1BF459Package_TO_SOT_THT:TO-126-3_VerticalQ1
1Barrel_JackbarrelJack:Barrel_Jack_vertical_altJ3
1Conn_CoaxialConnector_Coaxial:BNC_TEConnectivity_1478204_VerticalJ4
1HighAddrConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ9
1LOGOlogo:oshw-logo-100-pxG***
1Light PenConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ12
1LowAddrConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ10
1MC6845Package_DIP:DIP-40_W15.24mmU8
1WonB/BonWConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1uA7805Package_TO_SOT_THT:TO-220-3_Horizontal_TabDownU1

Similar boards

  • 2 layers486 × 306.3 mmMonacoGP, the printed circuit board in 3D

    MonacoGP

    stonedDiscord/MonacoGP

    Sega MonacoGP TTL Boards

    257 parts1
  • 2 layers630 × 300 mmSecretBase, the printed circuit board in 3D

    SecretBase

    stonedDiscord/SecretBase

    SEGA Secret Base Arcade Game

    441 parts
  • 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 layers320 × 150 mmDigiTrainer, the printed circuit board in 3D

    DigiTrainer

    RetroStack/BitStack-DigiTrainer

    A trainer board for digital electronics

    262 parts2MIT
  • 2 layers236.8 × 169.8 mmTK2000, the printed circuit board in 3D

    TK2000

    clemarfolly/Microdigital-TK2000

    Reprodução da PCB do TK-2000 da Microdigital, clone do Micro-Professor MPF-II

    212 parts17
  • 2 layers426 × 307 mmI7000, the printed circuit board in 3D

    I7000

    felipesanches/Itautec_I7000_KICAD

    Esquemáticos do computador Itautec I-7000 G desenhados a partir de inspeção do circuito das PCBs

    115 parts
  • 2 layers370.8 × 298.5 mm8 Bit Computer, the printed circuit board in 3D

    8 Bit Computer

    The-Invent0r/8-bit-Computer-PCB

    These are the KiCAD files for my 8-Bit Computer.

    323 parts142
  • 6 layers414 × 187.5 mm8-Bit PC, the printed circuit board in 3D

    8-Bit PC

    dragonruler1000/8-bit_computer

    331 partsMIT

Questions

How big is the VIO MPF v2.0 PCB?

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

What parts does the VIO MPF v2.0 use?

64 parts, built around the 74LS245SC, 74LS157PC, 74LS00SC and 74LS151PC. 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 VIO MPF v2.0 KiCad files?

From the electrickery/VIO_MPF_I repository on GitHub, at the commit this page was made from: the board is KiCAD/VIO-MPF_v2.0.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the VIO MPF v2.0 design in my own project?

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