alejack12001
Veteran Member
I need help configuring the assembly code for a ROM that will host GLaBIOs and handle floppy-drive selection for an IBM 5160 PC‑XT system. My interest in using GLaBIOs on this system came from a video on Adrian’s Digital Basement. In that video, Adrian demonstrates how to speed up the 5160’s boot process by using a GLaBIOs ROM, integrated into a OneROM component, to replace the U18 ROM on the 5160 motherboard.
The video can be viewed on YouTube under the Title: Possibly the fastest booting IBM PC (Running at 4.77MHz). The video is somewhat long and spends a lot of time comparing the 5160’s boot speed under different configurations—OneROM plus GLaBIOs versus the standard BIOS. In those comparisons, the OneROM and GLaBIOs combination clearly comes out ahead. GLaBIO's ROM source code is available from the GLaBIOS webpage (https://glabios.org/)
However, a limitation of this modernization is that the user is still restricted to the standard 360‑KB floppy drive (and the original hard drive). I would like to take the modernization a step further by adding a 1.44‑MB drive. My goal is to use a GoTek configured as a 1.44‑MB B: drive (drive 1) while keeping the original 360‑KB drive as A: (drive 0).
For context, my motherboard is one of the 16–256‑KB models built in 1982. The floppy drive included with the machine is a Tandon 100A with a terminating resistor. The floppy controller matches the three‑quarter‑length board shown on the minuszerodegrees website.
On the GLaBIOs website, there is a reference to a pre-release ROM called GLaDISK. This GLaDISK ROM is described as supporting up to a 2.88‑MB floppy drive on IBM systems, specifically the PC‑XT, AT, and CMOS‑based systems. The documentation and GLaDISK code referenced can be obtained from the GLaDISK GitHub page: https://github.com/640-KB/GLaDISK.
The “setup and configuration of the drives” section of the GLaDISK ROM currently shows three possible configurations, as shown in the enclosed JPG file. The first configuration does not apply to my situation, although I do plan to use an AST SixPack Plus, which provides a real‑time clock, serial and parallel ports, and 384 KB of RAM, bringing total system memory to 640 KB. The third configuration describes drive‑type definitions located at offsets 0005h–0006h for different drive types. For my desired configuration, those values would be 14h and ECh, respectively.
The real difficulty lies in the GLaDISK code itself: there are multiple setup paths for systems with 2 or 4 drives and for systems with CMOS settings. I have tried to locate a default configuration for the floppy drives and used the value at 0005h as my reference, but without success. The address goes to a lot of different locations within the code, and finding just two drives is complex, even though the code is well-documented.
I have very little assembly coding experience, and I am therefore asking for assistance from those with assembly‑language experience to:
1. Identify the default floppy‑drive configuration used by GLaDISK/GLaBIOs, and
2. Show how to modify it to support my specific configuration: a 360‑KB A: drive and a 1.44‑MB B: drive (GoTek), using the 14h / ECh settings described above.
Any assistance would be greatly appreciated.
The video can be viewed on YouTube under the Title: Possibly the fastest booting IBM PC (Running at 4.77MHz). The video is somewhat long and spends a lot of time comparing the 5160’s boot speed under different configurations—OneROM plus GLaBIOs versus the standard BIOS. In those comparisons, the OneROM and GLaBIOs combination clearly comes out ahead. GLaBIO's ROM source code is available from the GLaBIOS webpage (https://glabios.org/)
However, a limitation of this modernization is that the user is still restricted to the standard 360‑KB floppy drive (and the original hard drive). I would like to take the modernization a step further by adding a 1.44‑MB drive. My goal is to use a GoTek configured as a 1.44‑MB B: drive (drive 1) while keeping the original 360‑KB drive as A: (drive 0).
For context, my motherboard is one of the 16–256‑KB models built in 1982. The floppy drive included with the machine is a Tandon 100A with a terminating resistor. The floppy controller matches the three‑quarter‑length board shown on the minuszerodegrees website.
On the GLaBIOs website, there is a reference to a pre-release ROM called GLaDISK. This GLaDISK ROM is described as supporting up to a 2.88‑MB floppy drive on IBM systems, specifically the PC‑XT, AT, and CMOS‑based systems. The documentation and GLaDISK code referenced can be obtained from the GLaDISK GitHub page: https://github.com/640-KB/GLaDISK.
The “setup and configuration of the drives” section of the GLaDISK ROM currently shows three possible configurations, as shown in the enclosed JPG file. The first configuration does not apply to my situation, although I do plan to use an AST SixPack Plus, which provides a real‑time clock, serial and parallel ports, and 384 KB of RAM, bringing total system memory to 640 KB. The third configuration describes drive‑type definitions located at offsets 0005h–0006h for different drive types. For my desired configuration, those values would be 14h and ECh, respectively.
The real difficulty lies in the GLaDISK code itself: there are multiple setup paths for systems with 2 or 4 drives and for systems with CMOS settings. I have tried to locate a default configuration for the floppy drives and used the value at 0005h as my reference, but without success. The address goes to a lot of different locations within the code, and finding just two drives is complex, even though the code is well-documented.
I have very little assembly coding experience, and I am therefore asking for assistance from those with assembly‑language experience to:
1. Identify the default floppy‑drive configuration used by GLaDISK/GLaBIOs, and
2. Show how to modify it to support my specific configuration: a 360‑KB A: drive and a 1.44‑MB B: drive (GoTek), using the 14h / ECh settings described above.
Any assistance would be greatly appreciated.
Last edited:


