Index wersja polskawersja polska

PB-1000 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.

The main purpose of creating this program was the verification of the correctness of the reconstructed processor's internal ROM image, and to have a tool helping by the analysis of the ROM disassembly.

Files to download

Program version 52, updated 2025/01/20

downloadpb1000es.zip - Delphi 5 sources

download pb1000em.zip - compiled executable
Usage: extract the files into an empty directory, then run the program pb1000.exe

downloadpb1000ej.zip - Japanese version
Usage: Replace the files rom1.bin and face.bmp in the directory where the program was installed.

downloadpb1000c.zip - version PB-1000C with CASL
Usage: Replace the files rom1.bin and face.bmp in the directory where the program was installed.

The screenshots

Screenshot of the PB-1000 emulator

The debug window of the PB-1000 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 pb1000.ini file

Some parameters of the emulator can be customised by editing the pb1000.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

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

RAMTRANS

This utility transfers files between the PC and the ramdisk area of the RAM image used by the emulator.

Usage: ramtrans.exe [-n] <command> <options> <parameters>

Command overview

dir <options> <ramdisk-pattern>
Displays a list of the files in the ramdisk directory. If the pattern is specified, only files matching the pattern will be shown. Examples:
- list all files: ramtrans dir
- list only selected files: ramtrans dir "*.BAS"
 
type <options> <ramdisk-file>
Displays the contents of a file either as hex dump or a text, depending on the file type (binary or ASCII). BASIC programs can be decoded from their internal, tokenized form. Examples:
- decoded BASIC program TEST.BAS: ramtrans type -a TEST.BAS
- hex dump of all files with an extension .BIN: ramtrans type -b "*.BIN"
 
get <options> <ramdisk-file> [<pc-file>]
Copies a single file from the ramdisk to the PC. If the PC file name is not specified, the copied file is given the original name. Examples:
- single file PI.BAS: ramtrans get -i pi.bas
- tokenized BASIC program PI.BAS as plain text: ramtrans get -a -i pi.bas pi.txt
 
mget <options> <ramdisk-pattern>
Copies multiple files from the ramdisk to the PC. Examples:
- multiple files to the local directory: ramtrans mget "P*.BAS"
- multiple files to a specified PC directory (after the -d option): ramtrans.exe mget -d c:\windows\temp\ "*.BIN"
 
put <options> <pc-file> [<ramdisk-file>]
Copies a single file from the PC to the ramdisk. If the destination file name is not specified, the copied file is given the original name. The file type should be set with the -t option, otherwise the program tries to guess it from the extension. Example:
- option -u changes the destination name to upper case: ramtrans put -u pi.asc
 
mput <options> <pc-files>
Similar to put, but copies multiple files.
 
del <options> <ramdisk-pattern>
Deletes files on the ramdisk.
 
ren <options> <ramdisk-file> <new-name>
Renames files on the ramdisk.

Options overview

-i
Ignore the case of ramdisk file(s).
 
-l
Make all files lowercase.
 
-u
Make all files uppercase.
It is convenient to select this option when transferring files to the ramdisk.
 
-tX
Select type to X (B, M, S or hex).
The PB-1000 files have an additional attribute (the file type) which is used for correct handling of a file selected from the menu:
It is important to select proper type when transferring files to the ramdisk.
 
-b
Force binary transfer.
This option should be selected when transferring tokenized BASIC programs and binary files.
Note: the ramtrans utility doesn't preserve the information about the destination address and the start address of machine code programs. Such task requires appropriate file formats (for example PBF) along with corresponding loaders (for example PBFTOBIN provided with the HD61 assembler).
 
-a
Force ASCII transfer.
This option should be selected to transfer PC text files, because it ensures correct line termination (CR+LF) and file termination (Ctrl-Z). It's also suitable for machine code programs in PBF format.
 
-n
No updates are written to the RAM image, useful for testing.

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.