My IBM PC/XT has one of its original IBM BIOSes. While it is an original and it is great for restoring an old computer, it doesn’t help much on diagnosing issues.

There is an open-source ROM BIOS for PC/XT called GLaBIOS. It’s a modern recreation of the BIOS and you can read the source code to understand the behavior. It also shows a lot of useful information on boot.

My goal today is to boot the XT with GLaBIOS!
Chips and memory map
On my XT motherboard, there are two ROM chips: a 32KB ROM chip labelled as 1501512 TMM23256P at U18 and a 8K ROM chip labelled as 5000027 at U19. (U18 and U19 are the location on the motherboard)

Interestingly, the ROM chips and use of these doesn’t match. These two chips covers F6000h to FFFFFh. The 8K chip and the 3/4 of the 32KB chip are used for ROM BASIC and the BIOS is the last 1/4 of the 32KB chip.

So what I need to do is to flash the BIOS image to the last 8KB of the 32KB ROM.
EEPROM
I used a 32KB EEPROM W27E257-12 from Winbond I got from eBay. It’s a 28-pin DIP IC. The -12’s access time is 120nS. This is fast enough for PC/XT.

I have MiniPro ROM writer and I can flash W27E257 with it.

As described earlier in this post, I needed to place the BIOS image to the last 8KB of the 32KB EEPROM - the image should start from E000h.

BOOT!
With the GLaBIOS EEPROM was inserted to U18, I’ve powered up the PC/XT and it successfully booted with GLaBIOS.

It shows that the machine has a 8088 processor with a CGA video card, no 8087 co-processor. It has 640KB of RAM and a COM port at 03F8h(I’ve installed SixPackPlus from AST Research).
I’ve also installed XT/CF card. The interface card was detected, but I haven’t been able to boot from a Compact Flash yet.
Alright, that’s all for today!