PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PCjs Tools

PC.js

PC.js is a JavaScript command-line application that allows you to start a “headless” PCjs machine with all TTY (eg, INT 0x10) output redirected to your console, along with an automatically generated hard disk containing all the files in your current (or other specified) directory.

DiskImage.js

DiskImage.js is a JavaScript command-line application that reads/writes PCjs v2 disk images, using the DiskInfo module to parse the data. It supersedes the older PCjs DiskDump utility.

FileImage.js

FileImage.js is a JavaScript command-line application that reads/writes PCjs file images, producing JSON-encoded versions of binary files (eg, ROM images). It supersedes the older PCjs FileDump utility.

BASIC File Conversion

The BASConvert page converts binary and/or encrypted IBM PC BASIC program files to plain-text, with any CP437 non-ASCII characters converted to UTF-8. The library is also built into the DiskImage.js command-line utility and is used in conjunction with the --normalize option.

Other Modules

Here are a few other JavaScript modules I’ve written for the project:

The DiskImage.js --arc and --zip options use StreamZip along with LegacyZip to decompress old ARC or ZIP archives, and the --normalize option uses BASFile to convert old IBM PC BASIC files to plain-text during the extraction/decompression process.

If you find any ARC, ZIP, or BAS files can’t be decompressed or converted, let me know.

Miscellaneous Scripts

There are a variety of small miscellaneous JavaScript command-line scripts that I’ve written over the years to help generate and test pieces of PCjs.