Index wersja polskawersja polska

PB-2000C emulator

The program emulates the HD61700 microprocessor and uses the ROM dump from the original calculator, therefore it should function almost exactly like the real one.
It works on PC-compatible machines with Microsoft Windows operating system.

Files to download

Program version 28, updated 2025/01/20

downloadpb2000es.zip - Delphi 5 sources

downloadpb2000em.zip - compiled executable
Usage: extract the files into an empty directory, then run the program pb2000c.exe

downloadai1000em.zip - Japanese version AI-1000 with Lisp
Usage: Replace the files face.bmp and rom1.bin in the directory where the program was installed.

ROM images from the language cards

downloadom51p.zip - Prolog language card OM-51B

downloadom53b.zip - BASIC language card OM-53B

downloadom54a.zip - CASL language card OM-54A

downloadpb_casl.zip - BASIC+CASL language card (it's an OM-53B card with added CASL assembler and COMET simulator ported from the PB-1000C)

Usage: Place the files rom2.bin and overlay.bmp in the directory where the program was installed. Delete the file rom2.bin and restore the previous file overlay.bmp in order to return to the C interpreter.

The screenshots

Screenshot of the PB-2000C emulator

The debug window of the PB-2000C emulator

The communication utility window of the emulator

Usage hints

MD-100 compatible peripheral devices

Serial port

The communication utility invoked with the F4 key is equivalent to a terminal program used with a real calculator. Button functions:

[Send]
selects the file to be sent to the calculator
[Receive]
selects the file to which the data received from the calculator is saved
[Stop]
closes the file

Printer

The printed text is saved to the file selected with the [Receive] button of the communication utility.

Floppy disk drive

The floppy disk image file is specified in the INI file or can be selected with Shift+F4. The file disk0.bin included in the archive contains a sample floppy disk image. The size of this file determines the storage media capacity. An original floppy disk can hold 327680 bytes, but the file system can handle volumes up to 512 kilobytes. Its contents can be manipulated with the md100 utility written by Marcus von Cube.

Integrated debugger

Disassembly box

Hex Editor box

Registers box

Main register file box

Program execution control

The pb2000c.ini file

Some parameters of the emulator can be customised by editing the pb2000c.ini file with any text editor.
Description of the contents of this file:

OscFreq = 910
This setting specifies the emulated CPU clock frequency in kHz.
DiskName = disk0.bin
This setting specifies the name the of the floppy disk image file. The full path can be provided as well.

Uninstalling

To uninstall the emulator, simply delete the directory where it was installed. The program doesn't modify anything outside its installation directory.

Acknowledgments

Known limitations and issues of the current version


Conversion utilities

downloadpb2000et.zip - sources and executables, DOS and Windows (in a DOS window)

Both programs modify the contents of the RAM image file ram0.bin located in the same directory.

RAMTRAN2

This utility transfers files between the PC and the ramdisk area of the RAM image used by the emulator. It accepts the same commands as the program RAMTRANS for the PB-1000, except that wider range of file types is recognised.

Text file types
S - Sequential files, including MEMO files, Pascal source files, files loaded via RS-232C and BASIC programs saved with SAVE,A
C - C source files
L - Lisp source files
P - Prolog source files
Binary file types
M - General binary files (for example created with BSAVE)
B - BASIC programs in internal representation
E - Pascal (E)xecutable
T - Pascal (T)yped
U - Pascal (U)nit

It's an adaptation of the md100 utility written by Marcus von Cube, which performs similar operations, but on an MD-100 floppy disk or an image thereof.

COMPILER

This utility is a C cross compiler equivalent to the PB-2000C built-in one. It doesn't have any advantages against the original LOAD command, exactly the same P-code and data structures are produced. It was written in C language with the intention to match the original program structure and algorithms as closely as possible in order to better understand them.

Usage: compiler.com source.c

The compiled code is executed in the usual way, with the RUN command.


Similar projects

An enhanced development of this design featuring TCP-based RS-232C serial port emulation and remote control.