ZX Origins 8x8 bitmap fonts
damieng.com
damieng.com
I'll keep that page in mind, when I build my next Arduino LED-matrix display project.
For a loving look at the golden age of 8x8 pixel fonts.
You don't know how many times I re/designed 8x8, 8-9x14, and 8-9x16 fonts as bitmap constants in Pascal, C, and assembly in high school. Writing programs to extract fonts from CGA/MCGA/EGA/VGA-compatible BIOSes was fun. If you were feeling sporty, you could write a keyboard-activated TSR to the same in another program. It would pause the current program, transfer control to yours (or chain the call to the saved CS:IP of the original interrupt vector at [0000:n*4]), and then you would ordinarily POP DS, POPA/AD, STI, IRET.
And the old Norton Utilities / FreeBSD gpm 512 character drawing trick where 2 code pages were simultaneously visible by sacrificing 1 bit of foreground color. There is an artifact in using it as a graphic cursor because the right most pixel and the one before it are duplicated because the underlying horizontal resolution is 720 px (not 640 as before) and 80 characters wide. Since most text glyphs don't occupy the right-most pixel, there's no harm in cheating and reusing fonts from 640x400 (not 480) pixels. Interestingly, most graphics cards could draw text somewhat properly in graphics modes with int 10h (video bios) or 21h (DOS services) calls, but it was very slow. It was faster to bitblt pre-rendered raster fonts in graphics modes.
https://en.wikipedia.org/wiki/Terminate-and-stay-resident_pr...
A big chunk of a lot of listings that you typed in from magazines were "drawing strings" to define all the main a-z chars just to give you a graphics font.
So, just in case you're like me still mentally stuck in the 1980s: buyer beware; user defined fonts only applies to those fancy new Sinclair ZX Spectrum models. :-)
The "non-Color Computer" TRS-80 models started off with Level I basic, which was based on the non-Microsoft TinyBASIC.
However even they moved on to a Microsoft BASIC variant: Level II and Level III BASIC were based of Microsofts BASIC-80, but modified to incorporate commands from Level I Basic....
But the TRS-80 Color Computer/CoCo, which is the machine Dragon 32 is actually nearly identical to, used Color BASIC (and later variants), which was based on Microsoft BASIC-69 (69 referring to the 6809 CPU; there was also a BASIC-68 for the 6800), so you're right the TRS-80 variant that was most similar to the Dragon 32 had the same BASIC as the Dragon 32...
The good old days of (almost total lack of) compatibility...
And for the other infamous limitation (no lower case characters in text mode) late in its life Dragon User had another program that set up a semigraphics mode which defined new characters made up from the the individual horizontal scanlines of the standard character set and was able to cobble together serviceable lower-case characters. It then patched the OS to use this mode with the new characters, to all purposes creating an upper and lower case mode.
Witchcraft!
I thought bitmap fonts were not copyrightable? Then you can’t put conditions on it. Or at least not enforce them.
What made you think that? Not being snarky - just something I haven't come across
That bitmap fonts are not covered by copyright is something I have often seen stated, and the above reference seems to back it up; since bitmap fonts are not rendered from curves and vectors, there is no underlying putative “software” to claim copyright on.
A bitmap font could still theoretically be covered by trademark or possibly a design pattern, but (IIUC) those are things that have to be applied for, unlike copyright which normally covers a work automatically.
It's funny how similar most of these look to those I did. Some styles were pretty much universal back then.
#!/bin/bash
for page in $(curl -s https://damieng.com/sitemap.xml | perl -ne 's/<loc>/\n<loc>/g;while ($_ =~ s#<loc>(https://damieng.com/typography/zx-origins/[^\<]+)</loc>##) {print $1."\n"}'); do
echo "Page is [$page]"
download=$(curl -sL "$page" | perl -ne 'm#(download\.damieng\.com/fonts/zx-origins/[^"]*)#g && print "https://$1"')
echo "Download is [$download]"
wget -qN "$download"
doneSo my command was actually something more like wget -m -D download.damieng.com,damieng.com -A .zip https://damieng.com/typography/zx-origins/
But it still wouldn't download the .zip files. I think this is one case where wget should, on paper, be superior to curl.
It even goes as far as to download download.damieng.com/fonts/conversions/Micropack.zip, proving that it does traverse domains and sub-dirs, but nothing under download.damieng.com/fonts/zx-origins.
It's really strange, I'm thinking it has something to do with all the .zip archives being linked without a protocol (//download.damieng.com), might be a bug but I'd be shocked if no one had encountered it before.
Go to a computer terminal? Font changes to the sci-fi one(s).
Getting chased by a killer? Font changes to the raining blood one.
Reading a letter the PC found? Use the handwritten font.
Reading a printout? Use dot-matrix one.
There's a TTF, assembler for several platforms.
Amazing work. Thanks for this!!!!
https://gist.github.com/damieng/b2e279c72146ee469731acbadbea...
It then opens up the font in FontLab using a template and some custom Python 2 scripts to convert that into the TTF.
https://github.com/damieng/font-creation-tools/tree/master/F...
The next bash script uses a bunch of third-party tools and my own PixelWorld open-source .NET tool to generate all the other formats and disk images and then packages them up into a zip and uploads it to S3.
https://gist.github.com/damieng/d2519cda1c674b4ede74f154f05f...
https://github.com/damieng/pixelworld
Hope that's of some interest to somebody.
Damien
In the home computer era, when 8x8 bitmap fonts had their heyday, displays often had rectangular pixels. So, while the characters look square now, they often did not back then.
Nuxt is just used as a static site generator for the rest of the site.
The way each font links to a page with screenshots of actual games only with the selected font replacing the real font is pretty amazing stuff!
That said I have a few of my own takes of the magnetic/ocr fonts there.