4

What is the format of the video character ROM used in the Apple 1?

1 Answer 1

5

Original ROM

The character ROM is a Signetics 2513 "64×8×5 Character Generator," a 2560-bit static ROM. (Data sheet alternate source.)

Address lines A1-A3 (Signetics started the numbering at 1) select one of the eight rows of five pixels for a character (the top row is usually all-zero for a 5×7 matrix) and address lines A4-A9 indicate the character code.

The standard version (2513N/CM2140) had ASCII sticks 4-5 (upper-case characters) at codes 0-31 and ASCII sticks 2-3 (punctuation and numbers) at codes 32-63. There was also a katakana version (2513N/CM4800) available, and custom versions (assigned their own CMnnnn code by Signetics) could be made. The glyphs in sequence are thus:

@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ !"#$%&'()*+,-./0123456789:;<=>?
タチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚ 。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソ

ROM Dumps

Dumps of this ROM are frequently in a different format where character data is stored in an array of 128 8-byte blocks designed for lookup by ASCII code:

$00-$1F  not data from ROM; all clear except for $01
$20-$3F  locs $20-$3F from ROM: ASCII punct. and digits
$40-$5F  locs $00-$1F from ROM: @ABC…
$60-$7F  duplicate of $40-$5F, or lower-case not from ROM

Each block is a sequence of eight bytes, each representing a row. The bottom row, instead of the top, is the empty one and bits 1 through 6 contain the six bits from the ROM in reverse order, with bits 0 and 7 always 0.

The Call-A.P.P.L.E. dump, apple1.vid, available in the Apple1_bios.zip file downloadable from this page duplicates the upper-case sticks ($00-$1F in the original ROM) in the $60-$7F locations in the dump file, which will duplicate the Apple I behaviour of outputting lower-case ASCII codes as upper-case letters (and translating the punctuation in the lower-case sticks, backtick, {|}~ and DEL, to the punctuation from the upper-case sticks, @ and [\]^_).

The Pom1 emulator's dump, src/rom/charmap.rom, has replaced the standard upper-case and stick 4-5 punctuation glyphs in $60-$7F with lower-case and stick 6-7 punctuation.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .