Home of the original IBM PC emulator for browsers.
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 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 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.
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.
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.
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.