Welcome, Guest. Please login or register.


Author Topic: Changing the EXOS font (Read 1456 times)

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 82.0 Firefox 82.0
    • View Profile
Changing the EXOS font
« on: 2020.November.21. 19:59:02 »
One of the things that I always found interesting about the 8-bit era of computers is the difference in every machine's system font that either helped, or hurt, the readability of the text on the screen.

Because nearly all computers used an 8-pixel high font, each computer's designers had to choose whether to make their upper-case characters either 6 or 7 pixels high, depending upon whether they wanted the character shapes to look nicer (by using 7-pixel height), or whether they wanted to avoid the descenders of the "gpqy" characters hitting the tops of many upper-case characters on the line below (by using 6-pixel height).

One of the unusual, and really great, things about the Enterprise is that it has a 9-pixel high system font that could have allowed it to use both the nicer 7-pixel height for upper-case characters, and to still avoid the unpleasant look of having descenders hit the top of the upper-case characters on the line below.

Unfortunately, whoever it was at Intelligent Software that designed the font, didn't actually do that ... which is something that I always found annoying when I was using my Enterprise back in the 1980s.


Now that I am using EXOS 2.4, and can program my own EXOS EPROM, I decided to fix that, and to also modify a few other characters to make them look a little nicer (in my own personal opinion).


Long time Enterprise programmers will probably already know that the system font is stored compressed in the EXOS ROM, so I had to figure out how this worked, and then figure out how to patch the code to alter the compression a bit, and to then compress the new font into the same 630 byte memory space that the old font fits in ($E5D2-$E847 in EXOS 2.1).


Anyway, here is the result, showing the original EXOS 2.1 font on the left, and my updated font on the right.  The changes are easiest to see on the Hungarian version of Zozo's RAM test, but the Spanish and German versions also look better (to me).

25815-0

Since "beauty is in the eye of the beholder", I understand that few people here may be interested in using this themselves, but if anyone is curious, I can post the source code for font-decoding patch, and for the utility that I wrote (on the PC) to apply the patch (and the font) to Zozo's EXOS 2.4 ROMs.

For editing bitmapped-fonts, I recommend that folks use Fony, because it is easy to use, and can export the font as raw binary data.
« Last Edit: 2020.November.21. 22:18:00 by elmer »

Online gflorez

  • EP addict
  • *
  • Posts: 3061
  • Country: es
  • OS:
  • Windows NT 6.3 Windows NT 6.3
  • Browser:
  • Firefox 82.0 Firefox 82.0
    • View Profile
Re: Changing the EXOS font
« Reply #1 on: 2020.November.21. 20:40:16 »
Great initiative!

But... the character font goes on the keyboard driver, and the BRD.Rom and derivatives install modified Keyboard and Editor drivers, that come with an English(USA) and localised copies of the font... fortunately not packed.

It is very easy to found the two fonts in the Rom if you know what to search for.

On the other way, your technique can serve for the fixing of a German keyboard Enterprise without the need of the language Rom, because it is annoying to search punctuation on the wrong keyboard.... But also the position of the keys need to be changed, and that information is near the font.

Zozo plans to fix it on the next EXOS reincarnation but then the list of different EXOS roms will grow. The Spanish keyboard is similar to the German one, so I am wiling to have one German EP to try that.
« Last Edit: 2020.November.21. 20:45:56 by gflorez »

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 82.0 Firefox 82.0
    • View Profile
Re: Changing the EXOS font
« Reply #2 on: 2020.November.21. 22:16:21 »
But... the character font goes on the keyboard driver, and the BRD.Rom and derivatives install modified Keyboard and Editor drivers, that come with an English(USA) and localised copies of the font... fortunately not packed.

Thanks, I had not checked out the BRD.rom/ESP.rom/HUN.rom language extensions, and so didn't see that they changed some characters in the font! :oops:

But those language ROMs don't actually redefine all of the characters in the font, they rely on the base font that is built into EXOS, and then they change just a few of the character definitions.

So it will be easy to modify those three language ROMs and just define different character designs that take advantage of the lower baseline in my modified font ... it is probably only a few hours of work. :cool:

Online gflorez

  • EP addict
  • *
  • Posts: 3061
  • Country: es
  • OS:
  • Windows NT 6.3 Windows NT 6.3
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #3 on: 2020.November.22. 01:33:57 »
There is one variation of the Spanish Rom, the ESB.Rom, made for the German keyboard, that you can also find on the emulator installation. On it, the English/USA layout on the Rom  has been replaced by an "European" QWERTY  layout with all the same "English" characters but in its corrected "German" position. And the Spanish keyboard in the Rom is also a QWERTY one with the "European" layout, so you always find the punctuation symbols.


The language Rom adds a lot of flexibility adapting the Enterprise to a language/country, with the dual messages and keyboards. But is also a great example of the expandability of the Enterprise, how a new driver can substitute the stock driver and the machine works the same.

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 82.0 Firefox 82.0
    • View Profile
Re: Changing the EXOS font
« Reply #4 on: 2020.November.22. 04:26:01 »
So it will be easy to modify those three language ROMs and just define different character designs that take advantage of the lower baseline in my modified font ... it is probably only a few hours of work. :cool:

Done!

I'll send you a PM with some ROMs to try. :mrgreen:

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #5 on: 2020.November.23. 21:35:21 »
After some great feedback from @gflorez, I have made some more modifications to my font, and have gone back to using the Enterprise's very distinct narrow designs for capital 'I' and small 'l' ... which meant changing some other designs to keep all of the charcters balanced.

There are also a few cleanups on some of the punctuation characters.

This should make the new font more comfortable and familiar-looking to people, while still making it easier to read, especially when using 80-column mode, or when typing characters with accents.

Here are all of the patched EXOS 2.4 ROMs ...
« Last Edit: 2020.November.24. 17:29:30 by elmer »

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #6 on: 2020.November.23. 21:39:57 »
And here are the latest font files ...

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #7 on: 2020.November.29. 19:48:14 »
While most programs look a LOT better to me with the new font, and especially the more-readable accents, there are a couple of programs that I have seen that do not work well with the lower baseline of the new font, such as IS-FORTH and IS-LISP, because they change some character definitions in the font, or something like FENAS, because it does some really strange things with the text editor screen and it removes the bottom line of the font (this looks bad with the original Enterprise system font as well).

I have created a new version of my font changes that keeps the original baseline of the EXOS font, at the cost of making the accents a lot less nice to look at on screen (but still more readable than the original font). This also has the small side benefit of saving 13 bytes of code space, and 10 bytes of font data.

Personally, I'd rather just patch and fix the few Enterprise programs that I want to use that don't like the lower baseline ... it makes that much of a difference to me!

Does anyone want to try the patched ROMs that use the original baseline?

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #8 on: 2020.December.02. 16:55:18 »
Although there doesn't seem to be a lot of interest in this (judging from the lack of comments), assembly-language programmers might be interested in seeing the EXOS font decompression code, and my modifications to it, so here it is.
 

Online gflorez

  • EP addict
  • *
  • Posts: 3061
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #9 on: 2020.December.02. 18:50:33 »
I didn't read your last comment, and I am interested.

Thanks.

Offline dangerman

  • User
  • *
  • Posts: 88
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 81.0 Firefox 81.0
    • View Profile
Re: Changing the EXOS font
« Reply #10 on: 2020.December.02. 21:44:26 »
Very cool. Some really nice looking tweaks to the font.

You talk about patching Zozo's rom in this thread. Did you know you can patch roms directly from sjasm using the INCBIN and CODE directives? I've successfully used this to make a custom EXOS 2.1 rom before.

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #11 on: 2020.December.03. 00:11:36 »
I didn't read your last comment, and I am interested.

Here is the latest set of ROMs, with both "-hi" (better compatibility) and "-lo" (better accent) versions of the font.

There have been a number of small tweaks since I posted the last set of font files, and one notable change is that I have swapped the "£" and the "#" so that the "#" symbol is always available to UK users, which makes programming a lot nicer.

It has taken me a while to think of this, but I finally realised today that there is one solution that might give the best results (IMHO) for both UK and International users ...

That is to use the "-hi" font for its compatibility when in ":UK" keyboard mode, which is what you need to use anyway when running IS-FORTH or IS-LISP, and then use the "-lo" font with its better accents when in ":BRD"/":ESP"/":HUN" keyboard modes.

There is just enough free space in all of the language ROMs to patch in some code to do that transition.

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #12 on: 2020.December.03. 00:23:20 »
Very cool. Some really nice looking tweaks to the font.

Thanks! :)


You talk about patching Zozo's rom in this thread. Did you know you can patch roms directly from sjasm using the INCBIN and CODE directives? I've successfully used this to make a custom EXOS 2.1 rom before.

I'm used to doing that on the PC Engine, and I had seen that sjasmplus supports it, but I'm not using it yet because the fonts need to be processed before they are imported, and the EXOS ROM needs to have its checksum recalculated after the patching is done, so it was easier to write a quick C program to do the work.

Offline elmer

  • EP fan
  • *
  • Posts: 134
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #13 on: 2020.December.03. 16:14:02 »
It has taken me a while to think of this, but I finally realised today that there is one solution that might give the best results (IMHO) for both UK and International users ...

That is to use the "-hi" font for its compatibility when in ":UK" keyboard mode, which is what you need to use anyway when running IS-FORTH or IS-LISP, and then use the "-lo" font with its better accents when in ":BRD"/":ESP"/":HUN" keyboard modes.

Another advantage with changing the language ROMs in this way, is that the improved accents would be available to any Enterprise users (with EXOS 2.0 or 2.1) that wanted to burn a new language EPROM for their existing BASIC cartridge, and not just those people using a modified EXOS 2.4.

Online gflorez

  • EP addict
  • *
  • Posts: 3061
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: Changing the EXOS font
« Reply #14 on: 2020.December.03. 16:33:02 »
Yes, on a German Ep, the Language Rom is on the cartridge so, on some circumstances the internal font doesn't match the keyboard...