2013
08.30

On my quest for emulation on the Pi I stumbled across a very interesting piece of software rpix86. rpix86 is a PC emulator for the Pi based off DSx86 a dos emulator for the Nintendo DS. The main website rates this sytem as a 20mhz 80486 with 4MB RAM this was more than enough to try out a few games from the Wing Commander series!

IMG_1606

I followed a simple guide for setting rpix86 up and downloaded the software onto my MAME Pi along with the 4DOS.com it recommends for a command interpreter. I also uploaded Wing Commander 1,2 and Privateer to a “dos” folder I had created to see what this emulator was capable of.

Getting the emulator started was exceptionally easy and it found the 4DOS.com file I had placed in the dos folder with no issue. Using my ancient DOS skills buried deep within my mind I CD WC’d then I CD WC1’d and then I wc.exe’d and voila, I was presented with the Origin FX screen! Unfortunatley WC 1 did not self regulate its speed and it actually ran far too quickly, an issue I had not run into in many years. rpix86 does not seem to have a built in cycle regulator like DosBox so I will probably need to use some kind of cpu limiting program just like the olden days…

IMG_1599

Regardless of WC1’s built in fault the emulator clearly worked, I had sound, video and keyboard control so I tried my luck with WC2. The first time through it hung as soon as speech happened so I had to rerun the install.exe and after that all audio and speech worked. This game behaved just as I expected it to, the talking heads were silly fast but game flight was normal speed. The keyboard seems to have an issue with multiple keys being held at once, not sure if this is an emulator or Pi problem.

Now onto Privateer, there is no way to mount the iso image from this emulator so I mounted it from linux and copied the tre files directly into its folder and edited priv.cfg to reflect this location. Install.exe worked as expected to update the sound after my lessons learned from WC2 however the game seemed to have an issue with the extended memory manager saying it wasn’t getting proper responses. So out of the box Privateer does not seem to work but I’ll investigate further later on.

While WC1 was too fast and Privateer was too broken, WC2 seemed just right and playing it on my 40 inch LCD was a treat so I look forward to the continued development of this emulator which hopefully one day will also work with Privateer.

 

2013
08.29

So, I have the software I needed and confirmed it would run the games I wanted. It boots the machine into an Arcade menu like I wanted. Now it is time to get some Arcade controls!

This was all originally inspired by an Adafruit blog Retro Gaming with the Pi. This article had a full tutorial on how to achieve what I wanted and even supplied the parts with a handy list on the side for easy purchase (clever bastards). There were a few things I didn’t like/wanted to change about this tutorial so I modified the plan a bit to make it my own.

First, I used PiMame instead of stock Raspbian. PiMame was tailored to what I wanted already as I covered previously here.

Second, I did not like that they glued a keyboard on top of it. It looked Silly, It broke immersion in what I was trying to do. After reviewing the GPIO table and the parts they were offering I determined I could add 2 more buttons to the controller and achieve a no keyboard solution. The extra buttons would facilitate the “Insert coin” and “1Player” buttons.

Time to order!

So after a painful 2 weeks of waiting for a notification from Adafruit regarding the joystick (it was frequently out of stock) I was able to order all the parts required for the project. I got a blue and red button for the fight controls and 2 white buttons for the coin/1P. The Joystick is an 8way Japanese model with a far simpler connection mechanism than you would normally find but you are paying a few bucks extra for this ease of use.

The parts arrived!1070097_10153029714225313_1698901211_n

After about a week my shipment arrived and I was excited but there was one problem…. I didn’t have anything to build this in. After giving this some brief thought I kept eying the shipping box the items came in. It was large…sturdy…black…Aha!

Shipping box to Arcade box

I got an exacto knife and began carving up the box, my first button hole was unfortunately a little too big but I learned from my mistake and the next 3 were perfect. I used packing tape to secure the Joystick into its slot to prevent it from moving during intense gaming sessions.

Connecting the controls

With the easy connect cables and the jumper ribbon cable from Adafruit wiring the connections was easy. I had to modify my layout from the tutorial in order to get the buttons I wanted but it all worked out great. On the Pi side you will need a keyboard briefly to configure the controls but after that it will be keys free! Adafruit provided a program called Retro game which handled the conversion of the button and joystick actions into keyboard controls for MAME. Their tutorial I linked earlier explains how to edit it to match what keys/pins you would like to use. To achieve a way to exit a game without a keyboard I edited the MAME4ALL in game settings (tab key) and I set a combined press of coin+1p to send the Escape signal. This only works within a game and can not cause the menu to be accidentally exited.

Let the fun begin

It may look crude but it works and it is awesome! The click of the joystick as I furiously try to not die in Raiden or 1942 is very satisfying. The buttons are not what I was used to and after some research I found out they were Sanwa style which is found mostly in Japanese arcade systems but they still did the trick and were easy to install. The overall success of this project has inspired me to try and create another controller like this but out of proper materials, more buttons and perhaps a custom paint job? We’ll see, in any case I’m just getting warmed up.

2013
08.27

So I decided to give emulation a whirl on the Pi. I did some research before hand and found out there were already some emulators available. Most importantly there were MAME emulators which was really what I was after. It was time to test the waters with my Pi.

What’s MAME?942387_10152995824695313_1323720578_n

Somehow I doubt you’re actually asking this but just in case MAME stands for Multiple Arcade Machine Emulator so short n sweet it plays Arcade games. The Arcade Era while brief was an important part of gaming’s early beginnings and part of my Childhood. I have always wanted to recapture it by building some kind of Arcade box.

For the Pi I stumbled across a distribution called PiMAME which came installed with a handful of emulators (MAME being the one I was after), a menu system to select your emulator and a web based ROM uploader to facilitate easy game additions. The ROM uploader was just gravy but the menu was something I could do without.

2 MAME emulators to choose from

1016361_10152995824530313_1472760042_nPiMAME comes with AdvanceMAME and MAME4ALL as the 2 choices for arcade emulation, Initially I was using AdvanceMAME as it was a more recent release of the main branch of the MAME software however I noticed that simple games from the late 80’s and early 90’s had performance issues and became concerned that my project may not work out after all. After doing some research on the performance issue with AdvanceMAME I discovered that MAME4ALL was a fork of an older MAME branch and that it was now specifically optimized for mobile platforms. The only problem with this is it required you to have older ROMS or down convert your ROM library. After giving MAME4ALL a shakedown test with Street fighter II it was clearly the winner and the project was back on!

That pesky Menu

Hats off to the PiMAME folks as it is a robust OS and easy to use but I didn’t need a menu for all the emulators I just wanted to boot right into MAME4ALL. It wasn’t too difficult to achieve this, just went into .bashrc removed their menu program and added the full path to MAME4ALL and now I had a fully functioning Arcade booting computer. I could have just used a plain Raspian and added MAME to it but that ROM uploader was a nice touch and I wanted to keep that in my system.

Performance1004069_10152995824790313_1029867341_n

To get the best performance and to span as much of the Arcade era as possible it was necessary to run the Pi at a 950MHZ clock speed. 1GHZ also worked but would occasionally lock up while playing heavier games like Street Fighter II. At 950MHZ the temperature remained under control (I have heat sinks mind you) and I was able to play games that were made up into the early 90’s (Street Fighter II, Mortal Kombat) without issue. There would be the occasional stutter here and there in the sound but it was very minimal and quite acceptable.

 

So overall the Pi makes a decent, cheap and portable emulation machine that will work with modern TVs, Monitors or older composite TVs. Have Fun!

2013
08.24

Do You need heat sinks for the Pi?

Short answer would be: no, you don’t.

Long answer would be: Depends what you are doing with it.

IMG_1206My first Pi project was a media player and the Pi handles this incredibly without the need for overclocking and the temperature remains within an acceptable level. For the purpose of a media server I would have to say no you do not need heat sinks.

I had an idea lurking around in my head to try the Pi for arcade emulation and emulation needs more juice. In this use case I intended to get a second SD card, try some emulators and play some games to test the waters. For this test I also planned to over clock so if you intend to use your Pi in this manner then I would say yes.

I went around looking for heat sinks and what people recommended and I came across a kit that came with 3 small heat sinks and thermal paper to attach them to the Pi. It took about a week or so for the package to arrive and it was pretty plane, a small baggy containing 3 small heat sinks and a sheet of thermal paper.

IMG_1208

I took the case off my Pi and cut appropriate sized squares of thermal paper for the heat sinks and began to apply them to the Pi. Once I was done I was impressed by the improved appearance. I know it sounds silly but the Pi did look cooler with the heat sinks on. You can even see them through my Pi bow case.

 

 

So after the heat sinks were attached I tested the Pi. The heat sinks provided about a 20 degree difference. I have experienced no issues going up to 950Mhz with my Pi. Some may also say you can do that without the sinks but when it comes to over clocking I’d rather err on the side of not constantly replacing cooked Pi’s.

IMG_1209

2013
08.23

I have moved and I haven’t built a new layout yet but I am still collecting Chessie gear when I can. My newest engine is a Bachmann GP7 Chessie 5606. This engine like my last 2 is also DCC and the detail is fairly exceptional giving that it is a low end brand.

Over the years I have noticed Bachmann has been improving their brand. When I was a kid it was just well known that Bachmann was cheap crap that barely represented anything that may have existed to match the roadnames and numbers they were using. This newest addition is fairly close to its prototype and if I felt led to add some ladder rails to the nose and some hoses to the front it could even rival the Athearn Genesis model of the same engine.

I have also collected some Chessie rolling stock in the last year and I am up to 6 Chessie branded cars.  My sons have also taken an interest in trains as many boys do thanks to things like Thomas the Tank engine. They have a wooden track set with the magnet couplers. I was able to find a Chessie Wooden Train kit and they loved it. The boys have a tendency now to call any train they see a “Chessie System” . Thinking ahead to when they are older I have collected many pieces of the Bachmann EZ track system so that they can partake in the hobby with dad. I have already let them play a couple times but right now since they are so young it always ends in some wheels being missing or a coupler broken. Still it is fun to share the hobby with them.

 

 

In other Chessie news, while taking the boys to see Thomas in St Thomas Ontario I saw some real still in existence Chessie System Box cars!  They are rusted and beat to hell but it was nice to see the Cat in person after all these years.