André's 8-bit Pages  Projects  Code  Resources  Tools  Forum
search

(Google, in new window)
follow
Follow my 8-bit tweets on
twitter
(In new window)
discuss

Discuss my site on this 6502.org forum thread

(Forum registration required to post)

Hot!

Dive into the retro feeling and build yourself a Commodore PET replica

Need more speed? Speed up your 6502 computer with this 10 MHz 6502 CPU replacement board

Interested in electronics design? Look at the design lesson I got from Bil Herd, the hardware designer of the C128

Commodore PET extensions

This page contains an overview over hardware extensions that were commercially available for the PET. The ones documented here are mostly graphics and sound boards. If you know of any more, let me know!

News:

  • 2010-05-11 Added the PET RAM expansion, the PET EPROM adapter, as well as the CPU speeders section.
  • 2010-04-11 Added the 8296GD, the MTU K1002 sound adapter, and updated the Commodore graphics card adapter.
  • 2010-01-04 Started this page

Graphics Adapters

This section describes some graphics adapter extensions for the PET, even for high resolution graphics!

Petunia board

From the discussion on the cbm-hackers mailing list:

'There was a video/audio board called Petunia, by HUH Electronics. It connected to the cassette (for power) and user ports. [There is a] video only version, that is, they did not put the audio components on the board. I don't know what they were because the board is not marked, but there is only room for 2 16 pin ICs. Assuming these were output drivers for the sound, it would have required software to program the 6522 parellel port in order to produce sound.'

Sorry no link available.

Eltec graphics adapter

The Eltec 'petGRAFIK' card is an addon board that creates a hi resolution screen with 256x220 pixels, that is overlaid over the normal PET screen. Schematics, manual and programming info is available on the link.

MTU Visible Memory Board (K1008)

From the cbm-hackers discussion:

'I have one of those MTU Visible Memory boards (K-1008) and it doesn't sound like either of the boards you're discussing; there were two models actually, the K1008 which was designed for a KIM but could be used in a PET with an adapter board, and the K1008-6 which was designed for the PET and added a few features. Both were 8K, 320x200 and could also be used as ordinary expansion RAM.'

Sorry no link available

Dubbel-W bord

From the cbm-hackers announcement by Rhialto:

Thanks to a bunch of disk images that must have been made by Ruud
(thanks!) [2], I came across some demo programs for a hi-res board for
the PET. Then I remembered that I had some vague and confusing notes
about its use, which I got when we had one on loan at the school's
computer club (assuming the boards to be the same).

Putting 1 and 1 together, the programs seemed to match the notes, and so
with the help from the notes, and the realisation that the notes implied
there was a PIA in the mix, I started to implement an emulation in VICE.
First I got it working as a weird memory expansion, then with the help
from the #vice-dev irc channel, I hooked it into graphics output. It was
nearly working[4] on the first try :-) [5][6]

So now this is in the svn version of VICE, and here[3] is a patch you
can probably apply to 2.2 (which has just been released).

Here are my notes:

The DWW hires board[1] has a PIA at address 60200 = $EB28

It seems that in the demo programs, the BASIC versions like to
POKE in 60200, where the machine language programs use $EB00.

60200 Port A or DDR A
$EBx0 1  0 \
      2  1 - RAM block at $EC00 (0-7)
      4  2 /
      8  3 charrom         0 = off 1 = on
      16 4 hires           0 = on  1 = off
      32 5 extra charrom   0 = on


60201 Control Register A: bit #3 (worth 4) controls if 60200
$EBx1 accesses the Data Direction Register A (0) or Port A (1).

60202 Port B or DDR B
$EBx2 0 = RAM is visible from $9000 - $AFFF
      1 = RAM is bank-switched in blocks of 1 K in $EC00 - $EFFF

      [Control Register B is never mentioned, so putting 1 in this
       address would access the DDR, creating an output line, which
       after RESET is default 0...]

Typical initialisation sequence:

    poke 60201,0        poke 60200,255          (all outputs)
    poke 60201,4        poke 60200,24 or 25 (16 + 8 + 1)

Demo programs on disk PBE-110A, 110B, 111A, and 111B.
These disks can be found inside
http://vintagecomputer.net/commodore/64/baltissen/Pbe.zip
(PBE = PET Benelux Exchange, the Dutch PET user group)

The memory mapping is a bit strange. It seems each 1 K block contains
the pixeldata for 1 bit-line of each text line. This is probably so that
the addressing of the RAM can borrow part of the addressing
logic/signals of the text screen. (The screen addressing cycles through
0-39, then increases the line (= byte offset) which is fetched from
the character ROM; for the graphics, the screen position selects the
byte in a KB and the char ROM offset selects which KB of graphics RAM).

My notes say: to set a pixel:

RE = INT(Y/8): LY = Y - 8*RE    (or Y AND 7)
BY = INT(X/8): BI = X - 8*BY    (or X AND 7)

when memory mapped to $9000:

    L = 36864 + 1024 * LY + 40 * RE + BY
    POKE L, PEEK(L) OR 2^BI

when memory mapped to $EC00:

    POKE 60200,LY + 40 (or 8?)
    L = 60416 + RE * 40 + BY
    POKE L, PEEK(L) OR 2^BI


[1] Dubbel-W bord, designed by Ben de Winter and Pieter Wolvekamp

[2] http://vintagecomputer.net/commodore/64/baltissen/Pbe.zip
[3] http://www.falu.nl/~rhialto/dww-patch
[4] http://www.falu.nl/~rhialto/dww1.png
[5] http://www.falu.nl/~rhialto/dww2.png
[6] http://www.falu.nl/~rhialto/dww3.png

Sorry no link available

Commodore PET graphics card

This graphics card came in two versions, one black and white and one color. They allowed for 512x512 pixel resolution - not exactly clear if the color version had the same resolution, though. The color version had 8 colors or 8 grey levels. Sold for the 8296, 8000 and 4000 series, and even, according to the site, into the B700 series. ASCII characters available in different sizes vertical and horizontal. Comes with extra BASIC commands.

Here is a comment from Steve Gray: I have the PET series version. There are aparently two variation, with the difference being the power section. The CBM-II version comes in an external box with cartridge (http://www.wfking.de/hires.htm). I've also seen the board installed internally in the CBM710/720 machines. I haven't seen a colour version. The documentation says the GPU chip is capable of doing colour but it's not implemented. Also, there are two versions of the chip. One does 512x256 (mine has this) and the other is 512x512. I'm not sure if Commodore ever made one with the 512x512 chip, or if you could simply swap one chip for the other.

Commodore 8296GD

The PET prattle #1 mentions a 8296GD - a 8296D with a built in graphics card.

Again a comment from Steve Gray: Commodore also made a board specifically for the 8296. There is a PET Prattle article that says they released a machine with this called the 8296GD (it also had the build in drives). http://www.icpug.org.uk/national/archives/020227ar.htm.. It uses the 8296's built-in ram by piggybacking on the CRTC controller and CHRGEN chips with a ribbon cable going to the main board, plus a ROM in one of the option rom sockets. I've never seen a picture of it online but I have one picture if you are interested.

Composite Video

This section describes adapters for the PET userport to create composite video signals for a 'normal' video monitor.

The PET has the three signals vertical sync, horizontal sync and the video signal on the userport. So some circuits were developed to produce a composite video signal from that.

The PET Revealed

PET user group of england

Witte Video interface

A German company sold PET video adapters, see link

Sound Adapters

This section describes some sound adapter extensions for the PET

Userport beep

There are a number of schematics available to actually connect the shift register output on the PET userport with a speaker. This has been used in the early PETs, where there was no beeper yet.

DAC on the userport

There is Visible Music Monitor program that requires an 8 bit DAC (Digital Analog Converter) connected to the userport. See the audio page at the CBM archive.

MTU K1002 DAC sound adapter

From Mike's web site (see link): The K-1002-2 is an 8-bit audio Digital-to-Analog Converter for the Commodore PET. It connects to the user port and second cassette port.

Memory extensions

The memory on the early PET was really limited and obviously several companies produced extension boards.

Unknown brand

This one can be seen in Daves Old Computers collections

PET RAM expansion

The board described here allows to expand the PET - among others - to be expanded with extra memory. It is placed under the CPU. schematics, layout and source are available!

PET EPROM adapter

An adapter for the PET2001 to install additional ROM sets of 16k - installed under the CPU

Other CPUs

There have been attempts to use other CPUs in the PET.

SuperPET

Of course the first one to mention is the Waterloo SuperPET which was sold by Commodore.

Unknown brand Z80 CP/M card

This one can be seen in Daves Old Computers collections. Look for "Commodore CBM 8032 (Later version)". The board is mounted under the monitor.

Floppy drives

Some of the floppy drives used in the PET were not as intelligent as the Commodore ones and a controller had to be added to the PET

Unknown brand

This one can be seen in Daves Old Computers collections.

CPU speeders

This section has CPU speeders for the PET

PET replica with 2MHz

This is the CS/A caspaer setup PET replica, running at 2MHz

A 65816 CPU replacement

The board described here replaces the 6502 with a 65816 running at up to 10MHz


Return to Homepage