Talk:PETSCII

From Wikipedia, the free encyclopedia

Contents

[edit] Terminology

Instead of "shifted" and "unshifted", the two modes were commonly called "lowercase" (or sometimes "business") and "graphics" mode.

Also, since the shift key sets the high bits in the character, the way you mention the repeating characters is the wrong way around. Normal characters are 0x20-0x5F and with shift, 0xA0-0xDF. It is the others who were repeats. The reason for the repeats is that the PETSCII characters all map to 128 different "screen codes" (in the video memory) and they don't map 1-to-1, but the conversion code didn't care about that. In screen codes, the high bit is used for reverse video. In the keyboards after the first one, there were fewer keys, so the nice regular mapping of the shift key to the high bit was partially lost.

Also, in the very first PET model, the screen codes for upper and lower case letters were swapped. So if you turned on lower case mode, your upper case letters remained on screen as they were, and to get lower case letters you had to press shift. Presumably because that was inconvenient, the character generator rom was changed, and that meant that when you changed into lower case mode, your existing on-screen uppercase letters became lower case (and some graphics became upper case letters), as it is known also on the 64.

Going from PET to 64, the backslash was changed into a pound symbol.

See lots of docs on the CBM Hackers site, http://www.zimmers.net/anonftp/pub/cbm, some of which was contributed by me (Olaf 'Rhialto' Seibert).

[edit] Reasons for CBM to 'invent' PETSCII

This would be a more interesting and useful article if anyone could explain *why* Commodore chose to invent their own character set. In 1977, it's not like they were trying to lock people into only buying their peripherals from Commodore! --Wtshymanski 19:35, 19 Apr 2005 (UTC)

Good question/comment! My best bet (in fact, a bet I'm quite sure I would earn a little money on, had anyone bothered to bet against it) is that CBM did this to allow for the excellent (IMNSHO) block graphics extension to regular ASCII. They were thus able to alleviate, to some degree (or at least, they thought so) the lack of bitmap controllable graphics and user definable character set of the PET range. Using those graphics chars, some reasonably decent looking 'arcade games' (for the era) were actually made for the PET. :-)
As you might know, Atari also 'invented' a set of block graphics chars for their own 8-bit home computer family (different chars from CBM's, of course...). --Wernher 00:10, 20 Apr 2005 (UTC)
So there---done it (added to the article the (most?) plausible reason for PETSCII to be invented, that is). :-) --Wernher 01:00, 20 Apr 2005 (UTC)
A little dangerous, in my opinion; we're speculating, do we have a cite for this theory of the PETSCII character set? It's not apparent to me why they didn't just use the 8th bit set characters to extend the character set, as did the IBM PC and even the Osborne 1, where printable characters with the 8th bit set came out underlined (which looked way cool in WordStar) and non-printable characters were block graphics. --Wtshymanski 02:20, 20 Apr 2005 (UTC)
Yes, we're speculating, which is why I wrote "...may be one reason...". I think the current educated guess, stated very carefully, is OK. As for why did they use this scheme and not any specific one out of a range of alternatives, I think that would be a little beyound answering the basic question of why they in fact invented a proprietary char set as such. But, absolutely, a very interesting question! I'd love to have some CBM engineer(s) give a recollection of those matters from the early days of Commodore! :-)
BTW, I'm not sure whether a single one of the other extended/variable-ASCII charset articles have any mention of why their specific version got the way it is, and what other alternatives they considered (if any) and, if relevant, why they did or didn't import parts of other charsets or charset schemes. I have an idea that such information isn't the easiest one accessible; some times because none of the originators remembers (or, even, is at all alive), and/or that the documentation is non-existent. --Wernher 03:06, 20 Apr 2005 (UTC)
I don't know if we *want* to see a complete history of ASCII - there's tons of stuff on the Net, any search with "Bemer" and "ASCII" will turn up lots of documents; I once found a .PDF file (which I don't have on this machine) that went into amazing detail about the history of heated discussion over the assignement of the codes in ASCII, which exceeded even my appetite for trivia. Till we get better data (hopefully some day), your more cautious re-write will be I think sufficient. I wish we *knew*, though...--Wtshymanski 04:00, 20 Apr 2005 (UTC)



Peddle claims the inclusion of card suit symbols was due to the fact that one of the things that was on his specification list for the computer was an item that said that people should be able to easily construct card games with it.

I rewrote this sentence, but I wanted to highlight it here. Scary stuff. I hope I preserved the meaning. 82.92.119.11 21:43, 1 May 2006 (UTC)

[edit] More archaism

The C64’s substitution of the pound sign for the reverse solidus in position 0x5C hearkens back to a 6-bit ISO subset of ASCII: [1]

Strictly speaking, without further confirmation it would be original research to label the ISO 6-bit subset as an influence here, though the agreement between the two narrows the list of possibilities (the other possibility I can think of is parallelism—unconnected designers making the same choice through expedience). That makes the C64 version of PETSCII both an ASCII-1963 and 6-bit subset throwback. Which amplifies my question even more: who designed that thing?! (ie a post-1970 character set with such blasts from the far past) --Shlomi Tal 15:46, 16 September 2007 (UTC)

[edit] Font convertion algorithm?

"...but since the PET font can be converted to the C64 font with a small program, this theory is out of question."

This is an unjustified statement. PET and VIC fonts really appear to be the same. One might think that C64 and later fonts are a bold version of this (example algorithm: (line>>1)|line), however this is not so. PET font has serifs on 'B', 'D', etc. which are not present on C64 and would not be removed by such a simple algorithm. Many characters, e.g. 'm', show that the font was redesigned altogether - i cannot imagine a generic algorithm which would automatically produce that. If one is described somewhere, i would like to know it.

Besides, the "reason" with colour artefacts sounds fishy too. ZX Spectrum had the same pixel and character size as C-64 (though C-64 could adress a larger screen area, thus higher total resolution), yet Spectrum had thin fonts, like PET, colorful output, and no color artefacts.

--89.59.25.27 21:34, 8 October 2007 (UTC)

The colour artefacts reason is not fishy. At least on PAL there are color effects with thin fonts. PAL mixes some amount of the color information from one scanline into the next. —Preceding unsigned comment added by 84.191.230.122 (talk) 04:50, 4 May 2008 (UTC)
PAL contains more scanlines than NTSC, but the color resolution is extremely poor. PAL color resolution considerably less than its luminosity resolution. The result is that PAL colors blur together - much like coloring outside the lines in a kid's coloring book. PAL hackers were able to exploit is design flaws in incredible ways. -DevinCook (talk) 05:50, 4 May 2008 (UTC)