Signetics 2513
The Signetics 2513 is a character generator developed by Signetics around 1970. It was designed to store the graphic data necessary to draw characters to a horizontal raster display screen and was used as part of the graphics processing unit for several early 8-bit devices, primarily display terminals. The most common character set supports uppercase letters, numbers, and some punctuation and mathematics symbols, but several different character sets were sold, and custom sets could be ordered from Signetics. The chip was sold in two packages: silicon or ceramic, signified N and I respectively, both in a 24-pin DIP. In the November 1971 issue of Electronic Design, the chip sold for $18.10 when bought in quantities of 25-99.
Signetics produced a couple other similar character generators including the 2516 and 2526. These had sub-variants for vertical raster displays, larger bitmap characters, and EBCDIC and Baudot encoding.
General Instrument produced a similar series of chips called the General Instrument RO-3-2513, which were direct replacements for the Signetics 2513 line. Several early video games used the font in the 2513 as a basis for the font in their games.
Contents
Personal
I learned about the Signetics 2513 while reading about the Apple I. This was the very first I had ever learned about character generators, and, the more I read about the chip, the more intriguing I found it.
Technical
The chip has enough read-only memory to store 64 characters, each with a 7×5 pixel resolution. The technical specifications say each character is actually 8 pixels in height, but the first row in each bitmap is always left empty in every font I could find. I don't know if a custom font could modify the first row. By itself, the chip can only output bitmaps, but it would be used in sequence with other chips that would specify where on the screen those bitmaps should be drawn and keep a memory of each character value on the screen.
Because the character bitmaps are stored in ROM, they cannot be modified, however, Signets produced several different character sets, and, for a fee, would produce custom ROMs. Customers were expected to design the bitmaps of their character set by hand on punch cards and mail them to Signetics, who would produce the custom ROMs and mail them back. Whether the designer could make use of the first row is unknown.
None of the emulators I've looked at actually emulate the function of the chip. Instead, they store only the bitmap characters in the ROM in a binary file. I presume this was done to keep the process fast, since nothing appears to be lost in short-cutting it. However, I've also noticed that most of the emulators are not using a pixel-accurate dump of the ROM and some of the characters don't match up with the datasheet.
Devices
These are the devices that I have confirmed use a Signetics 2513. There are probably a lot more, especially among early 1970s terminals, but most of the technical manuals don't list the model numbers of the chips they use, and there are very few high resolution photos of the internals of terminals online to check against.
In this table, the display resolution is how many characters could be displayed on the screen, and the cell size is the 5×7 character plus the buffer space added by the GPU. For example, the Apple I adds a column before and after each character, and has the built-in top row as character spacing.
Date | Device | Character Set Code | Display Resolution | Cell Size |
---|---|---|---|---|
1973-08-?? | Lear Seigler ADM-1 | CM2140 | 80×12 or 80×24 | 7×9 |
1973-09-?? | TV Typewriter | CM2140 | ? | ? |
1975-01-?? | SWTPC CT-1024 | CM2140 | 32×16 | ? |
1975-??-?? | Intel SDK-80 | CM2140 | ? | ? |
1976-04-11 | Apple I | CM2140 | 40×24 | 7×8 |
1977-06-10 | Apple II (early models) | CM2140 | 40×24 | 7×8 |
Both the Lear Seigler ADM-2 and ADM-3 terminals each appear to use both a CM2140 and a CM3021. I've seen some online sources claim a few early Atari arcade cabinets use this chip, but I haven't been able to verify any.
I've noticed a lot of Apple I and Apple II emulators have character bitmaps that do not exactly match those seen in the chip's datasheet. This discrepancy may be the result of not dumping the ROM of genuine hardware or dumping modified hardware, or it may be that Signetics changed their bitmap font later in production. I do not have access to any of the hardware or the ability to dump the ROM, so I can't verify this.
Characters
Signetics sold at least five different character sets which could be ordered by their code number (prefixed with "CM"). Many character generators of the 1970s used a 5×7 pixel display for their characters, and, while that isn't enough space to create an artistic typeface, the specific bitmaps used by Signetics appear to be used by a variety of other character generators too (some with only slight variations). I haven't yet been able to determine if the bitmaps originated with Signetics or if they copied them from an earlier character generator, though many of their characters are different from those created by IBM for their punch card printers.
CM2140
The most popular character set sold by Signetics was code number CM2140 which was based on the ASCII table. Although Signetics advertised the chip as supporting ASCII, in reality, with only 64 characters, it could only store half of the 128 characters in the ASCII set. However, it could still convey most of the table since 33 ASCII characters are non-printable, and lowercase letters make up another 26. So, excluding lowercase letters, it's really only missing the pipe (|), backtick (`), tilde (~), and braces ({, }). The order of the characters is similar to ASCII, but the structure moves the letters before numbers and punctuation. The CM2140 also uses the less popular 1967 ASCII set instead of the far more popular 1965 set.
Character Set | Rendered | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
CM2170
A Signetics catalog describes this character set as having a yen (¥) symbol (presumably for Japanese customers). I haven't been able to find the character lookup or bitmaps for it, but I assume it replaces the dollar sign.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
1x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
2x | ! | " | # | ¥ | % | & | ' | ( | ) | * | + | , | - | . | / | |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
CM3021
Code CM3021 includes the lowercase letters and punctuation missing from the CM2140, again using the 1967 ASCII set as a guide. This set also fills in the non-printable section with a custom set of glyphs that are pretty close to their associated meanings, basically an assortment of arrows, and ten underlined letters.
A device designed with both the CM3021 and CM2140 would be able to display the complete 1967 ASCII set and a variety of other characters.
Note: Because I couldn't find a datasheet on the CM3021, I used the datasheet of the General Instrument RO-3-3021 005, which is meant to be a drop-in replacement, so it should have identical bitmaps.
Character Set | Rendered | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
CM3030
Code CM3030 is described in a Signetics catalog as using the "old" ASCII set. I'm not sure if this means the 1963 or the 1965 set. I assume the 1965 set, since it is more popular, but I can't verify this. If it does use the 1965 set, it would replace the at (@) with a back tick (`) and the backslash (/) with a tilde (~). Assuming they aren't different, these bitmaps can be seen in the CM3021 description.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | ` | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
1x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | ~ | ] | ^ | _ |
2x | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
CM4800
Code CM4800 uses a katakana character set. Just like with the ASCII set, the order is cut in half, so it starts at the Ts instead of the vowels, and a few of the glyphs are out of order. The set only features the base glyphs, modifiers are separate characters, so combined glyphs like ga (ガ) must be written as (カ゛). Also, due to being limited to only 64 characters, not all of the common punctuation is included.
A device designed with the CM4800 and a CM2170 would be capable of rendering all needed Japanese and English text.
Character Set | Rendered | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Media
Documentation
Fonts
I have made True Type fonts for each of the known character sets, as well as one which combines all three into a single font. They are all in the video game font collection.
Links
- en.wikipedia.org/wiki/Signetics - Wikipedia - Signetics.