►Arcade Emulation or a quick time travel to 90’s video game world

I’ve always been a fan of those arcade games from the old days (you know, those big game consoles from mid-90’s you used to see in many bars where you’d insert a coin and play one of many games? I’ve spent quite a few great moments with these consoles when I was younger… Now they are beginning to get rare, unfortunately…).

So, I wanted to be able to play them on my computer, especially now that I have a new laptop and a nice Ubuntu 12.04 install already tweaked “al gusto”. I’d already done it once, some years ago, so I knew the basics about arcade emulation and even remembered the names of some programs. Then I updated my operating system, changed the pc, so I lost all of it. But in the world of technology, things progress very fast, so when I first started looking again, it wasn’t easy to find. It took a little research, especially because the first program I found (and works quite well) is not able to play one of my favourite games (normally each emulator has a list of compatible games – that often grows over time but almost never reaches the total of all games ever created for certain arcade platform). That’s why I wanted to share my findings, so I might make life a little easier for someone having the same interest.

First, a little about the arcade platform for which I was looking for emulation:

It is a ROM-cartridge based arcade board called NeoGeo and was made by japanese company SNK and was produced from 1990 until about 1996 when it was substituted by more modern products. Many popular games were released for this platform.Here’s the Wikipedia article.

NeoGeo Arcade Machine
NeoGeo Arcade Machine

The first program I found was gngeo (http://gngeo.berlios.de/), it is quite well known in the Linux emulation world and quite mature and easy to install (some distros even have it in their repositories, that’s how I installed it – along with the graphical frontend xgngeo which makes this emulator very nice and easy to use). I especially like the ease of installation and usage aswell as the graphical frontend. It also is light-weight and seems to work quite well (until now only tested with two games, though), supporting quite a few configurations without getting too complicated.

Unfortunately, it doesn’t run SuperPang, though. Not even the “normal” Pang. Tried to create rom driver files for it (without knowing much, obviously failed…). You don’t know Pang? It’s that great little game where you have to split some “colourful objects” (normally spheres) until they can’t be splitted anymore and disappear. When all objects have been splitted and disappeared, you go to the next level. But if you’re hit by one of them, you lose a life…

Super Pang (game flyer)
Super Pang (game flyer)

 

I continued my research and found (or “re-discovered”, because I had used it before but didn’t remember) MAME (http://mamedev.org/) and its “derivatives” or ports or whatever you want to call them. This program is a large project (at least regarding number of code lines) because the acronym stands for Multiple Arcade Machine Emulator. One of them is the NeoGeo platform.

The first port I installed (can be found in Ubuntu’s repositories) was the sdlmame port. It does work, and runs Super Pang. But it does NOT feature any of the scale improvement filters which I really, really wanted to have (and which gngeo does feature and I also remembered them from first time I explored the world of emulation). They come with names like hq2x, scale, hq3x, lq2x, etc., and they work by interpolating the image when scaled, thus improving quality (=less rasterization) like explained in this Wikipedia article.

This is very important for me, because most arcade games were made with very low resolutions and today’s screens have high resolutions, so the only choice would be to play a tiny windowed game or to scale with full rasterization (which looks awful).

So I thought: I have to find a emulator capable of playing SuperPang but also of rendering video with a high quality scale improvement filter.

After some research, and having discovered that the xmame port (which I had used some years ago) had died a slow death (and wasn’t mantained anymore), I stumbled on AdvanceMAME ( http://advancemame.sourceforge.net  – also not very active nor mantained, but still very available and quite mature).

This is a port optimized and changed so that it supports many, many video modes, even totally weird ones, designed to drive directly real arcade CRT monitors. Or anything you like. And it also has the hqx algorithms, aswell as many other filters, included by default. All this, obviously, makes the program quite complicated to configure. It’s not in any modern distro’s repositories, AFAIK. But fortunately, it is easily available and compiles without hassles and doesn’t need too much support libraries. So I managed to install it with success. But then I still had to figure out configuration. After reading through lots of documentation and searching the net, I found the necessary options (for the config file which is – at least on my system – located in .advance/advmame.rc in my home directory) and list them here, for your delight (:D) :

To get sound working, I had to use these options:

device_alsa_device dmix
device_sound sdl

Video options (I have a widescreen laptop):

device_video_output fullscreen
device_video sdl
display_aspectx 16
display_aspecty 9
display_expand 1.2
display_magnify 2
display_mode sdl_1366x768

And finally, for the hqx filter to work correctly, I have to use this:

display_resize integer
display_resizeeffect hq

Image format is a little bit distorted (the display_expand tries to correct this, but 1.2 isn’t the 100% correct value, although close), but quality is great, emulation works fine and quick and games are totally playable.

Success! 😀

Another great game I like to play, by the way, is Metal Slug. Here, you are the hero who has to progress in a virtual world full of unfriendly (though stupid) soldiers and their tanks, machines, buildings, planes, etc, all of them being the army of some crazy dictator inspired by Adolf Hitler and you have to kill them all – with obviously extremely powerful weapons and fantastic little funny details in the middle.

Metal Slug
Metal Slug (game flyer)

This is also the game I used for comparing the emulation of gngeo and mame. This is what I found:

Sound is much better in Advancemame.

Video performance is similar in both.

Image quality is also very similar, although gngeo seems to have a tiny bug: about 10% of the image on the left and right side is cut away.

Screenshots (made with digicam because I couldn’t take real screenshots):

Metal Slug (under AdvanceMAME)
Metal Slug (under AdvanceMAME)
Metal Slug (under gngeo)
Metal Slug (under gngeo)

 

Super Pang (AdvanceMAME)
Super Pang (AdvanceMAME)

(just a final notice: for those who don’t know arcade emulation, you might have been wondering how and in which form you get the games themselves. They come in so called “ROM-dumps”, normally in zip files, which is basically a dump read from the original ROM cartridges. They can be found on the internet, but due to their “slightly dubious” legal status (remember they are “copies” of original, paid and copyrighted products) I can’t give you any direct links. Try searching for neogeo roms in google.)

 

►War of Tiny Creatures (or: play Worms on Linux)

Last posts were always related to music, so I think (or hope) my readers will “excuse” me for posting “off-topic” this time – although I could even write about astronomy, if I had anything to write about it, because this is my own blog, duhhh… but now I’m really getting off-topic lol…

This post is about an oooooold “addiction” of mine (and many other people as far as I know), more precisely a video game (and believe me, I’m not the video-game-guy AT ALL, I hardly ever play anything…):

Worms Armageddon

Yes, that funny game from 1999 by Team17, about a “nuclear” war between worms.

What?! Don’t know it? Go right now and read more about it, then keep on reading here.

Anyway, this post is not only about this game and me having re-discovered it (again, yes, for the second time, first time was about two years ago, playing against my house mates in my university days), but about something much more special, at least for me:

I am playing it – with almost EVERYTHING working! – on my Linux laptop, yes, you’re reading correctly, here’s a screenshot:

Worms Armageddon on Linux
Worms Armageddon on Linux  (scaled down to fit, click to see full resolution)

I have to say that this is something I always wanted to do (as I don’t have any windows anymore), but until most recently it was very complicated and didn’t work well at all and you had to mess around manually with patches for WINE.

And so I thought I’d share this with you, might come in handy for someone else on the internet out there aswell.

Well, the secret is a program developed by a programmer and “Worms Addict” who calls himself Lookias, that program is a wrapper and also includes – obviously, that’s the heart of all – a patched version of WINE and libraries.

Lookias Frontend to play Worms on Linux
Lookias Frontend to play Worms on Linux

With this program, all you have to do is install W:A (don’t want to know from where you get it or how, that’s not my business) and then you can directly launch it from there, it will run at first attempt (at least did so in my case). You will find instructions in the package itself and also on the other site I list further down on here.

Great work, Lookias!

The only issue I had was sound, first wouldn’t work at all, but then I did a search on the net, and found the solution (which is NOT well documented on the websites I will list further down on here), so I thought I’d better share it aswell.

Sound will start working if you set “Audio Acceleration” in the WINE Settings dialog (under the Tab “Audio”) to “Software Emulation”. Yes, strange at least, but really effective. Will work 90%, which means, sometimes sound will stop working for a minute or so but then start working again, by itself.

With this, the game is 100% playable, and really well. Only thing I didn’t test (never played it before anyway) is Online playing. But as far as I can read from other users’ experience, this should work aswell.

So, here are the links:

Official Website of W:A

Lookias Website (here you get the fantastic frontend)

Website of ViolatoR (quite well written userguide for the frontend)

Have fun!!! 😀