Philip.Belben(a)PowerTech.co.uk wrote about the ASCII
code that was
originally
a leftward-pointing arrow, but was later redefined as
underscore:
> PET has a left arrow for that code as well. Sensible, since underscore
is
> available elswhere in the character set (shift-$
IIRC) but I never knew
it
used to be
standard ASCII.
Um, no. ASCII doesn't define any shift-$ character. In fact, ASCII
doesn't
define any shift characters at all. It makes no
association between
characters and keystrokes. All it defines is the codes for the
characters,
and the functions of some of the control characters.
Note that even in
the case of control characters, it does NOT define them as being
generated
by a control key together with some other key. So,
for instance, there
is
no proper ASCII character designated
"Control-C". This style of usage is
an artifact of bit-paired keyboards, as was discussed here last week.
ASCII originally did not have an underscore character. Since the 1968
revision, it has an underscore but no leftward-pointing arrow.
In any case, the Commodore PET did not use ASCII, although it used an
extended character set that was derived from ASCII. So perhaps you are
thinking of one of the Commodore line-drawing characters.
Despite which fact, in PET BASIC the CODE function is replaced by the ASC
function.
But I think you missed my point. Was I really that unclear? Let me
rephrase:
The decision to use left arrow for that code was sensible because the
PETSCII character set has underscore elsewhere (and I still maintain it is
at shift-$ on the PET keyboard. FWIW it is indeed one of the Commodore
line drawing characters, but I used it as an underscore in many text-based
PET applications when I programmed the machines regularly, and I still use
it as underscore in PETSCII-ASCII translation), and it would therefore be
redundant to include another underscore character in the character set.
If you ever get the chance, have a look at the layout of a PET chicklet
keyboard. It is quite clever. PETSCII, unlike ASCII, _does_ make
connections between codes for shifted keys and those for unshifted keys -
on the original PET keyboard the PETSCII code difference was always 128
(the screen code difference was always 64 BTW). And yet they managed the
following things:
Characters with horizontal lines of pixels in all eight positions followed
a simple route down and up two adjacent columns of keys, yet they managed
to get bottom (shift-$), middle (shift-@) and top (sorry, can't remember.
Shift-# ?) onto punctuation keys so they would be available in lower case
mode. Similarly with the vertical lines in all eight pixel positions.
For those pedants who say there is no middle with an 8*8 dot matrix, it was
the one that lined up with the small corners and tees (shifted numbers).
Large corners (two outer edges) were in a little block on shifted O, P, L
and colon (or possibly semicolon). Shifted O, P and L were of course
unavailable in lower case mode; shift-: became a square root sign.
And so on.
So although PETSCII is not ASCII, don't knock it. It worked well.
Philip.
PS Why is it that, whenever someone misunderstands what I say, they assume
I'm wrong, and they're right. And if their interpretation of what I say is
obviously silly, they berate me for saying something obviously silly,
rather than stopping and thinking, Can he really have meant that? Nothing
personal, I hasten to add. It happens all the time. P.