Page 1 of 1

So why couldn't the PET plot graphics, exactly?

Posted: 28/05/2013 - 22:45
by Commie_User
I've always been told the PET could only display the graphic characters in CBM's ASCII table and no others.

Only text mode, not graphics. Common thing on computers.

But surely, if something doesn't exist in hardware, software can be written to modify what's been made? How come it couldn't be overcome on the PET?



On the PET, unlike the VIC-20 and Commodore 64, character sets could not be swapped from the keyboard. To be able to use lower case alphabetic characters, it was necessary to issue the command POKE 59468,14. To return to graphics mode, it was necessary to issue POKE 59468,12.
http://home.total.net/~hrothgar/museum/PET2001/

Closest there is. And I've seen some cracking video games made with 'em, like Space Invaders or Pacman. But still.



I think Chris Abbott knows what I'm talking about.

Re: So why couldn't the PET plot graphics, exactly?

Posted: 28/05/2013 - 23:56
by AndyUK
Didn't the PET have 'inverse' characters? when plotted were the opposite of those there, effectively erasing what was at the current character co-ord?

Damn sometimes you're thankful for the Speccy's user defined graphics.. (USR command ).. hehe ( oh god, I said Speccy on a C64 board.. :duh: )

Re: So why couldn't the PET plot graphics, exactly?

Posted: 29/05/2013 - 0:02
by Commie_User
Yes, just like the 64 you had reverse video.

And as the 64 had the ability to redefine its charset, I wouldn't be surprised if the PETs could do that too.

But my thinking's more on direct graphic plotting and bitmapping.

Re: So why couldn't the PET plot graphics, exactly?

Posted: 29/05/2013 - 0:15
by AndyUK
In order to have graphic symbols to to draw simple charts and for games
as well as upper and lower case characters for word processing Commodore
gave the PET two 256 character sets, one with upper and lower case
characters for word processing and business applications and one with
upper case and graphics characters for charts, games, etc. In order to
change the 'mode' of the PET you must direct the computer to 'look' at
one of two character sets via a POKE command.

The PETs start up in one of two modes, upper case characters (pressing
shift types graphics symbols) or lower case characters (pressing shift
shift types upper case characters).

To direct the computer to uppercase/grpahics mode:
POKE 59468,12

To direct the computer to lower/uppercase mode:
POKE 59468,14

Note that when you change sets the characters on the screen change
immediately to the new image, you cannot hve characters from both
set on the screen at the same time without some specially timed
program to perform it.

Original ROM PET have reversed reversed upper/lower case characters:

Commodore had the upper/lower case characters reversed in the original
ROM models where both modes started with upper case characters and you
pressed SHIFT for lower case or graphics. This is the reason for some
older software having reversed case text. There are utilities available
that will adjust all your PRINT statements to the proper case for the
newer or older ROM machines.

12" 4000/8000 series:

The 12" 4000/8000 series PETs allow you to change case by printing
a control character: CHR$(14) - Text Mode CHR$(142)-Graphics Mode

When you issue a CHR$(14) on a 4000/800 series PET the newer display
controller will be adjusted so there is a pixel or two gap between
screen lines. If you do not wish this gap in text mode just
POKE 59468,14 instead of printing CHR$(14)
(if you want the gap in character mode you can issue a ? CHR$(14)
and then POKE 59468,12 to produce the desired effect.)

Unlike the later Commmodore 8-Bits there is no way to edit the
characters on the screen in software alone.

Re: So why couldn't the PET plot graphics, exactly?

Posted: 29/05/2013 - 8:25
by Chris Abbott
At school one of the Pets had a Hi-res graphics board (endless hours of fun with moire!), but I think the Pet was probably less hackable than, say, the ZX81 in that respect.

Chris

Re: So why couldn't the PET plot graphics, exactly?

Posted: 29/05/2013 - 22:53
by Commie_User
Thanks Chris. But what I still wanted to know was why the text mode barrier was as impenetrable as it was. On today's machines we're used to engines being written if a computer's unable to do something in hardware. We're used to any barrier being broken with the right genius at the controls.

I know you needed an extra board but why couldn't programmers crack the PET in its factory configuration?







I like the look of this PET. Looks like a 128.

Image

Re: So why couldn't the PET plot graphics, exactly?

Posted: 30/05/2013 - 8:04
by Chris Abbott
I think the proof was just harder to find, but...


Re: So why couldn't the PET plot graphics, exactly?

Posted: 30/05/2013 - 20:31
by AndyUK
This looks like extremely clever manipulation of the standard set of ROM characters though you think?

Re: So why couldn't the PET plot graphics, exactly?

Posted: 30/05/2013 - 21:03
by Commie_User
It really does. Mindblowing. I couldn't actually say whether it really is just text characters to look at it.

I suppose for the money a PET costs now, you'd want some fantastic stuff for it. That is absolutely wonderful. Truly superb.

Re: So why couldn't the PET plot graphics, exactly?

Posted: 30/05/2013 - 21:54
by Chris Abbott
According to Jason Kelk, what he's done is shrink the characters so that you only see the top pixel line of each character, and mess around with the screensize to cope with the 1k video memory. Very clever indeed. Apparently you could also directly hack the video RAM if you were of a mind.
Most of the PETs have the CRTC (the 2001 series don't but if memory serves all the 30xx, 40xx and 80xx machines do). What the demo does is reduce the height of characters so what you see on screen is just the top of each row (the width of the screen is tweaked down as well because there's only 1K of RAM for video on a 40 column PET).

I believe it's the first time high res graphics have been done that way, but it's ALSO possible to write to the video RAM on the fly and do them in the same way the software-based ZX81 solutions work as well, that should work on any PET but will require specific timing for different models (again, if memory serves).

Re: So why couldn't the PET plot graphics, exactly?

Posted: 30/05/2013 - 23:12
by Commie_User
Clever clever clever!

Thanks an absolute bundle Chris. I knew you'd come through on this one.