• Stars
    star
    206
  • Rank 190,504 (Top 4 %)
  • Language
    Assembly
  • License
    GNU General Publi...
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

BIOS for Intel 8088 based computers

8088 BIOS

Open source BIOS for Micro 8088, NuXT (Git repo), and Xi 8088 systems

BIOS Images

File name Description
bios.bin BIOS image for use with xiflash utility
bios-micro8088.bin BIOS image for Micro 8088 Version 1.1
bios-micro8088-xtide.bin BIOS image for Micro 8088 Version 1.1 with XT-IDE
bios-xi8088.bin BIOS image for Xi 8088 Version 2.0
bios-xi8088-xtide.bin BIOS image for Xi 8088 Version 2.0 with XT-IDE
bios-sergey-xt.bin BIOS image for Sergey's XT Version 1.0
bios-sergey-xt-xtide.bin BIOS image for Sergey's XT Version 1.0 with XT-IDE

Build Instructions

Release Notes

Changes

  • Version 0.9.9

    • Port floppy BIOS from Multi-Floppy BIOS extension
    • Add chipset detection for Faraday FE2010A and Proton PT8010AF chipsets. Disable memory refresh on these chipsets
    • Add a setup option for configuring wait states for Faraday FE2010A and Proton PT8010AF chipsets
    • Add a setup configuration option to disable power-on memory test. Disabling the memory test speeds up the boot process
    • Add support for SST39SF020A and SST39SF040 Flash ROMs. Note that unused address lines on these chips need to be connected to the ground
    • Update XT-IDE BIOS ROM Extension to r624. Add corresponding xtidecfg.com utility. The XT-IDE BIOS ROM image provided with 8088 BIOS is configured for XT-CF-Lite at port 0x320. Use the xtidecfg.com utility to reconfigure that if needed prior to building the BIOS
    • Fix keyboard scan codes for several key combinations: Ctrl-b, Ctrl-v, Ctrl-q, Alt-q, Ctrl-+
    • Fix an issue with BIOS resetting equipment list after VGA BIOS extension initialization, which resulted in a missing or incorrect video output then VGA is connected to a monochrome display
  • Version 0.9.8

    • Merge Micro 8088 and Xi 8088 to master branch (use same code base)
    • Implement BIOS setup option for F0000-F7FFF area extension ROM scan
    • Fix FDC data rate setting on systems with 360KB/720KB drives
    • Update the number of floppies in equipment_word when saving configuration
    • Revise POST codes. Display POST code prior to an action, such as device test or subsystem initialization
    • Micro 8088: RTC autodetect fixes
    • Micro 8088: Fix floppy drives configuration
    • Xi 8088: AT / PS/2 keyboard controller initialization code improved
  • Version 0.9.7

    • Micro 8088: Implement RTC support and autodetect (based on the code contributed by Aitor Gomez)
    • Micro 8088: Implement setting 40x25 CGA mode using DIP switches
    • Xi 8088: Implement CPU clock frequency configuration in the BIOS setup
  • Version 0.9.6

    • Micro 8088: Implement CPU clock frequency configuration in the BIOS setup utility (contributed by Aitor Gomez)
    • Fix the issue where BIOS would activate RTS when sending a character
    • Fix the issue with 24 hours clock rollover
  • Version 0.9.5

    • Micro 8088: Fix reading serial port status
    • Micro 8088: Implement checksum for the Flash ROM configuration space
    • Fix booting without XTIDE Universal BIOS
  • Version 0.9.4

    • Micro 8088: Implement BIOS setup utility including saving configuration to the BIOS Flash ROM
    • Improve build configurability
  • Version 0.9.3

    • Implement turbo mode switching using keyboard on Micro 8088
    • Fix the issue where the number of serial and printer ports was not updated in the equipment word
    • Update XT keyboard reset and buffer flush code
    • Fix the issue where the BIOS would hang when one of the Lock keys is pressed
    • Increase I/O delay in RTC code to solve 'FF' displayed in the year issue
  • Version 0.9.2

    • Update configuration mechanism to enable support of multiple target platforms
    • Add initial support for Micro 8088 board using Faraday FE2010A chipset
  • Version 0.9.0

    • No updates except of BIOS date and version
  • Version 0.8.2

    • Fix keypad '*' interpreted as print screen
    • Output '00' POST code to Port 80h when booting OS
    • Use OKI-designed 80C88 and Harris-designed 80C88 instead older/newer 80C88
    • Add date and time setup to RTC setup utility
    • NVRAM setup utility - print help only if requested
    • Minor bug fixes and readability improvements in floppy code
    • Fix compilation errors with AT_COMPAT and PS2_MOUSE disabled
  • Changes - Version 0.8.1

    • Fix BIOS extension ROM scan procedure. Previously in some cases it was failing to initialize more than one BIOS extension ROM.
  • Changes - Version 0.8

    • Add serial port (INT 14h) support
    • Add printer (INT 17h) support
    • Add print screen (INT 5) support
    • Print BIOS extension ROM addresses on ROM initialization
    • Add more POST checkpoints, update POST codes
    • Rename Sergey's XT references to Xi 8088
  • Version 0.7e

    • Set DS to the BIOS data segment after calling extension ROM initialization routines. Fixes the bug where POST would stuck following initialization of an extension ROM that doesn't preserve DS. (Reported by Bill Lewis)
  • Version 0.7d

    • Extension ROM scan
      • Include 0F0000h - 0F7FFFh area in scan, so that extensions can be added to the system's flash.
    • POST
      • Reset IOCHK trigger, disable turbo mode
  • Version 0.7c

    • IPL
      • Fix boot sector signature address
      • Fix error when booting from floppy (call INT 13h AH=08h before boot)
    • POST
      • Add DMA initialization
      • Skip memory test if ESC pressed
      • Skip memory test on warm reboot
    • Keyboard / INT 09h
      • Add support for Ctrl-Break
      • Add support for Pause
    • Video / INT 10h
      • Functions 06h and 07h: Improve scrolling implementation
      • Function 00h: Fix bug with clearing display in graphics modes
      • Use free font for graphics modes
      • Add graphics font for characters 80h-0FFh
    • Floppy / INT 13h:
      • Use 2.88M settings for the default disk parameter table. Previosly 160K settings were used and BIOS was failing to boot from disks with more than 8 sectors per track.
      • More clean and effective fdc_get_result implementation, fdc_wait_input removed as it no longer needed
  • Version 0.7b

    • Initial public release

TODO

  • (high) Add technical documentation
  • (med) Finalize extended keyboard support - full extended keyboard support
  • (med) Beep if no video, install dummy handler
  • (low) Xi 8088: Debug mouse issue with Intel 8242
  • (low) Xi 8088: Debug issues with Microsoft and Logitech mouse drivers
  • (low) Keyboard - sound on buffer overflow
  • (low) More tests - RTC, memory, DMA
  • (low) Init display before keyboard, so KBD errors can be displayed. Alternatively store non-fatal errors and display them after display is initialized
  • (low) Check possibility of using same EBDA for XT-IDE BIOS and system BIOS PS/2 mouse functions
  • (low) BIOS checksum
  • (enh) Add PnP extension

Switches and jumpers settings - Xi 8088

  • SW2-8: Display adapter type:
    • Off = CGA
    • On = MDA or Hercules
    • Ignored if Video BIOS is present (EGA / VGA cards)

More Repositories

1

omega

Omega Home Computer
Shell
327
star
2

micro_8088

Micro 8088 - IBM XT Compatible Processor Board based on Faraday FE2010 chipset
253
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