DEC Radix-50

RADIX-50, commonly called Rad-50 or RAD50, is a character encoding created by Digital Equipment Corporation for use on their DECsystem, PDP, and VAX computers. RADIX-50's 40-character repertoire (050 in octal) allows up to 3 characters to be encoded and packed into 16 bits (PDP-11, VAX) or 6 characters plus flag information into one 36-bit word (PDP-6, PDP-10/DECsystem-10, DECSYSTEM-20).

The actual encoding differed between the 36-bit and 16-bit systems.

PDP-6, PDP-10/DECsystem-10, DECSYSTEM-20[1]
Most
significant
bits
Least significant bits
000 001 010 011 100 101 110 111
000 space 0 1 2 3 4 5 6
001 7 8 9 A B C D E
010 F G H I J K L M
011 N O P Q R S T U
100 V W X Y Z . $  %
PDP-11, VAX[2]
Most
significant
bits
Least significant bits
000 001 010 011 100 101 110 111
000 space A B C D E F G
001 H I J K L M N O
010 P Q R S T U V W
011 X Y Z $ .  % 0 1
100 2 3 4 5 6 7 8 9

Strings are encoded in successive words as needed, and the first character within each word is in the most significant position. For example, using the PDP-11 encoding, the string "ABCDEF", with character values 1, 2, 3, 4, 5, and 6, would be encoded as a word containing the value (1*40 + 2) * 40 + 3 = 1683 followed by a word containing the value (4*40 + 5) * 40 + 6 = 6606. Thus, 16-bit encoded values range from 0 (three spaces) to 63999 ("999"). When there are fewer characters in a word than it can hold, the string is padded with trailing spaces.

There were several minor variations of the encoding families. For example, the RT-11 operating system considered the character corresponding to value 011101 to be undefined, and some utility programs used that value to represent * instead.

The use of Rad-50 was the source of the filename size conventions used by the PDP-11 operating systems. Using Rad-50 encoding, six characters of filename could be stored in two sixteen-bit words while three more characters of extension (filetype) could be stored in a third sixteen-bit word. The period that separated the filename and extension was implied (not stored and always assumed to be present). Rad-50 was also commonly used in the symbol tables of the various PDP-11 programming languages.

References

  1. ^ Frank Durda IV. "RADIX50 Character Code Reference". 2004. http://nemesis.lonestar.org/reference/telecom/codes/radix50.html
  2. ^ Compaq Computer Corporation. "Compaq Fortran 77 Language Reference Manual, Appendix B.3: Radix-50 Constants and Character Set". 1999. http://www.helsinki.fi/atk/unix/dec_manuals/cf77au/olrm0398.htm