Skip to content
640KB edited this page May 16, 2024 · 4 revisions

GLaBIOS can be built using MASM 5, MASM 6.1 or TASM.

Build Process:

MASM 5.x:

  1. MASM GLABIOS; (note: add /L to create the .LST listing file).
  2. LINK GLABIOS; Will create GLABIOS.EXE.

MASM 6:

  1. ML.EXE /I. /Zm /c GLABIOS.ASM (note: add /Fl to create the .lst listing file)
  2. LINK GLABIOS; Will create GLABIOS.EXE.

You may also specify CPU and ARCH types on the command line:

  • MASM 5: MASM /L /DCPU_TYPE="8" /DARCH_TYPE="T" GLABIOS;
  • MASM 6: ML.EXE /I. /Fl /Zm /DCPU_TYPE='8' /DARCH_TYPE='T' /c GLABIOS.ASM

TASM:

  1. TASM GLABIOS.ASM (note: add /l or /la to create the .lst listing file).
  2. LINK GLABIOS; Using DOS LINK.EXE is recommended.

Create ROM binary:

  1. Run GLA2ROM GLABIOS (included in src folder) to convert to an 8 KiB ROM file.

Alternate step 3:

  1. Convert EXE manually by removing the EXE header (the first 512 bytes of the EXE file) and extracting the last 8 KiB
  2. Calculate 8-bit checksum byte and insert into relative file offset 1FFF in GLABIOS.ROM. The low byte of sum of all bytes should equal 0.

MASM 6 note:

Due to differences between MASM 5 and MASM 6, the MACROs that ensure that fixed ORGs are not exceeded do not work correctly on MASM 6 and as a result it is possible to end up with a broken ROM build if certain build options are enabled together. If you are experimenting with build options, it's recommended to build with MASM 5 to ensure there is sufficient code space for that custom build type.