
Run old games in DOSBox in the browser - buster
http://www.naclbox.com/gallery
======
buster
If this isn't clear to someone:

This needs Chrome and the Native Client.

From the page:

    
    
      Please Note:
    
      You must have Native Client enabled in Chrome 12 or 13 for   this game to work in your browser.
    
      To enable Native Client, do the following:
    
    
      Go to "about:flags" in your address bar (without quotes)
      Click "Enable" next to Native Client
      Go to "about:plugins" in your address bar (again, without quotes)
      Occasionally you will find that you have to click "Enable  NaCl" here too
      Restart Chrome
      Have fun!

~~~
kleiba
...thus it would be nice to change the headline from "..in the browser" to
"..in Chrome".

~~~
leoc
In the long term, it would be preferable to fix the browser.

~~~
tyree732
Preferable for some, but many see NaCl as another ActiveX.

~~~
novumordo
While NaCl poses security concerns, they have invested a lot of effort to make
the sandbox secure. Their first two papers deal with this quite a bit [1,2]
and the new paper seems to expand on this more, but I haven't read it yet [3].
ActiveX doesn't even compare -- it's just running native code.

[1][http://src.chromium.org/viewvc/native_client/data/docs_tarba...](http://src.chromium.org/viewvc/native_client/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdf)
[2][http://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pd...](http://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf)
[3][http://naclports.googlecode.com/svn/trunk/src/experimental/v...](http://naclports.googlecode.com/svn/trunk/src/experimental/v8/nacljit.pdf)

More about NaCl (<http://code.google.com/p/nativeclient/>)

Portable NaCl (PNaCl) looked very promising (targeting LLVM (bytecode) and
then re-targeting your native architecture) but I haven't heard anything about
it lately.

~~~
tyree732
I was less referring to the security issues, as I'm familiar with Google's
efforts on those fronts, and more referring the lack of cross browser support.
ActiveX sucked for a number of reasons, but one reason in particular was
because it forced people to use IE even after IE 6 became the most inferior
browser on the market by a long shot in terms of both security and
performance. If NaCl becomes popular enough, either other browsers will be
forced to add it or there will be similar lock-in issues. If other browsers
are forced to add it, will every single one of them have the same security,
performance and compliance with the standard as Google Chrome does?

~~~
novumordo
I don't see lock-in issues as a concern. It's an open spec, if it becomes
popular enough then even if other browsers don't want to support it developers
can make plugins for those browsers (some of the papers even mention this, I
believe). In any case, if websites require you to use NaCl it is only stupid
unless they are doing something that otherwise wouldn't be feasible e.g.
running a performance hungry emulator. It's clear to me that Google has no
intentions to leverage this for lock-in.

If other browsers are forced to add NaCl support: of course I doubt they will
have the same security, performance and compliance that Chrome does -- but who
are we kidding, it's highly unlikely that all browsers will ever be equal in
those ways.

~~~
sedachv
What about architecture lock-in? Good luck running x86 NaCl apps on your
iphone.

------
tybris
I was thinking flying cars and stuff. I didn't know the future was going to be
this awesome.

------
ck2
Native client is a horribly bad idea on so many levels. Wiz-bang demos aren't
enough to distract from the danger.

Now trojans have one huge, lovely target. Just change browser settings and
boom, easy attack. This in combination with hiding everything from users
(status bar, url bar, etc.) is super dangerous. It's activex all over again.

Do it in webgl or otherwise, leave native code execution outside the browser.

~~~
jbri
In what way is NaCl worse than webgl?

~~~
jbk
Actually it is better for security.

~~~
gcr
Proof please?

Whenever I visit a WebGL demo inside Linux w/ NVidia drivers, if there are any
complicated shaders, my system hard-freezes, forcing me to reboot.

Until the X developers fix Xorg's security model (like that will happen), and
until NVidia fixes their Linux drivers (like that will happen), WebGL will
always be one massive gaping security and stability problem for me as a Linux
user.

~~~
jbk
So, you are saying the same thing that I am :D

------
cturner
I have a poor understanding of the toolchain, as my next question may make
clear.

What obstacles would there be to running Borland C++ in this, and developing
from here?

------
cool-RR
Totally awesome.

Though I kinda wonder, why Simon the Sorcerer, that used to run on a 386, now
takes 100% of a processor core of a Core 2 Duo.

~~~
nolok
You have to realize that not only are performances of nacl probably going to
improve with time, but more importantly this is _not_ a port of the game in
nacl, this is a port of the game, running in the dosbox emulator running in
nacl (Dosbox emulate a whole old computer, which then load the game). Redoing
such a game from scartcg in Nacl and getting rid of the emulator layer would
have much better performances.

~~~
zerd
Another reason is explained on the website:

"Currently NaClBox is using far more CPU than it should. This is because the
current version of SDL for Native Client has a bug that will crash the browser
when you navigate away from it. To avoid that, I had to revert back to an
older version of the SDL port that has high CPU utilization."

~~~
ootachi
Those insisting that there's no way this will be another ActiveX would be wise
to notice this. We're not even one day into the release and already there's a
browser-crashing bug.

------
5h
so my morning went like

1) skim tech crunch article 2) figure it will take a while for anything
interesting to come out 3) come back to HN, this is next story

this will not be a productive morning

------
csl
So, Native Client allows you to run out-of-process, sandboxed, _native_ code
in Chrome.

Does that mean that the server needs to serve precompiled executables to
visitors with different operating systems?

~~~
onedognight
The code is OS independent, but processor dependent (Currently i386 and arm).

------
mirrorskin
Looks interesting, but after activating Native Client, I just see a black box
in Chrome 15.0.849.1 dev on OS X 10.6.8 – anybody else has that issue? Or do
the games only work on Windows?

~~~
jessexoc
Similar issue here on Ubuntu 10.10 64bit:

    
    
      Chrome - 14.0.835.15 dev
      Chromium - 14.0.803.0 (Developer Build 90483 Linux) Ubuntu 10.10
    

I am getting a 403 when trying to load the dosbox client
(<http://nacl.naclbox.com/dosbox_14.nmf>).

I wonder the server is refusing this request if the user-agent is not in their
white list?

Or perhaps they are limiting it based on Country due to Copyright Issues?

~~~
jbri
I also get a 403 trying to load what you've linked, but dosbox_13.nmf loads
fine and so do the games.

It determines the filename based on the major version number in the useragent
- it would probably work fine if your browser reported chrome 13.something.

------
hannes2000
Has anybody gotten NaCL apps to work on 64bit Linux?

~~~
buster
I do. Running 13.0.782.112 beta Chrome on Natty 64bit.

Edit: Chromium 13.0.782.107 works for me, too.

