
(Probleme des Original-Zeichensatzes und deren Lösungen: Zeilendurchschuss, Negativ-Schrift, x-Höhe und Buchstabenformen)
Präsentiert auf der DoReCo Party 2018
Ein C64 Zeichensatz besteht aus 256 Zeichen (8 Bit). Die 128 unterschiedlichen Zeichen des Systemfonts liegen im Zeichensatz doppelt vor, einmal positiv und einmal negativ. Der C64 besitzt im ROM 2 Zeichensätze, und zwar Großschrift/Grafikzeichen (Standard) und Groß-/Kleinschrift, zwischen denen mit der Tastenkombination C=/SHIFT (oder programmgesteuert) umgeschaltet werden kann.
Ein einzelnes Zeichen hat im Hires Textmodus eine Auflösung von 8×8 Pixeln. Jeder der beiden eingebauten Zeichensätze ist 2 KB groß (8×8 Pixel × 256 Zeichen = 16.384 Bits / 8 Bit = 2.048 Bytes), insgesamt belegen sie also 4 KB von $D000 bis $DFFF im ROM (aus Sicht der CPU). Um einen Zeichensatz zu verändern, muss man ihn entweder vorher ins RAM kopieren oder den CharROM-Baustein ersetzen.
Der C64 Systemfont ist einzuordnen als nicht-proportionaler, serifenloser Bitmap-Font. Der Font (wie auch schon der vom PET) wurde in erster Linie von Leonard Tramiel (Sohn von CEO Jack Tramiel) und PET-Designer Chuck Peddle entworfen. Der Font ist NICHT einfach aus dem PET/VC20-Zeichensatz durch Pixel-Verdoppelung hervorgegangen und die Kleinbuchstaben wurden 1:1 vom deutlich früher erschienenen Atari 400/800 Font (Scott Scheiman 1979) „übernommen“.
Das Ziel meiner Überarbeitung:
- Verringerung der Versalhöhe
von 7 auf 6 Pixel: Bessere Lesbarkeit von mehrzeiligem Text durch größeren Zeilendurchschuss
- Geschlossene Negativ-Darstellung
- Besserer Lesefluss durch einheitliche x-Höhe
- Verbesserungen von optisch problematischen Zeichenformen
Einige wenige Kleinbuchstaben (aelnovx) und sämtliche PETSCII-Grafikzeichen bleiben unangetastet, bei vielen Großbuchstaben kann einfach eine Pixelzeile entfernt werden (BEFHIKLMNOPTUVXYZ) – aber dann kommen die Problemfälle …
Im linken blauen Block sieht man die Zeichen in Ausprägungen unterschiedlicher 8-Bit-Systeme, im weißen Block sieht man die von mir ausprobierten Lösungen und ganz rechts dann die ausgewählte Variante:




Original (rot) und meine Überarbeitung (schwarz) aller veränderbaren Zeichen:

Screenshot 1: Oben die Überarbeitung, unten das Original. Oben geschlossene Negativ-Schrift und ausgeglichenes Schriftbild ohne hüpfende x-Höhe.

Screenshot 2: Neuer Font im Basic-Listing: Größerer „Zeilendurchschuss“, dadurch bessere Lesbarkeit. Klarere Darstellung der negativen Steuerzeichen.

Der neue C64-Systemfont PXLfont88665-RF2.0-C64sys.bin in Gesamt-Übersicht:

Der Font liegt als 4 KB Binary vor und kann direkt in Emulatoren, wie VICE, installiert oder in einen echten Commodore 64 eingebaut werden, indem man das sog. CharROM austauscht. Der Baustein liegt einzeln vor, oftmals ist er sogar gesockelt und kann einfach durch ein selbst gebranntes EPROM ersetzt werden. Gerne werden dafür auch Umschalt-Platinen verwendet.
Download: PXLfont88665b-RF2.1-C64sys.bin
Mehr Informationen zum Font kann man im Forum64 finden. Auch das Brennen von Character EPROMs ist dort Thema.