RIPFONT is designed to help you extract the font from an old-style graphics card, of the type where the font ROM is hidden from the PC. There are only two ways to get the font out of such a card:
RIPFONT is designed to help with the first of these options. What it does is set up a font in memory. You then edit the memory font until it looks identical to the font your card uses in text mode.
RIPFONT is designed for use on one of:
If you have a more advanced card (EGA or later) use GRABFONT instead; your life will be much easier.
RIPFONT should be run under DOS. On a CGA, you should first run GRAFTABL; this will provide default character shapes for the second 128 characters.
When RIPFONT is started, you will see a display something like this:
Choose character to edit 000: Cursor keys to select, ENTER to edit W to write font dump to disc R to read previous font dump S/T to test with ROM font, ESC to exit
Press S or T to compare the font being worked on with the graphics card's builtin font. The display shows them alternately - first one, then the other. If you press S, it switches between the two once a second. If you press T, it switches as fast as it can. Press ESC to leave the test screen.
Note that the S/T test mode does not work on an MDA, since the MDA has no graphics mode.
If the two fonts already look identical, fine. Press W to write the font dump (it will be saved with a fixed name) and then leave.
If the fonts don't look the same, then use the cursor keys to select a character that looks different. Press ENTER to edit the character.
The font editing screen shows the character bitmap (enlarged) and the current character, drawn in text mode. Use the cursor keys to move around, and SPACE to toggle a pixel. The S and T keys work on this screen as well.
Press ESC to leave the font editor (but don't press it again, or you'll leave the program!)
RIPFONT.C (15k) is the C source for RIPFONT.
RIPFONT.EXE (21k) is the compiled program.
If the character ROM in your CGA/MDA/Hercules card is socketed, then it's a lot quicker and more reliable to read the ROM directly than to do a painstaking job reconstructing all the characters one by one. Here's how.
Disclaimer: I take no responsibility for any damage that you may do to your graphics card, network card, ROM chips, computer, or anything else if you follow these instructions.
.A>debug -md800:0,4000,cs:100 ;D800 is the address allocated to the boot ROM Ok in this particular card. 4000 is 16k. -nrom.bin ;Filename is ROM.BIN -rcx CX 0000 :4000 ;4000 is 16k again. 2000 is 8k, 8000 is 32k. -w ;Write the ROM Wrote 00004000 bytes from address 271B:0100 to ROM.BIN -q ;Leave DEBUG