Fixing a PET?

From: Philip.Belben_at_pgen.com <(Philip.Belben_at_pgen.com)>
Date: Wed Sep 29 12:17:19 1999

> For the 8032, you'd need a "PETSCI" chart - Commodore didn't adhere completely
> to the ASCII standard coding. I have a copy of the PETSCI codes, but they're
at
> home, and I'm not. If anyone needs them, e-mail me and I'll be happy to send
> them to you, or post them.

First time PET users beware. The character codes with ASC() and CHR$() are NOT
the same as the screen codes.

There are two character sets. You'll probably be debugging in lower case mode,
so, in numerical order of screen code, here's the lowercase set:

0-31 (Decimal)
_at_abcdefghijklmnopqrstuvwxyz[\]^_
where ^ is up arrow and _ is left arrow. (These correspond in PETSCII to the
ASCII codes for upper case and display as upper case on early PETS.)

32-63
(exactly the same as ASCII, from space to question mark. Also exactly the same
as PETSCII)

64-95
The characters you get by shifting (i.e. with the shift key) the first group.
Upper case for the letters, mostly vertical and horizontal lines and a diagonal
cross for the others. Shift-up arrow should be a PI symbol, but in lower case
mode comes out as a chequerboard.

96-127
The characters you get by shifting the second group. On later PET keyboards,
the shift key didn'd work quite as on earlier PETS, so you probably can't type
some of these characters. They include vertical and horizontal lines at the
boundaries of the character cell, T-junctions of the various vertical and
horizontal lines in the middle, half of the characters required to do lo-res
graphics (four pixels to a character cell), and histogram characters. Of
particular use in PET "graphics" is code 102, a 50% grey square. (Gosh, to think
I still remember the code for that. But then we always called those characters
"one-oh-two's" anyway). Beware code 96 which is a shifted space, and displays
as a blank.

128-255
The inverse video ("reverse field") of the characters from 0 to 127 respectively
(thus including, FWIW, the rest of the characters for lo-res graphics).

Tips for debugging screen memory:

The addresses for the screen are 32768 to 34767 inclusive, in the usual order.
Deposit with POKE A,B and examine with B=PEEK(A) or more usually PRINT PEEK(A).
Note that I'm used to uppercase, but all except the first PETS use lowercase for
keywords when in lowercase mode.

The screen editor actually reads the screen memory. So if there is a strange
character there, go up to that line and edit it (you'll soon see how the INSERT
key works) to read PRINT ASC("#") and press return, and it will return the
PETSCII code for the character (in this example, 35, like ASCII). This does not
work for inverse video, though.

Also, if the contents of the screen memory are being corrupted, you won't be
able to type sensible things on the command line...

Hope this helps.

Philip.






This E-mail message is private and confidential and should only be read
by those to whom it is addressed.

If you are not the intended recipient, you are hereby notified that any
dissemination, distribution, copying, reproduction, modification or
publication of this communication is strictly prohibited. Please delete
the message from your computer and destroy any copies.

This message is not intended to be relied upon by any person without
subsequent written confirmation of its contents. This company therefore
disclaims all responsibility and accepts no liability of any kind which
may arise from any person acting, or refraining from acting, upon the
contents of the message without having had subsequent written
confirmation.

If you have received this communication in error, or if any problems
occur in transmission please notify us immediately by telephone on
+44 (0)2476 425474
Received on Wed Sep 29 1999 - 12:17:19 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:32:38 BST