• Stars
    star
    253
  • Rank 160,776 (Top 4 %)
  • Language
  • License
    GNU General Publi...
  • Created about 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Micro 8088 - IBM XT Compatible Processor Board based on Faraday FE2010 chipset

Micro 8088

IBM XT Compatible Processor Board based on Faraday FE2010/FE2010A chipset

Introduction

Micro 8088 is an easy to build IBM PC/XT compatible processor board. It uses a fairly common Faraday FE2010/FE2010A chipset, that implements most of IBM PC/XT LSIs (Intel 8xxx ICs) and glue logic. Micro 8088 uses SRAM ICs to implement the system RAM, and a Flash ROM IC to store the BIOS, further reducing the number of components, and simplifying the build process.

Micro 8088 V1.1 Assembled Board

Specifications

  • Processor: Intel 8088 or compatible, NEC V20
    • Supports IBM PC/XT standard 4.77 MHz CPU frequency and, when using FE2010A chipset, 7.16 MHz and 9.54 MHz CPU frequencies
  • Coprocessor: Intel 8087
  • Faraday FE2010/FE2010A chipset, implementing the following components:
    • One 8237 direct memory access controller (DMAC)
    • One 8259 programmable interrupt controller (PIC)
    • One 8254 programmable interval timer (PIT)
    • One 8255 programmable peripheral interface (PPI)
    • Clock generation, and glue logic
  • RAM: 512 KiB or 640 KiB base memory; Up to 192 KiB UMBs. Implemented using SRAM
  • ROM: 64 KiB. Implemented using 128 KiB Flash ROM
  • 8-bit ISA interface
  • PS/2 compatible keyboard connector; built in AT2XT converter

Hardware Documentation

Schematic and PCB Layout

Schematic - Version 1.1

PCB Layout - Version 1.1

PCB Layout - Version 1.2

PCB Layout - Version 1.3

Building Insturctions

Please refer to Building Instructions page for detailed instructions.

Faraday FE2010/FE2010A Information

Please refer to Faraday FE2010A documentation and Faraday FE2010 datasheet for detailed information about Faraday FE2010/FE2010A chipsets.

Note: CPU clock frequency switching (turbo mode) is only implemented in Faraday FE2010A chipset (not in FE2010).

Jumpers, Connectors, and Switches

P1 - PS/2 Keyboard

Pin Description
1 Keyboard data
2 Unused
3 GND
4 +5V
5 Keyboard clock
6 Unused

P2 - Speaker

Pin Description
1 Speaker output
2 Internal Speaker input*
3 Unused
4 +5V

Note: To enable internal speaker connect a jumper across pins 1-2

P3 - Reset Switch

Pin Description
1 Reset input
2 Ground

JP1 - Select Flash ROM area mapped to 0xF0000-0xFFFFF

Position Description
open (default) Map lower 64 KiB of the Flash ROM to 0xF0000-0xFFFFF
closed Map upper 64 KiB of the Flash ROM to 0xF0000-0xFFFFF

JP2 - Select X1 Crystal Frequency

Position Description
open Use 14.31818 MHz crystal
closed (default) Use 28.63636 MHz crystal

Note: 14.31818 MHz crystal supports 4.77 MHz and 7.16 MHz CPU clock frequencies; 28.63636 MHz crystal additionally supports 9.55 MHz CPU clock frequency

JP3 - RAM Chip Select Source

Position Description
open (default) Use SPLD (U16)
closed Use FE2010A (U3)

Note: FE2010A only generates RAM chip select for the base RAM (lower 640 KiB). It does not generate RAM chip select for UMBs, and therefore SPLD (U16) is required to implement UMBs

JP4 - Flash ROM Chip Select Source

Position Description
open (default) Use SPLD (U16)
closed Use FE2010A (U3)

Note: FE2010A does not generate chip select for memory write cycles, therefore it does not support in-system BIOS upgrades

SW1 - Reset Switch

Press SW1 to reset the system

SW2 - System Configuration

Position Description
SW2.1 = OFF, SW2.2 = OFF MDA or Hercules
SW2.1 = ON, SW2.2 = OFF CGA, 80x25
SW2.1 = OFF, SW2.2 = ON CGA, 40x25
SW2.1 = ON, SW2.2 = ON None, EGA, or VGA
SW2.3 = OFF Disable keyboard 0xE0 scan code pass through
SW2.3 = ON Enable keyboard 0xE0 scan code pass through

SW3 - UMB Configuration

Position Description
SW3.1 = ON Map 0xC0000-0xC7FFF to RAM
SW3.2 = ON Map 0xC8000-0xCFFFF to RAM
SW3.3 = ON Map 0xD0000-0xD7FFF to RAM
SW3.4 = ON Map 0xD8000-0xDFFFF to RAM
SW3.5 = ON Map 0xE0000-0xEFFFF to RAM

Note: SPLD (U16) is required to implement UMBs. This switch is not used in systems without SPLD

Bill of Materials - Versions 1.1, 1.2, and 1.3

Micro 8088 project on Mouser.com - View and order all components except of the Faraday FE2010A chipset, and the PCB. Micro 8088 project on OSH Park - View and order the PCB.

Component type Reference Description Quantity Possible sources and notes
PCB Micro 8080 PCB - Version 1.1, 1.2, or 1.3 1 Refer to the RetroBrew Computers Board Inventory page for ordering information, or order from a PCB manufacturer of your choice using provided Gerber or KiCad files
Integrated Circuit U1 Intel 8088, 80C88, or NEC V20 CPU 1 eBay, Mouser (expensive) - 968-CP80C88-2Z
Integrated Circuit U2 Intel 8087 FPU 1 Optional, eBay
Integrated Circuit U3 Faraday FE2010A 1 eBay, can be replaced with Proton PT8010AF
Integrated Circuit U4 SST39SF010A Flash ROM, DIP-32 package 1 Mouser 804-39SF010A7CPHE
Integrated Circuit U5, U6 AS6C4008 SRAM, DIP-32 package 2 Mouser 913-AS6C4008-55PCN
Integrated Circuit U7 - U9 74F573 Octal D-Type Latch 3 Mouser 595-SN74F573N
Integrated Circuit U10, U11 74F245 Octal Bus Transceiver 2 Mouser 595-SN74F245N
Integrated Circuit U12, U13 74F244 Octal Buffer 2 Mouser 595-SN74F244N
Integrated Circuit U14 74F00 Quad 2-Input NAND Gate 1 Mouser 595-SN74F00. Important note: install either U14 or U16, not both together
Integrated Circuit U15 PIC12F629 Microcontroller 1 Mouser PIC12F629-I-P
Integrated Circuit U16 ATF16V8B SPLD 1 Mouser 556-AF16V8B15PU. Important note: install either U14 or U16, not both together
IC Socket U1, U2 DIP-40, 600 mil socket 2 Mouser 649-DILB40P223TLF
IC Socket U3 PLCC-84 through hole socket 1 Mouser 517-8484-11B1-RK-TP
IC Socket U4-U6 DIP-32, 600 mil socket 3 Mouser 649-DILB32P223TLF
IC Socket U7-U13, U16 DIP-20, 300 mil socket 8 Mouser 649-DILB20P-223TLF
IC Socket U14 DIP-14, 300 mil socket 1 Mouser 649-DILB14P-223TLF
IC Socket U15 DIP-8, 300 mil socket 1 Mouser 649-DILB8P223TLF
Diode D1 1N4148 1 Mouser 512-1N4148
LED               D2       3 mm, green LED indicator 1       Mouser LTL-4231NHBP
Transistor Q1 PN2222A, 2.54mm lead spacing 1 Mouser 512-PN2222ATA
Crystal X1 28.63636 MHz, 18 pF, HC-49/S 1 Mouser 717-9B-28.63636MAAJB
Speaker SP1 12 mm speaker 1 Mouser 665-AT-1224TWTR
Tactile Button SW1 6 mm tactile button, right angle 1 Mouser 653-B3F-3152
DIP Switch SW2 3 positions 1 Mouser 774-2063
DIP Switch SW3 5 positions 1 Mouser 774-2065
Connector P1 6 pin Mini DIN, purple 1 Mouser 806-KMDGX-6S-BS
Pin Header P2, JP3-JP4 4 pin header, 2.54 mm pitch 2 Mouser 649-68002-104HLF
Pin Header P3, JP1-JP2 2 pin header, 2.54 mm pitch 3 Mouser 649-68002-102HLF
Capacitor C1 - C17 0.1 uF, MLCC, 5 mm lead spacing 17 Mouser 810-FG28X7R1H104KNT6
Capacitor C18 - C20 10 uF, MLCC, 5 mm lead spacing 3 Mouser 810-FG28X5R1E106MR06
Trimmer Capacitor C21 6.5-30 pF, 5 mm lead spacing 1 Mouser 659-GKG30015. Note: Trimmer capacitor is used to fine-tune 14.31818 MHz OSC frequency, and it might be needed when using CGA graphics with composite display. If not using CGA with composite display, a 22pF or so ceramic capacitor can be used instead, such as Mouser 810-FG28C0G1H220JNT6
Capacitor C22 47 pF, MLCC, 5 mm lead spacing 1 Mouser 810-FG28C0G1H470JNT6
Capacitor C23 0.01 uF, MLCC, 5 mm lead spacing 1 Mouser 810-FG28X7R1H103KNT6
Resistor Array RR1 4.7 k, bussed, 10 pin SIP 1 Mouser 652-4610X-1LF-4.7K
Resistor Array RR2 10 k, bussed, 10 pin SIP 1 Mouser 652-4610X-1LF-10K
Resistor Array RR3, RR4 4.7 k, bussed, 6 pin SIP 2 Mouser 652-4606X-1LF-4.7K
Resistor Array RR5 10 k, bussed, 6 pin SIP 1 Mouser 652-4606X-1LF-10K
Resistor R1 33 ohm, through hole 1 Mouser 603-MFR-25FBF52-33R
Resistor R2, R3 47 ohm, through hole 2 Mouser 603-MFR-25FBF52-47R
Resistor R4, R5 470 ohm, through hole 2 Mouser 603-MFR-25FBF52-470R
Resistor R6 1 kohm, through hole 1 Mouser 603-MFR-25FBF52-1K
Resistor R7 10 kohm, through hole 1 Mouser 603-MFR-25FBF52-10K
Resistor R8 1 Mohm, through hole 1 Mouser 603-MFR-25FBF52-1M
Fuse F1 1.1A polyfuse, 5.08 mm lead pitch 1 Mouser 650-RUSBF110-2
ISA Bracket Keystone Electronics 9202 1 Mouser 534-9202
Screw 4-40 x 1/4" Screw 2 Mouser 534-9900

Firmware Documentation

System BIOS

Micro 8088 uses a modified version of Xi 8088 BIOS. The BIOS binary images are provided in BIOS directory. The BIOS source code is available in 8088_bios GitHub repository

Turbo Mode Switching

The BIOS keyboard handler uses the following key combinations to switch the CPU clock frequency:

  • Ctrl-Alt-Keypad - - Normal 4.77 MHz CPU clock frequency
  • Ctrl-Alt-Keypad * - Turbo 7.16 MHz CPU clock frequency
  • Ctrl-Alt-Keypad + - Turbo 9.55 MHz CPU clock frequency (works only on systems with 28.63636 MHz X1 crystal)

Note that the BIOS does not, and possibly can not check if the installed CPU and the FPU are actually capable of running at higher clock frequencies. Turning on the turbo mode in a system with 5 MHz CPU can make it unstable.

AT2XT Firmware

Micro 8088 integrates an AT2XT keyboard converter, implemented using PIC12F629 (U15). The firmware for this microcontroller is availabe from Vintage Computer Federation AT2XT page. The HEX file with the firmware can be extracted from XTATKEY_094.zip.

SPLD Fuse Maps

An optional ATF16V8/GAL16V8 SPLD (U16) allows using spare SRAM space for UMBs, and implements Flash ROM write access. The fuse maps for the SPLD are provided in SPLD directory of this repository. The SPLD/micro_8088_prod.jed fuse map should be used for production applications.

Changes

  • Version 1.3
    • Update silkscreen:
      • SW2.3 - fix the description for the ON position
      • Add a warning about installing either U14 or U16, but not both
      • Update board version to 1.3
  • Version 1.2
    • Update silkscreen:
      • JP2 - change the default to Closed
      • Bracket - move rectangles to the back side, add circles around mounting holes on the front side
      • Remove the line around ISA connector
      • Use KiCad OSHW logo
      • Update copyright years to 2017-2018
      • Update board version to 1.2
  • Version 1.1
    • Recommend using 74F-series, and update the schematic and the silkscreen accordingly. 74F-series ICs are faster and slightly cheaper than 74ALS-series
    • Add 74F573 latch for latching A8-A11 signals. This fixes the DMA issue
    • Use 74F244 to buffer OSC and CLK signals
    • Use AS6C4008 for the second SRAM (U6) instead of AS6C1004. This resolves the AS6C1004 TTL compatibility issue
    • Use 74F00 for generating chip select signal for the second SRAM (U6), and for inverting the speaker signal
    • Add an optional SPLD (U16) to implement UMBs
    • Use 128 KiB Flash ROM instead of 32 KiB EEPROM. It is cheaper, and has twice more storage space
    • Use buffered /MEMR and /MEMW signals for SRAM and BIOS ROM
    • PCB dimensions changed from 5" x 4.3" to 6" x 4"
  • Version 1.0
    • Initial version

Known Issues

  • Version 1.2
    • SW2.3 description on the back silkscreen incorrectly references SW1.3 for the ON position
  • Version 1.1
    • JP2 description on the back silkscreen suggests that the default JP2 position is Open. Since the recommended chipset is FE2010A and the recommended crystal frequency is 28.63636 MHz, the default JP2 position should be Closed
    • Update the silkscreen near ISA bracket mounting holes: The rectangles should be moved to the back silkscreen, and screw head sized circles should be shown on the front skilscreen
  • Version 1.0
    • AS6C1008 (U6) does not have TTL compatible inputs causing instability with 640 KiB memory configruation
      • Workaround: use CMOS transceiver U11, e.g. 74AHCT245
    • DMA doesn't work properly.
      • This is due to A8-A11 address lines not being latched.
      • Workaround: add a 74F573 latch, and connect AA8-AA11 and A8-AA11 through it

More Repositories

1

omega

Omega Home Computer
Shell
327
star
2

8088_bios

BIOS for Intel 8088 based computers
Assembly
206
star
3

easy_z80

An easy to build Zilog Z80 based single board computer
116
star
4

isa8_backplane

ISA 8-bit Backplane
85
star
5

isa8_eth

ISA 8-Bit Ethernet Controller
Assembly
74
star
6

radio-86rk

Re-make of the Soviet Ham Radio computer published in Radio Magazine in 1986
Assembly
65
star
7

diy-prusa-i3-mk3-bear

My attempt to build a Prusa i3 MK3 3D Printer with Full Bear frame from scratch
60
star
8

i2s_audio_phat

I2S Audio pHAT
54
star
9

monster-fdc

ISA floppy disk controller card that supports up to 8 floppy drives
48
star
10

sandy_river_486

Open-source 486 ATX Motherboard
40
star
11

tiny_z80

Business Card Sized Z80 Single Board Computer
VHDL
35
star
12

Z80-512K

Z80 CPU and Memory Module
VHDL
33
star
13

floppy_bios

Multi-Floppy BIOS Extension
Assembly
32
star
14

minimax8085

Simple Intel 8085 based Single Board Computer (SBC)
Assembly
22
star
15

white_river_486

Open-source 486 ATX Motherboard
21
star
16

vintage-computing

Collection of various documents, files, and binaries related to vintage computing
18
star
17

MLX90615

A minimal Arduino library for Melexis MLX90615 Infra-red Temperature Sensor
C++
18
star
18

Proton_Turbo_XT

Attempt to reverse-engineer a Proton PT8010AF based Turbo XT motherboard
18
star
19

my_kicad_library

The KiCad library used in my projects
14
star
20

flock

Floppy Controller and Real Time clock for RC2014 compatible systesm
14
star
21

micro_8088_case

Case for Micro 8088
13
star
22

zeta_sbc

Zeta SBC is an Zilog Z80 based single board computer. It is inspired by Ampro Little Board Z80 and N8VEM project. Zeta SBC is software compatible with RomWBW Firmware
OpenSCAD
13
star
23

ttl-clock

74xx ICs Based Digital Clock
OpenSCAD
12
star
24

radio-86rk-rom

ROM cartridge for Radio-86RK
11
star
25

xiflash

Flash ROM Utility for Xi 8088 board
C
9
star
26

usb_audio

Compact USB Audio Adapter
OpenSCAD
7
star
27

max7_proto

Prototyping Board for Altera MAX7000 CPLDs
6
star
28

compaq-portable-iii-battery

Battery Module for Compaq Portable III
5
star
29

minimax8085-apu-ext

Arithmetic Processor and Extension Board for MiniMax 8085 SBC
5
star
30

minimax8085-keypad-vfd

VFD and keypad extension board for the minimax 8085
Assembly
5
star
31

retro-computers-design

How to design your own retro-style computer
4
star
32

qm-ssd1306

SSD1306 OLED Display Driver for Intel QMSI
C
4
star
33

rpi_rtc_ds3231

Maxim DS3231 Based RTC Module for Raspberry Pi
4
star
34

lp486pkt

Packet Driver for Intel Professional Workstation's On-board Ethernet Controller
Assembly
4
star
35

up-dediprog-adapter

UP2/UP Xtreme to DediProg SPI Flash Adapter
3
star
36

74xx_clock

74xx ICs Based Digital Clock
3
star
37

qm-bme280

Bosch Sensortec BME280 Environmental Driver for Intel QMSI
C
2
star
38

rf24-qmsi

RF24 port for Intel QMSI
C
1
star
39

qm-sprintf

Minimalistic sprintf() function implementation for Intel QMSI
C
1
star
40

testwait

Simple program to test the number of wait states on 8088/V20 system
Assembly
1
star