ASCII by Jason Scott

Jason Scott's Weblog

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.

 


Categorised as: computer history | Internet Archive

Comments are disabled on this post


55 Comments

  1. Gilly says:

    Gamepad: Checked with both an old Saitek gamepad and an xbox 360 gamepad. Both times my firefox (and Chrome) browser loaded they immediately detected the gamepad without me doing anything (several times, 2-3 game pads?!) and told me to refresh my browser. I did, and it did the same thing. Rinse and repeat.

    I tried the instructions on here, but since it detects the gamepad almost immediately upon opening the page I didn’t have much luck.

    Do I need a particular gamepad? Or is something wonky?

    • Same here, XBox 360 gamepad just won’t work.

      • netrex says:

        This is happening to me as well. I click some buttons when it starts up, it recognizes it and tells me to refresh my browser, every time. So no go on the gamepad for me 🙁

        • Head Banger says:

          I got my xbox 360 controller to work i followed the instructions and was able to play the game berzerk yay!! 🙂

        • netrex says:

          I tried again today, and now it works great 😀 I could also change the buttons around to how I wanted them: Great work, thank you very much 😀

      • 28rommel says:

        Followed instructions to try to get my XBox 360 controller to work, with no luck. I dont even see the message that says “joypad detected.” I pushed buttons, and moved the joystick but nothing. I tried to refresh browser (newly downloaded Waterfox) anyway, but still nothing.
        Can you please help us further with getting the controllers to work. Thank you.

        PS: I was able to get sound, per your instructions.

  2. yankskick1 says:

    I’m using Safari (8.0) and can’t play anything. A small, rectangular white box with a black border is all I get when I click on any of the games. Any suggestions? Thanks!

  3. Mike W. says:

    This looks really cool, but I can’t get it to work. Am I missing something? Do I have to download this JSMESS thing and install it? Because when I click on a game in the Internet Arcade, nothing happens…it’s just white. I have Javascript enabled, so what am I doing wrong here?

    • Steph W. says:

      I’m having the same problem. All the answers I’ve seen seem to be for problems in playing the games. We can’t even get the games. What do we do? I posted the same problem on the IA page & there was no reply.

    • Bill says:

      Same thing is happening to me. I click on the image and it goes to the next screen. Due to lack of instructions I figured I had to click on the image of the game to the right and it goes to the screen with a small blank box with buttons to the side that does nothing. I pressed the 5 key then the 1 key and again nothing happens. Also, is there any support here because I see problems listed but so far no help.

    • 28rommel says:

      On the main page that has all the boxes with the game names/images, you first click there. Then you are sent to another page, where you click the image in the top-right area (or you can click on the “run” link underneath this image). You are now sent to another page. In the box in the middle, you should see the MAME logo, with the words “Press the space bar to start.” If you dont see the logo and these words, there might be a problem with the browser you are trying to use. I tried to use Internet Explorer 10, and it was not working (the box in the middle did not have the logo or the words). So I downloaded WaterFox as per the author’s recommendation, and it works fine. I was able to get the sound to work per his instructions also, but I could not get my XBox 360 controller to work, so I must use the keyboard (which is very difficult to play for most games).

  4. Peter Fay says:

    I try to run a game in a browser, and the browser crashes.
    My computer is a mid 2007 Macbook Pro running OSX Yosemite.
    My default browser is Firefox 33.0.2
    Each time my computer starts, I get an error message saying that I need to upgrade my Java Runtime Environment. I’ve done this several times, and I still get the error message. This may be what’s causing Firefox to crash, and I don’t see anything in the Preferences that can do anything about it.
    Please advise.

    • Peter Fay says:

      Update: Updated Firefox to 34.0.5, eliminated Java error message by downloading additional Java control for OSX. Internet Archive games are still crashing browser. Also, there are no links to download, even though there are reports that you can.

  5. Tim D. says:

    How to you get QIX past the language screen when it first boots?

  6. nonoche says:

    Getting these errors in the console when loading a game page in Safari 8 (empty white rectangle):

    [Error] TypeError: undefined is not an object (evaluating ‘$.ui.position’)
    resolveWith (jquery-1.6.1.js, line 1000)
    ready (jquery-1.6.1.js, line 428)
    DOMContentLoaded (jquery-1.6.1.js, line 901)
    [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ui-bg_inset-soft_25_000000_1x100.png, line 0)
    [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ui-bg_glass_20_555555_1x400.png, line 0)

  7. Al says:

    Bosconian doesn’t work for me. I hit the spacebar to load it up and after a few seconds, a black screen with some sort of writing in the middle of the screen appears. I can’t read what the writing is, even if I go full screen. It’s either too small to see on the non-fullscreen or it’s too blurry on the fullscreen. Please check this out. I would really love to play Bosconian again. Also, if you guys could get that Star Wars vector-graphic game, that would be awesome, along with Tailgunner and Star Castle. Thanks.

  8. irishwizz says:

    About the WebAudioAPI, it works WAYYYYYY better on Chrome. Chrome (or Chromium, as you wish) is the only browser that almost fully supports it (almost, halas)

  9. hitbyambulance says:

    i’ve been a M.A.M.E. fan since 1997, and this is great work.

  10. Oflife says:

    No luck! System: MacBook Pro 15″ Retina 1TB SSD + Yosemite + Firefox, Chrome, Safari. At Press Advance screen, no key (F2 included) advances. Just sits there. Spent ££££ on Defender in the arcades in the 1980s and wanna play so bad! (Don’t ask my age…)

  11. Any chance it would work on the PS4?

  12. akfoerster says:

    Idea: Could you use cookies to store the personal high-score, or maybe how much (virtual) money I’ve already wasted?

  13. waswat says:

    I’m having issues with the sound making a lot of buzzing noise while using firefox. The first time it works, but as soon as i die or lose in any arcade game, the sound starts to keep buzzing every time.

    • 28rommel says:

      I have the same issue. It’s like a crackling buzzing noise. It’s not a low sound either, but quite loud.

  14. cattriona says:

    Anyone able to confirm a brand of controller/joystick that does work with these games (preferably with Chrome, but anything that’ll work on a PC I’ll take).

  15. buzzrock says:

    anyway to scale fullscreen? everything is way to stretched out..

  16. I’m on Mac OSX Yosemite. I used firefox and it worked for me. I’m running a macbook pro 15 inch retina (early 2013). The stretching in full-screen is not the best on some games, but just played some street fighter II and that stretches fine. Although a bit laggy, certainly playable. The sound emulation is absolutely awful hahahaha. Super scratchy, and just a pain for my ears 🙂 I remapped the keys using tab as suggested using button 1 (a) button 2(s) button3(d) button4 (y) button5 (x) button (c) I’m on a qwertz keyboard, so you will probably have button4 as a z. That gives you low medium high punches at the top and low medium high kicks at the bottom. Wow, I’m amazed that Mame works so well in the browser, so congratulations!

  17. Anne says:

    Seems like most of the time I get the message “Fetching BIOS and game” and the spinning disk for a very long time. Other times it works right away.

  18. L Oggo says:

    Good start. Here are some problems:
    – When going full screen, the aspect is wrong, because the emulator just stretches the game to fill the whole screen.
    – Arrow keys scroll the browser. I see other games being able to capture them properly, so it should be possible.
    – The games are even slower in full screen.
    – There is no proper way to browser the games on archive.

  19. narvo says:

    Thanks so much for your effort in making this possible. I’m completely blown away!

  20. Colin says:

    I’m using an Xbox 360 wireless gamepad with a knockoff Chinese dongle. Here’s how I got it to work. After pressing a button to detect the controller, I hit refresh. I can then play the game (even though it says no gamepad detected upon refresh). This only works in Chrome. In Firefox, the axes are messed up.

  21. h says:

    i, too, am having my gamestop controller detected in chrome, but it just keeps telling me to refresh. tried clearing cache/cookies, new window, regular and incognito, and switching usb ports, and nothing works.

  22. David says:

    Few games I was not able to get sound working. Zaxxon for example would not give me sound. I tried Chrome, IE, and Waterfox on two different devices.

    But overall, great job.

  23. What is the unmute button mentioned above? I find nothing about it in the settings menus accessed via the Tab key.

    • h says:

      thanks to your comment, i actually read the damn page and figured out how to play with the keyboard. s’a little buggy, but it makes me super happy. still wish i could get my gamepad to work and sorry i don’t know about the sound.

  24. Dan says:

    I tried to play Arkanoid but it just stays on “fetching bios and game” forever

  25. Neil Parsons says:

    Any game I try to play with, there’s always the same trouble. I’m using Firefox browser and I only see a white box saying “Fetching BIOS and game” after pressing the spacebar, but it takes ages to do something. What’s going on? 🙁

  26. Thomas says:

    On Firefox OSX, I get the ‘right’ key stuck often; it detects the keypress, but not always the key release, if I press the action key at the same time; so the controls keep going right until I press right again and it detects the key up message; it happens about one time every minute

    • Jason Scott says:

      In almost every case, it’s because you have Hotkeys turned on. What we had to do to make it work well in OSX was to make a new user, which we called the “Arcade” user, and disable all the clever keyboard shortcuts in OSX so that it was a “pure” keyboard. That allowed the stuff to flow right to MESS.

  27. Head Banger says:

    what are the controls for crazy climber? I cant figure out how to move him from the sides but up and down i have figured out

    • Jason Scott says:

      If you start the emulator and press TAB, there’s a menu setting for key bindings, and you can see the key bindings there. The default key bindings are:

      Right Hand Joystick: I (Up) K (Down) J (Left) L (Right)
      Left Hand Joystick: E (Up) D (Down) S (Left) F (Right)

      This is as ridiculous as it sounds.

  28. PM says:

    Food Fight doesn’t work. Same NVRAM error every time I load it, regardless of browser.

    Help…?

  29. brett says:

    Thanks for this incredible archive! Is there any key mapping ‘manual’ for the buttons? I know the arrow keys and alt, and cntrl, but I am not sure what other buttons for games with more than 1 or 2 buttons.

  30. Michael says:

    The newest update to Waterfox seems to have broken the emulation. I hit the spacebar to start a game emulation and you see the little spinning disk for a few seconds then it stops and never loads the game. Games that were working right before updating stopped loading. Have only gotten one game to work once when I had the debugger up but only that one time.

  31. Bill White says:

    Hi, having trouble with Defender. Can anyone walk me through the procedure to get it running? Thanks!

  32. Paul says:

    Wonderful, wonderful resource. Thanks so much. Just like to mention savestates don;t seem to work (I’ve tried in the same play session) and pause ends up with the game continuing to run.

  33. Any Mac users had any luck getting ANY type of USB controllers to work to play these games?? (Or CAN an external controller work to control in in-browser game?).

    Believe me, any hardware/model suggestions (preferably something available on Amazon) would be MUCH appreciated. I know’s is, I got an external N64-type controller for Xmas (with the 2 joysticks to enjoy some Robotron action), and was disappointed to find out that it didn’t seem to work with the site…

    • Also, is it just me, or is the targeting system on BEAST BUSTERS completely off?? Seems to work fine on other point & shoot games (like Operation Wolf). However, on this– and heck, any version of MacMAME I’ve tried to play it– it’s always been off-kilter for this game, and seems to remain stuck aiming at the edge of the screen by the second level.

      Darn shame too, because how many George Romero/Nightmare City/Walking Dead fans out there wouldn’t want to shoot at some zombies with guns?? 🙂

  34. So, um, got any [links to] details on the problems with the gamepad and sound APIs?