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 19, updated 2011/08/31
pb2000es.zip - Delphi sources, file size: 101kB
pb2000em.zip - compiled executable, file size: 260kB
Usage: extract the files into an empty directory, then run the program pb2000c.exe
ai1000em.zip - Japanese version AI-1000 with Lisp, file size: 44kB
Usage: Replace the files face.bmp and rom1.bin in the directory where the program was installed.
ROM images from the language cards
om51p.zip - Prolog language card OM-51B, file size 34kB
om53b.zip - BASIC language card OM-53B, file size 128kB
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
charset.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 files
ram0.bin and ram1.bin are saved when the program is terminated.
If they weren't found, they 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
F3: suspends the code execution and opens the debugger window
F8: New All
F9: Reset
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.
- After clicking on a disassembled instruction, a new instruction can be typed.
As with the starting address, pressing Enter accepts the changes.
Only changes in the RAM area will be saved upon program termination, all ROM modifications will be lost.
Characteristics:
- labels and expressions aren't supported
- accepted are hexadecimal (with the prefix &H) and decimal numbers
- destination of relative jumps can be only specified as absolute address, not as displacement
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 number of machine code instructions type the required value to the field in the Number 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.
- The scrolling function of the LCD controller command $8 isn't supported.
- 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.