Tuesday, October 10, 2006

Mame Arcade Multiscreen

With multiscreen support appearing on more and more video cards these days, it's a good time for a recent enhancement for Mame (see my previous emulation article if you don't know what Mame is) allowing multimonitor support for games that use more than one screen. In Mame and Mame32 there is no easy way to list all the games that have multiple screen support so I developed a simple application that reads the game information and finds that information for you. I think someone came up with a Windows script, but I didn't know about at the time.

Before I go on, a quick disclaimer. Do not contact me asking for ROMs or where to find them. If you don't have them and you don't know where to find them, I cannot help you. I could get myself into trouble if I did.

First go download the application from http://www.box.net/public/s4aipr0eqp
Note that this was designed to run under Windows XP. If you're using Windows 2000, you will need to install the Microsoft .NET framework from Microsoft's website. You may also need to do so if you're running an older copy of Windows XP.
There is no installer. It just runs from wherever you have the file. You can run it from your desktop if you want. Before you do that though, you will want to extract the game information from the Mame executable.

You need to open a command prompt. From your Start menu, select Run and then type in cmd and click Ok.

Navigate to your Mame directory. Depending on where the program is on your hard drive, the command will be something like CD \Mame32

Extract the XML data file by typing mame32.exe -listxml > mame32.xml (use mame.exe if you're not using the Mame32 GUI version)

Now go ahead and start Multiscreen.exe (the file I had you download a moment ago)Click File -> Open and browse to the same folder as the mame program.

Select the mame32.xml file and click open.

Depending on the speed of your system, it should take a few seconds to a minute or two to read in the data.

When it's done, it will report how many multiscreen games were found and show them in a list.

The list will also show how many screens are supported on each game.

Now from the file menu, we have a few options.

  • You can export this list, as-is to a text file for reference.
  • You can create a folder ini file. By putting this file in the "folders" directory of Mame32, Mame32 will create a multiscreen folder within the GUI that lists all of the multiscreen games supported.
  • Lastly, you can create individual game ini files for all multiscreen games enabling the number of screens each game supports. (These go in the ini folder of Mame32)

Thursday, September 21, 2006

Live Boot CDs


Live boot CDs are CDs (and DVDs also) that you can put in your computer and boot up into an operating system from the CD. There are a several uses for live boot CDs not limited to training, demonstrations, data recovery, recovering an unbootable OS(Operating System), safe web-browsing, creating a network appliance, diagnostics, migrating an OS to a new drive or even "covert operations".

How they work

Modern operating systems often work best when they have a hard drive to use as temporary storage space as most programs need somewhere to store configuration files and user information. When you open a ZIP file for example, the data needs to be written to disk before you can read or use it. Live Boot CDs normally set up a simulated drive that uses part of your computer's RAM to store files. The operating system itself and programs generally load directly into memory from the CD. Sometimes a specialized 'low-memory' Live Boot version is required to be able to operate on systems with small amounts of memory (anything less than 256MB of RAM may have problems with some Live Boot OS's)

Live Boot Linux

While you could create your own Live Boot Linux disk, there are already a number of them ready to download and use. The most prominent would probably be Knoppix. Knoppix is designed to be a Live Boot enviroment, but it can be installed to your hard drive if you choose. There are currently two versions; a DVD version that almost totally fills a single-layer DVD and a 'lite' version that fits on a CD. Even the lite version is packed with web browsers, office applications, graphics tools, system tools and games. Some websites offer detailed instructions on how to take a prebuilt Knoppix distro(short for distribution - that is, one of the many flavours of Linux) and make your own customized version (some Linux knowledge is recommended). Other Live Boot OS's include Linspire(or the free version; Freespire), DSL and Morphix.

Live Boot Windows

If you want a Live Boot Windows CD, you will need to create one yourself. Don't worry, it's not as bad as you may think. Using Bart PE, you can take your existing Windows 2000 or Windows XP install disk and build your own Live Boot CD complete with tools and applications without having to know the inner workings of the process. There are a number of PE Plugins that allow you to add applications and tools to your PE (which stands for Pre-execution Environment I beleive) disk. Often, freeware tools and programs will be included with the plugin, while other programs that have license restrictions or that you need to buy will have only the plugin files and instructions of how to use the plugin. There are some good sites that have detailed instructions for how to use Bart PE. In my opinion, anyone that does regular maintenance on Windows computers should have a Windows PE disk.


If you surf the web from a Live Boot disk, you're practially immune to virus and spyware attacks. If something goes wrong, reboot and your system is clean. If you have already gotten a virus and can't boot your computer anymore, you could boot a Windows PE disk to run a virus scan and fix any damage done. Or if nothing else, copy your vital data to a USB drive (after cleaning the virus of course!). I've used a PE disk to migrate the entire OS from one hard drive to a new, larger drive without having to mess with imaging software. One of the key benefits of Live Boot Linux CDs is that people unfamiliar with Linux can give it a test drive without having to reinstall their computer or risk losing data. DSL Linux is only 50MB in size and is designed to be loaded into a USB flash drive as an alternate boot media (for those newer systems that support booting to a USB flash drive). In my previous article about emulators, I mentioned virtual machines. Most virtual machines can be configured to use a CD ISO image file instead of your real CDRom drive so you can use one of these to test your CD before you burn it to a disk.


If you work with computers, you should definately have at least one or two of these CDs in your toolbox. Happy booting!

Monday, September 18, 2006

Blog of the Day

Just a quick note to celebrate that I made Blog of the Day with my last post about emulation. I was starting to wonder if anyone would ever find me here. :D

Sunday, September 17, 2006

I'd like to bring up one of my favorite topics; emulators.
What it is
In computer terms, an emulator is a program that mimics or emulates something else, usually some kind of computer hardware. If you've ever ran any really old computer programs on a computer running Windows NT4, 2000 or XP, you probably used an emulator without even realizing it. That's because 2000 and XP are 32-bit operating systems and many older programs are 16-bit. 16-bit programs cannot run on a 32-bit operating system, but Microsoft wanted to provide a way for users to be able to use most of their older programs on the newer, 32-bit platforms to encourage them to upgrade (give your $$$ to The Corporation). So Microsoft came up with two programs known as NTVDM (New Technologies Virtual DOS Machine) and WoW (Windows on Windows). NTVDM is an emulator that reads in code created for the old DOS environment and converts it in real-time to instructions that a 32-bit environment can understand. WoW is another emulator that works with the NTVDM that does the same for older 16-bit Windows programs (Windows 3.1 was a 16-bit Windows environment that ran on top of MS DOS). There is now 64-bit versions of Windows that have a 32-bit WoW emulator to run regular 32-bit programs, but no 16-bit support. There are many other emulators as well.
More PC examples
VMWare is a prime example of an PC emulator. It allows you to run a computer emulation from within Windows or Linux. You can load an operating system onto it just like you can any computer and even play games or surf the net from it. You can even run more than one emulation at the same time and network the emulated computers together. VMWare sells server software designed to take one physical computer and, using emulation, break it into multiple virtual servers each running their own operating system and software. Microsoft carries a competing pair of programs called Virtual PC 2004 and Virtual Server. There are also a few free PC emulators out there such as DOSBOX and QEMM. Some of these are ideal for people (like me) that have a lot of old DOS games that just won't run an a Windows XP system because the emulation in NTVDM and WoW isn't good enough to run most graphic and sound intensive programs because these programs want to access the computer hardware directly, but this isn't allowed in Windows NT, 2000 and XP and NTVDM do not actually emulate video and sound devices while the PC emulators usually do.
Other examples
When I first discovered the world of emulation, it was emulation of older computers and video game consoles. It was with great pleasure to learn that I could relive the days of the Commodore 64(which mine long ago stopped working) and Amiga without having to aquire and connect any actual hardware. Not only that, but there were emulators for GameBoy, Nintendo, and Super Nintendo. I actually had a device I bought over in Hong Kong that copies Super Nintendo game cartridges onto floppy disks (cost me $300, but it was worth it). Then I could transfer the games onto the computer and run them on an emulator. Don't bother asking me for games, I'm not about to risk giving them to anyone. Eventually Nintendo-64 and Playstation emulators came along amoung many others.
I think the grand-daddy of all game emulators is called MAME(Multiple Machine Arcade Emulator). It is actually a collection of emulators to emulate the hardware of original arcade games. The emulator is totally free, but the games are not. For the most part getting the games (known as ROMs - for the Read Only Memory chips they usually reside on) means either buying joystick a package that includes an emulator with some games, getting the original circuitboard from an actual arcade machine and using specialize equipment to extract the game data or obtaining the games via illegal channels (don't ask me from where, I'm not going to help you). At this time, MAME is capable of emulating thousands of arcade games, but not all of them are fully functional.
Other Emulators
There are many other emulators out there. There are emulators that emulate a Texas Instruments calculator. There are also emulators that run on other platforms such as GameBoy emulators that run on PDAs.
The drawbacks
Depending on what you're running the emulator on and what kind of system you are emulating, emulators can be slow. As an example, some games in MAME (generally the newer ones with 3D graphics) have an estimated system requirement well above what is currently on the market (I think I saw something like 5GHz processor requirement once). In order to legally run emulations, it normally requires that you own the original equipment and/or the original software or ROM. For instance, the TI calculator emulators need a BIOS ROM from the original calculator to work. The only legal way to get it is to extract it from the calculator (which the emulator is able to do). In most cases, getting ROMs for game consoles or arcade machines requires special equipment that most people do not have easy access to leaving most emulation fans resorting to locating the illegal channels I referred to earlier.
My plans
In the future, whenever XP becomes obsolete, I want to abandon Microsoft and switch over to Linux. I plan to use PC emulators to run any older stuff that I want to continue using. It's not that I don't like Windows, it just that I don't like Microsoft and their desire to control everything that happens on your computer.

See my emulator links for resources

Emulator links

VMWare - From free PC emulators to enterprise-level server emulators, these guys are the big boys in the market right now

Virtual PC 2004 - One of Microsoft's emulators competing with VMWare is now free. VMWare has emulators that run on Linux, however and Microsoft (obviously) does not.

Virtual Server 2005 - Another of Microsoft's emulators competing with VMWare. This one is for setting up servers on an emulated computer. It's also free to download and use.

The original MAME site - Downloads for the console (non-graphical) version of MAME

MAME32 - MAME long ago switched from 16-bit to 32-bit, but MAME32 is simply MAME with a built-in graphical interface making it easier to use.

TI Calc.org - Site that features many programs and games for use with TI calculators. Calculator emulators can also be downloaded here.

http://www.viceteam.org/ VICE - A Commodore 64 emulator that also emulates a number of other similar systems

Hoxs64 - A newer Commodore 64 emulator that I've never tried, but looks promising.

JaC64 - Cool! It's a Java Commodore 64 Emulator that runs in your web browser! (warning, it takes a long time to start up)

SNES9x - One of the best SNES emulators (amoung many) that I've ever tried. Easy to use interface and reliable emulation

Zophar's Domain - Information on numerous emulators for various OS's

UAE - An Amiga emulator

ePSXe - A very good Playstation emulator

Project 64 - A Nintendo 64 emulator that is fairly up to date

Friday, September 15, 2006

Favorite robot designing games

It's a real-time 3D strategy game where you collect resources, make buildings and create units but with an extra twist. All of your units (except for your human which is the only unit capable of making buildings) can run program scripts (using a programming language based off Java). This is great for anyone that wants to learn or just practice computer programming. Create programs for your units to find and bring back resources, attack the enemy automatically or just routine mainenance tasks. There is an online forum with a number of user-made levels and programs (some of the programs there were my creations) and a discussion area (which has been fairly dead lately as the game came out years ago). There is talk of one user making an unofficial sequel, but it's unknown if that work is continuing or if it's been abandoned.

The premise is that you are a bored scientist on a remote off-world lab using company bots for entertainment. You are given the choice of 3 different chassis (wheeled, tracked or hovercraft) and three different sizes from which to build your robot. There are many different scenarios. Most of which are combat based or a race of some kind. You add components such as engines, weapons and sensors to the exterior and then program your bot using drag-and-drop logic components that you drag "wires" between to pass information. It's also possible to write programs in a language called "ICE", but you cannot do this in-game. The interface and gameplay enviroment is in 3D, but plays on a strictly 2D plane.

Robot Arena 2
This is a computer-game version of the popular Robot Battle TV shows where teams design a "robot" and then compete against other robots in tournaments. The game is played in a fully 3D enviroment with a decent physics engine. You can load a premade robot if you want, but the fun is in creating your own design. To start, you make a 2D outline of your chassis baseplate. Then you determine the height and tweak the shape of the upper chassis plate so you can have a wedge-shaped bot or whatever. Then you attach parts to the robot. Batteries and a control board are a requirement plus you'll need one or more motors with a wheel(or you might be more creative) attached for movement. You can also add weapons, pneumatic pistons (plus an air tank to fuel it) amoung other things. Anthing that sticks out of the chassis can be damaged and broken off in battle. Next, you set up the wiring. There is no programming so everything is wired to a remote control that you design as well. switches on the remote can be assigned to keyboard keys or a joystick. Lastly, you can put a custom paintjob on your creation. You can either use the limited in-game tool or export a chassis template and then use your favorite paint program to do something more fancy and import it back into the game. Features online multiplayer with up to 4 players in a match. My favorite creation is a rather slow, heavy and bulky creation called Fender Bender that uses dual spinning icepick disks that lifts and tosses around all but the heaviest of opponents. Even bots that will operate upside-down can easily be thrown out of the ring or pinned against the wall.

Thursday, September 14, 2006

Top Ten Common Star Trek quotes

Ok. I know I shouldn't but I had another idea for a top ten list that I hadn't been able to find anythere else; Star Trek quotes (the original series). Not the best ten quotes, but rather the most common. Note: these are not arranged in order of number of times used and most of these are from memory anyways.

  1. Space, the final frontier...

  1. Red alert!

  1. I'm a doctor, not a {insert type of person}

  1. *punch to the face* (not really a quote, but hey)

  1. We're being hailed captain

  1. She canna take it much longer captain!!

  1. Facinating...

  1. He's dead Jim

  1. Beam us up Scotty.

  1. Live long and prosper

Tuesday, September 12, 2006

Top ten

I've read somewhere that blogs with lists are to be avoided at all costs. That being said, this is my first (and probably last) top ten list:

Top Ten signs that you're Absentminded

  1. You spend the day grumpy and irritable only to realize you forgot to eat.

  1. You spend 20 minutes looking for your keys only to find them in your pocket

  1. You frequently stop mid-sentence because you forgot what you were going to say

  1. You already forgot what number 10 was

  1. You check which shoe goes on which foot 3 times. You still put the left shoe on your right foot.

  1. You didn't notice there was no number 6

  1. You write down something important so you won't forget, but then you lose the paper.

  1. You sit down to check your email in the morning and 3 hours later, you realize you're late for work

  1. When you're ready to leave the house, it takes you an additional 30 minutes to run back upstairs to get the 20 things you forgot. Like pants.

Monday, September 11, 2006

In the beginning

Starting a new conversation has never been my strong point. I suppose I could bore you with a bit of background.
Classic Nerd
I consider myself as an Old-Skool computer nerd. Back even before I was a teenager, my parents had given me a shiny new Commodore VIC-20. At first, I didn't even have a tape drive, but it didn't take me long to convince my parents to get a tape drive as well. I also had one or two books with programs and games for the VIC-20 and so by trial and error, I started learning programming. When my father got a Commodore 64 I spent most of my computer time on that instead.
Game Nerd
All this time, with my exposure to these computers and not to mention the arcades that were popular at the time (now all but dead thanks to high-powered game consoles), I developed a strong affinity to arcade and computer games that's stayed with me to this day. In high-school, I would take programming classes and after whipping up my programs in half the required time, I would spend the rest of my time playing games (often to the distain of the teacher).
Toy Nerd
My other favorite childhood activity was playing with Legos. I had a fairly decent collection as a kid and enjoyed building complex machines, cars, spaceships, ect. If I had been born 10 or 15 years later, I would have had Mindstorms robot kit.
Class Nerd
As a student, I always excelled in the exact sciences and suffered in most others. Math, chemistry, biology, physics, electronics were always an easy "A" for me, while History, Government, Literature, and writing were always a struggle.
Navy Nerd
When I finished High School, I spent 6 years in the Navy as an electronics tech. I liked the electronics part of the job - I wasn't too crazy about the military part.
Tech Support Nerd
After getting out, it seemed that electronics techs with military experience weren't in high demand - at least not where I lived. I ended up in tech support where I still work. I've learned a good deal of things from that and never got tired of working on computers.
Husband and Father Nerd
Also a few lonely years after leaving the Navy, I met this beautiful woman that was capable of putting up with my faults so I did the only sensible thing and married her. I've since adopted her adorable daughter and had two more beautiful girls. Things have been busy, but wonderful since then.
Of course there's far more to my past than that, but I feel I risk this page being linked from Imsomniacs Anonymous if I go into more detail.