commit | c833d3b092c7521a964ddf2421a426abfbf55cfa | [log] [download] |
---|---|---|
author | Laurent Laborde <kerdezixe@gmail.com> | Wed Jan 07 10:42:05 2015 +0100 |
committer | Laurent Laborde <kerdezixe@gmail.com> | Wed Jan 07 10:42:05 2015 +0100 |
tree | b0c66e889c8b7ce15329d5a8acf38ca8f01ad6d8 | |
parent | 4f9206d7d80395ceae46fbe0351243712024a6f4 [diff] |
MacOSX hack to use mcpp even if cpp is detecetd the default llvm cpp doesn't work as expect on macosx, so we use mcpp on macosx even if cpp is detected.
v86 emulates an x86-compatible CPU and hardware. Here's a list of emulated hardware:
cpu.js
file, you need make
and cpp
(the C preprocessor). Run: make build/cpu.js
.git submodule update --init --recursive closure-compiler
and run 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.git submodule update --init --recursive images
.To summarize:
git clone https://github.com/copy/v86.git # grab the main repo cd v86 git submodule update --init --recursive images # get the disk images git submodule update --init --recursive closure-compiler # fetch the disk images
Rebuild compiled version:
make
Rebuild only debug version (only necessary after changing .macro.js
files):
make build/cpu.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
14KBXSoewGzbQY8VoznJ5MZXGxoia8RxC9
. If you want to donate elsewhere, let me know.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
)