commit | 842b8fd29ee8194ca9274928f1bc59cbd8bea17d | [log] [download] |
---|---|---|
author | Robert Lockwood <core@warp.co.il> | Sat Dec 12 23:22:27 2015 +0000 |
committer | Robert Lockwood <core@warp.co.il> | Sat Dec 12 23:22:27 2015 +0000 |
tree | 4bbadb8cfd6a8de3edf619a68ef87eff68749fc1 | |
parent | 77e2a8f87ebd41f1601448871b49257ec1a9556e [diff] |
Change emulator.settings to settings closure compiler fails. I'm assuming it should be settings, in either case closure compiler compiles and it works.
Using v86 for your own purposes is as easy as:
var emulator = new V86Starter({ screen_container: document.getElementById("screen_container"), bios: { url: "../../bios/seabios.bin", }, vga_bios: { url: "../../bios/vgabios.bin", }, cdrom: { url: "../../images/linux.iso", }, autostart: true, });
See API.
v86 emulates an x86-compatible CPU and hardware. Here's a list of emulated hardware:
The disk images are not included in this repository. You can download them directly from the website using:
wget -P images/ http://copy.sh/v86/images/{linux.iso,linux3.iso,kolibri.img,windows101.img,os8.dsk,freedos722.img,openbsd.img}
.
A testsuite is available in tests/full/
. Run it using node tests/full/run.js
.
make build/v86_all.js
.index.html
locally, make sure to serve it from a local webserver. You can use make run
to serve the files using Python's SimpleHTTPServer.wget -P images/ http://copy.sh/v86/images/{linux.iso,linux3.iso,kolibri.img,windows101.img,os8.dsk,freedos722.img,openbsd.img}
.Short summary:
# grab the main repo git clone https://github.com/copy/v86.git cd v86 # grab the disk images wget -P images/ http://copy.sh/v86/images/{linux.iso,linux3.iso,kolibri.img,windows101.img,os8.dsk,freedos722.img,openbsd.img} # grab closure compiler wget -P closure-compiler http://dl.google.com/closure-compiler/compiler-latest.zip unzip -d closure-compiler closure-compiler/compiler-latest.zip compiler.jar # build the library make build/libv86.js # run the tests ./tests/full/run.js
Similiar projects have been done before, but I decided to work on this as a fun project and learn something about the x86 architecture. It has grown pretty advanced and I got Linux and KolibriOS working, so there might be some actual uses.
If you build something interesting, let me know.
Here's an overview of the operating systems supported in v86:
lowram
and choose PS2 mouse in xsetup. Takes circa 10 minutes to boot.udev
and X
fail, but you get a terminal.atkbd
to MODULES
in /etc/mkinitcpio.conf
.You can get some infos on the disk images here: https://github.com/copy/images.
Simplified BSD License, see LICENSE, unless otherwise noted.
Shoot me an email to copy@copy.sh
. Please don't tell about bugs via mail, create a bug report on GitHub instead.
Fabian Hemmer (http://copy.sh/, copy@copy.sh
)