

Javascript Hero: Change Computer History Forever  - cleverjake
http://ascii.textfiles.com/archives/3375

======
drhayes9
This. A thousand times this.

I was talking to a friend of mine about the "Digital Dark Ages." He didn't
believe me that we were unable to view data that we had sitting around on
computers anymore; one of my prime examples was computer games from the 80s
that relied on bugs in the hardware to run. I'm glad that emulators exist to
be provide that service.

But, man, being able to say, "Yeah, here's the URL to the gist of Choplifter,"
would be something completely different. The level of accessibility provided
by the World's Largest Runtime (tm) would be unreal.

~~~
cpeterso
If ASCII is the universal, forward-compatible data format, is JavaScript to
become the universal runtime environment?

Every layer of software builds upon the lower software (and hardware) layers
(and bugs). It's like a Jenga tower of dependencies. It would be nice if some
middle layers could be excised/refactored to simplify our technology stack.

~~~
mechanical_fish
If we took out the Javascript layer we'd be down to C, right? We've had
emulators written in portable C for nigh on twenty years. Where's the
challenge in that? ;)

The advantage of JS as a runtime environment is that it's got the most
extensive cross-platform app ecosystem in the world, with a lot of eyeballs on
it. Every new difference that arises between the behavior of a JS engine and
that of its peers is greeted by a hundred thousand screams from the mouths of
a hundred thousand web developers.

Plus, I believe the pain required to get your app to run in all the popular JS
engines is mild when you compare it to the ins and outs of cross-platform C
libraries.

~~~
MostAwesomeDude
Actually, no, beneath the JS layer is the browser, which is a massive wall of
architecture-independent C++ with its own graphics abstractions and high-level
constructs. You'd need to drop another level or three to reach the C layer.

I dare you to actually try SDL sometime; it is far less pain than doing
browser work in JS.

------
petercooper
Tangentially related: Google recently posted a case study of porting MAME to
Native Client (currently a Chrome thing):
[http://code.google.com/chrome/nativeclient/docs/portingMAME....](http://code.google.com/chrome/nativeclient/docs/portingMAME.html)

~~~
textfiles
Very appreciated.

------
textfiles
Jason here, who wrote that weblog entry. Quick comments.

\- Yes, it is difficult in some ways. Easy in others. \- Emscripten is very
likely to be involved. \- It will run slow for some things. That's fine.
Things get faster. \- Yes, this is really important.

I'm at jscott@archive.org if people want to work on it.

~~~
daeken
I've been working on a port of my IronBabel framework (universal emulator
platform) to JS for a couple months whenever I can spare a few minutes.
Designing it properly has been a challenge, but the goal is that _any_
computer can be emulated using it. The focus is on simplicity and handling
common tasks, e.g. generic memory mapping, JIT code caching, etc.

From here, what I'd love to do is this: develop emulators for common platforms
in the _clearest way possible_ (no optimizations -- that can be separate) and
simultaneously document the hell out of older platforms. In the end, you'd
theoretically have a repository comprised of a set of documentation and a set
of "reference emulators".

It wouldn't be fast, but it'd preserve these platforms effectively forever.

------
sp332
If you want to experience what this will be like, there is a browser plugin
called ActiveGS that lets you load Apple ][ and IIGS images directly into your
browser and "boot" from them. <http://activegs.freetoolsassociation.com/>
(examples <http://www.virtualapple.org/oregontraildisk.html> )

------
paulirish
Sounds like a job for emscripten: <https://github.com/kripken/emscripten/wiki>

------
danbmil99
My eyes! All I see is green text, everywhere.

------
AlexCP
Green text on black background, my eyes hurt.

~~~
acheron
Never used a monitor where that was the only option?

My lawn: get off of it.

~~~
mechanical_fish
Let's be fair: The old green-screen monitors had much larger font sizes. Maybe
that was less harsh. Also, I had younger eyes. ;)

Does anyone have an actual Apple II green-screen display (40 or 80 columns, 24
rows) emulated in Javascript to share with us? I found an Apple II emulator
but it only plays games.

~~~
daeken
The shapes on old green-screen monitors were also significantly softer, which
I believe helped readability as well. Small, sharp green text on a black
background is just killer on the eyes.

~~~
nknight
What's your OS?

OS X defaults to much softer font rendering than most systems, and
Windows/Linux can be tweaked (try googling for things like "OS X style font"
or "soft font rendering" with the name of your OS tacked on)

