Ben's 6 bit computer code

Working on a 24 bit computer software, I need a a 6 bit code for packed strings.
4 chars per word. Alas all of the 6 bit codes I have seen don’t have all the characters nor upper
and lower case. A TTY model 20 could do upper and lower case, but was short computer
math characters. Algol character sets did not have ! ? for text processing.
Printers and card readers all had miss matched character sets. Every book a I read
on computers for data processing, had magnetic tape but ASCII does not support it
in 1967.
Well here is my computer code. Table lookup for conversion to and from ASCII.

2 Likes

Am I missing the obvious that with a 24-bit system you can store 3 bytes per word rather than try to pack 4 characters per word…

Is RAM 8-bits wide or 24?

-Gordon

A shift by 2 gives word, char location for 6 bit data.
A divide by 3 for 8 bit data.
Ram is 24 bits wide. This is planning for string data types, 8 or 12 bit data
A 6 bit ASCII version is planned, as I thought of a better way to escape uppercase,
and control chars. I am planning my own language - BENGOL but I first need a character
set. All the langages I seen need a ; to end a statement and have formats just like FORTRAN
with no spaces between tokens or stropping . I just want to use a white space to separate things
.

A 6 bit ascii version.
@ upper case shift for word
a-z A-Z
@@ gives a @
" is EOL. (CR)
^ is ESC
0-? ASCII control chars 00-0F
@ gives "
a-z gives A-Z.
_ rubout (BS)
% a-z keyword stropping a-z (bold or red)
%% is %
%@ keyword stropping A-Z (bold or red)

Once I get then simple 24 bit CPU working, then I can do a 28 bit CPU and use ASCII.

Thinking more on this, I will use normal C strings and ASCII I/O but have my own output
string print. ‘_’ will be NL and ^ case flip to upper for the next character. Lower case letters will used as standard text. @ will be NULL for C like strings. This way I can port stuff witten in
C later when I get the hardware running.

My only experience with 6-bit characters was in OS/8 on the PDP-8 (12 bits) and ITS on the PDP-10 (36 bits). Both supported ASCII in text files but file names and symbol tables were typically 6-bit, packed, using the usual, unsurprising decimation of ASCII: no control characters, no lower case. The reason I kept hearing: the dramatic dearth of memory.

Probably explains while MacLisp had case-insensitive symbol names. (Not to be confused with Macintosh Common Lisp = MCL = OpenMCL = CCL = Clozure Common Lisp.)

Back in the day, people didn’t notice the missing lower case characters. Some locally famous “hackers” (e.g. Richard Greenblatt) typed all their code in upper case even when later given a choice. I remember being astounded that Unix shell commands were (cough) in lower case. No surprise it was developed on the 16-bit PDP-11.

Quote: “You can always ‘bum’ a word out of a ‘page’ [128 words] of PDP-8 code.” (e.g. CLA instruction was o7600, which was also the entry address for the “system device” driver).