Now Reading
Sport Font Forensics

Sport Font Forensics

2024-02-18 07:50:23

That's DPaint Comix! I can tell from some of the pixels and from seeing quite a few fonts in my time
“THAT’S DPAINT COMIX! I can inform from a number of the pixels and from seeing fairly a couple of fonts in my time”

Except you are a primary time reader, you might need picked up on two recurring
matters round these elements: historic PC video games, and historic bitmap
fonts.  By some means the plain mixture between the 2 by no means got here
up, however because it occurs, the twain can meet.  I used to be lately motivated
to sort out a couple of riddles which had puzzled me for some time, and which
occurred to contain (are you sitting down for this?) historic video games and
their fonts.



Sport typography may be talked to loss of life from any variety of angles, and you’ll
discover complete books on the topic (some time in the past I used to be gifted a replica of Toshi
Omagari’s Arcade Game Typography, which knocks it proper out of the park).  However the good
factor is how font designs can moonlight as proof for analysis – they provide
us hints in regards to the instruments used to create the video games, reveal sudden
connections between seemingly unrelated video games, and customarily present useful
perception into how issues have been finished on the time.

In lots of instances, what they reveal is not all that new or
fascinating.  You possibly can level to lots of of video games simply utilizing the
BGI fonts that got here with Borland compilers, or these included with Deluxe
Paint II
, Autodesk Animator and different graphics instruments.  Some have been
joyful sufficient with the default video BIOS fonts, and video games ported to the PC
from different programs (Amiga, Atari ST) sometimes took these machines’ system
fonts alongside for the experience.  Issues like that may be straightforward sufficient to identify,
however in some situations, tracing the connections will get just a little extra difficult.

Beneath Apple Manor (Particular Version) vs. Arduous Hat Mack

These two video games do not appear to have something in widespread in any way; totally different
builders, totally different publishers – however each have been launched for the IBM PC
across the similar time, and appear to make use of an equivalent font.  In
Beneath Apple Manor, the font in query is confined to the title display,
the place it spells out “THE SPECIAL EDITION BY Don Value”; however Arduous Hat Mack
makes use of it all through the sport.


Beyond Apple Manor: IBM PC title screen
Past Apple Manor: IBM PC title display

Hard Hat Mack: IBM PC title screen
Arduous Hat Mack: IBM PC title display

Now, I used to be trying on the IBM PC variations, as a result of that is my wheelhouse; however
it does not take rocket surgical procedure to determine that their true origins lie
elsewhere.  As its title so subtly implies, Beneath Apple
Manor
was
initially an Apple ][ launch.  Even the later Particular
Version got here out for the Apple first (1982), then for the IBM PC and for
Atari’s 8-bit sequence (1983).

In actual fact, trying on the PC title display, the image solely takes up 280 pixels
horizontally, out of the 320 out there on this CGA mode: that is a
moderately fats clue that the graphic was created on the Apple after which transformed
for the IBM, with out a lot as centering it.

As for Hard Hat Mack,
the developer credit for the assorted releases make it clear that the Apple
model got here first.  I used to get pleasure from this recreation as a child (a lot later,
I even went by the difficulty of patching it so as to add 16-coloration composite
graphics on CGA), however again in these days I used to be utterly unaware of
the unique Apple recreation.  Sooner or later, there emerged some fairly
convincing proof that the PC model was machine-translated(!) from
6502 to 8088 code – I am afraid you may should take my phrase for it, because the
web is written in sand, and the main points have been misplaced to hyperlink
rot.  However that might clarify why it feels a bit sluggish in comparison with
the unique, and admittedly embarrassing subsequent to well-written native 8088
code.  I can solely assume that TMQ Software program, Inc. could not be bothered
to optimize the code that their automated converter spewed out.

Anyway, now that we all know the place to look, listed below are the Apple ][ title
screens for each video games.  Not very surprisingly, we discover the
very same font cheekily staring again at us:


Beyond Apple Manor: Apple ][ title screen
Past Apple Manor: Apple ][ title screen

Hard Hat Mack: Apple ][ title screen
Hard Hat Mack: Apple ][ title screen

Evidently the source of the font must lie somewhere in Apple land, as
well.  I can’t say I’ve ever had much experience navigating the
primordial soup of very early Apple II graphics programs, but I figured I’d
give it a shot.

The Graphics Department

Luckily, the smoking gun was found in very first source I consulted, Apple
Graphics: Tools and Techniques
by Michael Callery and Roberta Schwartz (PDF
link
).  It probably has more than you ever wanted to know
about the subject, and it’s sprinkled with a bunch of very nice pixel art
illustrations, but what caught my eye was this simple bar chart on page 261
(in the PDF; the actual book doesn’t number it):


Apple Graphics: Tools and Techniques (cover)


Apple Graphics: Tools and Techniques (bar chart)

Well, I’ll be damned if those chart labels don’t look exactly like the
lettering in both BAM and HHM.  “Created with The Graphics
Department
“, was it?  I had never heard about that particular piece
of software, but helpfully enough there’s a section in the book discussiong
it, in which we learn that it’s a “business and presentation graphics utility”
from Sensible Software (not the later British game company), and that among
other things, it allows you to “choose lettering from twenty character fonts”.

Finding a copy of The Graphics Department was easy enough, and after a bit
of disk-shuffling in AppleWin, I was able to have a look at the included
‘Lettering Kit’.  As it happens, the suspect typeface is the
default “mono” font, and indeed we do have a match.

It’s still not precisely 1:1, however: in the program, the character cells
appear to be 8 pixels wide, while both games (in their Apple and IBM
versions!) use the more Apple-native width of 7
pixels.  The “KERN” option lets you increase the character spacing
in Department, but apparently you can’t reduce it.  Taking a
screen grab and tightening up the spacing by 1 dot, the characters fit onto a
7-pixel grid – a better match for what we see in the two games.


The default font in The Graphics Department
The default font in The Graphics Department

The same font, condensed into 7x8 character cells
The same font, condensed into 7×8 character cells

All that’s left to do is to compare this to what’s actually stored in the game
data.  Manor won’t help us out here, because the font is baked
into the title graphic, and isn’t used anywhere else to display actual
text.  On the other hand, Hard Hat Mack prints its text at runtime
(on the title screen as well as the in-game status display), so it has no
choice but to store its charset as an actual font.

Comparisons

The easiest way to exhume this sort of data is to view our binary blob (file
or disk image) as one large set of graphical tiles.  If no
compression is used, and if you choose the same data format used by the
display hardware, there’s a good chance you’ll ferret out some fonts, among
other things.  When we do this for both versions of Hard Hat
Mack
, we can see what’s up:

Hard Hat Mack Apple II font

Hard Hat Mack: Apple II, disk offset 1F707h
HGR format (1bpp/low bit first)
8×8 tiles

Hard Hat Mack IBM PC font

Hard Hat Mack: IBM PC, disk offset 0C1F1h
CGA mode 4 format (2bpp/high bit first)
8×8 tiles (2-byte skip between tiles)

The Apple version’s font may be missing the lower case portion, but the part
left over is better than what we got from The Graphics Department – TGD’s
characters are cut off past the 6th dot column, so a bunch of them are visibly
missing vertical slices on the right: m, w, #, %, ?, /, , ] and the apple
icon.  If the thought was stopping the characters from sticking
collectively, you can make a case for doing that; however because the program attracts
its characters on 8 dot boundaries, not 7, that seventh column should not have
bothered anybody.

The sport information has these characters absolutely fashioned, even supposing they’re
by no means truly used.  Meaning there was no motive to repair them up
by hand, so the builders should’ve had a greater model of the font to start out
with.  That’s, there’s both a bug within the model of Division
that I discovered (2.03), or an issue between the chair and the keyboard… or the
font actually does come from some place else in any case.

As for the IBM PC conversion – apart from the truth that the character order is
clearly reversed, we are able to spot a few different modifications.  1-dot
stretches present up in alternating colours moderately than white: no matter
device was used to transform the Apple HGR information to IBM CGA format, it was probably
attempting to crudely mimic the phenomenon of NTSC coloration artifacting (that is very
roughly
what occurs to remoted pixels on the Apple; examine to that
Graphics Division shot).

The factor is, the subset that is truly used in-recreation does not have these
errant colours.  In order that was clearly a handbook repair, however they went
forward and made a couple of others too: comma and interval are shifted left, “Q”
does not appear like a “0” flipped round anymore, and the “&” has been
miracu­lously cured of its crippling
disfigure­ment.  Some­what regrettably, the apple icon
wasn’t changed by a
“Charlie”/“Tramp”
hat… distinction with the IBM model of Beneath Apple Manor,
the place the Golden Apple (the thing of your quest) seems to be one thing
significantly much less, uh, fruity.

Flightmare vs. Ninja

Ninja is a enjoyable kind of recreation if
it is 1986 and also you personal a PC/XT clone (particularly a Tandy 1000, which I did
not).  Not great-trying subsequent to the
arcade/Amiga/Atari ST variations, however having so many various fight
strikes was a novel factor on the time… even when the novelty could put on off when
you understand that spamming a single key combo mows down complete armies of
baddies.  And the truth that the devs left a sprite editor in the game
itself
(by
mistake?) gave me considered one of my first “modding” experiences.

Later I got here throughout an older recreation,
Flightmare (“The
Ulti­mate Expe­dition into Horror”): a ghoul­ishly troublesome
shooter the place you wage post-apocalyptic aerial fight towards desert
warriors, vandals, and “maraudering beatnicks” (!).  On prime of the
humor, and the unique concept of getting you management your aircraft on a top-down
and a aspect view on the similar time, the creator was expert sufficient to
squeeze excep­tionally clean and quick motion out of a 4.77-MHz
PC.  (It additionally tries to drag some mightily foolish tips to idiot
disassem­blers and debuggers, however that is one other story.)


Flightmare: title screen
Flightmare: title display

Ninja: title screen
Ninja: title display

Once more, the 2 video games seem utterly unrelated: Flightmare could require
ninja reflexes and self-discipline, however it’s a shareware/user-supported
recreation launched in 1984 by Peter Adams, for the IBM PC solely; whereas Ninja
was a business recreation from Steve Coleman at Sculptured Software program, with the IBM
PC model written by Bryan Brandenburg (“and Tender Arts”, it says
right here).  So, the place did they get the very same font?

Flightmare: status display
Flightmare: standing show

I say “font”, however Flightmare actually has two of them.  The 8×8
charset seen above is used for nearly every part, however there is a smaller 4×8
one, which serves to maintain observe of lives, enemies and
time on the standing show.  For this objective the numerals (and colon) are
enough, and so far as may be seen within the recreation itself, that is all that is
used.

But when we have a look at the executable’s information as tiled graphics in 2bpp CGA format,
we discover full units of alpha­numerics for each the big and the small
fonts.  Right here they appear kinda jumbled and junky; we might mess around
with the offsets and clear issues up a bit, however it’s often simpler to have a look at
what’s truly in RAM whereas the sport is doing its factor.  Operating
the sport, dumping the info phase, and giving it the identical therapy will get
us tidy renditions of each units:

Flightmare: FLIGHT.COM offset 1E22h (8x8 tiles)

Flightmare: FLIGHT.COM offset 1E22h (8×8 tiles)

Flightmare: 8x8 font cleaned up

8×8 font in program reminiscence (at DS:2871)

Flightmare: FLIGHT.COM offset 26FAh (4x8 tiles)

Flightmare: FLIGHT.COM offset 26FAh (4×8 tiles)

Flightmare: 4x8 font cleaned up

4×8 font in program reminiscence (at DS:3174)

Aside from the complete set of (unused) uppercase letters within the smaller charset,
each fonts have a second set of the letters A by F proper after the
numerals.  That is a neat factor to have once you wish to print out
hexadecimal values, since you do not have to hassle fixing up ASCII codes, so
possibly this was used to point out debug infor­mation in develop­ment builds
or one thing.

Ninja additionally has two totally different fonts, in FONT2.DAT and FONT2B.DAT, however that is
as a result of they’re supposed for various video modes – the one that appears like
Flightmare is utilized in plain CGA (320×200 at 4 colours); the opposite one is used
for the Tandy 1000 mode (160×200 at 16 colours).  This mode trades
decision for bit depth, so the more-detailed CGA font information would
have resulted in ugly artifacts.

Ninja: FONT2.DAT (CGA)

Ninja: FONT2.DAT (CGA)

Ninja: FONT2B.DAT (Tandy)

Ninja: FONT2B.DAT (Tandy)

So yep, Ninja‘s CGA font is dot-for-dot equivalent to Flightmare‘s,
besides that the interval and comma have disappeared (and the “8” has acquired a
bonus pixel at its decrease proper nook).  The factor is, this .DAT
file is not the one place we are able to discover it: the executable, NN.EXE, has
one other copy of the CGA font at offset 0346h.

And what greets us simply after this redundant copy inside Ninja‘s .EXE
file?  Why, zoinks!  It is the small 4×8 font from
Flightmare:

Ninja: NN.EXE offset 05EAh (4x8 tiles)

Ninja: NN.EXE offset 05EAh (4×8 tiles)

Ninja does not use this smaller font in any approach; it simply bought dragged alongside
when its bigger cousin made the soar from Flightmare.  We of the
“dimension issues” college of thought shall be appalled on the waste of area (these
two surplus fonts take up over a kilobytefor disgrace!) – however that
apart, all of it smells like one thing you’d get when the info was sourced from
the unique developer, not like an unautho­rized rip or one thing.

So what is the connection?

Peter Adams (creator of Flightmare)
is not credited wherever on Ninja, however MobyGames tells
us

that the latter’s writer, Sculptured Software program, had a Peter Adams as a
co-founder together with Bryan Brandenburg (he of Ninja‘s “IBM model
by”)… and this 1996 newspaper
article
lists a couple of extra individuals.  MG merely
has entries for eight totally different builders who go by some type of the title “Peter
Adams”; a few of them could very nicely be the identical individual, however the creator of
Flightmare is not explicitly linked to Sculptured.

One other reality lacking on MG is that Adams and Brandenburg did work collectively
on a minimum of one recreation – the Apple ][ version of Raid Over
Moscow
.  And just to round out the big happy family, Ninja‘s designer
Steve Coleman shows up in the Atari port of the same game.


Raid Over Moscow: Apple ][ title screen
Raid Over Moscow: Apple ][ title screen

Raid Over Moscow: Atari title screen
Raid Over Moscow: Atari title screen

So it’s all a bit convoluted, and those puzzle pieces had to be picked up from
all over the place, but I think it checks out.  If I hadn’t noticed
the identical lettering, I’d never have assumed that there might be a
connection between these two games.

You may remain skeptical that the two iterations of Peter Adams (from
Flightmare and Sculptured Software) are neces­sarily the very same
person.  After all, there were a few others in the industry.  Besides,
Sculptured was supposed to be based in Salt Lake City, Utah – while
Flightmare‘s author wants you to send your “monetary thank you card” to him
in Livermore, CA.  Then again, Flightmare itself asks you at one
point: “WOULD YOU RATHER BE IN UTAH”… perhaps the programmer was
asking himself the same thing?

Poking Around in Pharaoh’s Tomb

Pharaoh’s Tomb has
been the title of several unrelated games over the years, but PC
old­skoolers would undoubtedly be thinking of the early Apogee shareware
title – and they’d be right.  This was when George Broussard made
the jump from el cheapo trivia games to action plat­formers.  Not
that a flip-screen CGA/PC speaker game did much to set the world on fire
in 1990, but it did a decent job carrying the torch for a genre that had lost
some of its commercial appeal by then; and with the ‘Apogee model’ you got
quite a lot of game for not that much money.

Games of this type normally don’t get very wordy, so most of them tend to pick
a single type­face for their lettering and stick with it.  But
Pharaoh’s Tomb goes above and beyond the call of duty, and uses four
different fonts (not including the one in the title)… sometimes all on the
same screen.


Pharaoh's Tomb: title screen
Pharaoh’s Tomb: title screen

Ordering infomration: 4 fonts, one screen!
4 fonts on ONE SCREEN? Take my money, Apogee!

With all the lavish attention given to the appearance of text, Broussard still
managed to famously mis­spell his own name on the title screen, but that’s
neither here nor there.  What made me nose around in the game’s font
usage was a silly little bug that can show up if you run it on EGA/VGA –
depending on your system configura­tion.  Most of the text will
look just fine, but the numbers (and symbols) on the status bar will be
garbled.

Pharaoh's Tomb status bar: right
Pharaoh's Tomb status bar: wrong

Pharaoh’s Tomb status bar: right vs. wrong

As some of you may guess, the guilty party here is DISPLAY.SYS – the DOS
driver that controls code page selection on
the video hardware level, usually used along­side other drivers for
localiza­tion.  On EGA or VGA, if you use it to specify a code
page, it’ll hook the video interrupt (10h) and try to make sure that you
always see the character set you selected.  Remove it, and the
problem goes away.

Since DISPLAY.SYS relies on trapping the BIOS video service, the only
programs affected are those that use the BIOS text rendering
rou­tines.  This is what Pharaoh’s Tomb does – although as a
CGA game, it has to be tricky about it: in CGA graphics modes, only the top
(“high-ASCII”) half of the charset can be rede­fined.  The
usual work­around is to use that for your custom font, and remap your
ASCII text to those higher code points before you feed it to the BIOS
func­tions.

The BIOS needs a pointer to the font, which resides at the vector for
interrupt 1Fh.  So if we peek at the various addresses that the
game puts there, we can get at the raw fonts.  Here the memory dump
is treated as 1bpp data, since that’s what the BIOS routines use:


Pharaoh's Tomb fonts, dumped from RAM

Pharaoh’s Tomb fonts, dumped from RAM

Woah, hold up there, Chief… who’s “Donald L. Pavia”, and what does he have
to do with this game?

If you look up the name, you’ll probably find that Donald L. Pavia authored a
few share­ware/public domain games in his time; one example is this
compilation from
1986
, with educational games he wrote for his kids in Turbo
Pascal.  And if you try out a few of them, such as Alphabet Games
from that pack, you’ll actually spot one or two of these lettering styles here
and there.

You might suspect that the fonts were summarily ripped from one of those games
and stuffed into Pharaoh’s Tomb… and with the original author’s name and
address still intact, that would certainly be the more hilarious
prospect.  But none of Pavia’s games contain the full selection of
characters and styles we see in PT, and what’s there is already part of a
static image, so the fonts themselves must’ve come from somewhere else.

Turbo Paint and NewFonts

One of those games did have a clue in its README file – it mentioned that the
title graphic was created with something called TURBO PAINT, another program
by Pavia.  Turbo Paint 2.0 can be found
here,
and turns out to be a decent share­ware alter­native to PC Paint and
the likes: a mouse-driven paint program, written in Turbo Pascal
again.  The docs say that it’s been tested on the PCjr, and on EGA
cards, but it can only do 4-color CGA.

The text tool has some built-in fonts you can use, and whaddya know – those
8×8 character styles sure ring a bell:


Turbo Paint 2.0: title screen
Turbo Paint 2.0: title screen

Turbo Paint 2.0: font selection demo image
Turbo Paint 2.0: font selection demo image

Just like in Pharaoh’s Tomb, these fonts are upper­case-only, and
the ‘Fat’ and ‘Thin’ ones are 100% identical to what Broussard ended up
using… but those two other fonts from PT are still not accounted
for.  One of them does look like Turbo Paint‘s ‘Gothic’ font, but
it has those hollow vertical strokes filled in; and the other one (with the
small caps) there’s no sign of.

Hold on though: Turbo Paint’s documentation tells you that you can load your
own font files, and refers you to the author’s own font editor,
NewFonts­.com“.  Is that program included on the disk, you
may ask?  But of course it isn’t – that’d be too
easy.  Pavia doesn’t tell us where to get it, either, so our little
archeolog­ical expedi­tion isn’t over just yet.  If PT’s
protagonist Nevada Smith ever stars in another game, he should definitely go
digging through old software libraries and BBS lists.

‘NewFonts’ finally turned up in the PC-SIG shareware
library

on disk 0484.  It’s a fairly straight­forward
editor, made for the specific use-case of creating 8×8 fonts for CGA graphics
mode, to be used with the BIOS routines via the above-mentioned
“high-ASCII” trick.


NewFonts: title screen
NewFonts: title screen

Turbo Paint 2.0: NewFonts: editor
NewFonts: editor

The disk also has some demo programs showing usage examples, a few source
files to help out, and even some code to access 16-color PCjr
graphics and CGA’s ‘lo-res’ 160×100 pseudo-mode from TP (you can use your
custom fonts in these modes, too!).  But we’re looking for fonts –
and there are no less than 19 .FNT files inc­luded.  Here are
five of them:

Sure enough, that’s pretty much exactly what we saw in the Pharaoh’s Tomb
RAM dump, complete with the author’s contact info.  The game just
moves some code points around, and adds those little icons for the status
bar.  Even the fancy Greek-patterned frame is
there.  Pavia specifically writes, “You may freely use the font
files […] in any of your personal packages”, so it is all legit.

These similar fonts have been later reused in a couple of associated video games: the business
model of PT (retitled Pharaoh’s
Pursuit
), the sequel
Arctic Adventure, and
additionally Monuments of Mars – my private favourite of this bunch, and a recreation that clearly has
a lot in widespread with the others, though it was written not by George
Broussard however by Todd J. Replogle.  Not like Broussa(r)d, the latter
bought his personal title proper on the title display… however then promptly proceeded to
misspell “State of affairs Software program” as “Scenerio”.  Was this a
contractual requirement with Apogee, or simply one thing within the water?

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top