pce

Emulates Mac Plus, PC, & Atari ST in asm.js & WebAssembly

Github星跟蹤圖

PCE.js

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:

PCE.js Mac Plus

Installing from npm

PCE.js is available from npm as a set of browserify compatible node packages.

There is one for each emulator build:

See each of the above links for install and usage instructions

How to build PCE.js from source

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

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 the latest version of the SDK, then source it, so that running emcc -v successfully returns current Emscripten version. Instructions for doing this are on the Emscripten SDK page.

Run ./pcejs_build env once which will create a pcejs_build_conf.sh file if it
doesn't already exist.

Similarly you should be working with my fork of PCE on the
pcejs branch, but presumably that's where you're reading this right now.

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]

Commands you might be interested in:

  • build [target]: Configure, build and compile emulator to JS. [target] is either
    one of 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.
  • rebuild: Build last again
  • clean: Clean source tree
  • [nothing]: Build all emulator JS targets and (commonjs modules for each)

Other commands (used internally by build scripts)

  • env: Print build environment variables
  • configure: Configure emulator build
  • make: Compile emulator source to LLVM bitcode (used by 'build')
  • remake: Recompile only changed files of emulator source to LLVM bitcode
  • afterbuild: Convert LLVM bitcode to JS
  • module: Build commonjs module (used by commonjs module prepublish scripts)

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/.

Once the output file for the target you're interested in has been built, you can:

  • run the examples in the example/ directory with example/run_example.sh [target]
  • build the npm packages in the commonjs/[target]/ directories by running
    npm run prepublish in the respective directory.

主要指標

概覽
名稱與所有者jsdf/pce
主編程語言C
編程語言Shell (語言數: 9)
平台
許可證GNU General Public License v2.0
所有者活动
創建於2013-10-29 09:02:42
推送於2022-06-23 02:49:26
最后一次提交2018-07-22 07:24:41
發布數18
最新版本名稱v0.1.3 (發布於 2014-05-25 19:04:18)
第一版名稱pce-0.0.3 (發布於 )
用户参与
星數895
關注者數43
派生數150
提交數1.7k
已啟用問題?
問題數23
打開的問題數16
拉請求數1
打開的拉請求數5
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?