Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There are at least four chip 8 fonts #3

zZeck opened this issue Jul 7, 2019 · 7 comments

There are at least four chip 8 fonts #3

zZeck opened this issue Jul 7, 2019 · 7 comments


Copy link

@zZeck zZeck commented Jul 7, 2019

Cosmac VIP, ETI-660, Dream 6800, and Chip48 interpreters all have different font data. This can effect program behavior because of pixel based collision. Some programs have text that looks off center as well.

Tested in Cosmac VIP and ETI-660 in Emma 02, Dream 6800 in MESS/MAME, and Chip48 in Emu48 for hp48sx.

Used cosmac VIP chip8 ram sha1 8AA634C239004FF041C9ADBF9144BD315AB5FC77

Used eti rom sha1 C0C4951E02F873F15560BDC3F35CDF3F99653922

Used Dream 6800 with original CHIPOS ROM. sha1 60F26E57A058262B30BEFCECEAB4363A5D65D877

Used chip48 2.25!searchin/comp.sys.handhelds/2.25/comp.sys.handhelds/z8KoBcbCExQ/q4VsdUu-1ssJ
which is sha1 16AB1BAC7D4861C26EFA4DF29E3AA3CE1BD8F7E5 after removing transfer dependent 13 byte hp header.

Images showing the fonts, and text with their binary representations are attached.

I suspect there are variants of the chip8 data used by the cosmac and telmac 1800. The author of chip48 had a telmac, but the font used by chip48 does not look exactly like the font seen in the chip8 ram used by Emma 02. (same chip8 ram data is used for cosmac and telmac)
I intend to do more research into this.


Copy link

@JohnEarnest JohnEarnest commented Nov 2, 2019

Good work on the research!

I'll have to do some thinking about how best to deal with this in Octo...

Copy link

@tobiasvl tobiasvl commented Nov 22, 2019

I just realized that the Dream-6800 characters were only 3 pixels wide, which probably means that any games made specifically for it look really weird in other interpreters. Some screenshots of one such game in this article (not a CHIP-8 game, but uses the same built-in fontset, part of the "CHIPOS").

Copy link

@zZeck zZeck commented Nov 24, 2019

I emailed Andreas Gustafsson, author of chip48 a few times in July. This is what he said about the chip48 font vs the telmac font

"telmac1800CharTest.png matches my recollection of what the games on my
Telmac 1800 looked like, and chip48charTest.png matches CHIP48 2.25
running on my HP48SX. I may have designed a new font for CHIP48 from
scratch so as not to infringe on the copyright of the original, but I
can't really remember."

So the telmac and cosmac vip probably had the same font data. Which would make sense given the connections between the hardware.

Copy link

@tobiasvl tobiasvl commented Jan 7, 2020

The high-resolution Super-CHIP font also has a couple of variants, found here. Left is Super-CHIP v1.1 (which only had digits 0–9), right is Octo:

Super-CHIP 1.0 was identical to 1.1, except that the inside of the 0 character was square.

Copy link

@zZeck zZeck commented Feb 5, 2020

The Fish N Chips emulator has its own large and small fonts. These can be found in the font.h file of the source. Comment says: "made a screenshot of a dosbox in raster font, size 46 and 812 and 'redrawn' them"
The Vinegar TI-83 chip 8 interpreter says it uses the large font from fish n chips in the Thanks section of its site.
The small font appears to be the same as chip48.
The fonts are in Core.asm. Search for "Chip-8 font data"

Copy link

@JohnEarnest JohnEarnest commented Feb 13, 2020

Octo now allows using your choice from the above:


Copy link

@zZeck zZeck commented Feb 28, 2020

That looks great! I love the preview box.

felgru added a commit to felgru/emulato-rs that referenced this issue Nov 11, 2021
Those fonts are based on existing fonts from other CHIP-8
implementations, found here:

The fonts can be selected via the new --font command line option.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

No branches or pull requests

3 participants