Skip to content

Apple-1 character mapping is incorrect for the lowercase ASCII range #47

Description

@tmcintos

If you run the Apple-1 character test program from the user's manual

0: A9 0 AA 20 EF FF E8 8A 4C 2 0
0R

you should get output similar to the following:

Image

If you closely inspect the output and compare it to the output from Apple 1js https://www.scullinsteel.com/apple1/:

Image

you'll notice that the OpenEmulator character mapping for lowercase ASCII is incorrect.

The correctness of the Apple 1js output can be confirmed by checking any image from a real Apple-1, e.g. (you'll need to zoom in on this one):

Note: When mapping 7-bit ASCII display characters to the 6-bit Signetics 2513 character index, the Apple-1 drops ASCII bit 5 (0x20) and concatenates a negated bit 6 (0x40) with bits [4:0] to form the 2513 6-bit input.

ASCII Range Remapped value 2513 (6-bit) character Note
0x00-0x1F control chars 0x20-0x3F 0x20-0x3F symbols Not displayed, all but CR ignored
0x20-0x3F symbols 0x20-0x3F 0x20-0x3F symbols  
0x40-0x5F uppercase 0x00-0x1F 0x00-0x1F uppercase  
0x60-0x7E lowercase 0x00-0x1F 0x00-0x1F uppercase  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions