ASCII by Jason Scott

Jason Scott's Weblog

The Internet Arcade: And Where Are You? —

Yes, that’s right, three Internet Arcade posts in a row.

I usually like to mix things up, but the world is very quickly going nuts over the introduction of the Arcade. Hundreds of thousands of people have played the games in it, it’s been featured in dozens of sites, and it’s even hit TV news in a few markets.

B1hYwH-CQAAb5_f

It also (temporarily) crushed the Internet Archive servers, mostly to my putting up a relatively inefficient page and causing a few components within the system to work too hard. After an excellent and inspiring set of actions with the administration team at the Internet Archive, the hits haven’t stopped by a long shot.

render

So, this is great – hundreds of thousands of people are playing the games, the word is out that Emulation is Just Another Thing, and joy has come throughout the land.

However.

Putting up 900 arcade games, 2,300 console games, and 25,000 software titles means I didn’t get a chance to, individually, check every single one. And while I and the many people helping with JSMESS did our best to make stuff work right and fail gracefully, there’s a lot of browsers out there, and a lot of system configurations, and a lot can go wrong when you’re running, say, an entire arcade game inside a window of a browser.

This whole thing’s a proof of concept – a very public, very popular one now.

I am now making a call for you – yes, you – to help with the next round of improvements.

I need:

  • People willing to enter descriptions of games. Just the describing of games turns out to be a long-term thing – with the hundreds of Arcade machines, there’s entries that can be grabbed from (and should be cited), but I am actually kind of shocked that there are plenty of games that are not in any way online and described – there are games that MAME (and therefore JSMESS) emulate for which there appears to be really no canonical paragraphs about. We need those badly.
  • People willing to help smooth out the code. I mean, sure, I’d love if people helped reprogramming MAME/MESS itself so the improved emulation would be transferred over to JSMESS – but in this case, I just mean things like loader code (javascript) which could be more resilient, as well as better error messages for when things go wrong. Do you think you could help with that?
  • People willing to help describe idiosyncratic aspects of these games. Some of these games do not go gently into that good browser – games like Defender and Street Fighter have crazy amounts of keys and could really stand someone to at least document them where possible.

I’m sure we need even more people, but will you be one of the people who comes forward to help with this, to make it better? We’re doing fine on the people playing the games department – that thing’s sewed up. But now we’re building the largest virtual and playable collection of software. Can I get your support?

If you’re interested, either come to #JSMESS on EFNet (IRC), write me at arcade@textfiles.com, or hit me up on twitter, or … well, just scream out a window.


So, You Found the Internet Arcade —

Woo hoo.

Soon after my initial announcement on this weblog, a few tweets of the posting, followed by some press attention, means tens of thousands of people have now visited the Internet Arcade. Many are happy. A goodly amount are stunned. A few are annoyed and wondering why it “doesn’t work”.

This quick post from a plane is for the last group, who are having issues. Hopefully this can help clear things up for you.

Browser Choice

First, the Internet Arcade works best in Firefox, and a very recent flavor of Firefox at that. If you needed an excuse to upgrade, this is it. Chrome also works well, although due to disagreements between Mozilla and Google that bore me, Chrome runs about 20% slower on average. This can mean the difference between good and clunky emulation. Safari, mostly recent Safari, works good but sound does not currently work on it. Same for Internet Explorer. Believe it or not, I’ve had great response from a 64-bit Windows version of Firefox called Waterfox. As they say, your mileage may vary. We continue to improve this experience and we’re constantly doing fixups to the code to work with other browsers.

People occasionally complain about the irony of how you need the latest and greatest to run such old stuff. Well, you’re really running an emulation system that itself is running an old system, and that emulation system is in a browser. Let’s call it even on the “why is it so intense” issue. Work continues to make it run as best as it can.

Controllers/Gamepads

This is entirely un-intuitive. I’m sorry about that – we’re going to make it clearer soon. Basically, you need to start a game, i.e. after the MAME logo goes, and you see the game booting, and then you hit keys on your joypad until it says “joypad detected”, and then you need to refresh the browser. The Gamepad API we use is somewhat janky, and it takes a while for the browser to “get it”. Also, only Chrome and Firefox currently support the Gamepad API meaningfully. So again… start game, wait for booting, twirl buttons until it notices, then it will generally work for all the games you click on after that.

Another issue, if you live with the keyboard controller, is that MAME wants to use CTRL, ALT/OPTION, and a few other wacky keys. This comes into conflict with MacOS especially, as hot keys and accessibility come from combinations. There are two solutions, both are annoying. One is to Press TAB after the game starts, and you can go into a menu and change the keys… problem is, you lose these settings currently after you refresh the browser. Another solution is to go into your OS, make a guest account, and make that account not have hotkeys – that worked fine in OSX and in Windows for us. As this expands out into other setups, I’m sure other solutions will present themselves.

Sound

Sound, like Gamepads, is a little strange. It starts out muted by default. This is because the way the Webaudio API works is really poor, and you can thank Mozilla AND Google for that one. They claim they’re going to make it better. But here, you have to start the game, wait for the booting of the game, and then hit the UNMUTE button. Then you (you guessed it) refresh the browser to make sound work.

The good news is, once you set this cookie, it’ll have sound for everything. The other slightly annoying news is that that Webaudio API thing means that sound can be really fuzzy and crackly on a browser, and doing anything with a lower-powered machine (including, with some of them, even moving the mouse or swapping tabs) will get that fuzziness. I get it too, especially when you’re running a post-1983 machine in this emulator. As I’ve said to people testing it the past few months, when it works, it works great. When it doesn’t, hoo boy.

Credit Where Credit is Due

As this thing busted wise, it gets way too easy for people to report that “Jason Scott” did all this. Jason Scott by no means did even a notable percentage of this. JSMESS is a port of the MAME/MESS emulator. JSMESS, (github repo is here) was the work of a huge amount of people, listed there and on the JSMESS main page. And MAME/MESS has its own massive, massive collection of people who are working on the actual emulation, coding, driver refinement, and related coordination to making the most comprehensive emulator system on the planet. Every single time that this project has broken wide, some places don’t do a good job of reporting on the amazing nearly-20-years project of MAME/MESS. So that we’re clear.

I’m sure there’s other questions, or considerations. That’s some of the stuff that comes up.

Oh, and if you get a blank screen in the window…. did you turn off Javascript? Javascript MESS likes Javascript for some reason.

 


The Internet Arcade —

When work began on JSMESS a couple years ago, I knew that it was probably somewhat easy to do all this conversion work for MAME (the arcade side) as it was for MESS (the computer and console side). I specifically chose not to, because I was not interested in a pile of work just to make another game platform. This was about software history, and it’s not that hard to get MAME up and running for the game or games you want to play.

Over the next few years, we got JSMESS working, and working pretty darn well – in a lot of cases, you can boot into a wide range of computers in your browser and it’s working great. There’s hiccups here and there, and we have work left to clean it up, but on the whole.. the proof exists. You can browse the historical software collection and the software library and wow, thousands of programs instantly there!

So, earlier this year, I decided to futz around with our build environment (which, it must be absolutely stressed, the other JSMESS team members built, not me), just to ask the question, “And how hard would it be to build arcade games, anyway?“.

It turned out to be easy. Very, very easy.

Months of testing, refinement, improvements and efforts, and this week I have announced the result: The Internet Arcade.

desktop-arcade-1014-de

Of the roughly 900 arcade games (yes, nine hundred arcade games) up there, some are in pretty weird shape – vector games are an issue, scaling is broken for some, and some have control mechanisms that are just not going to translate to a keyboard or even a joypad.

But damn if so many are good enough. More than good enough. In the right browser, on a speedy machine, it almost feels perfect. The usual debates about the “realness” of emulation come into play, but it works.

This is the week it’s been dropped. Not a huge announcement (unless you count this weblog entry), no parties or fanfare beyond, yes. There it is:

http://archive.org/details/internetarcade

So then begins the question that I ask myself more and more in this endeavor: Now What?

Obviously, a lot of people are going to migrate to games they recognize and ones that they may not have played in years. Games are good to play at especially if you are earning a fortune out of it, playing in a top rated casino will give you a feeling of satisfaction and greatness. They’ll do a few rounds, probably get their asses kicked, smile, and go back to their news sites.

A few more, I hope, will go towards games they’ve never heard of, with rules they have to suss out, and maybe more people will play some of these arcades in the coming months than the games ever saw in their “real” lifetimes.

And my hope is that a handful, a probably tiny percentage, will begin plotting out ways to use this stuff in research, in writing, and remixing these old games into understanding their contexts. Time will tell.

Until then, game is on.


The Software Library —

It’s been time to make vintage software accessible. That’s about to take a great leap forward.

635090727940420469

Last year, it was the Console Living Room, where running versions of 21 different game consoles were put up. That’s been up for basically a year (although it started at around 11 consoles, which were added to over time). In that year, hundreds of thousands of people have played the games at least a million times. (The Internet Archive absolutely does not keep user logs, so you have to run estimates and do some arithmetic.) I find people stumble on it, or get linked to it, and they flip out. I’m all for that. The point was to turn the vast majority of console history into a clickable, instant experience, and this does that.

As I’ve said before and will say again, the nice piece with JSMESS is that general or specific improvements to its porting of MESS/MAME, as well as improvements to MESS/MAME, are cascaded down into all the programs and platforms that JSMESS deals with. In other words, get ye to github and browse the repositories for JSMESS and MAME/MESS.

Anyway, preamble aside, it’s time for the next round, the next level. And as always, I need your help.

I’ve been working for most of this year on something called, simply, The Software Library.

Not the current Software Library Curator

Not the current Software Library Curator

It’s meant to be for home computers of the 1970s and 1980s what the Console Living Room is for game consoles. This is a huge, huge leap forward in software preservation, and the experience of accessing this software.

I was originally going to do a large amount of home computers, but I quickly realized this was spreading things too thin. So I instead went for three that JSMESS does pretty well: The Apple II, the Atari 800, the ZX Spectrum.

Between these three platforms, the Software Library has 24,000 items in it. So it’s already coming out into the pre-test gate with 10 times the items as the console living room has gotten in a year.

This is obviously too much for one person to curate. That’s why I co-created the Screen Shotgun – how else could you slam through all this stuff and even begin to get an idea of what you’re looking at?

And at this moment, there are keys that are hard to hit, especially on the Atari 800 and ZX Spectrum. I’m blasting through a prototype virtual keyboard that will pop up on the screen and allow you to hit crazy keys directly.

Anyway, these are the first few halting steps towards the full intended goal, which is to put up all microcomputer software. All of it.

All of it.

It’s ambitious and potentially insane, but that’s worked out for me so far.

So, what can you do?

Well, imagine a major museum going online all at once. Imagine an empty warehouse booting into National Museum in a week. (Imagine the sound that would make. Probably something like this.)

There’s just no way for me to track down the historical relevance of all these items. I can’t concoct the paragraphs of description, the clarification of what the software is, the context, the tags… I can do a little, but one person isn’t enough. It just needs an army.

I’ll be frank. Attempts to crowdsource metadata entry, even with a personality at the helm burning with the force of a thousand suns, is pretty variant. It usually comes down to a very small handful of folks who just kind of like it. It’s a very specific personality type – I don’t think there’s many people like that.

I believed strongly, and continue to, that archive.org is now the largest downloadable library of software in the world. What we’re now becoming, with the addition of this new material, is the largest instantly-runnable vintage software in the world. And that’s quite a feat, and something to be proud of.

But as emulation fades out of Miracletown and wanders into What-you-got-next-ville, it’s going to be metadata, curation and context that turns it into something other than the world’s largest floppy case. So I’m asking you to write me or contact me about helping as this library grows and refines itself. As we try experiments with crowd-assisted classification, try to be there. And if you see something playable on this library, write about it, cite it, link to it. That’s when it comes alive.

So let’s see what happens.


Making Historic Software Eternal —

Update: Ultimately, the grant was not accepted, although it was a really important process to describe the importance of JSMESS and the rest of the related projects, and more grants will be applied for. Thanks for everyone for their encouragement.

At the urging of the grant-writer for the Internet Archive, I have submitted an application to the Knight Foundation for a grant for further development of JSMESS.

Making Historic Software Eternal

jsmesslogo

 

This is just the first step of a multi-step process (although this one needs you the most of all). Over the next couple of months, I have to discuss the project and plans for it with their judges and readers, and promote the core ideas of what this whole thing has been for. If it all comes together, a grant will be issued to the Internet Archive for the project.

logo

JSMESS has come an enormous way – it basically works. You can choose a piece of software in the Internet Archive, say a copy of Mystery House for the Apple II and click on it and there you are. It works with all the major browsers, although they have to be pretty contemporary (the last year or two) to work well. Firefox is significantly faster than Chrome. But sound works (if your machine is fast enough), and it’s compatible with USB joypads, which is more surreal every time I do it.

It’s a major, unquestionable success.

At its core, however, JSMESS is essentially an involved port of MAME and MESS, two projects that have had hundreds of contributors and many thousands of hours dedicated to them by volunteers. The functionality and approach to these programs have been to bring into software form the hardware aspects of thousands of machines. This is a miracle and it’s a wonder to behold what MESS and MAME are, when you really go over what it all does and how it does it.

The Internet Archive has gotten behind this in a very big way, dedicating resources (hardware, software, networking, and me) to bringing JSMESS to where it is now. It has, in my opinion, been very beneficial to both parties – MESS/MAME get another end compiling point and platform (the web), and Internet Archive can begin to make hundreds of thousands of software packages available instantly.

fd5432f8-eeab-bd54-a720-78ab5ef1f77a-banner

What this proposal does is ask for a grant to increase the amount of people working on this project. That includes making JSMESS run faster (by finding optimizations that could be conducted), on more platforms (making it more aware of mobile, or other browsers), and to go and audit/augment MESS/MAME (by having a person or persons work on the more “boring parts” and continue to improve it). It can also allow archive.org to work with acquiring equipment or software that should be ingested, and so on.

Internet Archive is a non-profit library, and this grant is for libraries and to improve the world’s libraries along access and technology – I can think of no finer fit between goal and project than JSMESS, which will allow libraries the world over to turn computer history into a clickable link.

There’s just a few days to show approval, ask questions, and respond to the whole thing – then it goes in for study, voting, and the rest of the process. Feel free to get involved in it – that’s what it’s there for.

Time for the next level.


The Mirrorball —

I’m probably going to regret posting this, but I deal mostly in regret and nostalgia daily, so it’ll all be just fine.

The Thing is now everywhere online. It’s absorbing everyone, every place people begin to talk about any aspect of people. I can’t think of a social interaction space of any part where it’s currently not in full rage. But I am not interested in The Thing. I’m interested in a specific vector of The Thing, which is (as far as I know) not quite explored, and appears to be a syndrome of the chicken-coop world the “online-ing of everything” is causing.

I am not using any specific words because that is how The Thing gets in and it is less about The Thing than what The Thing happens to be finding in the weakness in human beings.

Back in my heady days of Wikipedia Critic At Large, I was also fascinated with how Wikipedia was a dark mirror that held up to us the very fundamental issues of our souls. How an attempt to create a politics and drama-free zone for information retrieval simply became a vacuum that was absorbed by the warring factions of Inclusionism and Deletionism, a place where agendas over stories that were at utter odds with each other were expected to live in the same space, and where the wonkified and self-absorbed of petty tyrants could run free as long as they spoke just the right language and used the right phrases to describe their extension of power. This was all activity that had been in effect for all of civilization, with some industrialization of that effort in the 20th Century – it was just out in the open and being provided an intense laboratory environment in Wikipedia.

To describe everything Wikipedia has shown us in terms of information manipulation, techniques for controlling the message, and the power of persistence over truth or knowledge… that’d be a book. A book I’m just not going to write, thanks very much.

But outside of a few angry forums and a couple excellent articles, Wikipedia’s situation was confined largely to Wikipedia itself – if you step in there and walk the hallways of the talk pages or read the mailing lists run by the Wikipedia organization, it’s all there and affecting people in that space but not, say, every weblog, every Facebook, every comments section, every moment of online life.

Not so with The Thing.

If I appear to be talking about this all in a very strange manner, it’s because The Thing is so virulent, so intensely catastrophic in terms of interaction with it, that the chances of it blowing up in your face are beyond extreme. But let’s try anyway.

When you point at the moon, a person will look at the moon, and a dog will look at the pointing finger. Please be a person in this.

Here is my theory.

  • Generally, as a person, you do not like to see the oppressed oppressed.
  • Generally, as a person, you have a limit at which you feel you must speak.
  • Online life lowers this limit below the floor, meaning all things need you.
  • Online life also conflates issues and people, equating them in language.
  • Issues tend to actually be groups of issues appearing, from the distance of outside circumstance, to be the same big issue.

And then this happens.

  • If you witness a group of issues, some relevant and some irrelevant, you will feel a need to respond to the relevant issues.
  • If you witness someone responding to the relevant issues of the group, you will think they are responding to the group of issues.

The exploit, taken from this, is then clear: Group up a bunch of issues (Apples, Oranges, Watermelons, Rat Poison) and then people who show concern about the Rat Poison will seem to be showing concern on Apples and Oranges. And people who are supporting Apples and Oranges could easily be mistaken for supporters of Rat Poison.

Once that spark hits the kindling, it’s over. Human foible, language, and attention to detail that can only come from the online world, combined with the reaction time of milliseconds, a single click, ensure the fire can burn forever, consuming all in its path.

Like I said, I thought of Wikipedia as Humanity’s Dark Mirror. I think this new Thing is a mirrorball, a globe of facets that are bound to reflect what you are looking for in your direction, and aim a distorted, skewed image of a hundred other things that will catch your eye as well, and beg you to do something about them.

Once in, you’re in. Maybe I’ll be in now. I hope not – I’m really busy as it is.

Here’s where, having framed the situation as best I could, I propose a solution.

I have no solution.

I am stumped.

I loved my little world on the telephone as a teenager – I saw possibilities and dreams far beyond my youthful sadness and isolation. I wished a world where every moment, I could reach out to other people, talk into the day and the night. I wished that I would never again know the silence of my own heartbeat and fears of a life ending without having known all that could be known. I wanted connection and interconnection, worldwide.

I appear to have gotten that.

I am afraid.


The 8-Bit Generation Reboot —

Back in 2012, I wrote an entry called 8-Bit Generation: Missing in Action, in which I described and lamented a seemingly lost and impeccably filmed documentary called The 8-Bit Generation.

logo-nero

And on September 13th, 2014, on my 44th birthday, I was able to show an audience footage from the series, along with interviewing the producer of the film, Bruno Grampa, who had been flown from Milan for the occasion (the XOXO Festival in Portland, OR). I also had extensive conversation with the creators both in e-mail and in person at the event.

Here is VERY ROUGH AND GENERAL INFORMATION that I will pass along to you, and which will get more details in the next few months.

  • The work is real – there are 55+ interviews with a whole range of amazing characters from the story of 8-bit computers and videogames.
  • Some of these people, like Stan Veit and Jack Tramiel, are no longer with us.
  • They have major amounts of the work edited, and some of these sequences were shown at XOXO, showing how they tell the story about early computer technology and the industry.
  • The sound and video is impeccable, just like the trailers. Zoe Blade did a lot of the music.
  • The company/production house that did the filming and editing went out of business, more than a dozen people lost jobs.
  • The rough plan is to do a crowdsource raising of funds, finish a full-length documentary, and then hopefully go from there to make a series.

Now, I’m not involved in the production or creative direction – I’m just someone from the sidelines who saw a chance to help a production in need. Still, I’m going to help where I can.

People paid in money and got nothing – including me. Rest assured, nobody is living high off that money. Folks went basically broke. Now, with support and a recognition of the unique material, they are going to try and bring it back for release.

I’m sure there are questions, demands, anger, delight. I expect the production team to provide more information in coming weeks and months. I’ve connected them with some potential good folks to help with some of the things they need. I’ll be there as best as one can be.

However it goes, the effort is being made. Nobody wins if this thing disappears. Here’s hoping.

200144-header

 


Statement by Jason Scott on Archive Team —

archiveteamlogo

In 2009, I proposed the idea that rapidly-shutting-down websites should be quickly downloaded and saved by a fast acting and future-minded group of web archivists. I called them the A-Team, or Archive Team, and said they’d be the last resort for online history that was otherwise doomed. An unbelievably huge amount of web history had been deleted by that point, subject to capricious whims of startups and dot-com tomfoolery that resulted in quick shut-offs.

A good number of people had this proposal resonate with them, and they volunteered time, money and effort to making this team a reality.

In the interim years, I have done dozens of appearances, interviews and statements regarding the goals and ideas of Archive Team. With my skills in public speaking and a willingness to stand in front of crowds, I’ve been the face of Archive Team to many people. I’m still involved with the project daily, and provide advice, make connections, and do whatever else I can to help with the goals of the Team.

BXY-RPOCMAImCm9In 2011, on the strength of a talk I presented at the Personal Digital Archiving Conference, I was hired by the Internet Archive as a free-range archivist, working with the non-profit on a huge realm of projects. Some of these have been internal efforts and some have been widely public, like the collection of software or preservation of various musical archives.

All of this brings to bear a very important distinction:

Archive Team is not an Internet Archive Project, and I am not the owner of Archive Team.

Archive Team has no offices, no phone number, and a website that is a wiki that any reasonable person or team member can edit. While I am a (generally) beloved figure who is appreciated for his public speaking skills and snappy dressing, Archive Team has collectively disagreed with me and some projects have been approached completely different ways than I would have approached them.

The Internet Archive does NOT take every single bit of data Archive Team produces (although they take the vast, vast majority) and Archive Team is not “paid for” or “owned by” the Internet Archive in any way.

As the saying goes, if I was hit by a bus later this afternoon, Archive Team would be very sad, but would get back to work by the evening. The early evening.

While I am pleased that the Team listens to my opinion as much as it does, there have been projects and efforts that were started, refined, and producing output long before I wandered into the communication channel. While my presence is then acknowledged, the Team has continued the given effort as it would have anyway, preserving and rescuing online history from total oblivion for the good of society and future generations.

Archive Team is an idea, and the idea is far beyond me or even the Internet Archive at this point. I expect this to continue.

Meanwhile, I have been actively avoiding the front of buses.

Thanks.


OASIS at SXSW: An Asking Thing —

Every time I’ve spoken at the South by Southwest Festival in Austin, Texas, I’ve always had someone else arranging all the details, including the panel and the attendant responsibilities of getting it to pass muster. This time, however, I’ve put together something neat, and the process needs, nay, requires you to really get out there and pound the pavement.

I’m a busy person and endless pavement pounding is not my usual deal, but if you are so inclined, and since the deadline to vote ends within a week, I’d like to call your attention to the SXSW “Panel Picker” and a proposed on-stage conversation to be held between two very odd retro-oriented folks.

Here’s the full information:

http://panelpicker.sxsw.com/vote/38216

In Ernest Cline’s novel READY PLAYER ONE, the world’s population spends most of its time inside the OASIS, a simulator and ultimate operating system that provides access to an endless amount of games, videos and media to the world. At the Internet Archive, a non-profit dedicated to open access to as much content as possible, a new in-browser interface allows instant access to tens of thousands of microcomputer programs, console games, and emulated vintage hardware. Author Ernest Cline and Internet Archive’s software curator Jason Scott discuss the similarities between OASIS and the Archive, the consequences and results of a world with endless vintage computing access, and what parts of the 1980s they’re working the hardest to save.

It’ll help if you have read Ready Player One, so there’s Ernest Cline’s page about it. It is a fun novel about a world where, among other things, endless amounts of old videogames are available.

It’ll also help if you are aware of the Console Living Room, a project I’ve spearheaded where, among other things, endless amounts of old videogames are available.

The SXSW system made me go through an enormous amount of hoops to get into that panel picker. They have a very large amount of things you have to read and describe, and it appears that having a panel of a guy from Austin (Ernest) and a guy from NY (Me) throws us a few rungs back, but my hope is the surreal experience of a book coming true and what that means for the world at large, will overcome that.

The deadline to vote is at midnight tonight. I couldn’t bring myself to do the massive amount of canvasing to beg for votes that I think is being encouraged. So my hope is you will vote if you want to, and if not, we’ll figure something out. Ernest and I have a mutual admiration and I look forward to doing stuff with him in the future.

Anyway, vote before Midnight, or leave a comment, or whatever floats your 1980s-loving boat. Thanks.


The Need for JSMESS Speed —

This is another call for help with JSMESS. I promise you that I will get back to more general computer history soon, but this project is really important and changing the entire paradigm of how software is presented is pretty high up the list right now.

I also know this description of the issue and then calling out for help can get pretty repetitive, but the combination of javascript conversion, browser interaction, and the entire MESS/MAME project itself means there’s all sorts of strangeness happening in the gaps between.

Let’s focus on the good part first… This program works very well. Almost miraculously, it will run a whole variety of software, game cartridges, and images and present them inside of your browser. Sometimes it’s a bit rough, sometimes it’s a bit slow, sometimes the mere overwhelming user interface between the original item and it being in a browser window makes things strange. But even a few years in, I will set up a full screen image of a game console playing a scrolling classic and I will completely forget how this is happening. It is seriously the bomb.

logo

A while ago I put out a call to have the sound issue looked at. A top-notch developer named Katelyn Gadd stepped forward, helped us create an entirely new sound device, and in doing so fixed about 20 major problems with sound. She also gave all of us a master class in understanding what the boundaries and hurdles are in browser sound in general. Summary: lots, although they are working to change standards to make it better.

The sound situation and resolution was amazing enough to inspire me to try it again. This time, it is speed.

There are a variety of attacks to making the JSMESS system run faster in the browser.

Obviously, it helps if the Emscripten language compiler gets more efficient, and work is being done in that direction. Just a year ago (can it have really been just a year?), The Colecovision emulation was working at 14% speed. Now it almost always consistently runs at 100% on even slower systems. Work on this is ongoing, and the Emscripten development team stays in almost constant communication with us, so that’s being handled.

Obviously hardware will get better over time, but we’re not exactly going to sit back and wait. But stay on point, computer industry!

The browsers themselves are rapidly increasing the speed of their JavaScript engines. The website arewefastyet.com lets you watch nightly tests being run against JavaScript engines so that we may notice that these things are getting damn fast. Again, not my department, not willing to wait.

Certainly, the emulator itself has been working to speed things up, but it might not surprise you to learn that speed is willingly sacrificed in the name of accuracy, to make sure that all the aspects of incoming images are handled and that everything can be, if not future-proof, at least future-existent. If it slows things down for a while, the MAME/MESS team is not bothered by it. It would be nice if somebody went to work on the emulation team itself to optimize things and generally help track stuff down, but that’s a rant for a future entry. Until then, speedups and slowdowns on the emulation can have a pretty drastic effect on the JavaScript version as well.

So that leaves a number of efforts to make the resulting JavaScript output as machine friendly and fast as possible. It also means a situation where simple code changes applied to the emulator source code results in the JavaScript versus being that much more efficient.

To help jumpstart things, we have created a page about the need for speed. We’re trying to put, in terms that will be of use to a developer or coder, what exactly were looking for.

If you’ve got the skills to get involved with this, or know someone who does, it would be great to hear from you. It would have an amazing effect on a pretty important project, and we’ve seen cases where one or two simple insights from a new team member makes the entire thing run that much better.

We really come along. There’s a ways to go, and I’m hoping that by writing this we can reach out to someone to make a difference.

Let’s speed this thing up.

screenshot_07