

VIO MPF v2.0
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
1174LS245SC
-0℃~+70℃ 12ns@5V,45pF 15mA 24mA 4.75V~5.25V 74LS 8 Bidirectional Output enable Schmitt trigger Tri-State - Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, Transceivers74LS157PC
PDIP-160℃~+70℃ 4.75V~5.25V Single Supply PDIP-16 Signal Switches, Multiplexers, Decoders ROHSTexas InstrumentsSignal Switches, Multiplexers, Decoders74LS00SC
-0℃~+70℃ 15ns@5V,50pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA NAND Gate - Logic Gates ROHSTexas InstrumentsLogic Gates74LS151PC
DIP-160℃~+70℃ 12.5ns 4.75V~5.25V 400uA 6mA 74LS 8mA Tri-state output DIP-16 Signal Switches, Multiplexers, Decoders ROHSonsemiSignal Switches, Multiplexers, Decoders74LS161DC
-0℃~+70℃ 14ns 32MHz 4 4.75V~5.25V 74LS 93mW Asynchronous Binary Counter Programmable divide ratio、Reset function、Cascade counter、Synchronous counting Rising Edge Synchronous - Counters, DividersTexas InstrumentsCounters, Dividers74LS174DC
-0ns 0℃~+70℃ 1 16mA 20ns 30MHz 30ns@5V,15pF 4.75V~5.25V 400uA 6 74LS Series 8mA Asynchronous Push-Pull Reset Rising Edge - Flip Flops ROHSonsemiFlip Flops74LS273PC
PDIP-201 15ns 27mA 27ns@5V,15pF 30MHz 5ns 74LS Series 8 D-Type Reset Rising Edge PDIP-20 Flip Flops ROHSonsemiFlip Flops74LS32SC
-- Logic Gates ROHSTexas InstrumentsLogic Gates74LS85DC
CDIP-16-55℃~+125℃ 10mA 24ns Four channels TTL CDIP-16 Comparators ROHSTexas InstrumentsComparators74LS86
DIP-14-20℃~+75℃ 10mA 2.7V 23ns@5V,15pF 2V 400mV 400uA 5V 74LS 800mV 8mA XOR Gate DIP-14 Logic Gates ROHSHITLogic Gates1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching Diodes
README
README.mdThis 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:

Schema of the original Bardhele VIDEO-MPF-I:
The 8x9 FONT ROM works ok with the 40x25 mode:

Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 0.1uF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C2, C4, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 |
| 3 | 3k3 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R7, R10 |
| 3 | 74LS157 | Package_DIP:DIP-16_W7.62mm | U16, U17, U18 |
| 2 | 74LS138 | Package_DIP:DIP-16_W7.62mm | U3, U20 |
| 2 | 74LS245 | Package_DIP:DIP-20_W7.62mm | U14, U15 |
| 2 | MPF-BUS | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical_CW | J1, J2 |
| 1 | 10 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 100uF | Capacitor_THT:CP_Radial_Tantal_D5.5mm_P5.00mm | C3 |
| 1 | 120 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R9 |
| 1 | 1N4148W | Diode_THT:D_A-405_P7.62mm_Horizontal | D1 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R8 |
| 1 | 2.2uF | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C1 |
| 1 | 220 | Potentiometer_THT:Potentiometer_Piher_PT-10-V10_Vertical | RV1 |
| 1 | 22pF | Capacitor_THT:C_Disc_D3.0mm_W2.0mm_P2.50mm | C5 |
| 1 | 27 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R6 |
| 1 | 2716/2732 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J11 |
| 1 | 2716_alt | Package_DIP:DIP-24_W15.24mm | U11 |
| 1 | 2732_alt | Package_DIP:DIP-24_W15.24mm | U19 |
| 1 | 330 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | 390 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3 |
| 1 | 6116_alt | Package_DIP:DIP-24_W15.24mm | U12 |
| 1 | 74LS00 | Package_DIP:DIP-14_W7.62mm | U5 |
| 1 | 74LS151 | Package_DIP:DIP-16_W7.62mm | U9 |
| 1 | 74LS161 | Package_DIP:DIP-16_W7.62mm | U10 |
| 1 | 74LS174 | Package_DIP:DIP-16_W7.62mm | U7 |
| 1 | 74LS273 | Package_DIP:DIP-20_W7.62mm | U4 |
| 1 | 74LS32 | Package_DIP:DIP-14_W7.62mm | U13 |
| 1 | 74LS85 | Package_DIP:DIP-16_W7.62mm | U2 |
| 1 | 74LS86 | Package_DIP:DIP-14_W7.62mm | U6 |
| 1 | A4 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J8 |
| 1 | A5 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | A6 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J6 |
| 1 | A7 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | ACO-8.0MHz | Oscillator:Oscillator_DIP-14 | X1 |
| 1 | BF459 | Package_TO_SOT_THT:TO-126-3_Vertical | Q1 |
| 1 | Barrel_Jack | barrelJack:Barrel_Jack_vertical_alt | J3 |
| 1 | Conn_Coaxial | Connector_Coaxial:BNC_TEConnectivity_1478204_Vertical | J4 |
| 1 | HighAddr | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J9 |
| 1 | LOGO | logo:oshw-logo-100-px | G*** |
| 1 | Light Pen | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J12 |
| 1 | LowAddr | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J10 |
| 1 | MC6845 | Package_DIP:DIP-40_W15.24mm | U8 |
| 1 | WonB/BonW | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | uA7805 | Package_TO_SOT_THT:TO-220-3_Horizontal_TabDown | U1 |
Similar boards
- 2 layers486 × 306.3 mm

- 2 layers630 × 300 mm

- 4 layers337.6 × 105.7 mm

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 mm

- 2 layers236.8 × 169.8 mm

TK2000
clemarfolly/Microdigital-TK2000
Reprodução da PCB do TK-2000 da Microdigital, clone do Micro-Professor MPF-II
212 parts17 - 2 layers426 × 307 mm

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 mm

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 mm

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.