Releases: 640-KB/GLaBIOS
0.4.0
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
- Juko NEST N3 8086/V30
- Book 8088
- VirtualXT build option
ARCH_VIRTUALXT
thx @andreas-jonsson - VTech Laser Turbo XT thx to @AtomicLunchbox!
- Compaq Portable (work in progress) thx to @AtomicLunchbox for testing
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
)
- Light pen support (
-
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 allowEAh
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 codes70h-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
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
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" testMDA_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
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
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
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
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
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
0.1.8
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
.