The Commodore PET (Personal Electronic Transactor) is a line of home/personal computers produced starting in 1977 by Commodore International. A top-seller in the Canadian and United States educational markets, it was Commodore's first full-featured computer, and formed the basis for their entire 8-bit product line, including the Commodore 64. The first model, which was named the PET 2001, was the third personal computer ever made available to retail consumers, after the Apple II and TRS-80.
A Commodore PET 2001
|Release date||October 1977|
|Operating system||Commodore BASIC 1.0 ~ 4.0|
|CPU||MOS Technology 6502 @ 1 MHz|
|Memory||4 — 96 kB|
|Storage||cassette tape, 5.25" floppy, 8" floppy, hard disk|
|Display||40×25 or 80×25 text|
|Graphics||monochrome character graphics|
|Sound||none or beeper|
Origins and the early modelsEdit
In the 1970s Commodore was one of many electronics companies selling calculators designed around Dallas-based Texas Instruments (TI) chips. However, in 1975 TI increased the price of these components to the point where the chip set cost more than an entire TI calculator, and the industry that had built up around it was frozen out of the market.
Commodore responded to this by searching for a chip set they could purchase outright. They quickly found MOS Technology, which was in the process of bringing its 6502 microprocessor design to market, and with which came Chuck Peddle's KIM-1 design, a small computer kit based on the 6502. At Commodore, Peddle convinced Jack Tramiel that calculators were a dead-end. In September 1976 Peddle got a demonstration of Jobs and Wozniak's Apple II prototype, when Jobs was offering to sell it to Commodore, but Commodore considered Jobs' offer too expensive. Tramiel demanded that Peddle, Bill Seiler, and John Feagans create a computer in time for the June 1977 Consumer Electronics Show, and gave them six months to do it. Tramiel's son, Leonard, helped design the PETSCII graphic characters and acted as quality control. The result was the first all-in-one home computer, the PET, the first model of which was the PET 2001. Its 6502 processor controlled the screen, keyboard, cassette tape recorders and any peripherals connected to one of the computer's several expansion ports. The PET 2001 included either 4 kB (2001-4) or 8 kB (2001-8) of 8-bit RAM, and was essentially a single-board computer with discrete logic driving a small built-in monochrome monitor with 40×25 character graphics, enclosed in a sheet metal case that reflected Commodore's background as a manufacturer of office equipment. The machine also included a built-in Datasette for data storage located on the front of the case, which left little room for the keyboard. The data transfer rate to cassette tape was 1500 baud, but the data was recorded to tape twice for safety, giving an effective rate of 750 baud. The computer's main board carried four expansion ports: extra memory, a second cassette tape recorder interface, a parallel ("user") port which could be used for sound output or connection to "user" projects or non-Commodore devices and a parallel IEEE-488 port which allowed for daisy-chaining peripherals such as disk drives and printers.
The PET 2001 was announced at the Winter CES in January 1977 and the first 100 units were shipped later that year in October. However, the PET was back-ordered for months and to ease deliveries, early in 1978 Commodore decided to cancel the 4 kB version (also because the user would be left with barely 3 kB of RAM).
Commodore was the first company to license Microsoft's 6502 BASIC, but the license agreement nearly drove Microsoft into receivership as Commodore stipulated that they would only pay for the BASIC license after the PET began shipping. However, this took over six months to finally happen, during which time Microsoft lost money and even worse, had their cash reserves further depleted by a lawsuit over ownership of Altair BASIC. At the end of the year, the struggling company was saved by Apple's decision to license Microsoft BASIC for the Apple II line.
Although the machine was moderately successful, there were frequent complaints about the tiny calculator-like keyboard, often referred to as a "chiclet keyboard" because the keys resembled the chewing gum it was named after. The key tops also tended to rub off easily. Reliability was fairly poor, although that was not atypical of many early microcomputers. Because of the poor keyboard on the PET, external replacement ones quickly appeared. The PET had somewhat of a competitive advantage over its Apple II and TRS-80 rivals as both were using relatively primitive integer BASICs for their first six months on the market while the PET had a full-featured BASIC with floating point support, a sophisticated screen editor, and lowercase letters, the last being a feature that the two competing platforms would not have for a few years. On the other hand, Commodore was a year behind Apple and Tandy in making disk drives available for their computers.
In 1979, Commodore replaced the original PET 2001 with an improved model known as the 2001-N (the N was short for "New"). The new machine used a standard green-phosphor monitor in place of the light blue in the original 2001. It now had a conventional, full-sized keyboard and no longer sported the built-in cassette recorder. The kernel ROM was upgraded to add support for Commodore's newly introduced disk drive line. It was offered in 8kB, 16kB, or 32kB models as the 2001-N8, 2001-N16, and 2001-N32 (the 8kB models were dropped soon after introduction). The 2001-N switched to using conventional DRAM instead of the 6550 (1kx4) SRAM in the original model. PET 2001-8Ns had eight 2108 (8kx1) DRAMs and 2001-16Ns used sixteen 2108s. The PET 4016 used eight 4116 (16kx1) chips. All 32k PETs used sixteen 4116 chips. Finally, Commodore added a machine-language monitor to the kernel ROM that could be accessed by jumping to any memory location with a BRK instruction. It did not include a built-in assembler and required the user to enter hexadecimal numbers for coding.
Sales of the newer machines were strong, and Commodore then introduced the models to Europe. The result was the CBM 3000 series ('CBM' standing for Commodore Business Machines), which included the 3008, 3016 and 3032 models. Like the 2001-N-8, the 3008 was quickly dropped. The change to CBM occurred because of a trademark dispute with Philips over the PET name.
Education, business, and computer scienceEdit
In 1980, the 4000-series PETs were launched. These used a larger 12" monitor with a redesigned CRT controller and also included the enhanced BASIC 4.0, which added commands for disk functions. By this point, Commodore discovered that people were buying cheaper 8 kB and 16 kB models of the 3000-series and upgrading the RAM rather than pay extra for the 32 kB model. Because of this, they punched out the memory sockets in the 4016 (there was no 8 kB 4000-series PET) to prevent that practice. The 4032 was a major success in schools, where its tough all-metal construction and all-in-one design made it better able to stand up to the rigors of classroom use. Just as important in this role was the PET's otherwise underutilized IEEE-488 port. Used wisely, the port could be used as a simple local area network and allowed printers and disk drives (which were then very expensive) to be shared among all of the machines in the classroom.Unlike later Commodore machines, PETs had no kernel ROM functions for the IEEE-488 port and users had to write their own for using peripherals such as modems.
The PET's simple, rugged design and completely enclosed components made it an early favorite in the North American education market. At one point Commodore owned 67% of the Canadian education market. Schools preferred the 40-column models because the 40-column display's larger characters vs. the 80xx PETs were easier for young children to read. Commodore manufactured a variation on the PET called "Teacher's PET" - these were relabeled 2001-series PETs which were donated by Commodore as part of a "buy 2 get 1 free" program offered to schools as part of a promotion/tax write-off scheme.
Two more machines were released in the PET series. The 8000 series included a new display chip which drove an 80×25 character screen, but this resulted in a number of software incompatibilities with programs designed for the 40 column screen, and it appears to have been unpopular as a result. The machine shipped with 32 kB standard as the 8032, but allowed another 64 kB to be added externally. Later the upgrade was installed from the factory, creating the 8096. Unlike the 40-column models, 8000-series PETs came standard with a 1-channel speaker for sound generation.
2001/3000 and 4000-series PETs used what became known as the "graphics keyboard". Numbers were exclusively on the numeric keypad and the row above the alphabet keys had only punctuation symbols. The 3032 and 4032 were produced in two special variants known as the B models with the so-called "business keyboard", which had a conventional layout with mathematical symbols and numbers above the alphabet keys. The keypad contained only numerals. On the other hand, all 8000-series PETs sported the business layout.
The 4000/8000 PETs were more explicitly targeted at professional/business use than the 2001/3000. Business customers were the main target for the features of the enhanced BASIC 4.0, and a good selection of prepackaged business software was available. A large line of 5.25" and 8" floppy drives were made for the PET family, and even 5 and 7MB external hard disks. While they became fairly popular for business use in Europe, they failed to make much impact on the US market in part because the 6502-based PETs could not run CP/M, which had become the standard for business software. In addition, the PET's 32k of memory was a disadvantage against the Apple II and TRS-80, both of which could accommodate 48k.
As noted above, 4000 and 8000-series PETs used larger monitors and a different video controller than the 2001/3000 models. This created a notorious compatibility problem known as the killer poke. On 2001/3000 PETs, there was a register which when enabled did not allow reading/writing of the video RAM except during the vertical blanking in order to prevent snow on the screen (caused by the CPU and video controller trying to access the VRAM at the same time). Ordinarily, this feature was enabled on power-up. If the user didn't mind snow, he could turn it off and get faster text output. BASIC programs and some machine-language software commonly did this for performance reasons. 4000/8000 PETs used a video controller based on the Motorola 6845 CRTC chip (unlike the TTL logic circuit in 2001/3000s) that eliminated the snow problem, but also placed a CRT control register in place of where the VBLANK flag had been on the 2001/3000. Hence software that tried to disable it would end up throwing the monitor out of sync and destroying the flyback transformer. BASIC programs intended for the 2001/3000 thus had to be modified in order to run safely on the 4000/8000. Later 40xx/80xx PETs had modified video circuitry to prevent killer poke damage; a TDA 1170 chip was used in place of the original analog circuit so that if no sync went to the monitor, it would merely be shut off rather than sent spurious signals. Video RAM on the PET used 1kx4 SRAMs. These consisted of two 6550s (original PET 2001), two 2114s (all later 40 column models), or four 2114s (80 column models).
The PET 2001 and 2001-8N had a register that would disable the video output; this was also used as output for the IEEE-488 interface, so screen flicker would occur during disk drive or printer use. It also became a popular method of producing explosion effects in games, however the 16 and 32k models removed the screen disable register so this trick no longer works.
The last in the series was the SP9000, known as the SuperPET or MicroMainframe. This machine was designed at the University of Waterloo for teaching programming. In addition to the basic CBM 8000 hardware, the 9000 added a second CPU in the form of the Motorola 6809, more RAM and included a number of programming languages including a BASIC in ROM for the 6502 and a separate ANSI Minimal BASIC-compatible BASIC for the 6809, along with APL, COBOL, FORTRAN, Pascal and a 6809 assembler on floppies. It also included microEDITOR, a text editor for use in writing and maintaining programs for any of the 6809 languages. Also included was a terminal program which allowed the machine to be used as a "smart terminal" as well, so this single machine could replace many of the boxes currently in use at the university. Additionally this machine became a remote development environment where the user could later upload their creation to a mainframe after completing development and testing on the SuperPET.
Commodore tried to update the PET line with a new redesign called the CBM-II series (also known as the B series). These were not as successful and were ultimately abandoned. However, because the PET remained popular in Europe, the original PET machines were revived and the CBM-II case style was retained. These were known as the SK's (due to the separated keyboard). They also had a swivel monitor. Originally, standard 8032 boards were retrofitted into these cases. Later the SK models got a new mainboard that already included the 64 kB extension directly on the board and were sold as 8296 or, with a built-in 8250 dual disk drive, as 8296-D. The revived PET line also included a new pair of floppy drives, the SFD-1001 and 2031 (see below for more info).
Although not officially a member of the PET series, in 1983 Commodore packaged C64 motherboards in plastic cases similar to the PET 4000-series in order to create the Educator 64. This was an attempt to retake some of the education market they had largely lost by then to the Apple IIe.
In the home computer market the PET line was soon outsold by machines that supported high-resolution color graphics and sound, mainly the Apple II (which shipped in June 1977), Atari 400/800 (1979), and, in particular, Commodore's own bestselling VIC-20 (1980/81). Commodore released a High Resolution Graphic board for the PET using the Thomson EF936x graphics chip with a resolution of 512×512 pixels. In addition, the Apple II, TRS-80 Model I, and Atari 400 (via 3rd party expansions)/800 could all be expanded to a maximum of 48 kB of RAM while the PET was limited to 32 kB.
Without the High Resolution Graphic board, the PET's graphics capabilities were limited to a character set hardwired in ROM. On many of the PET range's home computer rivals, the look-up address of the character graphics could be changed and pointed to RAM, where new characters could be defined by a programmer to create custom graphics shapes. From a programming point of view, this was a relatively simple method of producing good-looking graphics, which used negligibly more RAM than a standard character display, and significantly less RAM than bitmap graphics. Additionally, BASIC programs often could not achieve acceptable speed animating bitmap graphics, but since this technique only involved moving character objects on the screen, BASIC could achieve acceptable performance, and programs written in assembly language could be even faster using this pseudo-sprite technique than using bitmap graphics modes. Many BASIC and assembly language programs were made this way even on bitmap-capable machines. The PET's lack of a remappable character set is a major weakness in the machine's design.
Somewhat offsetting this drawback, the PET's ROM-restricted character set — an ASCII-1963 deviation known as PETSCII — was one of the most varied and flexible of the era. It allowed PET games with rudimentary graphics to be created, exemplified by clones of video games such as Space Invaders and Lunar Lander. The PETSCII character set was even flexible enough to allow for the creation of simple 3D games such as Labyrinth. This flexibility was achieved by the use of two switchable character sets, allowing the choice of either mixed-case characters, or uppercase with graphics; either could also be displayed as a reverse field, negative image. For specialized applications, alternative character sets could be programmed into an EPROM inserted in the character set ROM socket. Alternative character set EPROMs with diacritics and mathematical symbols were available in the aftermarket. A 2001-8B model with katakana keyboard and character set was sold in Japan.
Other than a PC speaker-class beeper, PETs did not have sound hardware (except for the 8000 models), but it was possible to rig a circuit up to the 6522 "user" port that could be used to output square wave tones to an external amplifier, and some games supported this feature.
The PET had two empty sockets on the motherboard for adding expansion ROMs, which could be a total of 8k in size. A predecessor to the cartridge slots on later Commodore machines, they allowed various software add-ons such as machine language monitors. In addition, it was common for commercial programs to include a copy protection ROM that had to be installed prior to running the application; something of an inconvenience to users owning multiple applications protected in this way, as the chips would have to be swapped in order to run their respective programs.
PET 2001 series / 2001-N & -B series, CBM 3000 seriesEdit
- CPU: 6502, 1 MHz
- RAM: 4 or 8 kB / 8, 16, or 32 kB
- ROM: 18 kB, including BASIC 1.0 / 20 kB, including BASIC 2.0 (disk drives not supported on the original 2001)
- Video: discrete TTL video circuit, 9" monochrome monitor (blue phosphor on the original 2001, green on 2001-N PETs), 40×25 character display
- Sound: none / single piezo "beeper" (optional external speaker driven by MOS 6522 CB2 pin)
- Ports: 2 MOS 6520 PIA, MOS 6522 VIA, 2x Datassette (1 used / 1 on the back), 1x IEEE-488
- Notes: 69 key chiclet keyboard and built-in Datassette / full-sized, full-travel keyboard, no built-in Datassette
PET 4000 series / CBM 8000 seriesEdit
- CPU: MOS 6502, 1 MHz
- RAM: 8, 16, or 32 kB / 32 or 96 kB
- ROM: 20 kB, including BASIC 4.0
- Video: MOS 6545 12" / 12" monochrome monitor, 40×25 / 80×25 character display
- Sound: single piezo "beeper"
- Ports: 2 MOS 6520 PIA, MOS 6522 VIA, 2 Datassette ports (1 on the back), 1x IEEE-488
- Notes: basically an upgraded 2001 / The 8000 series was basically a 4000 with 80 columns and slightly different keyboard with smaller (11 key) numeric pad
SuperPET 9000 series Edit
- CPU: MOS 6502 and Motorola 6809, 1 MHz
- RAM: 96 kB
- ROM: 48 kB, including BASIC 4.0 and other programming languages (Waterloo microAPL, microFORTRAN, microBASIC, microPASCAL, microCOBOL), and microEDITOR a modal text editor.
- Video: MOS 6545, 12" monochrome monitor, 80×25 character display
- Sound: single piezo "beeper" (optional external speaker driven by MOS 6522 CB2 pin)
- Ports: MOS 6520 PIA, MOS 6522 VIA, MOS 6551 ACIA, 1 RS-232, 2 Datassette ports (1 on the back), 1x IEEE-488
- Notes: basically an 8000 with ROMs for programming languages, it also had three character sets, and an RS-232 for use as a terminal
Commodore Business Machines made a variety of disk drives available for the PET, using the IEEE-488 interface, including:
- Commodore 2031 single disk drive (170 kB single-sided 5.25" format)
- Commodore 4040 dual disk drive - replacing the 2040 and 3040 models; used same disk format as the 2031 and could be used as a stand-alone disk copier.
- Commodore 8024 132 column printer, friction or traction gear, with Mannesmann Tally mechanicals
- Commodore 8050 dual disk drive (500 kB single-sided 5.25" format)
- Commodore 8075 plotter, with Watanabe mechanicals
- Commodore 8060 single 8" disk drive (single-sided 800k format, also supports IBM 3740 disks)
- Commodore 8061 dual 8" disk drive (single-sided 800k format, also supports IBM 3740 disks)
- Commodore 8062 dual 8" disk drive (double-sided 1.6MB format, also supports IBM 3740 disks)
- Commodore 8250 "quad density" dual disk drive (1 MB capacity, same as the 8050, but double-sided)
- Commodore 8280 dual disk drive (8") (500 kB MFM format)
- Commodore 9060 hard drive (5 MB)
- Commodore 9090 hard drive (7.5 MB)
- Commodore SFD-1001 "quad density" single disk drive (basically a single-drive 8250 model)
The original lineup of disk drives for the PET were the dual-unit 2040, 3040, 4040, 8050, and 8250. Later (near the end of the PET's lifespan), single-unit 2031 and SFD-1001 drives were produced that used the same case as the 1540/1541, but sported the PET's parallel interface instead of the VIC-20/C64 IEC interface. The 4040/2031 used the same 170 kB format as the 1541 and is completely read/write compatible (although software that performs low-level drive access will not work). 8050 and 8250 drives had an incompatible 500 kB/1 MB format, but were popular well into the 1980s as server/BBS storage devices because of their large capacity.
In addition, Commodore had 8" 8060, 8061, 8062, and 8280 drives which used MFM encoding instead of the GCR used on their other disk drives and was mainly intended to allow PET users to read disks written on IBM mainframes/minicomputers. 5 MB and 7.5 MB hard disks were produced as well. They have no directory support and are treated by the kernel ROM as simply a larger floppy disk.
All PET peripherals will work on VIC-20/C64/Plus-4/C128 machines with a parallel → IEC adapter (reverse IEC → parallel adapters were also made), and as mentioned above, 8050/8250 drives were sometimes used on C64s for BBS service because of their large capacity and faster interface.
An alternative option for adding floppy disk capability to the PET was the Computhink disk system. Although references to this system are hard to find today, it was nevertheless popular at the time, as it was both cheaper and considerably faster than the Commodore system and available from an earlier date. Unlike the Commodore units, it did not use the IEEE-488 interface, but instead required an extra circuit board to be installed inside the PET, connected to the PET's expansion connector, which used a Western Digital floppy controller chip to provide a standard Shugart interface. The board also held extra RAM for use as a disk transfer buffer, and ROM containing the disk operating software. This software was not compatible with Commodore standards and was somewhat awkward to use. Before using the disk system it had to be initialised manually by issuing the command SYS45056. This made available a set of "pseudo-BASIC" commands for performing disk operations, which bore little or no resemblance to the standard Commodore commands for the same operations and in addition had to be prefixed with $, thus breaking the rules of BASIC syntax. It had a severe limitation in that it was only possible to have one file open at a time which made many common tasks difficult and slow, though the direct interface to the motherboard made data transfer significantly faster than the CBM units using the IEEE bus. The additional code hooked into the BASIC interpreter could slow the execution of BASIC programs by 20-30%, and it would break with programs which used the standard POKE to disable user breaks. Nevertheless, it was still regarded as a useful system and as a great improvement over cassette storage.
- What's New (February 1978), "Commodore Ships First PET Computers", BYTE, Byte Publications, 3 (2): 190Commodore press release. "The PET computer made its debut recently as the first 100 units were shipped to waiting customers in mid-October 1977."
- Matthews, Ian (February 22, 2003). "The Amazing Commodore PET". commodore.ca.
- Walter Isaacson, Steve Jobs, 2011.
- Bagnall, Brian (2006), On The Edge — The Spectacular Rise and Fall of Commodore, Winnipeg, Manitoba: Variant Press, p. 53, ISBN 0-9738649-0-7
- Anon 1978, p. 1
- "The Commodore PET".
- Anon 1978, pp. 57–64
- Bellis, Mary, The First Hobby and Home Computers: Apple I, Apple II, Commodore PET, and TRS-80, about.com
- "A tribute to Jack Tramiel, father of Commodore 64".
- Forster, Winnie (2005), The encyclopedia of consoles, handhelds & home computers 1972 - 2005, GAMEPLAN, p. 23, ISBN 3-00-015359-4
- "RUN Magazine Issue 30".
- "PET/CBM FAQ - MODELS OF THE PET/CBM".
- Commodore Microcomputers Issue 31
- "PET-Grafikkarte Commodore ASSY No. 324402-01 für CBM 8296". CBMPET.DE.
- "Compute - The Journal of Progressive Computing - 002" (pdf). January–February 1980. p. 19. Retrieved 2013-04-26.
- "Pet Floppyplatine (in German)". Retrieved 2013-04-26.
- "Programming the Commodore PET" (pdf). pp. 205–217. Retrieved 2013-04-26.
- Anon (1978), PET 2001-8 Personal Computer User Manual (first ed.), Palo Alto, California: Commodore Business Machines, Inc