KP-800 Eagle II Font

12 November 2021

I was watching YouTube (as you do) and one of the recommended videos was about the KP-800 CGA/VGA graphics card, by a channel called Necroware. (Link here.)

I also have this card, and although I find it pretty useless for various reasons (256KB VRAM, 8-bit ISA), it does have a very nice font. Whenever I bump into the card, I think of the font, and the video reminded me of it too.

What's so appealing about it? It uses all the vertical space. The edges of the lettering are very sharp and serif-y. It's unusual. It's nostalgic.

Hello there.

I had to have it.

Instead of wheeling out an old desktop with an ISA slot, I decided I would try to emulate it instead.

Video BIOS

There are two ROM chips on the board, and I wasn't sure how they were arranged. Usually when there are a pair of ROMs, they are interleaved with alternating bytes between them. I pulled out both chips and dumped them with my venerable TL866. (27C256)

As it happens, each chip was independent. I think one chip is for the CGA port, and the other for VGA, but I don't know for sure. Anyway, I had the font somewhere within these binary blobs.

Extracting The Font

It was a much simpler matter than I thought it might. The program BinxelView by Brad Smith made it a piece of cake. I just had to open the ROM file, set the preset to 1-bit and then simply scroll down the file until I saw the glyphs.

A screenshot of the Binxel program showing some font glyphs.

Emulating It

At this point, I should point out the Old School Fonts website. Yes, they've already spotted this font, amongst many other interesting specimens, and turned them into font files that can be used with your favourite operating system. Great work! However, I wanted to see the font as it was used with MS-DOS software.

I had several ideas on how to go about it. Should I:

  • Patch another (emulated) card's VBIOS by overwriting its font area?
  • Compile an open-source VBIOS with this font built-in?
  • Modify DOSBox to use this font instead of the default one?

I decided against the first option, at least for now, because the checksum would have to be found and recalculated, and also because the glyphs might not line up beyond the typical non-extended ASCII set.

I went with the second option, using the SeaBIOS VBE BIOS code. Getting the source was a bit of a hassle - the git repository wouldn't let me clone it, but at least I could retrieve the latest release. Anyhow, there is a simple file, vgafonts.c, that could be easily modified with the correct imagery.

I extracted the relevant area with a hex editor, converted it to a C array with bin2c, and pasted it into the source file. Then, I compiled the VBIOS, and swapped out the default VBIOS file in Bochs with my new one. Voila!

Microsoft Word for MS-DOS using the typical IBM font. Word, but with the Eagle II font instead.

The typical IBM font, and the lovely Eagle II font.

I know, it's daft, but hey, so am I. Now I can see the font whenever I want!

Return to Blog Index








© Andrew Nile 2018-2024. Privacy