Skip to content
A PC Emulator implemented by WebAssembly
C TypeScript JavaScript HTML Assembly
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
docs
images
src
test
.gitattributes
.gitignore
LICENSE
Makefile
README.md
boot.js
index.html
package-lock.json
package.json
tsconfig.json

README.md

Virtual Playground

A PC Emulator implemented by WebAssembly.

THIS VERSION

  • THIS IS JUNK

Requirements

Implemented hardware

  • IBM PC compatible
  • CPU: 486SX
    • Some features are missing such as 16bit protected mode
  • Memory: 640KB ought to be enough for anybody.
  • I/O:
    • i8259 PIC
    • i8254 Timer & Sound
    • UART
    • RTC
    • MPU-401 - UART mode Only
    • VGA - mode 03 and 13 only
    • FDC (non standard interface)
      • Supported: 160KB, 360KB, 640KB, 720KB, 1.2MB, 1.4MB and 512 bytes (Boot Sector Only)

How to detect this virtual machine by software

  • In 486 mode, when the CPUID instruction is executed with EAX = 00000000, the result will be EBX = ECX = EDX = 0x4D534157 ('WASM')
  • Otherwise, undefined.

Supported Software

Software Status
osz It seems working
FreeDOS (16bit) It seems working
FreeDOS (32bit) failed
elks failed
BootChess buggy
Floppy Bird Needs a patch
Invaders game in 512 bytes It seems working

License

MIT License

Copyright (C)2019 Nerry

You can’t perform that action at this time.