Commodore PET 2001 Series
Credits:
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.
Running Files:
You may run programs by simply dragging and dropping files onto the virtual screen of the emulator.
Supported file formats are:
- generic CBM prg-format (file extensions ".prg" or ".pet"),
- P00-files (file extensions ".p00" … ".p99"),
- programs on D64 / D80 / D82 disk images (".d64", ".d80", ".d82")
- T64 tape archives (".t64"),
- BASIC source files (text files with extensions ".txt", ".ba" or ".bas").
- 6502 assembler sources (text files with extensions ".a", ".as", ".asm", ".a65", ".s" or ".src") and BASIC source files with appended assembler source code.
- QBASIC-like source files (text files with extensions ".qb", ".qba", ".qbas") will be preprocessed and transformed to regular Commodore BASIC sources. This supports auto line numbering, labels with “
[…]
”, and comments with “'
”.
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, it is recommended to use "chr$()" or the special PETSCII escapes.)
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 “DIRECTORY
”.)
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.
New:
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:
- cycle accurate sound, video and CPU emulation — we run all of the :-)
- various ROM-sets for BASIC 1, 2 (default) and 4
- business keyboard with ROM 4b (“b” as in “business”)
- drag&drop loading of BASIC sources (as text files) with support for common tags and Unicode substitutes for PETSCII characters, including the legacy computing range
- drag&drop 6502 assembler (supporting both stand-alone source files or ASM code appended to a BASIC source file, see the assembler help for syntax and BASIC integration)
- a built-in debugger (click the icon on the top right or press CTRL+ESC, which also halts the PET)
- BASIC renumbering
- BASIC variables dump
- context aware disassembly (including 6502 code, BASIC text and variable memory — explore what your program is made of) and hex-dumps
- support for joysticks/gamepads and various adapter schemes (incl. SNES serial controllers)
- keyboard joystick emulation (cursor keys and SPACE with CAPS LOCK in “Games” mode)
- numeric keypad emulation (with CAPS LOCK and keypad option in “Games” mode)
- support for common disk image and file formats
- consistent use of context menus for major control elements, wherever this makes sense
- program export and file extraction from archives (via an item’s context menu)
- copy & paste to and from the screen and export of screen contents as text or image (also see the screen’s context menu)
- support for locally stored save states (temporary mount points)
- support for option ROMs.
- support for the Japanese character ROM (Katagana) — use the screen’s context menu to activate, see the character info for supported Unicode imput.
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.