Skip to content

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

@tmcintos

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions