Some Programs to Run on the PET 2001

Most programs are best run with a keyboard including a numeric keypad.
(If you don’t have one, you may go to the joystick settings by clicking the tiny joystick icon and select the “keyboard” option. This will map the cursor keys to the virtual PET’s numeric keypad, when CAPS LOCK is engaged.)

Inspirational Content (Demos)

Lately, there have emerged some amazing programs that show what’s possible on the humble PET. You can access these programs also inside the emulator by clicking the star icon next to the title. Or just use this shortcut link. (Mind that these programs require accurate hardware emulation and may not run as intended on other emulators.)

Back To The PET  by shiru8bit, 2022
A “proper demo” that redefined dynamic content on the PET, especially for music!
Here presented in a “hot” rendering mode with long persistence (see the context menu of the emulated screen, there’s also an option for the pixel aspect ratio.)

> Run it online

A Bright Shining Star  by Genesis Project, 2022
This shows what’s possible with graphics on the PET, if you just try hard enough. Be assured, the PET still has character graphics only! (No sound.)

> Run it online

Faulty Robots  by shiru8bit, 2021
A CB2 music album, and an attractive program, as well! Presented with kind permission by Shiru, head over to Shiru’s Bandcamp page in order to support him. You can read more about this album, the background story of the tracks, and music on the PET in general in this blog post.

> Run it online

 

Games

Classic PET Games

invader.prg (original)
Commercial Space Invaders clone for the 3032 and the 4032. Written in machine language.
Controls: 4, 6 and 'A'.

> Play it online(Press any key to pass the first screen.)

See also:

invader-joy.prg
As above, but with added joystick support (PA0, PA1, PA5).
Keyboard controls: 4, 6 and 'A'.

> Play it online(Press any key to pass the first screen.)

space_invader.prg
Free Space Invaders for the 2001 and the 3032.
Controls: '.', '=' and SPACE.

> Play it online

See also:

galaxy-invdr-joy.prg
As above, but with added joystick support (PA0, PA1, PA5).
Keyboard Controls: '.', '=' and SPACE.

> Play it online

galaga.prg
A great port of Galaga by Henrik Wening (1982), maybe the best arcade port for the PET ever.
Various control schemes selectable inside the program,
including an unusal joystick scheme (left: PA3, right: PA5, fire: PA0).

> Play it online

pac-man2.prg
A great Pac-Man by Henrik Wening (1983) in the footsteps of his Galaga port.
Controls: number pad (2,4,6,8) or joystick (left: PA3, right: PA5, up: PA1, down: PA2, fire: PA0).

> Play it online

super-glooper.prg
A Pac-Man port for 40-column PETs by D.E. Anthony 1981.
Controls: 8, 4, 6, 2 on the numeric keypad. You may also use '5' for moving down.

> Play it online

scramble2.prg
A port of Scramble by A. Jentzen (1981).
Controls: joystick (left: PA3, right: PA1, up: PA0, down: PA2, fire: PA5), keyboard input probably uses the “business” matrix.

> Play it online

miner.prg
Miner game for 40-column PETs from Cursor #19, copyright 1980 Ron Longfellow.
Controls: 2, 4, 6, 8 for movements.

> Play it online

galactic_attack.prg
Arcade game reminiscent of Galaxian.
Controls: 4, 6 and SHIFT for fire. (SPACE to restart.)

> Play it online

cosmiads_uni.prg
Cosmiads — Excellent implementation of Galaxian.
Controls: Q, E, ↑ (Use TAB for the up-arrow in the emulator.)

> Play it online

aliens!.prg
A cute, arcady shooter.
Controls: 4, 6, SHIFT

> Play it online

phantom-fighter.prg
A horizontally scrolling shooter, defend the Superstition Moantain from UFOs! (Magic Carpet Software, 1981)
Controls: 4: up, 6: down, SHIFT for fire

IMPORTANT: If your keyboard does not feature a numeric keypad, please either use a real joystick or the keyboard joystick with CAPS-LOCK engaged and the LEFT and RIGHT cursor keys. (Sadly, this great little game has issues with the key strokes sent by modern keyboards, when 4 or 6 on the first key row are pressed together with SHIFT.)

> Play it online

vortex.prg
A fun little shooter game, hunt the flying saucer! Not that easy as it is cute. (Magic Carpet Software, 1982)
Controls: 4: left, 6: right, SHIFT for fire

IMPORTANT: If your keyboard does not feature a numeric keypad, please either use a real joystick or the keyboard joystick with CAPS-LOCK engaged and the LEFT and RIGHT cursor keys. (Sadly, this great little game has issues with the key strokes sent by modern keyboards.)

> Play it online

starspores.prg
“Star Spores” is a space shooter game that was well known for its graphics. By Jim Summers, 1982.
Controls: <, >, SHIFT

NOTE: In the emulator, use either a game controller or activate the keyboard joystick emulation by engaging the CAPS-LOCK key and using the left and right cursor keys to move and SPACE to fire.

(Consider the “Hot” Rendering option in the screen’s context menu for some translucency effects.)

> Play it online

space.prg
A tiny, 1st person space shooter in BASIC — modified version of game from Cursor #8.
Controls: numeric keypad, SHIFT

> Play it online

3d_star_trek.prg
The excellent 3D Star Trek by M P McDonald and M H Clements for 3000 series 40-column PETs. Does not fully work on the 4000 series, and not at all on the 8000 series.
Keys: D=damage report, I+number=impulse drive, L=long range scan, P+number=launch photon torpedo (steer with shift and normal steering keys), home=steer counter clockwise coarse, down=steer counter clockwise fine, del=steer clockwise coarse, right=steer clockwise fine, maybe other keys?
Battle stations: number keys; space to fire.
See the official manual: Pet_3D_StarTrek.pdf.

> Play it online

pong-joysticks.prg
Pong with several options.
Adapted for dual joysticks (“Stupid PET Tricks” adapter) by Jim64

> Play it online

manbiki.d64
Manbiki Syonen (Shop Lifting Boy) by Hiroshi Suzuki is reportedly the first stealth game. Presented in Nov. 1979 at the Komaba Festival of the University of Tokyo and published as a BASIC type-in game in Random Acceess Magazine, Feb. 1980, it presents the player with the task of clearing the shelves of a shop before it closes without being spotted by the warden.

The game is here presented in two versions:

Or just start here and select your preferred version from a menu: > start online

New PET Games

computerspace2001.zip   (includes prg file for PET, 6502 assembler source, and a C64 version)
Computer Space 2001 — My own game for the PET 2001, a simulation of Computer Space, the very first arcade video game (1971), written in machine language in April/May 2017 (for RetroChallenge 2017/04). See here for details.
Controls: A, S (D), (J) K, L.

> Play it online

dragon.d64
Tower And Dragon is a new PET game (2023-2024) by Jason Cook and probably the most complex game to run on an 8K PET. Tower And Dragon, a tribute to ‘Dungeon’ from 1979, is a classic dungeon crawling adventure with primary and offhand weapon, armor, quest storyline, moving walls, teleportation, and unique tilesets and monsters for each dungeon level. Your character starts out just after landing a boat on the shore near an ancient ruin, discovered by following a dream.

The game is playable by disk drive or tape cassette on ROM1, ROM2, and ROM4 systems, and features full support for 40 columns and 80 columns screens (series 8000 PETs) and should be compatible with 8032, 8096, 8296, and SuperPET, as well as N and SK variants. Moreover, it introduces an entirely new music engine for the PET on its splash screen, the BuzzKick engine by shiru8bit, rendering audio at a previously unheard resolution.

In less than a year Jason has advanced from the initial launch to the vastly enhanced version 3, while not just adhering to the strict design goal of the game being playable on a stock PET 2001-8K, but even improving on it by adding better support for cassette operations.

Some notable features of version 3.0 are,

Of note for users of previous versions, in Jason's own words:

(See the release notes in the ZIP-archive for details.)

Watch the version 3 teaser video on YouTube.
See also the original making-of video (YouTube). (Yes, we do have audio! :-) )

Download the cassette version (and read-me): TowerAndDragon30.zip
Release notes: hub.inktada.com/channel/toweranddragon.

The game supports SNES-type controllers.

> Play it online

tut-tut.prg
Tut-Tut is an Egyptian tomb themed action puzzle game, ported from an original Sinclair Spectrum version to the PET by Dave Curran (Tynemouth Software, 2021).
Tut-Tut started life as a type-in BASIC program for the ZX Spectrum, by David Stephenson, published in Paleotronic magazine in November 2019, and an enhanced version was soon ported to other British micros and the TRS-80 MC-10. The PET version not only builds on this, but also adds sound, as well. Read more about the game and its background in this blog post by Dave Curran.

Official game page & download (name your price/donation): tynemouth.itch.io.
See the “The Future was 8bit” shop for Tut-Tut on physical media (casette).

The game is here provided by kind permission of Tynemouth Software / Dave Curran.

Left: O or 4, right: P or 6, up: Q or 8, down: A or 2. (R resets a level, W for pause.)
The game also works with the PET (Joe Travis) joystick interface.

> Play it online

tetris.prg
Pet Tetris V1.3 by Tim Howe 15, March 2010. (Requires at least 16K of memory.)
From the readme-file:

"This is probably the last game EVER to be written for the PET!
It is 30% assembly code and 70% C, and has been compiled with
cc65. Source code should be available via the cc65 website.
It requires a 40 column machine with BASIC 2 ROMS. Unfortunately
it does not run under BASIC 4 (4000 series). This may be something
that I can rectify in due course."

> Play it online

10 Line Adventure (d64-file, VIC 20)
Einar Saukas' "Tenliner Cave Adventure" (2016) for the Sinclair ZX81 ported to the VIC 20 by Robin Harbron (2019).

An entire (while admittedly tiny) text adventure in just 10 lines of BASIC!
For Einar Saukas' original entry to the BASIC Tenliners Competition 2016 see the entry at spectrumcomputing.co.uk, for the port to Commodore Basic see Robin Harbron's site and this YouTube video.

The VIC 20 BASIC code runs happily on the PET, since both machines share essentially the same BASIC and the start address is overwritten in BASIC mode. The first link below just loads the program (in order to allow you to list the source), type RUN + <ENTER> to start the game.

> Explore it online — just loads the program — or

> Run it online — loads and runs the program —

Ten-Line Canyon Run
A simple game of my own, demonstrating some hacks exploiting strings in Commodore BASIC.
Follow the on-screen instructions. Requires ROM 2.
Norbert Landsteiner, March 2020.

The game is available for download as a PRG-file ( 10line-canonrun.prg) and as a text file with escaped PETSCII screen characters ( 10line-canonrun.txt).

> Play it online

New PET Games by Jim Orlando

Jim Orlando may be the most prolific game developer for the PET at the moment. His games certainly deserve a section of their own:

defender2020.prg
Defender 2020 for Commodore PET.
A version of the arcade game Williams Defender for the PET written in 2020 by Jim Orlando. See the write-up at: medium.com/@jim.orlando/a-new-forty-year-old-video-game-54a0cd1b5f00.

The game supports various PET versions, the updated version presented here adds the 8032 to the list and includes a few bug fixes.

Requires ROM 2.0 and 32K of memory. Controls are configured at the start of the game.
Defaults: Q, A … up, down, Z … reverse direction, K … advance, L … fire laser, X … start.

> Play it online

twrdef2021.prg
A version of DeskTop Tower Defense for Commodore PET written by Jim Orlando over the 2020 holidays. See the write-up at: jim-orlando.medium.com/another-new-game-for-my-forty-year-old-8-bit-computer-ba8436e52fe9.

Requires ROM 2.0 and 32K of memory. Various PET versions are auto-detected by the game.
Controls are to be configured at the start of a game.

> Play it online

loderunner.prg
This is classic Lode Runner for the PET by Jim Orlando, 2021. A polished game including iris animations rarely seen on the PET.
Have a look at this video for a preview and also for a few hints on how to beat the first five levels: "Lode Runner on Commodore PET levels 1-5" (YouTube).

Requires ROM 2.0 and 32K of memory. The PET version is auto-detected by the game.
Controls are to be configured at the start of a game.

> Play it online

petportal!.prg
This is, well, Portal for the PET, again by Jim Orlando, 2021. It's the PET version of Portal2D, which itself was a tribute to the award winning game Portal from Valve Software.

Requires 32K of memory. The PET version is auto-detected by the game.
Controls are to be configured at the start of a game.

> Play it online

pzlmgs.prg
PETSCII Zombie Lemmings for Commodore PET.
A Lemmings-like game done in PETSCII graphics for the Commodore PET computer. Coded for TOJam game jam weekend in May 2021. — Who says you need colour graphics, 3D, multichannel sound and any more than 8-bits to have fun?
See also: PETSCII Zombie Lemmings page at jimbo.itch.io or this demo video on YouTube.

Requires 32K of memory.
Controls: S,F,E,D to move cursor left, right, up, down. J,L to select ability. RETURN to give ability.
N to nuke all lemmings. SPACE BAR to pause the game.

> Play it online

trekwar.prg
TrekWar! for Commodore PET.
A Star Trek action game for the Commodore PET. Shoot those pesky Klingon ships, and gather dilithium crystals to drop them at their storage facilities … all while making sure you don't run out of energy or have your shields breached.
See also: TrekWar! page at jimbo.itch.io or this demo video on YouTube.

Requires 32K of memory.
Controls: W,A,S,D to move cursor left, right, up, down. Q,E to turn. J to warp forward. K to fire photon torpedos.

> Play it online

petpanic!.prg (2023)
PET Panic!
The arcade game Space Panic was the first “platformer” game, and it inspired more popular games of the time such as Lode Runner and Donkey Kong. There were many different versions of Space Panic on the original 8-bit machines, including Apple Panic which won a number of game awards. This is an updated version for the Commodore PET.
See also: PET Panic! page at jimbo.itch.io or this demo video on YouTube.

Requires 32K of memory. The PET version is auto-detected by the game.
Controls: W,A,S,D to move cursor left, right, up, down. J to dig. I to fill.

pkong.prg (2023)
PETSCII Kong
This is right up my alley: as the name suggest, expect big apes, wandering cocnuts, and hammering Italian plumbers.
See also: PETSCII Kong page at jimbo.itch.io or this demo video on YouTube.

Requires 32K of memory. The PET version is auto-detected by the game.
Controls: W,A,S,D to move cursor left, right, up, down. J to jump.

> Play it online

pssp.prg (2023)
PETSCII Side-Scrolling Platformer: as the name suggests, the Commodore PET has finally a multi-level side-scrolling platformer of the Italian plumber and hedgehog variety! Run, jump, collect coins, crush henchmen, battle the bosses, rescue friends.
See more here at Indie Retro News.

Requires 32K of memory. The PET version is auto-detected by the game.
Controls are to be configured at the start of a game.

> Play it online

 

Misc (some programs by me, Norbert Landsteiner)

Cooperative Ransomware Hoaxes (2017)

wannapet.prg
WannaCry Decrypt0r for the PET ... ;-)

> Try it online

(C64 version: wannapet_c64.prg.)

petrabbit.prg
Bad Rabbit for the PET ... ;-)
(Not related to the "PET Rabbit" cassette fast loader utility.)

> Try it online

BASIC source code: petrabbit.txt
(For C64 ports see line 2999.)

Digital Clock

digital-clock.txt
Who doesn't love a 7 segment display? Here you are, displaying a digital 24h clock.

> Try it online

Mandelbrot Sets for the PET

mandelbrot.txt
BASIC source for rendering the Mandelbrot set.
(Originally meant as a demo for the text import and conversion feature of the emulator.)
Type RUN and hit ENTER to start it in the emulator.

> Try it online

mandelbrot2.txt
An even prettier version of the Mandelbrot set featuring a configurable pattern string.

> Try it online

mandelbrot3.txt
Like "mandelbrot2.txt", but extending over the maximum available screen space of the PET 2001, also marginally slower.

> Try it online

mandelbrot-display.txt
Impress your friends by your PET's speed using this static renderer of the Mandelbrot set. :-)
(Replicates the output of "mandelbrot3.txt".)

> Try it online

(PRG-file: mandelbrot-static.prg.)

Conway’s GAME of Life

life.txt
In memoriam John Horton Conway (26 Dec. 1937 – 11 Apr. 2020), written in BASIC.

> Try it online

PET 2001 Welcome Screen

pet2001-logo.txt
A welcome screen featuring the "chicken lips" logo and the name of the machine, written in BASIC.

> Try it online

(PRG-file: pet2001-logo.prg.)

Other Graphics

lissajou.txt
Lissajou plots as a demo for emulated "hi-res" graphics, after "Programming the PET/CBM" by Raeto West (1982), p. 129.

> Try it online

3d-business-graphics.txt
BASIC source for the famous 3D business graphics featured on the box art of the Europe/PAL version of the Commodore 64, here optimized for the PET.

> Try it online

bouncingball.txt
A simple (but fast) bouncing ball program demonstrating the use of Unicode characters and tags for PETSCII characters in BASIC sources.

> Try it online

Christmas Demo 2023

seasonsgreetings2023.txt
Recreating one of the animated screens of the 1982 Christmas Demo for the Commodore 64 as a BASIC program for the PET.
Requires 40 columns screen and at least 8K of RAM.

(Updated version of the original Season's Greetings 2017 BASIC program.)

> Try it online

(PRG-file: seasonsgreetings2023.prg.)

Simple Maze Generators

maze.txt
The well known BASIC one-liner, generating a maze from just two characters.

> Try it online

(PRG-file: maze.prg.)

maze2.txt
A variant from the book "10 PRINT CHR$(205.5+RND(1)); : GOTO 10" (Nick Montfort et al.; MIT Press, 2013). Yes, the title of the book is the one-line program listed above!

> Try it online

(PRG-file: maze2.prg.)

maze3.txt
And yet another variant, providing just a bit of more variety.

> Try it online

(PRG-file: maze3.prg.)

Simple Maze in 6502 Assembler

asm-maze.txt
A 6502 assembler version of the “TEN-PRINT” maze.

> assemble from source and run online … (download and drag&drop it to see the assembler listing)

Mind how the CHROUT routine at $FFD2 performs vastly different under ROM 2 and ROM 4:

> run with ROM 2

> run with ROM 4

(Readily assembled PRG-file: asm-maze-bin.prg.)

 

Test Programs

joystick-test.prg
A simple program to test the PET (Joe Travis) dual joystick adapter.

> Run it online

Adapter Info

Pinout, Port A (User Port):

Player 1  Up    ....... PA0 (C)
Player 1  Down  ....... PA1 (D)
Player 1  Left  ....... PA2 (E)
Player 1  Right ....... PA3 (F)
Player 1  Fire  ....... PA0 + PA1 (C + D)
Player 2  Up    ....... PA4 (H)
Player 2  Down  ....... PA5 (J)
Player 2  Left  ....... PA6 (K)
Player 2  Right ....... PA7 (L)
Player 2  Fire  ....... PA4 + PA5 (H + J)

Read joystick state from VIA data register A (DRA: 0xE841).
Pins are active low (0xFF = no button pressed).
(Make sure the data direction register DDRA at 0xE843 is set to 0 = all pins read.)

joystick-test-spt.prg
A simple program to test the “Stupid PET Tricks” dual joystick adapter.
(This uses the same signals as the above, but with different assignments. If the above works for you, this one should as well, and vice versa.)

> Run it online

Adapter Info

Pinout, Port A (User Port):

Player 1  Left  ....... PA0 (C)
Player 1  Right ....... PA1 (D)
Player 1  Up    ....... PA2 (E)
Player 1  Down  ....... PA3 (F)
Player 1  Fire  ....... PA2 + PA3 (E + F)
Player 2  Left  ....... PA4 (H)
Player 2  Right ....... PA5 (J)
Player 2  Up    ....... PA6 (K)
Player 2  Down  ....... PA7 (L)
Player 2  Fire  ....... PA6 + PA7 (K + L)

Read joystick state as above (PET dual joystick adapter).

joystick-test-cj.prg
A simple program to test the “Chuck Johnson” dual joystick adapter as found in “Compute” Issue 4, May/June 1980, p.90. Again, this uses the user port / VIA port A, but with different signal assignments.
This is similar to the “Stupid PET Tricks” adapter, but left/right and up/down are swapped, respectively.
(I don‘t know any game using this, but there must be some software written for this.)

> Run it online

Adapter Info

Pinout, Port A (User Port):

Player 1  Right ....... PA0 (C)
Player 1  Left  ....... PA1 (D)
Player 1  Down  ....... PA2 (E)
Player 1  Up    ....... PA3 (F)
Player 1  Fire  ....... PA2 + PA3 (E + F)
Player 2  Right ....... PA4 (H)
Player 2  Left  ....... PA5 (J)
Player 2  Down  ....... PA6 (K)
Player 2  Up    ....... PA7 (L)
Player 2  Fire  ....... PA6 + PA7 (K + L)

Read joystick state as described for the PET dual joystick adapter above.

snes-test.prg
A simple program to test the TexElec SNES adapter for serial SNES controllers.
This one uses the full range of the 12 buttons of the classic SNES controller (4 directions and 8 action/function buttons).

> Run it online

Adapter Info

Pinout:

User port F (PA3) ..... Clock
User port J (PA5) ..... Latch
User port K (PA6) ..... Data

SNES serial controller polling sequence:
B, Y, Select, Start, Up, Down, Left, Right, A, X, Left-Shoulder, Right-Shoulder

How to poll (using VIA data register A):
0) Set up data direction in DDRA (0xE843) to 0x28 (PA3 and PA5: write, others: read), once
1) Latch controller state by writing 0x20 to DRA (0xE841): PA5 = high
2) Instruct the controller to apply the (first) button state by writing 0 to DRA (0xE841): PA3+PA5 = low
3) Read button state from DRA (0xE841) bit 6 (PA6): state & 0x40 == 0 → pressed (active low)
3) Clock the controller by writing 0x08 to DRA (0xE841): PA3 = high
4) Continue with (2) for 12 button states in total
For the next polling sequence start over at (1).

 

Disk Images

petdemo.d64 > Explore disk image online

! Caution: If you're using these files on a real machine with a CRTC chip, be aware that some of the programs may use the KILLER POKE.

Some programs may require more than the standard 8K of RAM, have a look at the respective file size.

PETGMS01.D64 > Explore disk image online

PETGMS02.D64 > Explore disk image online

PETGMS03.D64 > Explore disk image online

PETGMS04.D64 > Explore disk image online

PETGMS05.D64 > Explore disk image online

PETGMS06.D64 > Explore disk image online

PETGMS07.D64 > Explore disk image online

PETGMS08.D64 > Explore disk image online

PETGMS09.D64 > Explore disk image online

PETGMS10.D64 > Explore disk image online

PETGMS11.D64 > Explore disk image online

PETGMS12.D64 > Explore disk image online

A D80 disk image, containing mostly games:

system_2001-8050.d80 > Explore disk image online

 

Programming Utilities

assemblers.d64
A disk image including all kind of programming utilities, like 6502 Assembler & Disassembler, Micro Assembler & Disassembler, and SuperMon …

> Explore disk image online

Note: SuperMon Commands
.A     SIMPLE ASSEMBLER
   .A 2000 LDA #$12
.D     DISASSEMBLER: disassembles 22 lines of instructions (can modify first 3 bytes with cursor/return keys)
   .D 2000
.P     PRINTING DISASSEMBLER: prints disassembly, set up printer beforehand (OPEN 4,4:CMD4)
  .P 2000,2040
.I     SINGLE STEP: run step by step, call register display with .R and set the PC to the desired first instruction
            < for single step
            RVS for slow step
            SPACE for fast step
            STOP to return to monitor
.F    FILL MEMORY
     .F 1000 1100 FF fills the memory from $1000 to $1100 with FF
.G     GO RUN: go to address in the PC register display and begin run
  .G 1000
.H     HUNT MEMORY: hunt thru memory for specified string or instructions (32 bytes max)
  .H C000 D000 20 D2 FF
.L     LOAD: load first program from cassette #1
  .L "RAM TEST" loads program named RAM TEST from cassette #1 this command leaves the BASIC pointers unchanged
.M     MEMORY DISPLAY: display memory in specified range (can modify with cursor/return keys)
  .M 0000 0080
.R     REGISTER DISPLAY: displays the register values saved when SUPERMON was entered (can modify with cursor/return keys)
.S     SAVE: save specified program name to cassette #1 from specified address
  .S "PROGRAM NAME",01,0800,0C80
.T     TRANSFER MEMORY: transfer memory in range 1000 to 1100 to addresses starting at $5000
  .T 1000 1100 5000
.X     EXIT TO BASIC: return to BASIC. the stack value saved when entered will be restored. Care should be taken that this value is the same as when the monitor was entered. A CLR in BASIC will fix any stack problems.

 

For further programs see www.zimmers.net/anonftp/pub/cbm/pet/ALLFILES.html.

(You may drag and drop a downloaded file onto the emulator's screen to run it.)

PET 2001 Manuals

PET_User_Manual_(2001-8).pdf
PET 2001-8 Personal Computer User Manual
Commodore Business Machines, Inc., October 1978

Commodore_PET_2001_Quick_Reference.pdf
Pocket Reference Guide to Commodore's 2001 PET,
Leading Edge Computer Products, 1979

The manuals were retrieved from public archives at www.zimmers.net/anonftp/pub/cbm/manuals/pet/ and www.commodore.ca/commodore-manuals/.