The "UltraPET Project
* HOME * My Software * My Projects * My Collections * Computer Info * Misc Info/Other * News *

The "UltraPET" Project Page

Introduction

Welcome to the "UltraPET" Project Page! The UltraPET is the most powerfull and best-looking PET ever made... or will be. First, just to be clear... Commodore never made an "UltraPET". This is MY personal attempt to build the Ultimate PET machine. This will be an ongoing project that might take a while to complete, or might never be finished.

What is an UltraPET?

I envision the UltraPET to be something like this:

  • Commodore 8296D computer as a base
  • SuperPET combo board
  • Super OS/9 MMU board
  • High-res Graphics board
  • 40/80 column switch
  • Enhanced Character matrix / Multiple Chr Sets
  • Serial drive interface (IEC)
  • uIEC or similar SD or CF card drive
  • Custom Kernal and Option ROM for IEC support and wedge
  • Other ideas are welcome!

The trick will be assembling all the pieces and developing new software/firmware to get everything working together!

The Pieces

8296D Computer SuperPET board OS/9 MMU Graphics Board Card Drive

The 8296D was Commodore's last PET machine, and it contains 128K of RAM on a small motherboard. Many of the chips on the older PET machines have been replaced by PLA's. The 8296D contains the equivilent of an 8250LP dual disk drive inside. Each 8250 disk can store 1MB of data and is the highest capacity floppy Commodore made for the PET machines.

Commodore made the SuperPET, which was a standard 8032 machine with an extra board containing a 6809 processor and some RAM. This allowed the PET to run additional programming languages. Also, with the addition of a special MMU board, you could also run an alternate operating system called OS/9.

One of the shortcomings of the PET was the lack of bitmapped graphics capability. Commodore Germany rectified this with the High-speed Graphik board. The HSG board was designed for the 8000 series machines and contains a dedicated GPU chip for graphics display. Commodore later produced a newer and smaller board specifically for the 8296 without the GPU chip.

PET machines came in both 40 and 80-column versions. The 4000 series with 40 columns and the 8000 series with 80 columns. Most PET software, including games, worked on the 40-column machines. Most business software ran on 80 column. Obviously we need a way to switch between them. There are two methods to do this... hardware or software. The hardware method involves (on the 8296) moving a chip from one location to another. The software method involves reprogramming the CRTC chip to simulate 40 columns by increasing the left and right borders and patching the print routines. I also have in mind a third method which involves some additional hardware as well as software. This would need to be designed.

The PET machines are IEEE based. Newer machines like the VIC and C64 use a serial version called IEC. Most of the cool new storage devices are based on IEC. These devices allow you to use memory cards, IDE drives, and even CD-ROM drives. Unfortunately the PET machines can't use them without some kind of converter. Enter the CBM-II (my favorite) machines and a clever guy named Ulrich and you have a solution where the CBM-II machines can convert the cassette port into an IEC port. Ulrich provided source code. With a little work the same system can be adapted to the PET machines. The PET machines, conveniently, have TWO cassette ports, so won't mind loosing one to talk to these new IEC devices.

It makes sense to create a custom DOS wedge to get everything working. I envision a way to set individual device numbers to be routed to the appropriate interface (IEEE or IEC) as well as the usual shortcuts to make drive manipulation easier.

Other ideas are welcome. Perhaps adding a SID chip (ALA PETSID), or definable character sets. If you have ideas please contact me!

Current Status

I have a working 8296D in good shape. Because of the internal 8250LP drive mechanisms, space is very tight. I have verified that the SuperPET combo board and the large HSG board will both fit, but NOT at the same time. This means the HSG board must go and be replaced by the smaller board. Unfortunately I do not have the smaller board so I will have to obtain one. They are very rare...

The SuperPET board was designed for the 8032. It will physically fit inside the machine but it is not known if it will actually work with the 8296 board. The 8296 board already contains 128K RAM and it's possible there might be hardware conflicts. This will have to be tested. If you have a combo board working in an 8296 please contact me!

I have built the "Cassette-to-IEC" cable and sucessfully tested it on a B-series machines. I have the source code and an EPROM programmer so I will be able to do development of the code. When the code works I will build the interface into the machine. I am looking for source for a nice DOS wedge that I can incorporate.

I have a couple 1541-III-DTV boards I can use for this project. I might pick up Jim Brain's uIEC device as well.

Character Set Expansion

The CBM-II machines have an enhanced character set with 8x14 pixel characters. This should be possible on the PET. Basically, we need 16 lines/bytes per character instead of the normal 8. In addition we will use a larger size EPROM to allow additional character sets. The easiest solution is to build a small adapter board to fit on the character generator ROM (CGROM) with wires to the CRTC chip. This will adapt the 2316/2332 ROM to a 27256 EPROM.

The CGROM uses A0-A2 for the character ROW, giving 8 possible lines. These are connected to the CRTC chip RA0-RA2 lines. We need one more line to expand this to 16 (the CBM-II uses only 14 pixels). The A3 line will now connect to the RA3 line. The RA3 line (in the 8296) is used as "NO ROW" which blanks the line when the row is not in the 0-7 range, such as when the machine is in "text mode". We no longer need this because we will have 16 rows per character. In the 8296 this line is connected to UD7 pin 5. This will have to be disconnected.

Now that RA3 is used we need to shift all the remaining address lines UP by one. The 8296 uses a 2316 CGROM (2K) but can handle a 2332 ROM (4K, SuperPET CGROM), so it has 12 address lines (A0-A11). The 6545 CRTC chip has 14 address lines (MA0-MA13) to select the video matrix address (16K), however the MA13 line is used to select the upper half of the 2332 character ROM (if used). The PET uses 2K of video memory so we need 11 address lines (MA0-MA10), which leaves MA11 and MA12 free. We can use these as additional address lines to select our extended character sets. We will connect them to A13 and A14 on our EPROM.

Now that the hardware is set, there are still some things to do. First we need a new CGROM (EPROM). We can use the same character set from the CBM-II machines, but we're still not finished. In order to enable 14 pixel tall characters we need to re-program the CRTC chip registers. If we want the tall characters on startup we will need to modify the EDITOR ROM with the correct values. This will give us the new charactera and transparent compatibility with existing software except those that modify the CRTC registers directly. The other option is to startup in the 'old' 8x8 pixel mode and only enable the 8x14 when needed. This will give compatibility with all pet software, but will need extra work for the new characters. We will need to take the standard PET character sets and PAD them to 16 bytes per character, then we can append our new character sets after that, which we will activate with the MA11 and MA12 lines.

Mike S pointed out that I could just use one of Jim Brain's 2364 adapters, which is true. In this case the address lines are not shifted, but we would have to connect one of the upper address lines to the RA3 line. In order for this to work we would have to shift around our data in the EPROM, effectively grouping/splitting the upper and lower 8 character rows.

This is untested. See below for proposed adapter schematic.... Your thoughts?

Resources

Here are some programs, docs, info etc related to this project:

ResourceDescription
80240.PRGSoftware for 8xxx series machines to change 80 column screens to 40 columns
CHRGEN ExpansionMy idea for an adapter to expand the character generator (untested).

Contact

Last updated: Dec 9/2010, 11:30am EST

Send comments or feedback to Steve Gray(sjgray@rogers.com)