Game Font Forensics
Unless you're a first time reader, you might have picked up on two recurring topics around these parts: ancient PC games, and ancient bitmap fonts. Somehow the obvious combination between the two never came up, but as it happens, the twain can meet. I was recently motivated to tackle a few riddles which had puzzled me for a while, and which happened to involve (are you sitting down for this?) ancient games and their fonts.
Game typography can be talked to death from any number of angles, and you can find entire books on the subject (a while ago I was gifted a copy of Toshi Omagari's Arcade Game Typography, which knocks it right out of the park). But the nice thing is how font designs can moonlight as evidence for research - they give us hints about the tools used to create the games, reveal unexpected connections between seemingly unrelated games, and generally provide valuable insight into how things were done at the time.
In many cases, what they reveal isn't all that new or interesting. You could point to hundreds of games just using the BGI fonts that came with Borland compilers, or those included with Deluxe Paint II, Autodesk Animator and other graphics tools. Some were happy enough with the default video BIOS fonts, and games ported to the PC from other systems (Amiga, Atari ST) occasionally took those machines' system fonts along for the ride. Things like that can be easy enough to spot, but in some instances, tracing the connections gets a little more complicated.
Beneath Apple Manor (Special Edition) vs. Hard Hat Mack
These two games don't seem to have anything in common whatsoever; different developers, different publishers - but both were released for the IBM PC around the same time, and seem to use an identical font. In Beneath Apple Manor, the font in question is confined to the title screen, where it spells out "THE SPECIAL EDITION BY Don Worth"; but Hard Hat Mack uses it throughout the game.
Now, I was looking at the IBM PC versions, because that's my wheelhouse; but it doesn't take rocket surgery to figure out that their true origins lie elsewhere. As its title so subtly implies, Beneath Apple Manor was originally an Apple ][ release. Even the later Special Edition came out for the Apple first (1982), then for the IBM PC and for Atari's 8-bit series (1983).1
In fact, looking at the PC title screen, the picture only takes up 280 pixels horizontally, out of the 320 available in this CGA mode: that's a rather fat clue that the graphic was created on the Apple and then converted for the IBM, without so much as centering it.
As for Hard Hat Mack,
the developer credits for the various releases make it clear that the Apple
version came first. I used to enjoy this game as a kid (much later,
I even went through the trouble of patching it to add 16-
Anyway, now that we know where to look, here are the Apple ][ title screens for both games. Not very surprisingly, we find the exact same font cheekily staring back at us:
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.
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):
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-
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-
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:
HGR format (1bpp/low bit first)
8x8 tiles
CGA mode 4 format (2bpp/high bit first)
8x8 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 idea was preventing the characters from sticking together, you could make a case for doing that; but since the program draws its characters on 8 dot boundaries, not 7, that 7th column shouldn't have bothered anyone.
The game data has those characters fully formed, despite the fact that they're never actually used. That means there was no reason to fix them up by hand, so the developers must've had a better version of the font to start with. That is, there's either a bug in the version of Department that I found (2.03), or a problem between the chair and the keyboard... or the font really does come from somewhere else after all.
As for the IBM PC conversion - besides the fact that the character order is
obviously reversed, we can spot a couple of other changes. 1-
The thing is, the subset that's actually used in-
Flightmare vs. Ninja
Ninja is a fun sort of game if
it's 1986 and you own a PC/XT clone (especially a Tandy 1000, which I did
not). Not great-
Later I came across an older game,
Flightmare ("The
Ultimate Expedition into Horror"): a ghoulishly difficult
shooter where you wage post-
Again, the two games appear completely unrelated: Flightmare may require
ninja reflexes and discipline, but it's a shareware/
I say "font", but Flightmare in fact has two of them. The 8x8 charset seen above is used for almost everything, but there's a smaller 4x8 one, which serves to keep track of lives, enemies and time on the status display. For this purpose the numerals (and colon) are sufficient, and as far as can be seen in the game itself, this is all that's used.
But if we look at the executable's data as tiled graphics in 2bpp CGA format, we find full sets of alphanumerics for both the large and the small fonts. Here they look kinda jumbled and junky; we could play around with the offsets and clean things up a bit, but it's usually easier to look at what's actually in RAM while the game is doing its thing. Running the game, dumping the data segment, and giving it the same treatment gets us tidy renditions of both sets:
Apart from the full set of (unused) uppercase letters in the smaller charset, both fonts have a second set of the letters A through F right after the numerals. That's a neat thing to have when you want to print out hexadecimal values, since you don't have to bother fixing up ASCII codes, so maybe this was used to show debug information in development builds or something.
Ninja also has two different fonts, in FONT2.DAT
and FONT2B.DAT
, but that's
because they're intended for different video modes - the one that looks like
Flightmare is used in plain CGA (320x200 at 4 colors); the other one is used
for the Tandy 1000 mode (160x200 at 16 colors). This mode trades
resolution for bit depth, so the more-
So yep, Ninja's CGA font is dot-for-NN.EXE
, has
another copy of the CGA font at offset 0346h.
And what greets us just after this redundant copy within Ninja's .EXE file? Why, zoinks! It's the small 4x8 font from Flightmare:
Ninja doesn't use this smaller font in any way; it just got dragged along when its larger cousin made the jump from Flightmare. We of the "size matters" school of thought will be appalled at the waste of space (those two surplus fonts take up over a kilobyte... for shame!) - but that aside, it all smells like something you'd get when the data was sourced from the original developer, not like an unauthorized rip or something.
Peter Adams (author of Flightmare)
isn't credited anywhere on Ninja, but MobyGames tells
us
that the latter's publisher, Sculptured Software, had a Peter Adams as a
co-
Another fact missing on MG is that Adams and Brandenburg did work together on at least one game - 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.
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 necessarily 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"5... 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
oldskoolers 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 platformers. Not
that a flip-
Games of this type normally don't get very wordy, so most of them tend to pick a single typeface 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.
With all the lavish attention given to the appearance of text, Broussard still
managed to famously misspell 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/
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 alongside other drivers for
localization. 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
routines. 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-
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
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 shareware/
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.
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 shareware alternative 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 8x8 character styles sure ring a bell:
Just like in Pharaoh's Tomb, these fonts are uppercase-
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 archeological expedition 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.7 It's a fairly straightforward
editor, made for the specific use-case of creating 8x8 fonts for CGA graphics
mode, to be used with the BIOS routines via the above-mentioned
"high-
The disk also has some demo programs showing usage examples, a few source
files to help out, and even some code to access 16-
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-
These same fonts were later reused in a few related games: the commercial version of PT (retitled Pharaoh's Pursuit), the sequel Arctic Adventure, and also Monuments of Mars - my personal favorite of this bunch, and a game that obviously has much in common with the others, although it was written not by George Broussard but by Todd J. Replogle. Unlike Broussa(r)d, the latter got his own name right on the title screen... but then promptly proceeded to misspell "Scenario Software" as "Scenerio". Was this a contractual requirement with Apogee, or just something in the water?
Notes
- The Atari and PC releases came about through reverse-engineering the compiled BASIC runtime module which ran the Apple ][ version, then translating it, with Don Worth handling the IBM version himself. He gives some more background at the game's GUE page and in this interview. [↑]
- Here's a YouTube video. [↑]
- On the Apple ][, normal text is displayed using 7 pixel wide characters, so you get 40 columns on a screen that's 280 dots across. In hi-res graphics mode, the most significant bit of a byte is not displayed - it controls the "half-dot" offset applied to the other 7 dots, which (on a color NTSC monitor) also determines the 4-color set in use; so characters stored in a simple, byte-aligned format will be some multiple of 7 pixels in width. [↑]
- For examples, see Murder on the Zinderneuf or Pitstop II, which didn't account for this when they used the same 160x100 16-color mode on the PCjr. [↑]
- More choice quotes are available on Crummy's Flightmare Text Dump. [↑]
- There are ways to stop
DISPLAY.SYS
from sticking its nose in and overriding your changes; for instance, whenever you set the video mode, follow it up by resetting the font pointer once again. But unless you test your game on EGA/VGA (and with the driver loaded), you'd never encounter the problem in the first place. [↑] - The CD-ROM image doesn't play nice with most modern tools, but DOSBox will happily mount it. PC-SIG has some more stuff from Donald L. Pavia - a sprite and animation toolkit on disk 0511, and the "KIDGAMES" set on disk 0705. [↑]
17 comments:
Some examples of fonts here almost touch on a certain subject: multicolour fonts.
The converted CGA fonts show that the fonts are not stored as 1-bit data, but actually contain colour data, even though it's only used to presumably mimic the NTSC-artifacting on Apple II.
But that makes me wonder: when exactly did games start to use multicolour fonts on PC? I know that in the VGA age it was common to at least have some antialiasing at the edges. But on C64 and Amiga at least, it was common to have colour in the charactersets.
It also became common to use larger fonts than just 8x8 (even more so in crack intros than in actual games. On the Amiga there is the legendary 'Angels font', from an Angels crack intro that was re-used by tons of intros/demos: https://blenderartists.org/uploads/default/original/4X/3/0/f/30f349ab6b68c00e316346c55816595a74ae2971.png).
If you look at a game like Lemmings for example, it has a very nice multicolour font in-game.
The PC version has the same, because the graphics were pretty much a direct port.
But that makes me wonder, did PC games have such 'fancy' fonts even when they were not ported directly from Amiga or Atari ST or other 'fancy' platforms?
And if so, when did this 'era' start approximately?
@Scali: Good question! It can be hard to tell, since sometimes a game will use a 1bpp or solid-color font and then make it "multi-color" at runtime, with gradient/border effects and such. Games from Bitmap Brothers etc. had 'true' multi-color fonts on the PC, and even earlier ones all the way back to CGA (Wizball, Goody, even Montezuma's Revenge if that counts). But naturally those weren't IBM PC originals... for a long while most of the decent-looking PC games were ports from other systems, or at least weren't PC-exclusive, so it's difficult to nail it down.
Off the top of my head, the earliest "PC-first" example that I'm absolutely sure of is Doom. It's probably not a coincidence that Doom's artwork was largely made in DeluxePaint II, since that was one of the first pieces of software that supported multi-color fonts on the PC.
Those cracktro fonts were always awesome. There used to be a website with hundreds of them, which was around for ages (it was old enough to have a Java applet doing "wobble" effects on the title). Now it's gone, and the Wayback Machine never archived the contents, but lots of them can be found at ArtCity (gotta love the font tag) and even at github.
Ah yes, so in that case multicolour fonts weren't used on PC-only games until very late in the day (but who knows, some esoteric exception to this rule might turn up).
Also, it seems I have to 'well actually' myself: it seems that the PC version of Lemmings does not use the exact same font in-game. It seems like a lower detail reworking of the font used on the Amiga.
The Amiga seems to have an altogether more detailed interface at the bottom than the VGA version of Lemmings.
I'm not sure exactly what is happening here. The Atari ST version seems to look the same as the Amiga version, and that version would be limited to 16 colours.
On the Amiga, the game also is just using 320x200 resolution (on PAL systems they could have used 320x256, but in practice, many games were designed only for 320x200, and would just show a black bar at the bottom on PAL systems. This is such a game). So that's not it either.
And it's not like the PC version only has an EGA version either. The VGA version does have subtly better palette choices than the EGA version. Although not as good as the Amiga or Atari ST versions.
From here it looks like the interface for VGA is the same as the one for EGA/Tandy. So perhaps they reduced the colours to fit the limited EGA/Tandy palette, which would eliminate certain shades that EGA/Tandy cannot reproduce, and then reused those assets for the VGA version. The result is that the font only uses one green and one white, where there are multiple green shades in the Amiga/Atari ST version.
Likewise, the icons have less shades on VGA.
Which is interesting: even on PC hardware that is technically as good or better than Amiga/Atari ST, the resulting games might still look worse.
Aside from just the colour-reduced font and icons (and probably the levels themselves), there are also some more subtle details missing or simplified in the PC version.
I'm pretty sure there should be a pre-Doom example of multi-color fonts on the PC, but it's surprisingly difficult to even come up with a list of games that were PC-exclusive - or even just "PC-first", other than maybe Sierra adventures and MS flight sims. You have the homebrew/shareware stuff, but those things rarely even ventured beyond the fonts supplied by the BIOS, or by whatever libraries they were using (even if this post happens to have a couple of examples).
If I remember correctly, the Amiga has always had 'ColorFont' support as a standard feature of its font libraries, so it can't be a coincidence that they took off on that machine first!
About Lemmings: I found some (hopefully accurate) screenshots of level 1 from different systems, and checked how many unique colors XnView could find in each version. The results were Amiga: 38, Atari ST: 35, PC/VGA: 15.
So while the ST version is limited to 16-color palettes, it must be changing them in mid-frame - probably once for the green status text, then again for the icons/map at the bottom, and that's how it matches the Amiga version so closely. If they had done that in the PC/VGA port (or just used a 256-color mode), they couldn't have used the same code/assets as the EGA version, so like you said that's probably the reason. I guess it's the "baggage" of the PC platform again, in that it wasn't a fixed quantity in terms of video.
When I started looking for Lemmings screenshots on PC, I found that there appear to be multiple versions. The version I remember from the old days, has yellow-ish icons, very close to what they look like in EGA mode. But I also saw screenshots where they were brown-ish, closer to the Amiga/Atari ST version. They still lacked the detail of those versions though. In that version the font was also a bit different. Where the 'yellow' version had a font with only green and white in it, this one also has some red/brownish pixels in the font (which actually looks horrible).
But yes, the screen layout is an excellent candidate for changing the palette for the font, and again for the icons. That is likely what is being done on the Amiga and Atari ST. On PC that would be very difficult to pull off, because the system timer is not synchronized with the VGA CRTC, and there is no way to find out the current scanline or any other kind of indication of where you are in the frame. I did it in the 1991 Donut intro, but I had to have a few black scanlines in the area where I switched palette to allow for some margin between different PC speeds (the slower the PC, the longer it takes to switch palettes, so the actual switch may occur one or two scanlines lower than on a faster system). On an Amiga or Atari ST you can perform cycle-exact palette switches, which look the same on any system.
I suppose they could have pulled it off if there was some kind of 'calibration' screen, where the user would have to fine-tune the palette switch to occur int he right place. Then again, the game was aimed at 8088 machines, which had enough trouble with animating 80 lemmings as it is. The additional overhead for such a minor cosmetic improvement may not have been an acceptable trade-off.
From what I recall, they actually DO perform palette changes during the high-resolution screens in-between, even on EGA. It shows the level layout on top, and text at the bottom. The level is in a different palette than the text.
Ah, I have found why there are two different types of screenshots around. The game has two modes: a regular one, and one for 'high performance PCs'. That explains the difference. The yellow-ish EGA-like colours are for the regular version, and the high performance version gives the brown-ish colours, more similar to the Amiga and Atari ST versions. Although still not quite as good.
But it might be that it actually does perform a palette change mid-screen for that. They may have found a way to get it to auto-calibrate accurately enough on fast enough PCs.
Question - what do you use to convert bitmap fonts to FON/TTF? I dumped the fonts from the IBM Linkway application (samples at https://bsky.app/profile/zaratustra.bsky.social/post/3klikgm3iyt2q) and I'm trying to figure out what to do with them.
@Scali: Ha, interesting - yes, if I select 'High Performance PCs' (or 'IBM PS2 Machine') in the machine type menu, the status area colors and font are different. That increases the 'unique colors' count to 21, and since it's still mode 0Dh, there's gotta be a mid-frame palette change.
So why is the status area still uglier than the Amiga/ST versions? I think the clue is that the status font is also a bit smaller, compared to the 'regular' version: you can notice some extra black scanlines between the playfield and the green lettering. As you know, the VGA can't read the palette when you're writing to the DAC registers, so the output has to be blanked while you're modifying the colors.
To do that within the active display area, it looks like they had to set aside a few lines as a 'safe zone'. And there's only enough room to do that once - so the font and the icons below have to use the same 16 colors, unlike the Atari ST version where they can afford to switch palettes again between the font and the icons.
@zaratustra: since you already have the fonts as images, you can use Fony to create .FON files, and Bits'N'Picas for TTF. Both can import glyphs from png images, although in the latter case you might need another tool to fix up the encoding - I use FontForge for that.
Heh, the plot thickens even further:
The Amiga version runs the UI part in 640x200 resolution. That explains why it looks so detailed.
The Atari ST version does not do that, it's all 320x200. But still it looks better than the PC version in high performance mode.
The Gothic font is used in Scott Miller's Diamond Digger.
BTW, George Broussard says Monuments of Mars does not use the same engine as Pharaoh's Tomb:
"Not the same engine! Todd Replogle had his own for Monuments of Mars and I wrote on in Turbo Pascal for Pharaoh's Tomb ;) But they were both very similar and CGA, so hard to tell!"
https://twitter.com/georgebsocial/status/1225549048947658757
@Frenkel: nice - good catch on Diamond Digger... and that one was done in 1986, so not that long after Pavia released his font tools.
About Monuments of Mars: yeah, I remembered something about how it had a different code base. I guess when the basic premise is a flip-screen platform game with 16x16 tiles/sprites, there can only be so much difference, and they obviously shared ideas (and evidently assets) so it ended up looking and feeling very similar.
Cool!
On multicolour fonts: The 3270PC Programmed Symbols board supports "Tri-plane" fonts where each character can be considered as an 8-colour 9x16 tile. I'm not aware of that hardware being used in any games, but I've sometimes idly thought that the ability could be used for illuminated letters or small images in text-based games.
@John Elliott: Didn't know that! It seems that the 3270 PC's display hardware can always be counted on to support oddball video arrangements. Just did a bit of reading, and apparently this was needed to for graphical 3270 applications - Programmed Symbols were one way to get downloadable color graphics on 3279 terminals (the other way being vector instructions), and this method makes sense in that light.
I was going to say that nothing else in the PC-compatible world would've supported multi-color fonts in hardware... but then I remembered something like that about the Hercules InColor card. Indeed it appears that InColor RAMfont modes can optionally treat the character sets as 4-plane color bitmaps.
Interestingly, 'plain' VGA should technically have the internals to allow for something like that; after all, the way it implements 8bpp graphics is by (more or less) pairing up consecutive 4-bit pixels into an 8-bit palette index. If text modes could be coerced to do that, you'd have 4 colors per character cell, but I'd be surprised if there was a (compatible) way to pull it off in practice.
This is some incredible retro PC archaeology.
I recall Flightmare was brutally hard - I simply didn't have the coordination to line things up fast enough while avoiding getting shot, and it felt like you never had enough time to defend all your factories.
Re: Lemmings, I've extracted the fonts from the EGA/VGA version, and:
There are three coloured fonts (plus a few 1-bit, numbers-only ones for skill counts and the bomber countdown):
1. The blue 'menu font', used in the interstitial screens, which is 3-bit (4 shades of blue/purple, and a mask).
2. The green 'low-quality interface font', used in-game, in 'Standard PC' mode. This is stored as a 3-bit font internally, but mostly only uses two colours (green & white), plus the black background. Except there's one blue pixel on the '3': whoops.
3. The green 'high-quality interface font', used in-game, in 'High Performance PCs' mode. This is also a 3-bit font, but the palette is different due to the mid-frame palette change.
The VGA and EGA modes use exactly the same graphics, just have different palettes, as the VGA version can use the 6bit/channel colours.
Similarly, the interface buttons at the bottom of the screen are just a different bitmap for low- and high- quality mode, in order to use the mid-screen palette change or not.
It's also worth noting that different levels (i.e., with different 'graphics sets') have different palettes for the level itself. Though several colours have to stay the same, as they're used by the lemmings themselves, and the low-performance PC interface bitmap.