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.
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.
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.
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.
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:
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,
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!
I know, it's daft, but hey, so am I. Now I can see the font whenever I want!
© Andrew Nile 2018-2024. Privacy