Copyright © 1983 Display Telecommunications Corporation (DTC)
Copyright © 1985-1986 International Business Machines Corporation (IBM)
Author: Don K. Harrison
This project is the work of @FinnJorgensen, @sergioag and @640-KB to reconstruct MEGA-BIOS V1.0 from the printed source code listing originally sold by DTC.
More information about DTC, MEGA-BIOS and it's legacy can be found here and here.
- Preserve the original source code exactly as it was printed.
- Document the source build process.
- Provide fixes and updates to known bugs.
Prerequisites:
- A PC running real mode DOS, or emulator: MartyPC, VirtualXT or 86Box are suggested. Note: since the
LINK86
/LOC86
command line requires STDIN redirection, DOSBox will not work. - Intel ASM86 Macro Assembler complete tools:
ASM86.EXE
,DXC.EXE
,LINK86.EXE
,LOC86.EXE
andOH86.EXE
(here or here).
Steps:
- Make sure ASM86 directory is in your
PATH
environment variable (ex:PATH=C:\ASM86
or wherever it is located). - Run
BUILD.BAT
in a DOS environment, which will produceMEGABIOS.ROM
, a binary ROM file 8192 bytes long.
- INITIAL.ASM: POST DMA Refresh test checks for a counter reading between
270H-290H
after a busy Loop of0A00H
iterations. This will likely fail on anything other than a 4.77MHz 8088. - VIDEO.ASM: Light pen incorrectly checks for trigger as active high, but is actually active low.
- VIDEO.ASM: During CGA snow/blanking wait, incorrectly jumps to outer loop instead of inner loop.
- VIDEO.ASM:
Mov Bl,OffsetTable[Bx]
ASM 2.x requiresMov Bl,Byte Ptr OffsetTable[Bx]
. TODO: confirm this is a change in behavior to ASM 1.x. - VIDEO.ASM: POST Memory test display occurs prior to video option ROM scan, so is not shown on EGA/VGA. Error messages are also displayed if an EGA/VGA card is installed.