ASCII by Jason Scott

Jason Scott's Weblog

MAME and the New Emulation Reality —

I’m sorry all my weblog entries seem to be variations of emulation, Internet Archive, Archive Team and Vintage Computing, but that’s kind of all my life is right now anyway. (I’m also editing documentaries, but that’s even less informative. HEY UPDATE FOLKS I AM EDITING DOCUMENTARIES.)

Time to talk about MAME.

logo-mameLike surfing, ventriloquism, or tractor pulls, MAME is one of those subjects that doesn’t invade many minds except in a very specific, very regimented set of pre-thoughts that make up the entire story as far as folks are concerned.

MAME (have you heard of MAME?) is a thing that plays Games.

“Games” in this context means arcade games, but folks just call all software or electronic based entertainment “Games”, and when they talk about MAME, the story gets to be pretty straightforward. MAME is a thing that you install on your system (with many values for “system”) and then you “play games”. It will take you a while to “find ROMs” and make MAME “play games”. As a second layer, some people will work hard (or pay people to work hard) and build an arcade cabinet that has MAME in it and this MAME Cabinet will play games.

End of story.

But like surfing, ventriloquism, or tractor pulls, this reductionism cleaves away a pile of information about MAME and its related projects, as well as a history that itself has rivaled those of the machines and products that MAME seeks to present. In just a couple more years, MAME as a project will be 20 years old. It’s probably time to talk about it for what it is: a lot more than games.

Emulation, like friendship, is Magic.

Depending on how much of a piece of you you’ve invested in these machines, these quarter-sucking demons that lurk in neon-lit rooms, seeing an arcade machine work again in a small screen under your control is an emotional high. Like the first time you’re alone in a city at night or the first time you drive a car without someone in the passenger seat, the feeling is both intense and fleeting, gone into distant memory within a couple weeks. But every person I’ve made an effort to go over it with, especially people who date to a time when the Arcade was a physical place in every town, has that same moment. I know this. This is me.

Arcade games were designed, from the moment they were scribbles in an engineer’s notebook, to when they went through endless revisions of cabinet art and hardware construction, to get your attention. They were made to light up their local space, to beckon you, and to literally attract you like bright shiny metal or a siren’s song. It’s not coincidence – it’s jammed sideways into the machine’s DNA. To make that beloved thing live again, to give you even a fleeting sense of what it once was, is wizardry of the highest order.

mame_logoCalling MAME an Arcade Emulator, at this present day, is like calling the Hoover Dam a bridge.

Buried in the code, code refined over years and by many hands, are the descriptions of machines to emulate, There’s documentation about individual chips, and there’s descriptions of how different pieces go together, handed from developer to developer as needed. Machines in MAME, in other words, are collections of smaller discrete parts. The sound chip that 20 machines share is emulated once and brought in to work as needed. The CPU, the video rendering, the keyboard controls… are are modules and the modules themselves are shared, as well as sets of modules. It’s in some ways ridiculously complicated, but utterly sensible. Some of the MAME developers have spent years doing enormous re-factoring of the code to make it more modular, although some parts continue to be vaguely odd or in non-intuitive places. It is better than it was and worse than it will be.

And it’s flexible. Due to a recent merging with its sister project MESS, MAME doesn’t just emulate arcade machines. It emulates home console systems, home computers, mainframes and minis, and even speech synthesizers and keyboards. Even hard-wired electronic games are making an appearance. The parts of pinball machines that rely on a CPU are being emulated by the dozens – they exist only as squares of outputted LED displays, waiting for bumpers and spinners that usually do not come. In theory, MAME could emulate anything that has a CPU or discrete electronics; a microwave oven, Steve Wozniak’s CL9 remote control, even (in theory) a Raspberry Pi, which itself is known to run MAME.

MAME, then, is so much more than the ability to play Ms. Pac-Man on your tablet. MAME is the conduit by which hardware can become software. It is, ultimately, a saint in C++.

MAMEEngineering in a war zone is one of the most stressful activities a person can take on. When doing so out in the world today, engineers choosing this situation are well compensated, heavily protected, and are informed of both the risks and the length of their duty, not to mention the borders of their requirements.

MAME developers have had nearly none of that.

It takes a certain kind of personality and skill to negotiate a chip or schematic for the operational aspects that need emulation. It is involved work, prone to error and frequent re-checking, and always dealing with the inherent lies or hasty mistakes of companies long gone and buried. It is not pleasant work, and you don’t take it on unless you’re a strong-willed personality who is dedicated to The Mission, where The Mission for you is one form or another of rescuing historic technology and software from certain, utter oblivion.

It is not a personality that enjoys hardline management, or rapid shifts in paradigm, or chasing down the latest fads of development, losing precious worktime to politics or disagreements. The Mission is the dependable, straightforward constant in the code. Is the emulation more accurate? Is the code more efficient, as long as it doesn’t sacrifice the hard-won accuracy? Is the code more simple, except where it’s become inefficient, and maybe also lost the accuracy? It’s a loop, a goddamned loop that never ends.

And it’s a project that never ends; it is said that filmmakers do not finish films; they abandon them. And so it is with MAME developers who, as the years go by, hit a point either internal or external that says that tomorrow will not be more productive than yesterday, and another round of butted heads and arguing positions will not beat the secondary or tertiary projects waiting downstairs. So they fade away, although often not so far they can’t hear the cacophony rage in a variety of web and mailing list locations.

It is, all told, a most unpleasant road to travel, but like many such roads, the rewards are subtle but sublime.

mame-arcade-marquee-stickerNow comes JSMESS, an attempt to port MAME and MESS into a language it was never designed to go, in a way to shove it into browsers in a way it’s not optimized for, and utilizing technologies with paint so wet it smears when you tip the board. It is, in other words, an utter abomination.

It comes from an honest place, of course, or I wouldn’t have spent years cheerleading it. The many fine folks who have dedicated hundreds of hours to making JSMESS (and JSMAME) a reality have been coming from an honest place as well. Some are MAME developers already, and others have schooled themselves in the environment because of an itch to scratch. It is not often enjoyable work.

But the payoff, at least to the JSMESS team, has been incredible – not, as much as it’s been fun, to provide free arcade games to masses via yet another conduit, but to give instantaneous booting of obscure and lost computer software. To bring long-dead and almost-forgotten game consoles a new experience for research and reference, with a single click. And to allow for the shared cultural aspects of technology to live as easily as does movies, music, writing and art.

This situation has not made everyone happy, but it has gotten an awful lot of attention. And it continues to be my strongest belief that in the universal timeline, in the great wash of progress, this aberrant branch of the MAME project has done some good – perhaps a lot of good.

fmIBFrOUp to this point, if you are a bystander who does not code or develop, there’s going to be little else of interest to you in this entry. Please enjoy MAME and respect the effort behind it and the intense love of history the team has shown over the years. Pay them homage when you can, and be sure to write them if MAME has brightened your life or the lives of those you share life with.

If you are a developer or coder, you are either involved with the MAME project and related endeavors, or you are not involved at all.

If you’re involved with the project already, Thank You. I know you don’t do it for glory or fame, and I know that it’s about The Mission and doing right by it. But I realize, even among the team members that question my motives or my approaches, that criticism and skepticism comes from protecting this all-important project that you have given so many years of your life to. I respect this. I appreciate it. I am not doing my part in it all to diminish or demean your work. I’ve been following MAME since 1998. It has always left me in awe. You have too.

And if you’re not involved at all…

retro_mame_marquee_by_mrcwatson-d4vxksmYou’ve traveled a long way through a lot of text to get down here. You’re the kind of intense personality that the MAME project needs. Maybe you didn’t learn anything new, but maybe you’ve also had some rough idea about what the MAME project is and what it entails. I’d like to inform you about several recent developments that make working in MAME different than it has ever been.

First, MAME has moved development to github. This is huge, huge news. Github has so many features aimed for collaboration, verification and contribution. A lot of people have tools and code for working in a Github environment. It’s a big step in a very good direction.

Second, MAME is now working towards being uniformly open-licensed throughout its codebase. This is not just big news, it’s a massive undertaking. Developers who have been gone a decade or more are being contacted to sign off on this move. Even the original developer of MAME, Nicola Salmoria, stepped up to make the change. Developers are currently being given a chance to choose one of several open licenses that are inter-compatible. The previous license, called simply the “MAME License“, was a reaction to a situation where MAME was being repackaged and sold. In attempting to curtail this, the license turned into a somewhat strange fork of a previous license, and has not been updated to keep up with a world of mobile platforms, libraries and references. This new move, while utterly painful and controversial, is going to be a great thing for the project.

Third, Emulation is a thing now. Not just a thing for making a home entertainment system incrementally more entertaining, but a recognized vital part of maintaining computer and software history. Museums get it. Archives and Libraries get it. They get how MAME has been not just making Street Fighter work on a desktop, but has been laying down a vital foundation, one might say the vital foundation, for how the future will reference the past. If you apply your skills to this project, you are doing good for culture, you are doing good for history. Bet on it.

mame_chart_0128There are, ultimately, a rare few of you who will both step forward and have the skills and personality to work on a project of MAME’s intensity. It is not for everyone. It is attempting something very large, and is doing so after living in strange shadows for many years. But this is the time – MAME is as strong as it has ever been, with people in it who are among the most brilliant of their generation. They are tough, they are perfectionists, and they are absolutely dedicated to what they are doing. My hope is that a handful of you out there, reading this, will realize what a rewarding thing it is to be a part of all this, and jump in. I’d write this entry a hundred times over if I thought it would help.

Please get involved.



The Backing Up of the Internet Archive Continues: Hop In —

A little over a month ago, I cooked up a grandiose plan with the Archive Team to back up the Internet Archive, and discussed what that might entail and how one might approach it.

How’s that thing going, anyway?

iabakRemarkably Well would be the best description.

The working group (and let’s be clear – I’m doing the least amount of “working” in the Working Group) has cooked up a bunch of language, procedures, and taken on volunteers at a great clip.

Currently, the system can allow additional clients (volunteers) to join up and be fed the most-needed shards (data sets) and then check on these clients, alerting them after a couple weeks they haven’t checked in, and expiring them out after a month of not checking in, backfilling the lost client’s dataset.

We’ve intentionally and unintentionally punched clients in the gut and watched the system recover. We’ve also added a leaderboard, as well as feedback of what clients tend to have what.

Currently, the IA.BAK system stands at 27 terabytes backed up. To some, this might sound like a drop compared to the vast stores of the Archive, but that’s because they’re looking at it a different way than has emerged during the project’s research efforts.

For example:

  • The IA.BAK project is housed on zero Internet Archive infrastructure.
  • Only data and collections accessible to the public are backed up.
  • Each item is backed up to three separate locations other than the Archive.
  • Collections of items are hand-chosen for historical value/rareness on the net.

The result of many discoveries along the way, these sorts of choices came from discussion, testing, and some very smart volunteers throwing ideas back and forth at each other.

Obviously, having the whole thing not depend on Internet Archive at all quickly became the goal – even the website explaining how it all works isn’t hosted there. As for the public-only, it was important that the project not depend on having some insider access or knowledge (after all, this might be a useful thing for other major data stores). And that three-other-locations thing is murder – we’re already up to almost 60 terabytes of volunteered, shared space.

Finally, the hand-chosen aspect has been particularly enlightening – given this approach to backing things away, what collections would the world truly be poorer for not having? As we walk through the various piles of history on the Archive, the team of IA.BAK volunteers are finding some really wonderful sets, items which could use a little spotlight for the world to check out again anew. This is, after all, both an expedition and an experiment.

The client suite for becoming one of our volunteer storage spaces is now many times easier to use, and a lot of error correction has been built in. We’re not quite to the “space on your laptop or desktop” E-Z install phase yet – it’d be good if your disks were connected to the internet constantly, and if you had, say, more than 500gb free disk space lying around.

The system is built so you can choose to remove a collection you don’t want to back up (and it won’t return) and for you to be able to start using some of that provided disk space for your own uses, just leaving whatever gigabytes you have left for the project. In other words, you can make the same use of disk space that isn’t doing anything like you can use CPU time that wasn’t doing anything for SETI@HOME. We have people contributing half a terabyte drive they aren’t using, while others are going for the gusto and offering tens of terabytes.

So, if this intrigues you, please come visit the IA.BAK homepage, see how we’re doing (after just a month!) and learn how you might help.

A Piece of Apple II History Cracks Open —

The world of Apple II “cracking” has always held an interesting fascination for me – the thinking involved, the magic of tracing programs, and of course the “crack screens” that pirates would add to declare their victory. (Here’s a massive gallery of them that I collected.) I interviewed long-retired Apple II crackers for the BBS documentary, discussing everything from methods to the historical context in which they did this.

If this is your first time hearing “cracking” in this context, I’ll very quickly explain.

A program would come on a floppy disk, and the program, ostensibly, would fill that entire disk. It would also have “copy protection” threaded in the code – routines that would be resistant to copies being made, or even modify how the floppy drive would function to prevent copying. It was quite an art.

It was also an art to go through this code, examine how this programming worked, and modify the whole shebang enough to allow easy copying. In an ideal world, the program would also be modified from an entire floppy disk (I mean, 140k, come on, who has time for that) into a single small file.

Along the way, pride would ensue, with “crack screens” consisting of who cracked the program added to the front. The ballast of inconvenient parts would also be discarded, with title screens, program functionality, and even entire program assets thrown over the wall.

That’s cracking, as it was.

4am is an individual cracking as it is now, and it’s most interesting indeed.

What 4AM has been doing for the past year or so is re-cracking long-dormant Apple II programs with a new goal – to educate and to preserve. This has produced hundreds of new insights into Apple II history, some of which are seeing the light of day for the first time.

This weekend, I’ve now made the vast majority of 4am’s cracked programs playable at the Internet Archive. Some of these disks have never, as far as can be determined, been imaged or copied before in any meaningful way. (Primarily educational programs.) They are rare specimens. They were rare specimens.

In some cases, these programs were out there in the wild, but the “cracked” versions, missing images and pieces of code, were all there were. Now they’re basically complete.

And these are what are called “silent” cracks – they’re cracked so they are more simply copied, not modified with brags and added graphics. It’s as if you’re trying them out the day they hit your Apple II, 30 years ago.

I saved the best for last, for the kind of person who sees the real value in this.

Not content to crack the disks, and modifying the programs in a way that they live as they once lived, 4am meticulously and carefully walks through the entire process of cracking each program. The code, the tracing of boot flow, the missteps, and even the internal thought processes that lead to the solved mystery. They’re magical. And every 4AM item has one.

(Just click on the “Text” file of any item’s file list to read these breakdowns. Here’s one, and here’s another one.)

Some of the common complaint that comes in with the software collections I’ve been helping herd onto the Internet Archive is that the “cracked” version is what’s up – but in some cases, that’s all we’ve got left of the programs. Now, thanks to people like 4AM, we have something more.

Long may they crack.

Some of the items in the collection are not playable in the browser – this is a limitation from the Internet Archive’s Emularity system and not the floppy disk images – they boot fine, just not online yet.

All of the screenshots in this entry link to playable versions of those programs.


Yes, I Want Your Goddamn AOL CDs —

Yes, yes I do.


As you might expect, someone who does a lot of something (collecting) like I do, in a pretty public fashion, tends to get some pretty shiny-polished chestnuts tossed over the fence. The two winners, by a landslide, are:

“_______ 8″ floppies” (a whole variety of statements, from people having them to people wondering if they’re possible to save, the answer of which is yes)

“Hey, are you going to collect AOL CD-ROMs too?”

The answer, also, is yes.

Time to send me your AOL CD-ROMs. If you want to save me some time, image them into ISOs and scan the envelope you got them in and the front of the CD-ROM. But if not, send them to me.

Jason Scott, c/o Internet Archive AOL CDs, 300 Funston Avenue, San Francisco, CA 94118.


I think the big question back is why wouldn’t I try to image and archive all these CD-ROMs that came out of America Online? After all, for some time, half of all CDs manufactured in the world had an AOL logo on them. Like it or not, folks – those things are payloads of history.

You see, there wasn’t “a” AOL CD that went out. There were so many variations, containing so many different add-ons and wrap-ins, that they became time capsules in themselves. So yeah. I want them.

I also want all the CD-ROMs made by Walnut Creek CD-ROM. I want every shovelware disc that came out in the entire breadth of the CD-ROM era. I want every shareware floppy, while we’re talking. I want it all.

The CD-ROM era is basically finite at this point. It’s over. The time when we’re going to use physical media as the primary transport for most data is done done done. Sure, there’s going to be distributions and use of CD-ROMs for some time to come, but the time when it all came that way and when it was in most cases the only method of distribution… in the history books, now.

And there were a specific amount of CD-ROMs made. There are directories and listings of many that were manufactured. I want to find those. I want to image them, and I want to put them up.

I’m looking for stacks of CD-ROMs now. Stacks and stacks. AOL CDs and driver CDs and Shareware CDs and even hand-burned CDs of stuff you downloaded way back when. This is the time to strike.

CDs are still thought of as garbage, as refuse along the lines of thrown-out scrap metal or broken radios. People are chewing them up to make art:


All well and good – that’s the nature of entropy. But let it be known – if you’re one of “those people” who has a crate full of CD-ROMs, it’s time to pack them up and get them to a good home. My good home. We’re going to get everything from the CD-ROM era up and we’re going to make them playable and that’s going to be quite something.

So yeah, AOL CDs? Want them.

Because I want everything.


I Helped Make a Shirt! —

No project is complete without a shirt, and I helped design one for all the emulation going on at the Internet Archive. (My co-worker Jeff Kaplan did the actual mouse-to-screen effort after I sketched out what I was looking for and pointed to the right fonts to use.)

Entitled GAME NOT OVER!, these shirts are now for sale at the Internet Archive Store.

IAtshirt-gamenotover-f-400IAtshirt-gamenotover-f-detail-400IAtshirt-gamenotover-b-detail-400I wanted a simple design to be the case for this – it’s not just about arcade games, console games, or computer programs – it’s a general sense of all the different software we’re bringing back to life. An 8-bit-ish Internet Archive logo on the front draws attention, and the font on the back calls a whole other set of elements from videogaming past.

All the proceeds from these shirts go to the Internet Archive. And of course, when you wear this, you are the coolest thing for fifteen miles.

Here’s that order page again.

My Smarty-Smart Boss, 23 Years Ago —

One of the most inquisitive and detail-oriented members of Archive Team, godane, asked after a file he’d found on the Internet Archive that had been uploaded by my boss, Brewster Kahle, in 2005. Simply called “untitled”, with a collection of seemingly-randomized metadata, this 4 gigabyte video file had been viewed a handful of times (which might not actually mean it was viewed at all) and had sat, unloved and forgotten, for a decade.

I cleaned up and generated web-browsable versions of the video, and here, embedded, is the resulting video file.

(You can also go right to the page for it and look at it that way.)

The interview is a videotaped session conducted in 1992 with Brewster a few months after the creation of WAIS, Incorporated. At the time of the interview, I am a few blocks away from him, living in my Harvard Square apartment. (Neither of us knew this at the time.) Runtime is roughly 2 hours.

Topics covered include:

  • History of WAIS
  • Definition of Wide Area Information Server (WAIS) Technology
  • Early experiments of WAIS-like services; what went right and wrong
  • Working at Thinking Machines Corporation
  • Devising Search Algorithms
  • Early advancements in search (and the roots of search)
  • Relevance feedback
  • The excitement and personal aspects of search
  • Deep overview of the functionality and system of WAIS
  • The issues and technical considerations of transmitting video via network
  • The model of providing services for free to attract users
  • Effects and use of Internet in Politics and Privacy Issues
  • The Markets that Thinking Machines tried to create and open
  • Brewster’s Goals with WAIS (“The Wise Man on the Hill”)
  • Concerns about proprietary protocols versus open
  • Early interactions with Perot Systems and the Ross Perot Presidential Campaign
  • WAIS, Inc. Corporate and Company Structure
  • WAIS, Inc. Personnel and Positions
  • WAIS, Inc. Philosophy
  • Thoughts on the Electronic Publishing Revolution
  • Effects of Electronic Publishing on Traditional Publishing
  • Thoughts on business models and transfer mechanisms in publishing
  • Thoughts on computers and computing technology in the home and home publishing
  • The role of advertising in electronic publishing
  • Concerns with working with government institutions
  • Considering the issues of Privacy in an electronic age
  • The future of WAIS, Inc. (Growing, Earning, Business Model)

Some numbers mentioned in the interview:

  • A “large” government database that was 15 gigabytes, with estimates of searching this database from 24 hours down the Thinking Machines’ 3 minutes.
  • Dow Jones’ Database is 77gb at this time.
  • Dialog’s Database is “close to a terabyte”.
  • The top-end network connection mentioned is a T3, 42 mbits/sec.
  • 56kbits/sec (ISDN) is an “acceptable” connection for interacting with WAIS.
  • WAIS, Inc. has 3 full-time employees at the time of the interview.

Besides the brains showed in the actual discussions, the whole idea of sitting down and conducting the interview is fantastic. Brewster had started this new company, he’s got all sorts of ideas about what search and ‘online publishing’ (what becomes the web) will do to the world, and what part computers will play. By capturing him and his thoughts at the moment, you get a lot of great historical context and thoughts from someone who ended up making millions from selling this and other companies and then using those millions to start the Internet Archive, which is ‘online publishing’ on a scale that would have been hard to imagine in 1992 (but maybe he did).

Not everyone wants to sit down and hear someone be smart on video for two hours, but considering I work for this guy, it was a really nice experience. If you have the time and inclination, check it out. And hooray for people like godane looking through the Archive’s digital stacks.

That Time Archive Team Decided to Back Up The Internet Archive —

iabakIt’s inevitable that Archive Team would try to archive the hand that archives it.

We dump a lot of data into the Internet Archive – hundreds of gigabytes a day. And the Archive itself has a goodly amount of petabytes in its stacks. Thanks to a series of articles and appearances, the Archive’s getting some pretty good general attention. Lots of it. People are amazed, filled with wonder, impressed.

They also tend to ask the same set of questions. Some of them tend to deal with the archive’s “backup plan” or various off-the-cuff engineering questions. It’s natural, I suppose. The Internet Archive definitely has engineering and backup plans; let’s get that straight.

But the idea intrigued me, just because I like the idea of there being data that people recognize is precious (“digital heritage” is still a new and not universal concept) and the inherent power that people felt with the Archive Team downloading projects being applied to storing away additional copies of collections on, not bound by geography, politics or censorship.

So, I kind of launched into the idea of an experiment to back up the Internet Archive. Here’s the initial essay and random thoughts about it. (It’s not required reading.)

What followed then was a miniature storm, with a bunch of people weighing in about how such a thing “should” be done, how impossible it was, good people will die on the beach, etc.

But after a couple weeks of poking at the project with a stick, a working prototype came into being. We’ve been working on it, here and there, ever since, and right now, roughly 10 terabytes of Internet Archive materials are now backed up in at least three geographically separated areas around the world.

More thoughts after the short list of relevant information I wanted you to have.

  • Again, it must be stressed, this is not an Internet Archive Project. Engineers and admins at Internet Archive work all day to make the site resilient. This is 100% separate.
  • We have 47 people/clients helping at the moment. We’re ready to take on many, many more.
  • Here is a page showing the current status of the project. You can see how we add more data, and how we have people worldwide contributing.
  • As the project absorbs and verifies the 3 additional copies of the collections, additional collections are being added. So the more people, the better.
  • If you’re packing a few hundred gigabytes of disk space (or more!) connected to the Internet, and are mounting it using a Unix/Linux variant, read up here.
  • The disk space you contribute need not be permanent – if you need it back, you can delete data in stages and the system will deal with it. We just want to use space you weren’t using anyway.

Again, the startup document for getting git-annex going on your system is located here.

Some thoughts.

First, the resistance and anger from some quarters when I brought this up was unexpected, although looking back, I guess it was inevitable. The idea that it might be done “wrong” in some way, that some attempt to back up the data in an errored approach would be worse than remaining at the status quo, seems to be endemic. Regardless, I strongly believe you need something done to be able to improve it, so we’re pushing on.

Next, the way to back up the Internet Archive is not to back up the entire Internet Archive – it’s to move forward, incrementally, playing the game of “what is in here that’s almost nowhere else and the world would be rather poor for it being going”. In that way, we go for more of the “historical usenet” and “old time radio recordings” than, say, a random 1990s dance music collection. That said, as things go on, and if this experiment is successful, the dance music will get gathered up as well.

Finally, what I like about this experiment is the amount of learning that goes into it. I like being on the ground, asking the questions that need to be asked – how big exactly is the whole thing? What sort of problems occur when you’re tracking petabytes of data to back up? How how disk space is floating out there, unused, looking for a purpose, even if only temporary? What constitutes vital digital heritage? Finding out answers to those questions, getting the answers down, talking about what the whole thing means – that’s where learning comes from.

IA.BAK – it’s the best thing you could be doing with unused disk space.


Behold the Emularity —


When, exactly, is the right time to introduce some new program or technology? What if, as is often the case, it is not quite 100% done or fully tested? Do you hold back until every corner has been sanded, and every surface sanded to a shine? Or do you put it out, splinters and smelling of the sawmill, and let it be finished in the open?

Well, now you know my opinion.

Announcing, everybody, The Emularity, once a simple name for a post on this weblog, but now its own piece of open-licensed software/scripts. I’ve been working with our lead coder on this project, Dan Brooks, for a number of months on this thing, and while it has a fairly spectacular and intimidating learning curve, I think it’s set up well enough to justify handing it out.

Consider The Emularity to be in a Beta state.

If you’re not in the mood to play around with a still smoking script package, then hold back and wait a little while until the Emularity is in better shape as a distributable. Oh, make no mistake, it works and works well. But there’s still some pieces to iron out and documentation to write, along with examples to help you.

Have I dropped enough caveats and warnings? Great.

The Emularity came about because while the Internet Archive has this wonderful collection of tens of thousands of software package (and it will continue to grow it), the fact is that the methods and programs used to bring in-browser emulation to you shouldn’t be locked away. They should be freed up, given away, and provided for others to build on, improve, debug and assist with its next level of adoption: Worldwide.

With this software (and a bit of noodling), you can now run emulation for anything, anything, in the realm of JSMESS, JSMAME and EM-DOSBOX, which are the three main Javascript emulators running at the Internet Archive. In fact, as the Emularity page shows, we have provided three sets of javascript emulators, already compiled and waiting, that you can just drop right in along with the acquired software and just have everything run.

Let’s say it again:

We Just Made In-Browser Emulation Ubiquitous, Peristent, and Easy.

People are figuring out how we did the work with the in-browser emulation at the Archive and there’s certainly been a handful of people and sites that went off and cloned things and tinkered enough to get them running on their own machines. Bravo. Always wanted that.

But The Emularity is the attempt to make it so simple, so very effortless, to install an emulator for the software/console/machine of your choice and just have it run – in a local file directory, or a website, or file server in your school or office. Nothing less, in other words, than turning emulation into something that you can do as simply as you might drop a .ZIP file into a directory.


Because it’s time.



After a year plus of life with JSMESS and its variants/cousins, it’s time to increase the audience even farther than it has been. To make it so that contributions to Emularity, or the JSMESS/JSMAME projects, is rewarded with your work being able to spread worldwide. It’s no secret – our projects need people, smart people, who can look at the work we’re doing with our loader and the .js files that the emulators consist of, and go “Oh, I know how to make that run twice as fast/twice as responsive” and contribute those improvements.

I’m asking people to come in, work with the Emularity, complain about this aspect or that aspect, improve it, and contribute back the improvements. I want people to wander over to the emulators themselves and help us find ways to speed them up, to optimize the code/compiling so the system requirements for the best sound and performance is much lower than it’s been up to this point.

It’s working. I want it to work better. And I want it, just like all the rest of the volunteers who’ve given countless hours to this project, to work everywhere.

Let’s do this thing.

Let’s celebrate the dawn of the Emularity.

Lazy Game Reviews: The Lazier Response —

In January of 2015, Lazy Game Reviews, a site dedicated to reviews of retro and historic video games (especially of the DOS stripe), reviewed the Internet Archive’s MS-DOS Games Collection that was making a bit of news back then.

It was…. mixed. Here’s a link to the video of the review.

I didn’t see much point in responding at the time, especially in the Hellmouth of Youtube Comments, but we’ve had a few months with this MS-DOS emulation out there (and a year of console/other computer emulation before that) and so maybe it’s just time for me to respond to some of the more salient points in the review, in no particular order.

So, here they are, lazier responses to a lazy review.

  • “I already use DOSBOX and have most of this.” – The purpose of doing in-browser emulation is not to compete with people who are the types of personalities to go through installing emulators on their home system, or who collect scads of old programs to play in those emulators. What it does do is provide instant access to old programs, for a massive variety of platforms (not just MS-DOS, but over 25 in the Internet Archive system, not counting the arcade games), and most importantly, keep access to the most obscure and edge-case programs that even the most strident hoarder would think twice about keeping around. Yes, you can play a DOOM clone or a famous Role-Playing game, but you can also try out a pregnancy calculator, a US Savings Note Valuation program, or an Exercise Bike Companion. Which if the standard emulator user was keeping on their hard drive, I’ll dine on Roast Chapeau tonight.
  • “Other sites have done this.” – Other sites tend to have Java plugins, Chrome or Firefox extensions, or similar requirements to install extra “stuff” into the Browser. Spoiler alert: People are doing that less and less, having been ultra-burned in the past. And in many cases, these sites provide you with rich, beautiful ads to accompany your program use and browsing. Some even do some roundabout amount of charging. The goal from the beginning was ‘one click, and you’re there” with the Internet Archive experience, and we’ve generally done that. It’s a little difference, but it does make the world.
  • Some of the games are broken. – Some were too fast, some didn’t work in the emulator quite as expected, and some just crashed. Over time, I’ve repaired what people have brought to my attention, or removed the program if it’s just not working deep into operation. We have 3,400 programs in the MS-DOS collection alone – it needs people reviewing them to know what’s up. Since the review was written, things are much better and will continue to refine.
  • There seems to be zero quality control – Guilty as charged, in so far that I simply snapped in a wide variety of at-reach software examples to put into the collection. Over time, some have been swapped out and some have been improved, including machine settings, or discovering superior versions of items. The entire collection was snapped into place by, essentially, a single person. Again, it’s gotten better in months hence as feedback has come in.
  • How long will this be up – A while to come, apparently.

People who read my stuff on this site have heard this before, but the fundamental intention with all the JSMESS/EM-DOSBOX in-browser emulation was to turn the experience of computing into a truly embeddable, referenced object. To say to you, as I can do right here, that there’s this completely weird pixels simulator someone made over a decade ago, and then have you click it and you are right there trying it out instantly, is the new world that I’m talking about bringing in.

Or maybe this interesting use of 167k of data might impress you. Or running a benchmark within the emulator, on itself. Or running a very early PC demo.

The point is, that’s what this is all about… not just about how better or worse it can play a specific game, or who is doing what out there in the realm of providing a free arcade. It’s about making software playable. Really old software. Really playable.

And if you want to define the last 3 years of work on this, it’s been anything but lazy.

The Springtime of Internet Archive V2.0 —

Here’s what Internet Archive did really well for a decade and a half: provide old webpages, and give fast and simple access to millions of items ranging across all kinds of media.

Here’s what it did not do well: change the website.

For years and years, the site looked very much the same. You can verify this, well, on the Internet Archive’s wayback machine itself. Here’s the website in 2004. Here it is in 2014, ten years later. (Go back earlier and you realize it’s different looking only to reflect the fact that people didn’t have monitors that went over 1024×768.)

Now, if you’re going to have to choose between “be pretty and follow website trends” and “save the goddamned data”, I think the choice made is pretty obvious, and that’s what the site did. And did well! You can look at data uploaded long before Flickr, before Youtube, before Facebook.

But believe me, it always galled me when people would link to things at the Archive, amazing and wonderful things, and they felt they had to apologize for the look of the place. The look, and more importantly the back-end structure of the presentation of the look, was locked in the past. Let me rush to say that gazillions of patches and upgrades were applied to the site over the years by the very talented development staff, but there hadn’t been a bottom-up redesign, one intended to reflect the modern realm of technology and information.

In 2014, that changed (really, it started in 2013), and the redesign of what’s called “Version 2” or “Beta” became available to the masses.

Now it’s generally available. In some places, it’s the default.

Now I’m going to tell you to use it all the time.


For a while, I’d swap between Version 1 and Version 2 as my needs were required. As of this year I stopped using Version 1 entirely.

The story of creating and designing V2 is not mine to tell. Much more involved and talented people were responsible for this, and I’m sure they’ll tell the tale as time permits.

No, I’m just going to tell you, again, to use it all the time.

Getting to it is easy – it either offers a lot of people the chance to “Try the Beta”, or you just visit and it will swap you into the new interface. (You can “exit” it in the upper right, if it’s all too much for you.)

What hits you, first, is how much more visual it is. Yes, there’s settings to go back to a “list” mode, and there’s places where there’s “just” some files so you don’t get pretty previews or informative screens. But for movies, music, software… you can see, in large tiles, what’s going down in a collection. And individual items, be they newspapers or television, have great preview frames that tell you instantly what’s down there.

Going over to the MS-DOS Games Software Collection, for example, you are literally beset upon by the wild colors and names of the MS-DOS era. Tapping a picture, you find yourself looking at a preview of the program, and a clear button to start the fun. It’s really easy.

Searches are more robust and allow clicking around to what you’re looking for. The site is responsive, allowing you to move to different widths (and platforms) and have the site adjust to the aspects of your browser. The Archive now knows what social media is. And the thing is…. it’s not done.

It’s not done by a long shot. And that’s the real magic, for me, knowing the work that went in to make this the case.

You see, the back-end was completely rewritten from the ground up while not touching the data that it’s presenting. The whole codebase shot up into the present day. And with all that time and innovation has come the ability for new features and modifications to arrive with 24 hour turnaround, instead of a nightmareish ballet of negotiating legacy code. It’s a new dawn.

I have really had a great time working at the Archive for the years I’ve been there (yes, it’s been years now!) and with this newest interface, things are just a solid joy to work with. Sure, it’s meant a lot more work to make sure everything has good previews and that descriptions are everywhere, but that’s the kind of work that I love doing, so things got nice indeed.

I’ve gushed enough. V2 is the future. And the future is rosy indeed.