(Not so) recently, I acquired a Sony HB-11 MSX, also known as HitBit U.
The firmware of this computer was previously undumped, so I
dumped it
Beside the well-known features of Kanji-ROM, Japanese Word Processor, and English-Japanese dictionary
—they are written on top of the computer—, the firmware contains a quite unique feature:
the ability to change the system font with the extra BASIC instruction CALL FONT(n)
.
Inspecting other firmwares, I found that Sony HB-F900 also had a similar feature
with three additional fonts.
As the HB-11 firmware easter egg is similar to the one present in the
Sony HB-F1/HB-F1II firmwares, I analyzed them too.
I found two additional fonts (one used for the easter egg, the other one used sparingly in the firmware),
but no CALL FONT
instruction.
However, those fonts can still be used as system fonts using the system variable CGPNT (0xF91F, 3 bytes):
- The easter egg font is located in the slot 3-0, at address 0x47CA for the HB-F1
(
POKE &HF91F,&H83:POKE &HF920,&HCA:POKE &HF921,&H47
), or 0x485C for the HB-F1II
(POKE &HF91F,&H83:POKE &HF920,&H5C:POKE &HF921,&H48
).
- The serif font is located in the slot 3-2, at address 0x554F for the HB-F1
(
POKE &HF91F,&H8B:POKE &HF920,&H4F:POKE &HF921,&H55
), or 0x54DB for the HB-F1II
(POKE &HF91F,&H8B:POKE &HF920,&HDB:POKE &HF921,&H54
).
Now, let's take a look at all these fonts in one single image:
![](./images/SonyHitBit-fonts.png)
Regarding the kanji/kana part of the character set, it is curious that, despite the HB-11
has the greater number of alternative fonts (six fonts), all of them use the same kanji/kana set:
a less geometric and more scripted version of the default system font.
This kanji/kana set is also used for two of the alternative fonts of the HB-F900,
but it is not used in any of the HB-F1/HB-F1II alternative fonts.
The HB-F1/HB-F1II alternative fonts have two alternate kanji/kana sets:
one features slightly larger katakanas, and the other one uses a bold variant of those larger katakanas.
The rest of the characters of the kanji/kana set are different in every alternative font.
The HB-F900 also have a bold kanji/kana set,
but it is not the same as the bold set from the HB-F1/HB-F1II:
in this alternative font, the entire kanji/kana set is bold, and seems to be based on the default system font
(unlike the HB-F1/HB-F1II version, that was based on the larger katakana set).
![](./images/SonyHitBit-kanasComparison.png)
Regarding the western characters, the only alternative set that is actually shared between computers
is the LCD-like font. This font appears in both the HB-11 and the HB-F900.
There is a serif alternative font in every firmware, but it is not exactly the same:
The HB-F900 looks the first iteration of the serif font,
as some symbols are directly taken from the default system font,
and the lowercase letters seems to be designed using the default system font as a base.
The HB-11 and the HB-F1/HB-F1II variants of the serif font
are more elaborated; more symbols and lowercase letters are redesigned.
Both are very similar to each other, but the HB-F1/HB-F1II version
seems to be the most evolved, based on some details in the uppercase and lowercase C letters
and the circumflex character.
![](./images/SonyHitBit-serifEvolution.png)
Unfortunately, using these fonts as the system font is only useful for MSX-BASIC programs.
Early software that use the system font, such as Mr. Chin (HAL Laboratory, 1984)
or Youkai Yashiki (CASIO, 1986), is not reading the system variable CGPNT
but CGTABL (0x0004, 2 bytes), that always points to the BIOS default system font.
Fortunately, it is possible nowadays to patch a BIOS ROM, inject one of these fonts,
and create a fake custom BIOS. Using this BIOS (most likely, using emulators), we can experience
how would those early titles look with the cool looking LCD-like or Broadway-styled fonts
instead the boring default system font:
![](./images/SonyHitBit-MrChin-screenshot.png)
We can also imagine that different manufacturers could have used stylized system fonts
to give their computers a distinctive look and more personality:
![](./images/SonyHitBit-BASIC-screenshot.png)
Have fun!!