Instructables

Portable emulator console: ArcadeBox

kofferAuf.JPG
kofferdetail.JPG
This is the ArcadeBox, a portable emulator-console that supports emulation of nearly every system a 900mhz processor can handle.

Intentions

The two main aspects which let me realise this project the way I did were

- portability
- multi-player support

I wanted the system to behave like a console, which means that you only have to plug in the power cable, video/audio connections, gamepads and press "on".
After a short boot up (1 - 1.5 minutes) a selection menu is presented to the user where it is possible to choose the system to be emulated. When the system has been chosen, a list of available games is shown. A keypress of gamepad 1 will start the emulation.
To return to the menu, one only has to press the "exit" button on top of the ArcadeBox.


Components

The ArcadeBox itself consists of the following elements:

- aluminium case
- eeePC 701 4G
-  80GB external harddrive
- 2x 4-way USB hub
- 2 fans (usb-powered)
- video signal converter (usb-powered)
- modified gamepad (to handle command buttons)
- command buttons ("on", " exit", ...)
- various small parts (metal clamps, screws, ...)

Additionally, there are 1 - 4 external gamepads and various cables for connection.


Hardware Implementation

I wanted the eeePC to stay as it was. This means: no drilling, no replacing of components, etc...
The only thing I had to do was to unscrew it and attach 2 cables to the power-button of the netbook's main board. Because of the arrangement of the elements it was not possible to implement a mechanical solution (e.g. a stick that goes through the casing and touches the power-button).
Since the eeePC 701 uses it's keypad as a radiator, it was necessary to prevent the netbook's lid from closing. There are two conic stoppers mounted beneath the screen (picture 5).

All components that need power are supported by the netbook's USB ports. This includes the video-signal converter,  the two fans and of course a maximum amount of 4 gamepads + 1 modified built-in gamepad as an interface for the command-buttons.

I tried to offer as many different external connectors as possible to guarantee that the ArcadeBox can be attached to a maximum of different devices.
On the audio side, one can choose between a stereo phone-jack or cinch adapters.
For the video signal, there are composite-video , s-video and VGA available. Interestingly, it is possible to connect all three of them to different devices and get an output on each of them.
The original VGA signal that is outputted by the netbook is converted by a 30$ (ebay/hongkong) video-signal converter. It does a good job.

I always liked the way old electronic devices are labeled everywhere inside in case of reparation. So, I did the same, in case anyone else than me has to take a look inside the ArcadeBox.


Design

Since one of the main aspects of the ArcadeBox is it's portability, it was only logical to use a carrying case to house it's components.
The aluminium case I used has just the right size and enough free space inside to allow a substantial airflow to prevent overheating.
It is very sturdy (perfect for transportation) and assists the soft-retro like look I tried to accieve.

Each command-button and connector is captioned by an old mechanically generated "office-lable-sticker" (see picture 2). I really like the looks of it.

Additionally, the fans emit a soft blue light which looks quite cool when the room is darkened.


Software

As much as I would have loved to use Linux for this project, I had to fall back to Windows XP. The reason for this is that I needed very good support for the eeePC's hardware-acceleration to be able to emulate newer consoles.

To avoid wast of precious system-ressources, I stopped explorer.exe from loading as shell. Instead, a *.bat file with a list of commands to prepare the system is executed. I was quite surprised to find out, that one can use a batch-file as shell. :-O

A special software is used to assign keypresses of the command-buttons ("load", "save", "exit", ...) to corresponding keys (e.g. "exit" = ESC-key) or commands.

The frontend I use is AtomicFE ( http://www.atomicfe.com/EN2/ ).
It supports different skins and is easy to configure.

The configuration of the emulators was quite a hassle. I had to standardize the input keys of different emulators to a certain extent (load, save, start, ...). Until now, the "load" and "save" buttons don't work for all emulated systems. But then again, one would not need the possibility to save for certain systems.

Also, some emulators deactivate a pre-configured input-device when it is not attached. For example, if you would use the ArcadeBox with only one gamepad attached and next day, you would want to use all 4 of them, the emulator would not recognize them until you would do a reconfiguration.
The solution to this problem is quite simple: you just have to locate the config-file of the emulator and make it write-persistent. Another methode would be, to reset the settings by a batch-file which is called at boot-time.


System maintenance

To allow easy care of the system, it is possible to reach the LAN-port of the netbook from outside the aluminum-case. When a lan-cable is attached, it is possible to access the system with a VNC-client (a VNC-server is always running on the ArcadeBox).
Also, for each installed emulator, the roms directory is accesible as a windows-shared-folder.


Things I would do different next time

I certainly would rethink the aligment of some of the connectors. For example, it just does not make sense to plug in the audio/video cables and the gamepads on the same side.
Also, since the power-cord has to be plugged-in at the back-side, is is not possible to use the ArcadeBox when it is positioned standing upwards.

The fans are weak-points of the casing. As I could see, only one fan of this size would have been enough to deliver a sufficient airflow.


FInal

It has been a great project which I was very satisfied to see turning out so well.
The ArcadeBox is not heavily-used, but when it is, it's great fun for all players. :-)
Lewis720611 months ago
This looks pretty impressive, I'm doing something similar with a raspberry pi, using your instructions. Thx for the idea (;
vigilantice2 years ago
When playing, does the game display on the internal laptop screen? So like if I wanted to play the ArcadeBox and had power but no TV, could I just open the case and play on the screen?
iPodGuy3 years ago
Also, I noticed that the laptop you're using (the eee 701) has 512MB RAM. What game systems are out of your system's capablity? Is increasing the RAM an option?
ScubbX (author)  iPodGuy3 years ago
16bit systems are no problem as is MAME emulation (for most games).

On N64, only a hand full of games are running at an enjoyable speed (SSmashBrothers and SMKart64 are just ok), but you will have to tweak the emulator settings to low-quality.
I didn't test PSX, but I know that it works on a 300mhz processor without hardware acceleration, so it should be perfectly okay.

I forgot to mention one thing explicitly: the eeePC 701 usually is underclocked at a speed of 600mhz. For the full 900mhz you will have to use overclocking tools.

As for the RAM: the CPU seems to be the bottleneck.
iPodGuy3 years ago
Great idea and great i'ble!

I really, really want to try and make something similar so I can have a large variety of games for my home entertainment system (mostly so I can play Super Mario Bros.)

Any chance you can link to Amazon or Radio Shack or something for the components you used so that I can buy them?
ScubbX (author)  iPodGuy3 years ago
Glad you like it! :-)
Of course, but since I'm from austria, I'm no sure how helpful it will be...

- the netbook was from a local computer store (about 200€)
- the video signal converter was ordered from eBay (around 15-25€) (similar or nearly equal to this eBay-link )
- the casing is from conrad (ca. 20€) ( link )
- the buttons also ( link )
- The usb-powered fans (ca. 10€) were found by accident. I already had made arrangements to use standard 12V PC-fans but then I stumbled upon a cheap laptop-cooling-pad. ( eBay-link - actually, I bought the pad at a local store, but this one seems to resemble the one I aquired) The advantage was, that I didn't need any power convertion, since these pads already work with 5V USB-power. :-)
- as for the labeling-machine... I don't think they are sold anymore. (it's similar to this one: eBay-link )
ScubbX (author)  ScubbX3 years ago
For whatever reason, I cannot make the link to the casing work properly, so I post it as full-text:

http://www.conrad.com/Aluminium-case.htm?websale7=conrad-int&pi=821027&ci=SHOP_AREA_17561_1504162&Ctx={ver%2F7%2Fver}{st%2F3ec%2Fst}{cmd%2F0%2Fcmd}{m%2Fwebsale%2Fm}{s%2Fconrad-int%2Fs}{l%2Fint%2Fl}{sf%2F%3Cs1%3Ealuminium+case%3C%2Fs1%3E%2Fsf}{p1%2F91a8de9b0af765f52fff5c38679d28d9%2Fp1}{md5%2Ffa21f83d48f932e5b7efa3282e13e01f%2Fmd5}