Page 1 of 1
PET memory mapping question
Posted: Wed Jun 07, 2017 1:01 pm
by cbmeeks
If you read the information at
http://www.6502.org/users/andre/petindex/progmod.html you will see the following:
$8000-$8FFF
Screen memory. Board #1 and #2 have 1k of screen RAM, mirrored 4 times. Board #3 has (1k for 40 cols or??) 2k of RAM, mirrored 2 times. The CRTC address range is limited to the screen RAM. Board #4 uses normal CPU memory for the screen, i.e. the screen memory size is 4k. The CRTC on board #4 can address 8k, however.
I'm a little puzzled by this. I can't imagine a 8032 PET (or similar) being able to use 4K for screen RAM. 80x25 characters would be a little under 2K. So I assume 4000-series PET's (40 columns) would only be able to access 1K (40x25 = 1000) and the 8000-series PETS could access 2K (80x25 = 2000). That makes sense. But which ones could access 4K completely and why was it used? Were there versions of PET with higher than 80 columns?
Thanks.
Re: PET memory mapping question
Posted: Fri Jun 09, 2017 1:10 pm
by jim30109
I'm not a PET guy (always wanted one, but couldn't afford it at the time), but we had a few at the college. They were used for data acquisition with various equipment so we didn't do any real programming of them for our classes.
I am going totally from memory, but I'm pretty sure there was some kind of trick to double the line count (so you had 80 characters by 50 lines) on at least one of the models we used. It wasn't particularly readable but there were character based graphics that could use that mode. I'm not sure if that was standard or a modification.
Jim
Re: PET memory mapping question
Posted: Sat Jun 10, 2017 12:04 am
by White Flame
Double-buffering an 80x25 display would take 4k. Even outside of animation, that sort of thing can be useful for having a separate application screen vs debug/development screen, editing vs reporting screen, etc.
Re: PET memory mapping question
Posted: Mon Jun 12, 2017 8:23 pm
by barrym95838
... I'm a little puzzled by this. I can't imagine a 8032 PET (or similar) being able to use 4K for screen RAM. 80x25 characters would be a little under 2K. So I assume 4000-series PET's (40 columns) would only be able to access 1K (40x25 = 1000) and the 8000-series PETS could access 2K (80x25 = 2000). That makes sense. But which ones could access 4K completely and why was it used? Were there versions of PET with higher than 80 columns?
Thanks.
I might have found a reasonable explanation here:
http://www.6502.org/users/sjgray/projec ... index.html

- petdisplay.JPG (26.5 KiB) Viewed 977 times
Mike B.
Re: PET memory mapping question
Posted: Tue Jun 13, 2017 8:07 pm
by sjgray
Hey, that's from my Editor ROM page!
So, 4000 series have 1K ram installed. 8000 series has 2K ram. Ignore the colour info obviously.
The last 4000/8000 PET motherboard revision is called the "Universal Dynamic PET" motherboard. It is configurable for either 40 or 80 columns depending on jumpers installed plus memory chips etc. In the day you could install a big switcher to toggle between them, or install a 3rd-party board that used a bunch of multiplexer chips to do it for you (keep looking on my pages for an example

. Anyway, 1K or 2K is the normal amount of video ram that the "normal" PET machines used.
After the 4000/8000, Commodore released the 8296 machines. Its motherboard contained 128K ram. Like the C64, the entire address range can be ram if properly configured. Anyway, the CRTC video chip could access up to 8K (from $8000-$9FFF) as video memory. By re-configuring the CRTC chip registers you could set up alternate screen layouts. For example, a 100x30 character screen, or you could set the CRTC to only use 4-line high characters then double the rows to 50 (ie: 80x50 characters). By installing a special font rom you could get 160x100 "pixel" graphics (I have done this!). Of course there's no firmware support for these things but the CRTC chip is quite flexible.
Steve
Re: PET memory mapping question
Posted: Wed Jun 14, 2017 1:18 am
by sjgray
I'm not a PET guy (always wanted one, but couldn't afford it at the time), but we had a few at the college. They were used for data acquisition with various equipment so we didn't do any real programming of them for our classes.
I am going totally from memory, but I'm pretty sure there was some kind of trick to double the line count (so you had 80 characters by 50 lines) on at least one of the models we used. It wasn't particularly readable but there were character based graphics that could use that mode. I'm not sure if that was standard or a modification.
Jim
If you have a specific 6545/6845 variant of the CRTC controller you can put the screen into interlace mode and have 50 lines, however you are still limited by the amount of video ram. So, if you have an 8032 it will have 2K ram. 80x25 just fits, but you could do 40x50. You can also play with the register that sets the character height (normally 8 lines in graphics mode, or 10 lines in text mode). There is a PET DEMO that modifies the height to display some amazing animated graphics:
https://www.youtube.com/watch?v=ktUguF1TnJk
It's not a real "graphics mode", but it does increase the vertical resolution using the character height trick.
Steve