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). CPU, audio & CRT emulation, file, disk and tape image handling, BASIC & 6502 assembler & disassembler, utilities and enhanced interface by Norbert Landsteiner (mass:werk), 2017–2023, www.masswerk.at. (The I/O and IEEE implementation is still much Tom Skibo's code.)
(This is an independent code base unrelated to any other 6502 related ressources.)
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. See the link console to craft such a URL.
For best gaming experiences set the keyboard to "Games"-mode (no simulated key repeat and immediate touch interaction) 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 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 “
New in version 2.0:
Many thanks to Jason Cook for beta testing and helpful discussions!
See here for some games (with hotlinks to load them into the emulator) and PET 2001 manuals.
Note for iPad users (9.5in): Consider adding this page to your home screen. If started from there, the navigation bar will be hidden and the interface should just fit the screen.
Older devices on the more feeble side, like 32-bit iPads, may struggle over the use of the AnimationFrame API. These work still fine with the older version 1 of the emulator.
Renumber BASIC Lines and Jump Targets
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:
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.
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.)
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.