PETSCII ("PET Standard Code of Information Interchange"), also known as CBM ASCII, is the variation of the ASCII character set used in Commodore Business Machines (CBM)'s 8-bit home computers, starting with the PET from 1977 and including the VIC-20, C64, Plus/4, C16 and C128. ref|Amiga

The character set was largely designed by Leonard Tramiel (the son of Commodore CEO Jack Tramiel) and PET designer Chuck Peddle. Peddle claims the inclusion of card suit symbols was spurred by the demand that it should be easy to write card games on the PET (as part of the specification list he received).ref|OnTheEdge The VIC-20 used the same pixel-for-pixel font as the PET (although the characters appeared wider due to the 22-column screen). The Commodore 64, however, used a slightly re-designed, heavy upper-case font that was basically a thicker version of the PET font. The reason for this was the higher resolution of the C64 which caused color artefacts when using the thin PET font. The result looked similar to the Atari font which is why some people believe that the C64 font is a copied and modified version of the Atari font, but since the PET font can be converted to the C64 font with a small program, this theory is out of question.

PETSCII is based on the 1963 version of ASCII (rather than the 1967 version, which most if not all other character sets based on ASCII use). As such, PETSCII has only uppercase letters (in its "unshifted" mode, that is; see below), an up-arrow (↑) instead of a caret (^) in position $5E and a left-arrow (←) instead of an underscore ( _ ) in position $5F. In "unshifted mode", codes $60–$7F and $A0–$FF are allotted to CBM-specific block graphics characters (horizontal and vertical lines, hatches, shades, triangles, circles and card suits). Ranges $00–$1F and $80–$9F have control codes. The characters in positions $60–$7F repeat themselves in positions $C0–$DF, as do $A0–$BE in $E0–$FE, and $7E in $FF.

The Commodore PET's lack of a programmable bitmap-mode for computer graphics as well as it having no redefinable character set capability, may be one of the reasons PETSCII was developed; by creatively using the well thought-out block graphics, a higher degree of sophistication in screen graphics is attainable than by using plain ASCII's letter/digit/punctuation characters. In addition to the relatively diverse set of geometrical shapes that can thus be produced, PETSCII allows for several grayscale levels by its provision of differently hatched checkerboard squares/half-squares. Finally, the reverse-video mode (see below) is used to complete the range of graphics characters, in that it provides mirrored half-square blocks.

PETSCII also has a "shifted mode", in which the range $41–$5A has lowercase letters (instead of uppercase in unshifted mode), and the range $61–$7A (and its duplicate $C1–$DA) has uppercase letters (instead of the block graphics). This is in reverse to ASCII-1967, so any text transfer between an 8-bit Commodore machine and one that uses standard ASCII would result in reverse-case text upon arrival to the destination. Thus, like for other computers based on non-standard-ASCII character sets, software conversion is needed when exchanging text files and/or telecommunicating with standard ASCII systems. The other ranges are unchanged in shifted mode.

Included in PETSCII are cursor and screen control codes, such as {HOME}, {CLR}, {RVS ON}, and {RVS OFF} (the latter two activating/deactivating reverse-video character display). The control codes appeared in program listings as reverse-video graphic characters, although some computer magazines, in their efforts to provide more clearly readable listings, pretty-printed the codes using their actual names, like the above examples. The screen control codes were essentially similar to escape codes for text based computer terminals.

As indicated above, PETSCII provides for shifting between the power-on default (unshifted) uppercase+graphics character set and the alternative (shifted) lower+uppercase set (where the shifted set contains a subset of the block graphic characters of the unshifted set). The shift between modes is done via special control codes. Thus, screen editor state changes, rather than the employment of separate ASCII codes, are used to choose between single-case (all capitals) and dual case. In the VIC-20, C64, and later machines (not including the CBM business computers), color codes supplement the other screen control codes. (The colors of the VIC-20 and C64/128 are listed in the C64 article.)

Code table

Since not all of the characters encoded by PETSCII are 'graphic' (i.e., not control codes) and not all of them have a corresponding Unicode representation, they cannot be portably displayed in a web browser. The following table shows the glyphs for PETSCII graphic characters where there is a corresponding Unicode glyph, and the Unicode replacement character U+FFFD (�) otherwise. Control characters and other non-printing characters are represented by abbreviations for their names. Where a particular code point encodes both a shifted and unshifted character, both characters are shown, with the unshifted character on the left. Row and column headings indicate the hexadecimal digit combinations to produce the eight-bit code value; e.g., the letter "L" is at code value 4C.

Note that the table below is for the Commodore 64. Other Commodore machines used slightly different versions of PETSCII, which used different control characters and in some cases different graphic characters. For example, on the Commodore 128 $07 was the bell control character, and on CBM machines prior to the VIC-20, characters $2C and $6C both produced a comma character, albeit with slightly different semantics. []


#Note|Amiga The 32-bit Amiga home/personal computer family uses standard ISO-8859-1.
#Note|OnTheEdge see "On The Edge" by Brian Bagnall, ISBN 0-9738649-0-7, page 43, 54-55.


ee also

*ZX Spectrum character set
*Extended ASCII

External links

* [ character map, part 1] , [ 2] , [ 3] (JPEG)
*An attempt at PETSCII to Unicode mapping, [ unshifted] , [ shifted]
* [ Commodore 128 PETSCII control characters]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • PETSCII — (PET Standard Code of Information Interchange), también conocido como CBM ASCII, es la variación del conjunto de caracteres ASCII utilizado en los sobremesa de 8 bit Commodore Busines Machines (CBM), empezando por el PET, en 1977, y pasando por… …   Wikipedia Español

  • PETSCII — ASCII Variante benutzt im Commodore PET …   Acronyms

  • PETSCII — ASCII Variante benutzt im Commodore PET …   Acronyms von A bis Z

  • ASCII art — Oldskool or Amiga style Newskool style …   Wikipedia

  • Mojibake — The UTF 8 encoded Japanese Wikipedia article for mojibake, as displayed in the Windows 1252 encoding. Mojibake (文字化け …   Wikipedia

  • CBM-ASCII — Die beiden Fonts, hier auf einem C64, a) Klein und Großschrift, b) Großschrift und Blockgrafik Vergleich des Zeichensatzes auf einem PET, VC 20 und C 128 (von oben), Auszug. Dargestellt ist jeweils der gleiche …   Deutsch Wikipedia

  • Bulletin board system — A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and login to the system using a terminal program. Originally BBSes were accessed only over a phone line using a modem, but by the early 1990s some …   Wikipedia

  • Commodore PET — A Commodore PET 2001 Manufacturer Commodore International Release date January 1977 (1977 01) …   Wikipedia

  • Brotkasten (c64) — Der C64 im „Brotkasten“ Gehäuse Der Commodore 64 (kurz: C64, umgangssprachlich auch 64er) ist ein 8 Bit Heimcomputer mit 64 KByte Arbeitsspeicher. Seit seiner Vorstellung im Januar 1982 auf der Winter Consumer Electronics Show war der von… …   Deutsch Wikipedia

  • C-64 — Der C64 im „Brotkasten“ Gehäuse Der Commodore 64 (kurz: C64, umgangssprachlich auch 64er) ist ein 8 Bit Heimcomputer mit 64 KByte Arbeitsspeicher. Seit seiner Vorstellung im Januar 1982 auf der Winter Consumer Electronics Show war der von… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”