Skip to content

Releases: 640-KB/GLaBIOS

0.4.0

18 Jul 02:52
Compare
Choose a tag to compare

Version 0.4.0 Release - 07/17/25

It's been almost two years since an official binary release, and a lot has been added since 0.2.5. Thanks so much to everyone who has contributed suggestions, testing and support. If GLaBIOS is working well for you, please consider spreading the word!

Any thoughts, feedback or questions, or if you like talking about real mode BIOSes and related topics, join the Discord.

Changelog:

New Platform Support

New Features

  • FDC_ADV_SEEK option to cache head position which can increase floppy performance by up to 50%.

  • INT 10h AH=4 light pen support.

  • 5150 build can now include cassette support and one of:

    • Light pen support (LIGHT_PEN) (default)
    • Hard drive size display (POST_HD_PARMS)
    • Option ROM segment and size display (POST_OPT_ROM)
    • Random tagline (RANDOM_TAGLINE)
  • UNSAFE_FLOPPY option to decrease head settling time on floppy drives. Reduce floppy drive head settling time for possibly faster seek access and burst transfer reads. Note: may result in read/write errors or disk corruption - use with caution.

  • UNSAFE_REFRESH alter DRAM refresh timing similar to FASTV20 or SPEEDER. Note: this could lead to an unstable system - use experimentally.

  • OEM_KB_EXT option to allow EAh power-on-reset byte for extended 101 keyboards (enabled by default).

  • Longer keyboard reset timeout for "slow" keyboards such as Model M 1390120.

  • KB_FILTER_SC filters "invalid" scan codes 70h-7Fh (disable unused keys on Book 8088 keyboard).

  • OEM_FONT OEM style font on 5150/5160 builds.

  • FDC_IPL_SW option to use motherboard DIP switch 1 to select 0 floppy drives installed.

  • POST_THEME = 0 to disable all color/text attributes entirely (may improve readability on some mono CRTs such as 5155).

  • MUSHROOM_HACK option to work around IO_DELAY if PIT is not running.

  • V40_INIT_OPTIONAL option to init all V40 registers (including ones not used for PC).

  • MUTE_TANDY option to mute Tandy 3 Voice Sound card (SN76489AN) buzzing on boot. Thx to @flama12333 for the suggestion!

Fixes

  • Post Error Beep patterns are slower and easier to understand.
  • Fix an issue on V20 where some POST errors were not shown.
  • Disable zero'ing of FDC status in BDA (workaround to DTC 5150X MFM drive controller issue).
  • FPU properly detected on FE2010A if default boot speed is low (BOOT_NORMAL).
  • System beep preserves previous PPI state - thx to @ saworley for suggestion.
  • 5150 PIT gate set high on boot, consistent with PC BIOS thx to @ saworley.
  • Disable DMA TC test on 5150 as it may fail due to race condition if less than 64K RAM installed (this test was not done on OEM 5150 BIOS anyway).
  • Fix issue on TD-3300A where bad RAM could cause POST test to scroll infinitely. Thx to @sqpat!
  • Fix issue in INT 10H where CRTC control byte loaded from wrong segment if INT 1Dh was revectored. Thx to @dbalsom!
  • MASM 5.1/TASM compatibility.

Additional Credits

  • New tagline ("leading trailing edge") by @Trixter
  • Byte golfing help and loaner Nest N3 @sqpat

Full Changelog: v0.2.5...v0.4.0

ROM standard builds

Build Download Desc
Standard/Turbo 8088, V20 Supports Turbo (standard Ctrl-Alt-+ speed switching), best choice for most systems.
XT 5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
PC 5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Additional chipsets / platforms

Build Download Desc
FE2010A 8088, V20 Faraday FE2010A (Headstart Plus/Vendex 33-XT/PC-10, Twinhead 6000G1, PT8010AF and others)
ST-12 8088, V20 Juko ST-12 / UNIQUE UX-12 / TD3300A chipset
UM82C088 / M1101 8088, V20 UM82C088 / Acer / ALi M1101 chipset
NEST N3 8086, V30 Juko NEST N3
micro_8088 / NuXT 8088, V20 8K BIOS only
NuXT V20 128K image with XT-IDE 2.10, HD floppy and RTC support (GLaBIOS Low / 8088_bios High) note: use GSETUP to configure floppy drives

V20 builds use V20-specific instructions where possible and will not work on 8088/8086 CPUs. If you are unsure, use the 8088 ROMs.

NOTE: some platforms may still require additional testing, so if yours isn't listed under this release yet, use the 0.2.5 releases for now.

Real Time clock hardware support available with GLaTICK.

0.2.5

01 Aug 01:34
Compare
Choose a tag to compare

Version 0.2.5 Release - 07/31/23

This is intended to be the last release of 0.2 until version 0.4!

Changelog:

Features

  • POST_TEST_KEY option to disable only keyboard POST "stuck key" test
  • MDA_ATTR option to remove MDA character attributes from POST screen (workaround issues with some Herc clone font ROMs)
  • POST_OPT_ROM option to display extension ROM segment, size and checksum errors (instead of just silently skipping it)
  • MAX_RAM_AUTO option to auto-detect maximum low memory size based on motherboard video DIP switch settings: 734K for CGA, 704K for MDA otherwise 640K (enabled by default for emulator build).
  • FDC_IPL_SW option to use motherboard switch 1 (IPL/test mode) to disable floppy drive tests if not installed
  • Hard drive size and geometry displayed in two columns
  • TD_HIMEM clear and display high memory bank on ST-12/TD3300

Platform Support

  • MartyPC
  • Vendex 888-XT/PB88/Samsung - Turbo/speed hotkey support
  • UMC UM82C088/ALi M1101 - Turbo/speed hotkey and memory sizing support

Fixes

  • INT 13h correct number of sectors written for format operations
  • Function key+Shift+Ctrl and Ctrl+PgUp return correct scan codes
  • Print screen LPT timeout
  • Second pass of memory test pattern fix
  • Disable keyboard HLT on TD3300

Real Time clock support now available with GLaTICK!

ROM standard builds

Build Download Desc
Standard/Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard/Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Additional chipsets / platforms

Build Download Desc
FE2010A 8088, V20 Faraday FE2010A (Headstart Plus/Vendex 33-XT/PC-10, Twinhead 6000G1, PT8010AF and others)
ST-12 8088, V20 Juko ST-12 / UNIQUE UX-12 / TD3300A chipset
UM82C088 / M1101 8088, V20 UM82C088 / Acer / ALi M1101 chipset
Vendex 888-XT 8088, V20 Vendex 888-XT / PB88 / Samsung
EMM Homebrew 8088, V20/V40 32K Universal, No DMA or Floppy
EMM Homebrew 8088, V20/V40 32K Universal, DMA and Floppy installed
micro_8088 / NuXT 8088, V20 8K BIOS only
micro_8088 / NuXT 8088, V20 128K image with XT-IDE, Multi-Floppy and RTC support (GLaBIOS Low / 8088_BIOS High)
micro_8088 / NuXT 8088 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support (for use with UFLASH.EXE)
micro_8088 / NuXT V20 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support

Testing/Beta

Build Download Desc
Book 8088 8088, V20 64K w/XT-IDE

Emulators

Build Download Desc
MartyPC 5160, 5150
86Box / Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. May not run properly on real hardware.

0.2.4

11 Apr 22:07
Compare
Choose a tag to compare

Version 0.2.4 Release - 04/11/23

Changelog:

  • PCXT_MiSTer support
  • ARCH_SUB_TYPE build option to allow easier building of architecture sub-types
  • Improved support of 16550A (#28)
  • ROM BASIC enabled by default on FE2010A (thx to @csoren for the suggestion!)

Real Time clock support now available with GLaTICK!

ROM standard builds

Build Download Desc
Standard Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Other chipsets

Build Download Desc
FE2010A 8088, V20 Faraday FE2010A chipset (Headstart Plus/Vendex 33-XT/PC-10, Twinhead 6000G1, PT8010AF and others).
ST-12 8088, V20 ST-12 / UNIQUE UX-12 / TD3300A chipset.
UM82C088 / M1101 8088, V20 UM82C088 / Acer / ALi M1101 chipset.

Additional platforms

Build Download Desc
86Box / Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. Will not run on real hardware.
micro_8088/NuXT 8088, V20 8K image BIOS only
EMM Homebrew 8088 8088, V20/V40 EMM Homebrew supports 8088 or V20/V40.
EMM Homebrew (no DMA) 8088, V20/V40 Without DMA or Floppy Drive Support

0.2.3 micro_8088/NuXT (0.2.4 full images coming soon)

Build Download Desc
micro_8088/NuXT 8088, V20 128K image with XT-IDE, Multi-Floppy and RTC support
micro_8088/NuXT 8088, V20 128K image BIOS only (no XT-IDE, Multi-Floppy or RTC support). How to use High Density Floppy drives
micro_8088/NuXT 8088 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support (use with UFLASH.EXE).
micro_8088/NuXT V20 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support.

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

0.2.3

12 Jan 23:27
Compare
Choose a tag to compare

Version 0.2.3 Release - 01/10/23

Changelog:

  • Floppy drive seek now enabled for 5150
  • Disk MBR check disabled (for DOS 1.0) by default on 5150 and 5160 (thx to @telanus for the suggestion)
  • Floppy Drive checks can be completely disabled (default for EMM homebrew)

ROM standard builds

Build Download Desc
Standard Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Additional platforms

Build Download Desc
86Box / Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. Will not run on real hardware.
FE2010A 8088, V20 Faraday FE2010A chipset (Headstart Plus/Vendex 33-XT/PC-10, Twinhead 6000G1, PT8010AF and others).
ST-12 8088, V20 ST-12/UNIQUE TD3300A chipset (port 90h Turbo control).
EMM Homebrew 8088 8088, V20/V40 EMM Homebrew supports 8088 or V20/V40.
EMM Homebrew (no DMA) 8088, V20/V40 Without DMA or Floppy Drive Support

Beta platforms

Still in development but considered stable.

Build Download Desc
micro_8088/NuXT 8088, V20 128K image with XT-IDE, Multi-Floppy and RTC support
micro_8088/NuXT 8088, V20 128K image BIOS only (no XT-IDE, Multi-Floppy or RTC support). How to use High Density Floppy drives
micro_8088/NuXT 8088 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support (use with UFLASH.EXE).
micro_8088/NuXT V20 Lo: F000
Hi: F800
32K images with XT-IDE, Multi-Floppy and RTC support.

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

0.2.2

09 Dec 22:52
0d215eb
Compare
Choose a tag to compare

Version 0.2.2 Release - 12/09/22

Changelog:

  • Boot WARM/COLD now enabled for 5150
  • Smoother text rendering on memory test count
  • Disk MBR check disabled (for DOS 1.0) by default on 5150 and 5160 (thx to @telanus for the suggestion)
  • Option to disable RAM parity check during POST test
  • Midnight flag on BDA timer now increments instead of just 1 (thx to @ecm-pushbx for the suggestion!)

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

ROM standard builds

Build Download Desc
Standard Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Alternate platforms

Build Download Desc
86Box / Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. Will not run on real hardware.
FE2010A 8088, V20 Faraday FE2010A chipset (Headstart Plus/Vendex 33-XT/PC-10 and others).
ST-12 8088, V20 ST-12/UNIQUE TD3300A chipset (port 90h Turbo control).
EMM Homebrew 8088 8088, V20/V40 EMM Homebrew supports 8088 or V20/V40.
Micro 8088 8088, V20 Experimental: Without Multi-Floppy BIOS (High Density Drive) support

Notes

E/EPROM notes

The BIOS image is 8K (same as the original PC, XT v1 and most clones). If your motherboard has an 8K ROM socket and you're using a larger E/EPROM it may be necessary to write the image repeated multiple times to work with the unused address lines.

If your motherboard uses a 16K or 32K ROM, the image will need to either be written multiple times or to the last 8K block in the E/EPROM.

ROM BASIC: If your motherboard uses a 32K ROM with BASIC ROM at 0xF600 you can extract the top 24K of U18 and write that into the new 32K ROM's 0x0000-0x5FFF space, with the GLaBIOS code starting at relative offset 0x6000.

Special Builds

  • WD 1002x-WX1/WX2 MFM hard drive controllers (ROM versions 62-000043-0xx known affected) have bugs that affect the ROM POST screen display of hard disk geometry and sizes requiring those be disabled. If you use one of those, build with POST_HD_CHECK = 0 to work around or email 640kb@glabios.org for a custom build.

0.2.1

05 Dec 18:57
Compare
Choose a tag to compare

Version 0.2.1 Release - 12/05/22

Version 0.2.1 contains minor updates and fixes.

  • Fixed a keyboard issue with Multi-Floppy BIOS 2.2 configuration when adding a drive.
  • EMM Homebrew 8088 keyboard fix, mini boot loader for CH37X v0.52 image.
  • Numerous inline documentation and byte optimization updates.

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

ROM standard builds

Build Download Desc
Standard Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Alternate platforms

Build Download Desc
86Box / Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. Will not run on real hardware.
FE2010A 8088, V20 Faraday FE2010A chipset (Headstart Plus/Vendex 33-XT/PC-10 and others).
ST-12 8088, V20 ST-12/UNIQUE TD3300A chipset (port 90h Turbo control).
EMM Homebrew 8088 8088, V20/V40 EMM Homebrew supports 8088 or V20/V40.

Notes

E/EPROM notes

The BIOS image is 8K (same as the original PC, XT v1 and most clones). If your motherboard has an 8K ROM socket and you're using a larger E/EPROM it may be necessary to write the image repeated multiple times to work with the unused address lines.

If your motherboard uses a 16K or 32K ROM, the image will need to either be written multiple times or to the last 8K block in the E/EPROM.

ROM BASIC: If your motherboard uses a 32K ROM with BASIC ROM at 0xF600 you can extract the top 24K of U18 and write that into the new 32K ROM's 0x0000-0x5FFF space, with the GLaBIOS code starting at relative offset 0x6000.

Special Builds

  • WD 1002x-WX1/WX2 MFM hard drive controllers (ROM versions 62-000043-0xx known affected) have bugs that affect the ROM POST screen display of hard disk geometry and sizes requiring those be disabled. If you use one of those, build with POST_HD_CHECK = 0 to work around or email 640kb@glabios.org for a custom build.

0.2.0

15 Nov 23:21
Compare
Choose a tag to compare

Version 0.2 Release - 11/15/22

Version 0.2 is a significant update to version 0.1 adding numerous performance and stability improvements as well as new features and support for more hardware platforms.

  • Cassette tape support on 5150 PC.
  • Support for Faraday FE2010A-based PCs (Headstart Plus/TURBO 888-XT/VTI Vendex 33-XT/PC-10 and others) including hotkey speed switching, floppy, FPU and memory auto-detection.
  • Support for EMM Homebrew 8088 with 8088, V20 or V40.
  • Emulator-optimized build: significant performance increase on virtual hardware.
  • Experimental support for micro_8088 / NuXT.
  • Greatly expanded feature customization and personalization at build time (see source for details!).

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

ROM main builds

Build Download Desc
Standard Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Standard Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 8088, V20 Best for standard 4.77MHz XT/5160 or clone PCs.
5150 8088, V20 Supports cassette, 5150 motherboard, 640 KiB memory and option ROMs.

Alternate builds

Build Download Desc
Emulator 8088, V20 Performance optimized for 86Box, PCem, PCE/ibmpc. Will not run on real hardware.
FE2010A 8088, V20 Faraday FE2010A chipset (Headstart Plus/Vendex 33-XT/PC-10 and others).
ST-12 8088, V20 ST-12/UNIQUE TD3300A chipset (port 90h Turbo control).
EMM Homebrew 8088 8088, V20/V40 EMM Homebrew supports 8088 or V20/V40.
NuXT 8088, V20 Experimental BIOS for NuXT motherboard. This is the "NuXT 128K image" with the original NuXT BIOS in the first half, and GLaBIOS in second half (selectable with DIP switch on NuXT).

Notes

E/EPROM notes

The BIOS image is 8K (same as the original PC, XT v1 and most clones). If your motherboard has an 8K ROM socket and you're using a larger E/EPROM it may be necessary to write the image repeated multiple times to work with the unused address lines.

If your motherboard uses a 16K or 32K ROM, the image will need to either be written multiple times or to the last 8K block in the E/EPROM.

ROM BASIC: If your motherboard uses a 32K ROM with BASIC ROM at 0xF600 you can extract the top 24K of U18 and write that into the new 32K ROM's 0x0000-0x5FFF space, with the GLaBIOS code starting at relative offset 0x6000.

Special Builds

  • WD 1002x-WX1/WX2 MFM hard drive controllers (ROM versions 62-000043-0xx known affected) have bugs that affect the ROM POST screen display of hard disk geometry and sizes requiring those be disabled. If you use one of those, build with POST_HD_CHECK = 0 to work around or email 640kb@glabios.org for a custom build.

Shoutouts

Huge thanks to @maxtherabbit, @Maxx1234 and @PickledDog for bug-finding and testing! And @Raffzahn as always for specs, advice and giving me a hard time when I need it.

Bonus Material

The Epictronics 1-bit Dance Party

0.1.8

07 Nov 17:31
Compare
Choose a tag to compare

Version 0.1.8 - 11/07/22

This version includes all bug fixes to date and is intended to be the last release of the 0.1 branch.

Please send any hardware/software or compatibility reports or feedback to 640kb@glabios.org.

ROM main builds

Build Desc
Turbo 8088 Supports Turbo (standard Ctrl-Alt-+ speed switching), all CPUs, best choice for most systems.
Turbo V20 Supports Turbo and uses V20 enhanced instructions where possible. Will not run on 808x CPUs.
5160 Best for standard 4.77MHz XT/5160 or clone PCs. (V20 version)
5150 Supports cassette, 5150 motherboard DIP switch settings, 640KB and option ROMs. (V20 version)

Alternate builds

Build Desc
ST-12 ST-12/UNIQUE TD3300A chipset (8088 version, V20 Version).

E/EPROM notes

The BIOS image is 8K (same as the original PC, XT v1 and most clones). If you use a 32K ROM in an 8K slot it may be necessary to write the image repeated 4 times to work with the unused address lines.

ROM BASIC: If your motherboard uses a 32K ROM with BASIC ROM at 0xF600 you can extract the top 24K of U18 and write that into the new 32K ROM's 0x0000-0x5FFF space, with the GLaBIOS code starting at 0x6000.