Load, Call, Character Generators, and "Letter Quality" printers

I remember early versions of FoxPro had the LOAD and CALL commands (try typing them in the command window!) that allowed you to put binary code directly into memory and run it!

Back about 20 years ago, I wrote code in Foxbase that I hand assembled into a binary file that Fox would LOAD and CALL .One of the applications was a real-time registration system that would register babies for the “Healthy Baby Contest” in Hawaii. Families registered by mail beforehand, and I did data entry into a FoxBase application. The day of the contest, the families came to the registration desk and gave their name. I typed in their name to pull up their record. My code CALLed my LOADed code, passing a string that would use the BIOS Character fonts to display instructions to the family on the screen: something like “Is your baby’s birth date January 2, 1984?” or “Please proceed to the staging area”.

My binary code looped through the string and looked up the raster fonts in the BIOS and wrote directly to the display adapter to double the size of the font in width and height, so it actually displayed 4 times larger. My IBM PC Technical Reference (which I bought (for $60: a great investment!) along with my first PC in 1982) has the full BIOS ASM listing including the Character Generator Graphics (essentially a bitmap for each character). Each of the 128 characters in the font occupied 8 bytes, for a total of about 1k. Windows and GUI make things so much easier! That manual (sitting next to me) also has the full schematics of the original IBM PC: very valuable for clone makers! (see also Why was the original IBM PC 4.77 Megahertz?)

The program also printed a “Thank you for participating” certificate. Getting a Letter Quality printer on site was quite difficult. I actually borrowed one from my Dad’s office for the few years I ran the contest. Initially it was a huge, very loud NEC typeball printer. Eventually it was a laser printer. Nowadays, we don’t even think about “Letter Quality” any more!

Does anybody else remember using the LOAD and CALL commands?