Casio 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.
Program version 12, updated 2008/07/24
pb2000es.zip - Delphi sources, file size: 94kB
pb2000em.zip - compiled executable, file size: 263kB
Usage: extract the files into an empty directory, then run the program Pb2000c.exe
pb2000ej.zip - Japanese version, file size: 4kB
Usage: Replace the file Face.bmp in the directory where the program was installed.
om53b.zip - BASIC language card OM-53B, file size ca. 110kB
Usage: Place the files Rom2.bin and Overlay.bmp in the directory where the program was installed.
Delete the file Rom2.bin and restore previous file Overlay.bmp in order to return to the C interpreter.


- Following files contain the memory images, and are loaded when the program is started:
Rom0.bin - processor's internal 6kB ROM
Rom1.bin - external 64kB ROM
Chr.bin - LCD controller's internal character ROM of size 1.5kB
Ram0.bin - main 64kB RAM in page 1
Ram1.bin - extra 32kB RAM in page 2
Rom2.bin - optional main 64kB ROM in the language card
Rom3.bin - optional additional 64kB ROM in the language card
- The updated file
Ram0.bin is saved when the program is terminated.
If it wasn't found, it will be created.
In such case the memory has to be initialised with the New All button (F8).
- If any of the files
Rom2.bin or Rom3.bin is present, the emulated machine will assume that a ROM card is inserted (presence/absence of those files influences the P1 state).
- The emulator can be operated with the mouse or the keyboard.
Special function keys:
Cursor keys: corresponding arrow keys
Page Up: red S
Page Down: CAPS
Esc: BRK
Insert: INS
Delete: DEL
Backspace: BS
Enter: EXE
F2: keyboard overlay
F8: New All
F9: Reset
F10: suspends the code execution and opens the debugger window
Disassembly box
- On entry, the starting address matches the Program Counter, but it can be modified by clicking on the address in the first line.
New value must be confirmed with Enter.
Hex Editor box
- The HEX box allows viewing/changing the RAM contents only.
- It is possible to modify the starting address and the RAM contents by clicking on them.
Enter accepts the changes.
Registers box
- The contents of the registers can be modified by clicking on them.
Enter accepts the changes.
- The top line in the register box shows the state of the upper four bits of the Flag register.
They can be modified as well.
Main register file box
- The contents of the registers can be modified by clicking on them.
Enter accepts the changes.
Program execution control
- Closing the debugger windows resumes the program execution without tracing.
- Pressing the button [Run] in the Single step group box executes a single machine code instruction without servicing of the interrupts.
- To execute a specified count of machine code instructions type the required number to the field in the Count of steps group box, then press the associated [Run] button.
- The Breakpoint group box allows to specify condition that determine when the program execution should be interrupted.
Currently it only compares the Breakpoint Address typed in the field with the Program Counter.
When they match, the program execution is stopped and the debugger window reappears.
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.
OptionCode=255
- This setting specifies the Option Code of the interface unit.
The value should be either 255 (for stand-alone operation without any peripheral devices) or 85 (to be used with the MD-100 Floppy Disk Drive emulator).
Address=127.0.0.1
- This setting specifies the IP address of the FDD server host, usually of the local computer.
Port=7420
- This setting specifies the port on the FDD server that the emulated calculator will connect to.
To uninstall the emulator, simply delete the directory where it was installed.
The program doesn't modify anything outside its installation directory.
- The program includes a freeware component ThreadedTimer developed by Carlos Barbosa.
- The sound isn't supported yet.
- Limited LCD controller emulation.
Supported LCD commands: 1 (only reading of the data RAM), 2, 3, 8 (only character width setting), B, D.
- Countless bugs may still lurk in the
rom0.bin memory image.
pb2000et.zip - file size: 28kB, sources and executables, DOS and Windows (in a DOS window)
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
- 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
The program is 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.