• Please review our updated Terms and Rules here

Is there a name for fonts suited for binary translation? (IBM 5110)

voidstar78

Veteran Member
Joined
May 25, 2021
Messages
913
Location
Texas
This was probably obvious to other folks, but I only recently realized the first 64 characters of the IBM 5110 built-in display font are suited for depicting binary sequences.

There is an "upper" and "lower" portion - the bottom half cycles 0 to F (hex), while the top half is in four groups: 0 (blank, except the very first symbol), 1 (top right line), 2 (top line set in one pixel), then 3 (both top right lines filled).

While the IBM 5110 was advertised more for business, the PALM processor itself was said to be used in some industrial applications (e.g. rumors of some plotters and IBM upright tape-reel cabinets). I still haven't found actual evidence of that, but a symbol set like this would be helpful for diagnostic purposes.
NOTE: This is PALM the instruction set from mid 1970s, not the late 1990s PDA.

I was working on a library of routines in PALM recently and had started on an integer to hex-in-ASCII conversion routines (e.g. a register holding value 0101 1111 1100 1010 binary, the routine would populate a string in memory with the letter "5FCA"). But then it dawned on me, to run the conversion faster, why not just index each byte directly into this font set and use those symbols themselves? (which I've seen before using just "any ol'e characters" but this time the built-in font seems designed specifically to support doing this)


1676136934862.png

This gives you 20-bits of unique state to represent. And it explains the first symbol so much better, with "0" at the top and bottom (making it more obvious when there is a zero). And here I thought it was just a "running man" font.


So, I wrote some PALM code to do this conversion and made a video of the result...




And I am wondering, what other systems did something like this? Was there a name to refer to this type of font sequence?

NOTE: The prior IBM 5100 sadly doesn't have this same font convention. They spent half their font indexes just making underscore versions of the other half :( Underscore was that important to a scientific-oriented system? :D

@stepleton
 
Last edited:
Interesting font. I guess making a maintenance display to show how the system works makes sense if the system lacks panels of blinking lights.

That is certainly an interesting way to spend 64 characters.

A number of early video cards and computers (TRS-80 is probably the best known, but there were also S-100 video cards from Polymorphic and Solid State Music) created graphics using 64 “semigraphics” characters that could be similarly used to directly display hex/binary codes up to 64 decimal, as long as the operator had memorized the grid order of the dots. A “zero” would just be a blank space, of course.
 
Yeah, I was wondering recently if those TRS-80 semigraphic symbols could be used to be used to represent QR codes. Or even with PETSCII.

Any blob of font is fine for bin-"symbol" conversion, but exactly like you said: as long as you can remember what shape (or color) goes with 0-F. First time here that I had seen a symbol set sequentially laid out to make it more obvious. And fast for the code to do the conversion: now apparently the one thing the 5110 really excels at doing :D


For reference here is the IBM 5100 character set - for what I meant about "the other half" just being underline versions of the top half. Perfect for when you need underline versions of Greek letters (I wonder if for purposes of variables, does phi equal underscore phi?).

The first row (below) is the first 32 characters, and so on. It's not EBCDIC at all on the 5100. Note the BASIC-only versions of the 5100/5110 share the same display card as the APL versions, so either can be used to type and show APL stuff.


1676165093714.png
 
For reference here is the IBM 5100 character set - for what I meant about "the other half" just being underline versions of the top half. Perfect for when you need underline versions of Greek letters (I wonder if for purposes of variables, does phi equal underscore phi?).

Not knowing anything about the 5100 I would hazard a guess that the underlined set uses the same ROM glyphs as the non-underlined and the line is added in hardware. That’s how reverse video worked on the Commodore PET. (Later Commodore machines had the full 256 characters for both sets in ROM, but the PETs only had space for 128 and had bit 7 tied to inverter circuitry.)

FWIW, those semi graphic characters on the TRS-80 and other ancient relatives aren’t in ROM either, they use some clever logic circuitry to convert the bits into the sub-blocks directly.
 
The underscored alphabet is needed in APL for variable names. It does allow one to split the results of the )VARS command since it would sort the alphabetic characters before the numbers and the numbers before the underscored characters.
A variable name can be up to 77 characters in length with no blanks; the first
character must be uppercase alphabetic or underscored uppercase alphabetic,
and the remaining characters can be any combination of uppercase alphabetic,
underscored uppercase alphabetic, and numeric characters. Variable names
longer than 77 characters can be used, but only the first 77 characters are
significant to the 5110.
 
Back
Top