5

I have a Commodore PET 4016 like the one described here but did not grow up with any Commodore computers and I am still learning where it fits in their line-up and even how to use it.

After buying a PETdisk MAX and replacing one of my board's GPIB driver chips, I now suddenly have access to a variety of PET software from various mirrors/archives. Some works and some doesn't.

One thing I've noticed with a few of the games is that their instructions have the case swapped, e.g.

iNSTRUCTIONS

a GAME CALLED dUANE sUDOKU WOULD HAVE BEEN A GREAT GAME FOR THE cOMMODORE pet BUT i DON'T THINK ENOUGH PROGRAMMERS NAMED dUANE KNEW ABOUT sUDOKU BACK THEN.

Apparently Commodore for various reasons had various character mappings across their various models and so this is not particularly surprising. In a comment on Why does PETSCII have upper case and lower case reversed?

So if you create a program that displays mixed-case text correctly on all Commodore 8-bit computers from the second version of the PET (3000 series) onward, it will display with upper- and lower-case reversed on the original PET 2001

But afaict my 4016 model would be more like the "3000 series onward" rather than the first run of PET 2001 models. It certainly has both upper and lower case. (And if the PET 2001 didn't have lower-case glyphs than how would it exhibit the behavior claimed anyway??)

I tried to POKE 59468,14 before running the game. It did swap my typing (run instead of RUN) and it made the initial title screen all-lowercase but then the instructions screen still rendered tHE sAME wAY as before.

Did PET users just sort of live with this kind of thing? Or was there a common trick to "fix" code like this for one's particular model that people just knew to do when they got a copy of a new piece of software?

1
  • 1
    It doesn't seem like it's particularly difficult to write a program to fix up that sort of thing. No "tricks", just write something. FWIW, I used to use Algol-60 on a multiaccess system that had a bunch of upper-case-only teletypes. So of course there was a "just make my entire file upper/lower case" program.
    – dave
    Commented May 6, 2021 at 22:57

1 Answer 1

3

The game you describe must have been made originally for the first PET model, the 2001. Between the 2001 and the 3000 series, Commodore swapped upper- and lowercase in the character ROM (in the half that contains them).

In the original PET 2001, if you switched from uppercase & graphics mode to upper- and lowercase mode, you wouldn't see any effect on the screen at first. Swapping modes simply means that the other half of the character generator ROM is selected, so each displayed character can suddenly look totally different to the human viewer, while remaining totally unchanged for the computer itself.

Only when you start typing and would try to type a letter key together with shift, so as to type a graphics character, you would notice it had been replaced with a lower case letter.

This led to the somewhat strange effect that if you wanted nice text on the screen in proper lower case, you would need to type all those letters with shift, totally unlike what people are used to.

So in later models, Commodore swapped the upper- and lower case characters in the character generator ROM. This meant that for existing programs, where the lower case was typed with shift, the cases got swapped too.

But at least now, upper and lower case could be typed in a more conventional fashion.

Unfortunately the change caused confusion of its own. Such as old programs now being case-swapped. And if you now switched modes, all letters on the screen suddenly would become lower case. When you LIST a program to the screen, it also has a different case. Somebody typing in BASIC commands, or a program from a listing in a magazine (which are usually given in upper case), and trying to do to do this "properly" in upper case, would discover that this doesn't work.

So if in the end the change was worth it is somewhat debatable.

4
  • I guess the only way to fix this somewhat conveniently may be in hardware. I.e., have both character ROM sets installed on a daughter card and select the ROM ICs used via an externally accessible hardware switch (e.g., by switching the chip select around – additionally circuitry to inhibit any ringing is probably required).
    – masswerk
    Commented Mar 3 at 16:15
  • I remember when I got the VIC-20 I thought its approach to handling upper/lowercase was clever, but since then I've realized that it would have been much better to have a key that would toggle shifted/non-shifted letters and also perhaps (for the PET) change the behavior of 1-9.
    – supercat
    Commented Mar 4 at 22:05
  • Thanks, this is great background! Part of my question though is, what did owners of the newer models do with older software? Were they basically stuck with the swapped case or was there e.g. a way to put the PET into a backwards-compatibility mode? Or was there any utility to auto-upgrade old cassettes/floppies?
    – natevw
    Commented Mar 6 at 5:05
  • @natevm I expect there were some conversion programs, once people had disk drives. For cassette-only use they would be much more complicated, because they need to be in memory at the same time as the program to be converted. I think many people just lived with the weird looking text. Commented Apr 23 at 20:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .