Home  Articles  Programs 

PET Emulator for the C64

This PET emulator reconfigures a Commodore 64 to emulate a 40-column PET Computer. It runs on a Commodore 64 to emulate a 1977-1979 model PET.

It also includes a DOS wedge (DOS manager).

For better matching colors, the pokes in the "pet emu boot" can be changed like this:

POKE53280,0:POKE53281,0:POKE646,5

Emulator in the Zimmers' FTP archive is in .LNX format. And, this "PET Emulator.lnx" archive file includes two programs: "pet emu boot" and "emulator".

The second one is the emulator code that loads into $C000. You can also separately load it by issuing the

LOAD"emulator",8,1
and
SYS49152
commands.

In the emulator, any PET program must be loaded by

LOAD"...",8,1
command, without omitting the ',1'. Otherwise programs are loaded one byte misplaced, and this breaks the first line of the BASIC program.

It emulates a 40 column and 32KB (31743 bytes free) version PETs naturally. Basically, it makes the BASIC start address $0401 and screen address $8000. And, taps into peek poke commands to remap certain addresses.

Included DOS Wedge commands:

@ Disk drive status

@$ Disk directory

@command Disk command (I0:, V0:, S0:..., ...)

/filename Loads a BASIC program.

%filename Loads a binary file into its fixed location.

^filename Loads and runs a BASIC program.

<-filename Saves a BASIC program.

@Q Deactivates DOS manager.

There is also a command or SYS for deactivating the emulator as I see in the code, but I haven't figured it out due to time considerations yet. By the way the emulator has no monitor, so

SYS1024
does not bring a monitor program. If you issued this command and screen changed, you can restore it by typing
SYS49152
blindly.

As an idea, a boot block can be created to load and run this automatically in the Commodore 128. This boot block needs to load the emulator code, boot the C128 in C64 mode, configure the basic (without indirect jumping to ($A000)), and start the emulator. Also, the DOS wedge can be removed and a tiny monitor can be included for a better compatibility.

Specifications:

PET Emulator version: v0.6/021583

DOS manager version: v5.1/071382

Resident memory location: $C000-$CFFF (49152-53247)

Screen memory: $8000-$83E8 (32768-33767)

Programmer: Bob Fairbairn (A Commodore Employee)

Year: 1983

Download links:

archive file:

http://www.zimmers.net/anonftp/pub/cbm/c64/utilities/PET%20Emulator.lnx

single files:

http://cbm.ficicilar.name.tr/dosya/pet/petemuboot.prg

http://cbm.ficicilar.name.tr/dosya/pet/emulator.prg

As a hobby, you can try to enter programs by hand. Here is a book to start: "32 BASIC Programs for the PET Computer" by Tom Rugg & Phil Feldman. Click this link to download: http://www.1000bit.it/support/manuali/commodore/32_BASIC_Programs_for_the_PET_Computer.pdf

.

İlker Fıçıcılar
10.07.2014

Keywords: Commodore PET, Commodore 64, Emulators


C64 Projects Twitter Page

İlker Fıçıcılar's CBM Page