# jeffpar/pcjs

The original IBM PC and other machine emulations in JavaScript

Repository: https://github.com/jeffpar/pcjs
Canonical: https://ross.abutalabs.com/products/pcjs
Homepage: https://www.pcjs.org
Language: JavaScript
License: NOASSERTION
License Family: other
Topics: ibm-pc, javascript, emulator, 6502, 8080, 8088, x86, dos, windows, vt100, space-invaders, ti-57, pcjs
Last push: 2026-03-18T21:54:04+00:00

## Health v2 (maintenance only)
Score: 65/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 72, release rhythm 35, longevity 100
- inputs: {"age_days": 2426, "days_push": 168, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1212, forks 178 (observed 2026-08-28T04:04:00.277774+00:00)

## What it is
PCjs is a collection of JavaScript-based emulators for classic computers, including the original IBM PC (PCx86), 6502 and 8080 microcomputers, DEC minicomputers, arcade machines, and TI calculators. Machines are defined with XML configuration files and run entirely in web browsers on desktop and mobile devices.

## Use cases
- run the original IBM PC in a browser
- emulate DOS and early Windows on a web page
- play classic arcade games like Space Invaders in JavaScript
- embed a vintage computer emulator into a website
- preserve and explore early PC software archives
- experiment with different retro machine configurations
- learn how early computer hardware worked

## When to choose
- you want browser-based emulation of vintage IBM PC or 8-bit machines with no installation
- you need to embed configurable retro machine simulations in web pages
- you are doing historical software preservation or education about early computing

## When to avoid
- you need a fast, general-purpose modern x86 virtual machine for production workloads
- you require emulation of hardware not covered by the project's machine collection
- you need a native desktop emulator with host OS integration

## Facets
- artifact type: library
- maturity: active
- function: simulation, interpreter, developer-tools
- domain: simulation, web-development, education, gaming-tools
- platform: browser
- tags: emulator, ibm-pc, 8088, x86, 6502, 8080, dos, javascript, browser-based, vintage-computing, machine-preservation, retro-computing, nodejs, web-server

## Member repositories
- jeffpar/pcjs (main) score 65

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:00.277774+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:18:00.005353+00:00, confidence not recorded.
  - readme: https://github.com/jeffpar/pcjs (fetched 2026-08-28T04:04:00.277774+00:00, sha e5d7dcd2ed96)
  - homepage: https://www.pcjs.org (fetched 2026-08-29T12:26:05.669526+00:00, sha 465219677021)
  - site_page: https://www.pcjs.org/about (fetched 2026-08-29T12:26:05.678822+00:00, sha f2b9d8453d7c)
  - site_page: https://www.pcjs.org/machines/pcx86/cdp/mpc1600 (fetched 2026-08-29T12:26:05.683420+00:00, sha d57340c8e98c)
  - site_page: https://www.pcjs.org/machines/pcx86/compaq/portable (fetched 2026-08-29T12:26:05.685368+00:00, sha f3bfbcc3c186)
  - site_page: https://www.pcjs.org/machines/pcx86/att/6300 (fetched 2026-08-29T12:26:05.681019+00:00, sha 4bbb56999828)
  - site_page: https://www.pcjs.org/machines/pcx86/compaq/deskpro286 (fetched 2026-08-29T12:26:05.687057+00:00, sha 49b2e1fa0229)
  - site_page: https://www.pcjs.org/machines/pcx86/compaq/deskpro386 (fetched 2026-08-29T12:26:05.688656+00:00, sha 2d186e92d28d)
  - site_page: https://www.pcjs.org/machines/pcx86/compaq/lte286 (fetched 2026-08-29T12:26:05.690375+00:00, sha 1cb03e59160a)
  - site_page: https://www.pcjs.org/machines/pcx86/ibm/5150 (fetched 2026-08-29T12:26:05.692174+00:00, sha 7056d06409de)
- Data as of 2026-08-30T08:39:29.467469+00:00.
