Virtual x86

I got passed a link to this new emulator, Virtual x86, a complete PC emulator in javascript.  It is in it’s early phases, but it seems to emulate text mode and a single diskette or ISO ok.  It can boot Linux or OpenBSD, but not any MS-DOS protected mode software I tried.  And graphics don’t work…

But it’s 100% javascript!  And open in that you can download the source (tarball,github) under a BSD style license!  So naturally I made my own mirror

Dungeon on Virtual x86

Dungeon on Virtual x86

I have to say, it’s really cool!

 

PCE.js

.js like JavaScript?.  YES.  I’m not kidding.  James Friend has whipped up a port of PCE to javascript!

Screen Shot 2013-11-12 at 3.39.05 PM

Complete with Macintosh, and IBM PC!

Yes, it even runs Wolfenstein 3D!

Yes, it even runs Wolfenstein 3D!

However on my 2006 Mac Pro it is VERY VERY slow.  But then again what would you expect from javascript?

It is far more heavier than jdosbox, but at the same time no pluggins!

I’m still on the fence at the moment about something as heavy as pc emulation in javascript, but it is still fun/neat!

So I thought I’d have some fun with jsmips

Hello World!

Hello World!

The Javascript MIPS emulator.. So after snagging the source, and all went well building the binutils, gcc, then gcc again, the libc. All seemed well except I couldn’t work out exactly what goes where…

So after a bunch of messing around I managed to get it run..  kind of.  I think the php file that proxies the filesystem is broken as I get something like this from the now broken main js page..

function genroot(p){var dir=new Directory(p);function genbin(p){var dir=new Directory(p);dir.children["=listusers"]=remoteFile("./bin/listusers","http://codu.org/jsmips/server/dir.php?f=.%2Fbin%2Flistusers");dir.children["=apropos"]=remoteFile("./bin/apropos","http://codu.org/jsmips/server/dir.php?f=.%2Fbin%2Fapropos");dir.children["=banner"]=remoteFile("./bin/banner","http://codu.org/jsmips/server/dir.php?f=.%2Fbin%2Fbanner");

And yet I get this kind of output:

{error: false, type: ‘d’, cont: [“dtextc.dat+”,”hi+”,”var/”,”hi.c+”,”source/”,”bin/”,”dungn27s.zip+”,”dungeon+”,”./”, “../”]}

Which.. isn’t right enough.  I’m not sure what is up with dir.php ..

Oh well, I was able to build a simple hello world type program, but anything that hopes to pull data off the drive won’t work.  If anyone thinks they can do better my archive of all the bits is here (48MB), and the ‘runnable’ version is here .. hi is about as much fun as it’ll get.

Can any Chrome users test this link?

http://vpsland.superglobalmegacorp.com/janus3/#dungeon

You can now easily download the scriptable Amiga emulator, and even better inject your own ADF’s and whatnot. Naturally you’ll want the AROS ROM’s one & two. You can even download my ADF.

It may take a minute to boot, but you should get something like this:

Dungeon for Amiga

Dungeon for Amiga

This is a bootable diskette with the version of Dungeon I built using DICE.

More improvements to the Commodore Amiga emulator, Janus

As I had mentioned earlier there is this great HTML5/Javascript Amiga emulator Janus.

And now, it supports loading a bunch of games & demos from the page!  Making this the easiest way to enjoy the best of the early 1990’s on Chrome.

Project-X

Project-X

The available games are:

  • Agony – Psygnosis 1992
  • Alien Breed -Team 17 1991
  • Alien Breed Tower Assault – Team 17 1994
  • Another World - Delphine – U.S. Gold 1991
  • Blood Money - DMA Design 1989
  • Body Blows Galactic  - Team 17 1993
  • Dyna Blaster  - Ubi Soft 1992
  • Lotus Turbo Challenge 2 - Gremlin 1991
  • Pinball Dreams - DICE 1992
  • Prince of Persia  - Domark 1991
  • Project-X – Special Edition 93  - Team 17 1993
  • Rick Dangerous  –  Firebird 1989
  • Shadow of the Beast II  -  Reflections 1990
  • Superfrog  -  Team 17 1993
  • Turrican II – The Final Fight   - Rainbow Arts 1991
  • Wings of Death  – Thalion 1990

And you can enjoy it here.

Janus Amiga Emulator

Janus + Kickstart 2 ROM

Janus + Kickstart 2 ROM

I’ve been looking for a good Amiga emulator as of late, something that I can mount a physical device (say a CF card), format it and install AmigaDOS, AmiTCP and a few other things, and get it to work on a physical Amiga.

Anyways I did a cursory google search to see what the state of Amiga emulation is, and I came across this very cool emulator, Janus that is written in java script.

You read that right, derived from UAE, Janus is a javascript Commodore Amiga Emulator.

So I loaded it up using Chrome, selected a dumped ROM, and lo I got the boot animation!  Shuffling around I got a disk image for an old game, and it worked!

Although I’ve seen some glitches in the graphics, and the audio is experimental but hey it is in java script!

Really amazing stuff for sure.

Be sure to check it out in a HTML5 compliant browser here.

jsDosBox

Love DOSBox on java, but don’t like java? Love the power of Google’s v8 javascript engine? Well then you’ll love this, introducing jsDOSBox, a port of jDOSBox to javascript!

That’s right, with chrome, it is as simple as click and go!

Doom in dosbox all in javascript!

So how does it perform? well OK OK, its slow, but it sure does have promise!  Then again it could be my laptop.  But wow, emulation in javascript!

Test it here.

Gameboy color emulator… in javascript!

I have to say I’m really quite impressed!  It’s quite playable, the sound is great and well it’s all around awesome!  And yes it’ll even play original gameboy files!

Unlike most ‘web’ based javascript this one can play local files.. Perhaps it’s something worth looking at modifying existing stuff for that kind of options?

At any rate be sure to check it out here.

It’s amazing how javascript is really becoming a contender now that browsers are basically compiling it.  It’s very cool!

Javascript MIPS

Hot on the heels of the javascript 80386 emulator, I found this javascript MIPS syscall emulator, jsmips.

What is cool about this one, is that commands are downloaded on demand.  And it supports more browsers, like Internet Explorer (well modern ones, IE 5.5sp2 didn’t work).

Vi works, but you’ll need to reset the terminal afterwards.  At least with this on demand filesystem it’d make it easier to add new binaries…

It’s amazing how far the world of javascript has come, but at the same time, it’s scary how precarious it is perched on browsers where stuff only seems to work at the moment and on select browsers.  But then that’s the way things seem to go.