PCE.js runs classic computers in the browser. It's a port of Hampa Hug's excellent PCE emulator, put together by James Friend.
PCE.js currently emulates Mac Plus, IBM PC/XT and Atari ST functionally in recent versions of Chrome and Firefox.
More info:
See this CodePen example.
I recommend installing the native version of PCE on your computer to create your own disk images. Alternatively, you could use Mini vMac.
PCE.js is available from npm as a set of browserify compatible node packages, which also include UMD bundles.
There is one for each emulator build:
See each of the above links for install and usage instructions
Note: I recommend instead just using the npm packages listed above, unless you want to hack on the C source of the emulators themselves (which is not necessary if you just want to get them running on a page).
Make sure you've installed node.js
These instructions assume you're working with my fork of PCE on the
pcejs
branch. Presumably that's where you're reading this right now.
Run npm install
in this directory (the source root). This should install the
required node.js tools to build the commonjs modules and run the examples.
Install the Emscripten SDK.
Install and activate version 1.38.48 of the SDK
cd ../path/to/emsdk/
./emsdk install 1.38.48
./emsdk activate 1.38.48
source ./emsdk_env.sh
Check that running emcc -v
successfully returns current Emscripten version.
Detailed installation instructions are on the Emscripten SDK page.
In the same terminal, return to the pcejs repository. Run ./pcejs_build env
once which will create a pcejs_build_conf.sh
file if it
doesn't already exist.
Most of the build process involves running the ./pcejs_build
bash script in the
root of the repo. Commands should be run like ./pcejs_build [command]
or pcejs_build [command] [arg]
Run ./pcejs_build build [target]
to build the emulator, where [target]
is macplus
,
ibmpc
or atarist
. This will output a pce-[target].js
file to dist/
.
After the output file for the target you're interested in has been built, you can:
example/
directory with ./pcejs_build example [target]
or example/run_example.sh [target]
commonjs/[target]/
directories by running
npm run prepublish
in the respective directory.Commands you might be interested in:
macplus
, ibmpc
, atarist
or native
. Specifiying an emulator arch
builds the in-browser emulator JS file for that architecture. native
builds
all PCE executables normally. If you don't specify a [target] then all JS
targets will be built.Other commands (used internally by build scripts)