Commodore PET 2001 by Commodore International / Commodore Business Machines (CBM), 1977-1979.
Emulation based on an original Commodore PET 2001 emulation by © 2014 Thomas Skibo (all rights reserved, redistribution permitted; here used with kind permission). Meanwhile, most parts of the emulator have been rewritten or replaced by alternative solutions. The I/O and IEEE implementation is still much Tom Skibo's code.
CPU, audio & CRT emulation, keyboard implementation, file, disk and tape image handling, BASIC & 6502 assembler & disassembler, utilities and enhanced interface by Norbert Landsteiner (mass:werk), 2017–2023, www.masswerk.at.
PET keyboard image (SVG, rerendered to PNG by me) by Lovelac7, 2008, Wikimedia / Creative Commons. Image of PET 2001 computer (edited) by Tomislav Medak, 2009, Creative Commons.
You may run programs by simply dragging and dropping files onto the virtual screen of the emulator.
Supported file formats are:
Binary files will be run automatically (hold SHIFT to override), while BASIC source files are just loaded in order to allow for an inspection of the generated BASIC program.
(BASIC source files may be both in lower and upper case, case is evaluated on a per-word basis. While common Unicode substitutes for non-alphabetic PETSCII characters should work, best use "chr$()" or the special PETSCII escapes instead.)
You may also provide a BASIC source text as URL-Data. Simply export a link for you program using the option “BASIC Program As URL” from the Utils/Export menu.
For best gaming experiences set the keyboard to "Games"-mode (accurate keyboard emulation without simulated key repeat) from the pop-up menu at the bottom of the virtual screen.
Directories are fully emulated for disk images and tape archives (emulated as disks in drive 8), including LOAD (and DLOAD) commands and directory listings from BASIC, wildcards and type selectors. Please mind that the emulated IEEE interface currently doesn’t support advanced BASIC 4.0 disk commands. (E.g., please use the traditional “
LOAD "$",8” instead of “
Installing Option ROMs:
Similarly to loading files, you may also install option ROMs or overwrite installed ROMs by dragging and dropping a binary ROM-image (with file extension “
.bin” or “
.rom”) or using the mount dialog.
Only a single ROM image can be installed at once and you will have to provide either a start address (in hex) or a ROM socket designator (“Hn”, “Dn”, “UDn”). To install multiple ROMs, pause the emulator first. Any installed ROMs are reset and lost, when changing the ROM configuration (using the ROM-menu).
Note: Of the original PET 2001s, only the PET 2001N (the later model with the “real” keyboard) came with sockets for option ROMs. So there will be no option ROMs for the orignal ROM 1.0 configuration and you’ll probably need ROM 4.0.
Tip of the Day:
Have a look at the emulated screen’s context menu for some quick screen and editing options.
Configurable joystick to PET keyboard custom key mappings.
Business keyboard with BASIC 2.0 and BASIC 4.0 with “ROM 2b” and “ROM 4b”, respectively.
Please mind that RUN/STOP is ALT+ESC with the business keyboard, since this features an ESC key of its own.
Some Notable Features:
Many thanks to Jason Cook for beta testing version 2.0 and helpful discussions!
See here for some games (with hotlinks to load them into the emulator) and PET 2001 manuals.
Right-click to copy the link address:
Renumber BASIC Lines and Jump Targets
Drag or right-click to save
Printing Hard Copy…Drag or right-click to save
Press the button and choose a file.
(In case the file has changed, please, make sure to select it again, even, if it already shows up above.)
LOAD "*",8’ and ‘
RUN’ to run a mounted file.
Archives, like disk images, will automatically bring up a directory dialog to choose from. You may also access a mounted archive like a normal floppy disk in drive 8.
Clicking the media icon to the left of the name of the mounted will also trigger the most appropriate action (load and run a single file or display a directory dialog).
Mind that you may always drag and drop a file onto the virtual screen (outside of this dialog).
Load A Saved State
Please select a file with your saved state to load.
If you close this dialog without selecting a file and you have loaded a saved state previously, this one will be re-used.
→ Shift-click “run” links to create a new entry in the browser history.
Joystick Adapter Type (For Emulated PET):
There is quite a varity of joystick adapters schemes for the PET. A good guess is “SIMPLE” for simple games like Space Invaders, or “PET” for those requiring more input options. Modern games may use the “Stupid PET Tricks” adapter or the SNES gamepad adapter.
In “Games” mode, if there is any adapter selected and the CAPS LOCK key is engaged, a joystick will be emulated from keyboard input: use cursor keys to move, SPACE for the button (fire). If there‘s already a real gamepad connected, the keyboard joystick acts as a second one.
Custom PET Keyboard Mapping
Inspirational Content (Demos)
“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.)
“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.)
“Faulty Robots” by shiru8bit, 2021
A CB2 music album by shiru8bit — what’s more to say!
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.
You can always come back to this list by clicking the star icon right of the title.