Archive for the 'Hacks' Category

Building an Emulation PC for an Arcade Machine

If you have or want to build an arcade machine that displays and plays emulated games as authentically as possible then there are a number of things to consider that are quite different when compared to building a normal gaming PC. This guide assumes that you have a functioning arcade machine already and that you’re simply looking to install a PC in it to use along side your arcade PCBs.

machine_01

Continue reading ‘Building an Emulation PC for an Arcade Machine’

Reverse Engineering the Sega Versus City Arcade Billboard System.

This a synopsis of this project from concept to prototype, I’d like to take it further but I’ve done all I can do given what I know. Hopefully I’ll gain more knowledge and be able to bring this project to completion sometime in the future.

If you don’t know what a Sega Versus City or a Vs Billboard is, here is a brief history lesson:
Sometime around 1996 Sega made a “Versus City” arcade cabinet. This was essentially a Siamese-Candy Cabinet; two cabinets back to back merged into one.  The idea was for this to be used with games that supported 2 players pitted against each other. In most cases one game PCB could be loaded into the cabinet the video and audio signals split and fed to each side, with each player getting their own dedicated control panel and screen to enjoy the game. Some games that shipped in this cabinet (such as Virtual On) used a separate PCB for each player, but the concept remained the same.

sideshotchun2xe

One interesting feature of this cabinet was the “Vs Billboard System”. This included a large “WINNER” lamp for each player as well as a 2-digit 7-Segment display on each side designed to show that player’s consecutive win count. Sega enabled these displays to do much more however, showing off animations and scrolling text, the way each game supported this is different. For games that didn’t support the billboard the system could be set to display a generic Attract mode loop.

Sega eventually made a follow up cabinet called the “New Versus City” as well as Vs. Billboard upgrades for the Blast City and Megalo 410 cabinets.

versuscity2p1r megalo

Blast_city_versus_billboard Blast_city_versus_billboard2

 

What games supported the Vs. Billboard System?:
While the generic “Attract Mode” video above is pretty cool, the billboard system is rather pointless unless it actually functions within the context of a game. Despite seeing many copies of Street Fighter II loaded up in these cabs, that game pre-dates the original Versus City and the Vs. Billboard system by several years and sadly there is no indication I’ve found that ANY Capcom games support it. Looking through the games available on the various Sega hardware platforms starting around 1996 and seeing which games detailed a “Billboard output” option either in the service manual or present in the game test mode. I’ve compiled the following list, though this may not be complete:

  • Sega ST-V Games:
    • All Japan Pro Wrestling Featuring Virtua /Zen Nippon Pro-Wrestling
    • Critter Crusher / Tatakot (maybe? supports 7-seg displays but might not be billboard system)
    • Hanagumi Taisen Columns : Sakura Wars (needs cabinet type set to vs in game test mode)
    • Mausuke no Ojama the World / Kiss Off (winner lamp only, I think)
    • Super Major League / Final Arch
    • Taisen Tanto-R ‘Sasissu!’ / DaeJeon! SanJeonSuJeon (winner lamp only, I think)
    • Tecmo World Cup ’98 (winner lamp only, I think)
    • Virtua Fighter Remix
  • Sega Model 2 Games:
    • CyberTroopers Virtual-On
    • Dead or Alive
    • Dynamite Baseball (winner lamps only, I think)
    • Dynamite Baseball 97 (winner lamps only, I think)
    • Fighting Vipers
    • Last Bronx
    • Sonic Championship /Sonic The Fighters
    • Virtua Striker
  • Sega Model 3 Games:
    • CyberTroopers Virtual-On Oratorio Tangram MSBS 5.2
    • CyberTroopers Virtual-On Oratorio Tangram MSBS 5.4
    • Fighting Vipers 2
    • Virtua Fighter 3
    • Virtua Fighter 3tb
    • Virtua Striker 2
    • Virtua Striker 2 ’98
    • Virtua Striker 2 ’99
    • Virtua Striker 2 ‘99.1
  • Sega NAOMI Games:
    • CyberTroopers Virtual-On Oratorio Tangram MSBS 5.66 (needs billboard enabled in game test mode, otherwise it’s winner lamp only)
    • Virtua Striker 2 Ver.2000
    • Virtua Tennis
    • Virtua Tennis 2
  • Sega NAOMI 2 Games:
    • Virtua Striker 3
  • Sega Tri-Force Games:
    • Virtua Striker 2002

If you know of any other games or other hardware that supports the Vs. Billboard please let me know.

How does the Vs Billboard hook up to these games?
The Vs. Billboard has a control PCB that can run both sides in Versus City cab at the same time. This PCB has 8 digital input pins that can receive commands from the game PCB and properly interpret them into displaying text or animations on the 7-segment displays or flashing the WINNER lamps.

On newer JVS game boards such as the NAOMI and Tri-Force, any JVS I/O board with at least 8-output pins will use those first 8 pins for the Vs. Billboard output. Some games (such as Virtual-On OT 5.66) will need the billboard output enabled before it will start sending data, other games (such as Virtua Tennis) will have billboard output enabled by default. It was originally thought that JVS games required the use of the Sega JVS to JAMMA Rev A I/O board for billboard support, since that was the only board mentioned in the official Sega documentation, but that is likely because all of the billboard enabled cabs were wired for JAMMA and that was the only official Sega JAMMA compatible JVS I/O at the time. (though I should note that particular board does need the jumper JP1 set to position “B” to set the extra pins to output mode instead of input mode).

On the Sega ST-V, connector CN32 is used for billboard output according to official Sega documentation. Though it’s not clear if additional jumpers need to be set to use this as an output port since this connector is often used for player 3 input.

On the Sega Model 2 and Model 3 boards the typical output connector is NOT used for the billboard, instead the billboard output pins are split across 2 connectors using the “4-Bit I/O” pins available on each of the larger Analog input connectors. See my Model 2 and 3 filter-board pinout guide. Model 2 and 3 boards seem to be the only ones that are capable of supporting the billboard in addition to other lights and outputs since the normal 6 pin output connector isn’t used.

The PCB that controls these look like this:

fileThis is a part number 837-11854 from a Versus City cabinet. The Blast City kit used part number 837-12792-02 which I’ve been unable to find a picture of. I don’t even know the part numbers for the New Versus City or the Megalo 410 kits. The connector on the left is power input. The small black connector is for data input, the large black connector is for output to all the lamps. It’s unclear the function of the dip-switches though I believe  they can be used to turn on and off attract mode or (presumably) to configure which side is which player or which side is connected to the control pcb.

What I set out to do:
Now that you know what the Vs Billboard system is, what games support it and how it works My goal is simple: Reverse Engineer the billboard control PCB, learn how to interpret the data coming out over those 8-wires and emulate that on an Arduino with some off-the shelf 7-Segment displays and LEDs so that I can build my own Vs. Billboard from scratch and hook up to my (Model 3) Virtual-On OT Twin unit.

The first step was to gather as much information about this as possible. Most of what I learned is outlined above.  Then I made some guesses and speculation as to how the data protocol might work given the year in which the first cabs were made, the kind of chips I can see on the PCB pictures as well as the fact that these output ports are typically used for simple light blinking, not data. Some of my guesses turned out to be spot on, others completely wrong. I posted all of my thoughts and discoveries during this process over on Arcade-Projects if you’re interested in the nitty-gritty details.

Correlating the Billboard displays to the data going in:
Finding information on this system was fairly difficult, more-so every video I’d ever seen only showed the attract mode of the billboard, never any gameplay output. Speculating as to how things work is one thing but it’s impossible to reverse engineer something without actually knowing what it does; like trying to translate a new language without any context.

The first big break came from someone named majors over on ArcadeOtaku who owns one of these cabs and was kind enough to film Virtua Tennis 2 output to the billboard from test-mode.  Now I had something I could actually work with. While I was working on a method of capturing the output data from the game board MetalliC on Arcade-Projects gave me a head start by giving me the raw output hex data from the Demul emulator running the NAOMI version of Virtua Tennis 2 in the same test mode. This was extremely helpful but without knowing how that output data was timed made it difficult to determine which bits of data applied to which change on the screen.

My first test setup was simply attaching each output from the NAOMI to an LED so I could watch the data in binary in real time. I recorded a video of this in slow motion.

You can see in the videos there are some flashes then a pause then some flashes then a pause. This was obviously correlated to each time the numbers changed on the billboard about 1 second apart. I was then able to convert the binary pattern in the LEDs to hex and look for a corresponding hex value in the output data that MetalliC provided. I was able to step frame by frame in the video I shot of the binary output, and then confirm that with the data MetalliC provided. I now also had timing to the data output and was able to piece together a basic code. Further, I ran the test for the player 2 side and even without a video, simply assuming it was the same test pattern on that side I could see the difference in the commands between the player 1 side and the player 2 side.

I from this I figured out that the last 3 bits determine which of the 4 7-segment displays are being updated. and the first 5 bits represent the number being displayed. I also discovered that if you were to invert and reverse the first 5 bits the number simply counted in binary 0000 for “0”, 00001 for “1”, 00010 for “2”, up through 01010 for “A”. I would later discover that this continued through most of the alphabet, albeit with several letters removed such as O, since it looks the same as 0 and there aren’t enough bits to go around for the full alphabet. I’ve been able to extrapolate up through the letter P but after that I’m unsure. since there needs to be at least 4 letters removed after that. Assuming S and Z are two of them since they have the same pattern on a 7-segment display as 5 and 2 but I know it’s not r,T,U,v, or y since those letters are used in the attract mode pattern. That means out of Q, W and  X, at least two of those letter’s probably aren’t available.

For the Winner Lamps if the last 4 bits were 0110 then then the first 4 bits were used to control the winner lamps with the 4th bit selecting which side. Interestingly they didn’t send an on, off, on, off, on command to make the lamps blink. Rather they simply send a command to start blinking, and then another command later to stop blinking. My guess is that they wanted to blink the lamps at a rate that was faster then they were able to send data so this was more efficient.

Unlike the letters with only 2 winner lamp commands to go by (“start blinking” and “off”) it’s nearly impossible to extrapolate a pattern for the other winner lamp commands. I’ve observed several different commands come through that I believe are for the winner lamps, one of them I can make an educated guess is simply for “on” but there are at least at least 7 total unique commands per side. These could represent different blink rates, or maybe blink patterns with different on and off timing, or maybe something else altogether. it’s impossible to determine without seeing a video of how the billboard is supposed to react to these commands.

There are several other commands I’ve observed that don’t fit the pattern for the winner lamps or a character output. so I’m at a complete loss for what these do and I’d suspect I wont get much further in this project until I get more video footage of some of these unknown commands, or I manage to get my hands on an actual PCB so I can send it these commands and see what it does (Which would also be nice to confirm some of my educated guesses).

 

Building the Prototype:
Once I got the Arduino and other parts in I started by programming the Arduino to output to a 7-segment display. I used some shift-registers as described in the ShiftOut example program. this allowed me 32 outputs for the 7-segment displays using only 6 output pins. This could have been reduced to just 3 pins if I chained them all together, but since the commands only specify one character at a time I figured it was much cleaner to make each shift-register/7-segment combo uniquely addressable. Each winner lamp gets it’s own output pin just for simplicity. Here’s what my prototype Vs billboard looks like:

billboard_circuit

The first program just simulated a few of the attract mode patterns I’d seen in various videos (like the one near the very top of this post).  The timing, I’m sure, is way off since I just eye-balled it, but i got to better understand how to output to 7-segment displays through the shift-registers. here’s a brief video of one of the attract mode patterns that I posted to Instagram:

A video posted by Mike (@twistedchu) on


Once I had that down I got set on reading in the actual command data. I quickly discovered that the Arduino was able to read in the data so quickly that I would often read incorrect commands as the data pins were transitioning from one command to the next. I added some code to not act until it read the same command twice in a row there by verifying that it was a legit command. I even setup serial output to display the commands to the serial monitor on my PC with a text description of the command if I knew it, or an “UNKNOWN” text if I did not. When testing this out with various games this let me quickly and easily identify any new and never before seen commands that came through.

To manage the blinking WINNER lamp outputs and allow for blinking at different rates while still checking for new commands constantly I used the millis() counter function to keep track of how long each lamp has been on or off for and check after every loop if it’s time for one or the other to change states.

In any case what I’ve built so far can perfectly replicate the test mode from Virtua Tennis just like the original video I received. Here’s a demo of my Arduino Vs. Billboard running the Virtua Tennis Test mode. You can also see the serial output to my PC. Take note that it can start and stop both sides independently and even blink the WINNER lamps at different timing.

I ignore codes that it doesn’t understand, or in the case of the WINNER lamp commands I simplifying them by programing it to just turn on for anything but the clear command or the one known blink command. Even with only about half of the potential commands known it’s mostly usable. Here’s a demo of it being used in Virtua Striker 3:

If you’re reading this and you know someone who has an original billboard setup that they’d be willing to sell me the control PCB, or even let me borrow it for a few days please let me know. I’d be very interested in getting access to one of these boards to determine the remaining commands and make a 100% compatible Arduino clone.

I don’t want to release my Arduino code publicly until it’s in a more complete form, but if you are so inclined to build your own 7-segment/shift register circuit and would like to play around with it, let me know and I’ll gladly send you what I’ve developed so far.

Expect a follow up post once I have more to share on this project.

3D Printed Tray for Sega Saturn Rhea/Phoebe SD Card Adapter

The Rhea and Phoebe devices are SD card adapters that replace the ever failing disc drives in Sega Saturn consoles. These are great devices but they leave a very large space open inside the console meaning you can easily accidentally drop your SD card inside the console and be forced to disassemble it to get the card back. This SD card Tray is designed to fit on top of the Rhea or Phoebe device and seal off the inside of the console making it impossible to drop your SD card inside through an open lid.

I also included a set of 4 slots to allow you to store additional SD cards in the space available, the slots are staggered to allow easier gripping and they’re placed such that when the lid is closed it will keep them from falling out even if the console is turned upside down. There is a second file available without these slots for people who are not interested in this feature.

Fitment has been tested and confirmed on VA0 and VA1 console revisions with a Rhea version 3.1. the VA2-VA5 console version that require Phoebe haven’t been tested yet but they should fit as dimensionally they should be the same.

UPDATE: I’ve made a version 2 of this that holds the Rhea/Phoebe unit more firmly in place, offers superior fitment, and better looking SD card holder slots.

You can download both V1 and V2 on Thingiverse.

If you don’t have a printer and would like to buy one you can purchase a V2 Rhea/Phoebe SD Card Tray at bit-district.com.

Perminent Fix for Drooping Mirror in a 2nd Gen Subaru Legacy

I have a 99 Subaru Legacy wagon with a pretty common problem. The rear-view mirror in these cars likes to droop, it adjusts itself downward whenever you go over bumps. It’s a problem that seems to effect all of 2nd generation legacys (1995-1999 aka the BD or BG chassis). It’s mostly due to the design of the mirror, the ball joint is on the back of the mirror rather than the top, which means in order for it to hold it’s position there needs to be a lot of tension in the joint in order to resist the force generated by the weight of the mirror whenever the car hits a bump.

Having owned several 240SXs I noticed that the S14 chassis (1995-1998) uses a very similar size and shape mirror as the 2nd gen Legacy:

legacy_mirror_fix_01

As you can see they both use a similar length arm with a similar shaped mirror and a similar 3-bolt mounting flange. The Legacy mirror is black but the gray color of the 240SX mirror doesn’t matter because it actually matches the gray headliner in the legacy.

 

What’s not the same about the mirrors the adjustment join:

legacy_mirror_fix_02

As you can see the 240SX mirror has the adjustment joint on the top of the mirror which means that any bumps or vibrations will have little effect on the adjustment. Having owned 3 separate S14s I never had any problems with the mirror falling out of adjustment, nor have I ever heard of it being a problem with other owners.

AMAZINGLY the bolt holes on the mounting flange line up perfectly in the Subaru for a 100% bolt on replacement. I used the plastic cover from the S14 mirror  since the mounting flanges are shaped slightly different but it looks right at home in the Subaru, and no more droopy mirror.
legacy_mirror_fix_03

StepMania (In The Groove) Improved Light Output

I have a Dance Dance Revolution machine that I installed a PC in to play StepMaia instead. I wanted to get full light output working on StepMania only to discover that because of the way it was programmed the port addresses are hard-coded and because my StepMania PC uses a PCI based parallel port card I would have to modify the source and recompile…

I thought this was a exceedingly DUMB design so I did something about it.

I have some programming abilities (albeit not with C++) so rather than modify the source I decided to write a new parallel_lights_io.dll that works the way SM should have worked from the start. That way anyone who wants to add light output to SM can do so by simply adding these files to to their installation directory. Basically all this does is provide you with a .ini file that you can modify with your port addresses instead of having to do it in your source code. (also it uses the freely available and better inpout32.dll instead of the licensed and buggy io.dll that SM was built to use)

Download it here: Improved StepMania parallel_lights_io.dll

If anyone is interested in the source code let me know.

Supported Versions:
This is tested and working on SM 3.9 Plus Redux and OpenITG Beta 2 in Windows XP… I wont work on any version that has light output intentionally disabled in source (which means vanilla SM 3.9 and 4.0 will not work) I haven’t tested it on any other releases or OSs…

If you’re using a Linux build then you don’t need this… this is only for Windows.

If you’re at all interested in getting light output working please feel free to download and try this out… I’m interested to see how it works for other people. You’ll obviously need some hardware output on your parallel ports to see it working.

Hardware:
I’m using a Rosewill RC-304 dual parallel port PCI card (it’s also low-profile if you’re using a half-height PC case) though any properly installed parallel ports should work

As for building a light driver board for your parallel ports there are literally hundreds of ways you can do it… some great info can be found here: http://www.epanorama.net/circuits/parallel_output.html#realworld

If your intention is to hook this up to a real DDR Arcade machine. DDR has a light driver board already installed, you simply need to invert the parallel port outputs by using an opto-isolator OR a few 74 series inverter chips…. OR utilize the transistor/diode/resistor circuit for relay output described in the link above. The circuit requires a lot more soldering but I’m using that because it’s self-powered from the parallel port which makes for a cleaner install (opt-isolators or inverter chips would require an outside power source)… the DDR driver boards don’t draw much current, they’re just checking for an on/off value on the pin…. If you try to power a lamp any larger than an LED then you’ll likely blow out your parallel port which would be bad.

Here are the pinouts for the DDR light connectors as well as the parallel port pins used by StepMania:
Player 1 Platform Lights (10-pin White Connector)
1 black logical ground
2 green-red player 1 up arrow lights
3 blue-red player 1 down arrow lights
4 purple-red player 1 left arrow lights
5 gray-red player 1 right arrow lights
6 white enable pad (tie to logical ground)
7 brown (unknown)
8 N/C
9 N/C
10 N/C

Player 2 Platform Lights (10-pin Orange Connector)
1 black logical ground
2 green-red player 2 up arrow lights
3 blue-red player 2 down arrow lights
4 purple-red player 2 left arrow lights
5 gray-red player 2 right arrow lights
6 white enable pad (tie to logical ground)
7 brown (unknown)
8 N/C
9 N/C
10 N/C

Cabinet Lights (10-pin Red Connector)
1 black logical ground
2 N/C
3 N/C
4 purple-brown player 1 button lights
5 gray-brown player 2 button lights
6 green marquee lower right floodlight
7 blue marquee upper right floodlight
8 purple-red marque lower left floodlight
9 gray-red marquee upper left floodlight
10 green/yellow earth ground

Sub Woofer Lights (6-pin White Connector)
1 black logical ground
2 gray subwoofer lights (both)
3 N/C
4 N/C
5 N/C
6 N/C

For reference here are the parallel port pinouts for stepmania 3.9

SM Parallel Light Output
Parallel Port 1 (LPT1):
1 N/C
2 marquee upper left floodlight
3 marquee upper right floodlight
4 marquee lower left floodlight
5 marquee lower right floodlight
6 player 1 button lights
7 player 2 button lights
8 subwoofer light left
9 subwoofer light right
10-17 N/C
18-25 logical ground

Parallel Port 2 (LPT2):
1 N/C
2 player 1 left arrow lights
3 player 1 right arrow lights
4 player 1 up arrow lights
5 player 1 down arrow lights
6 player 2 left arrow lights
7 player 2 right arrow lights
8 player 2 up arrow lights
9 player 2 down arrow lights
10-17 N/C
18-25 logical ground

I’m also opting to go with 36-pin Centronics connectors on my light board so that I can use off-the-shelf printer cables… for reference here is how the DB-25 (parallel port) connector maps to a Centronics-36: http://www.lammertbies.nl/comm/cable/parallel.html

The Centroincs 36-pin connector ends up being mapped out like this:
Output pins (same numbers as DB-25): 2-9
Ground pins: 16-17, 19-30, 33
Pins with No Connection: 1, 10-15, 18, 31-32, 34-36

Parallel Port Hardware Testing:
If you’re having problems and you want to test your hardware with a program other than StepMania then I recommend this app: http://lpt-port-test-utility.software.informer.com/3.0/

I used that myself quite a bit when developing this little dll. you just plug in your port address and you can turn on and off the output pins on the parallel port to test out your hardware without the use of StepMania.

—————

I’m just happy to get this working for myself but if it this helps someone else then that’s even better…

Killer Instinct 2 Deconversion

Last month I cam across an eBay auction for a former Killer Instinct 2 arcade machine.  I say “former” because this poor machine was converted to “Turkey Hunter USA”. A conversion generally means spray-painting all of the original cabinet artwork black, replacing the computer board and the marque and finally gutting the old control panel, covering over the original control panel art with new art and drilling fresh holes for the new controls. It’s quite sad to see, and it’s something I hated doing when I worked in an arcade.

Killer Instinct 2 is my all-time favorite arcade game, they’re pretty uncommon to find in arcades these days and they’re fairly uncommon among collectors as well and growing in value.  The cabinet for sale had the turkey hunter controls and PCB removed so it was just a cabinet and monitor with Turkey hunter art work. $200 +another $150 or so for freight shipping. I decided to buy it and this is what I got:

machine_01 machine_02

I had a lot of parts to order, I had to buy buttons and joy sticks, a Killer Instinct Marquee, new control panel lexan overlay and art, and the condition of the monitor and power supply were completely unknown and of course I had to buy a Killer Instinct 2 PCB, without that it’s just a fancy box. Lots of other little things such hardware, wiring, connectors, etc.

Paint Removal/Cabinet:
First thing was getting the paint removed off the original artwork, this was first because I wanted to get it done out in the garage before moving the machine indoors. I first tried a product called Lift-Off, which worked but not very well, I then switched to a different product called Citri-Strip, which was fantastic. The results:

ki2_day3_01 ki2_day3_02

I also attempted to remove the Turkey hunter control panel graphics, after unbolting the plastic overlay I tried both a heat gun and goo-gone to separate the new control panel art from the original control panel art, the results, sadly, weren’t that great:

ki2_day1_03 ki2_day1_04

You can see that the new art work pulled up some of the paint from the original art, leaving nasty white lines of missing graphics. Even if that wasn’t the case there were three additional holes drilled in the original overlay around the player 2 joystick and the colors were all faded and dingy (the Killer Instinct logo on the Control panel top is supposed to be red just like the Killer Instinct logo on the control panel front).

I managed to find a new, never used Killer Instinct 2 marquee, which made for the easiest and best looking part of the cabinet “deconversion” so far.

ki2_day2_02

Of course even this took some work, the marquee was for a conversion kit (meaning for people who wanted convert a non Killer Instinct machine to Killer Instinct 2) so it needed to be trimmed to size.

Electronics:
The power supply was making some horrid noises, it wasn’t even the original power supply. I pulled it and bench tested it and found that the output voltages were way off so it was getting junked. The monitor was making some horrible noises too, the PCB I put int to test it wouldn’t boot (due to the bad power supply) so I couldn’t determine if it worked or not.

For some odd reason there were hundreds of finishing nails among other bits of hardware on the floor so I cleaned all of that up to prevent any electrical shorts and I bought a new power supply, then modified it to fit in the original mounting location (the junk one that came with the cabinet wasn’t original and had just been screwed into the floor)

ki2_day3_03

This let me boot it up but sadly the monitor wasn’t showing a clear image

I pulled the monitor chassis and bought all new capacitors and a new flyback, I also planned to replace a few small parts related to image sync  to fix the horizontal sync issue the monitor seems to be having. Here is the chassis with all of the new parts installed:

ki2_day4_01

No good, after reinstalling the image quality was better but the monitor couldn’t hold a sync; it was even worse than before. After getting advice from a few experts they told me to check that I hadn’t installed one of the new parts backwards… after pulling the board back out again and checking I found that the part in question wasn’t in backwards but the solder joint wasn’t strong enough, fixing that, and reinstalling the board I get a nice stable picture. Some small adjustments still need to be made but on a whole the picture looks great.

Control Panel:
Not only was the original control panel gutted and then drilled out when it was converted but all of the original control panel wiring had been cut out of the machine as well. I had to completely disassemble the control panel and install new tee-nuts for the joysticks. I bought all new buttons, joysticks and switches. I couldn’t find a Killer Instinct 2 control panel harness for sale so I would have to build one. I found a harness for a different Midway game that used the same style connectors and wiring colors so I bought it. Repinned the connectors for Killer Instinct and then routed, trimmed, and crimped a disconnect onto each wire. Here is what I started with (just 2 wires!), and what I built:

ki2_day3_06 machine_04 ki2_day4_05

Control Panel Overlay and Monitor Bezel:
I still haven’t been able to find new control panel art, so I made myself an temporary cover-up out of some black poster board. I also bought a reproduction laser-cut lexan control panel overlay and I had new monitor bezel stickers printed from some scans that I found online.

ki2_day4_09 ki2_day4_08 ki2_day4_07

The Results so far:
So I’ve got all of the electronics fixed and rebuilt the cabinet has been washed clean of all the Turkey Hunter conversion stink, the last bit is to plug in the Killer Instinct 2 PCB I bought and fire it up:

I got a few games in and I’m really happy to have all the work so far pay off.

What’s left to do:
I’ve still got some finishing touches to do here is the list

  • touch up paint on the side art to cover up scuffs and scrapes
  • repaint the front lower section of the cabinet
  • replace a coin door light bulb
  • find and install a bill collector blank for the hole in the coin door
  • find and install a proper control panel graphic
  • properly mount the KI2 PCB
  • install a cooling fan for the PCB
  • fine-tune the convergence on the monitor
  • built a light shield to prevent the marquee light from bleeding onto the monitor bezel
  • install new t-molding

I’ll get some of the larger items on this list done soon, but other items might take a while to source the right parts. I’ll do an in-depth wrap up video once I’m 100% done.

SteamBox Build

I haven’t been a PC gamer for years. I spend all day at work sitting a computer desk, I spend a lot of time at home sitting at a computer desk working (to keep my various websites running) so when I need some down-time I’d rather sit on my couch and play games then spend even more time at a computer desk…

steam-big-picture-mode

A few months ago Valve introduced “Big Picture Mode” for Steam. This mode basically adjusts the Steam menu system for HDTVs and controller based navigation. Rumors started flying that they were going to make their own console to compete with Playstation and Xbox. More recently those rumors were somewhat confirmed when Valve announced that they will be making a “SteamBox” spec for what this Living Room PC should be, essentially allowing any hardware manufacturer to make their own variation of the SteamBox and at the same time help standardize the PC; the first of which is the Xi3 Piston.

xi3piston

This obviously intrigued me since there are a number of PC games I’d love to play but not wanting to drop $1000+ for a gaming PC and then spend even more time in my office playing it. So I set out to build my own budget SteamBox. The SteamBox “spec”  hasn’t been released, though chances are it would be out of my price range anyway so I was just going to see if I could get the job done for under $300 (what I’d expect to pay for a console) leveraging the piles and piles of old PCs I had laying around.

nmedia_htpc_600bar

The first PC I was sacrificing was an old HTPC/DVR I built, after looking at the equipment inside I quickly determined that the only thing worth salvaging was the case itself and the disc-drive. The case was an nMedia HTPC 600BAR. It’s a nice black steel chassis that supports a full-sized ATX Motherboard with a real brushed aluminum front, an integrated IR window, as well as flash media ports right on the front and a decorative disc tray door. (it’s also got USB, Firewire, and audio ports on the side right near the front). The DVD R/W drive is nothing special but it’s compact, quite and supports SATA.

The second PC I salvaged was one that my brother gave to me. I had built it for him 2 years ago for HD Video editing. it was blue-screening on him every-time it booted up and he got frustrated and just bought a new PC and gave me his old one since I had built it. This had an Asus P5N-D motherboard which is setup for gaming with overclocking features, it had a Intel Core 2 Quad (Q6600) processor 3GB of DDR2 memory across two sticks, and a two Seagate Barracuda 320GB 7200RPM SATA drives setup in a RAID array. It had a really nice Rosewill 550W power supply and a good-for it’s time but now dated ATi graphics card along with various other bits of essentially uninteresting hardware.

Comparing the specs of the Q6600 to an Intel i3 I found them to be fairly comparable CPUs, the i3 was more efficient and slightly better for gaming tasks, but the Q6600 was a slightly better performer for non-gaming tasks. So I considered this a good-enough platform for my needs… I don’t need a graphics powerhouse and my projector is only 720P so as long as I can run games above 30FPS at 1280×720 with decent AA and textures I’ll be happy with the results. Sure an i3 would be a bit better and an i5 would be a big step up… but the Q6600 was free and that would give me a lot of room to work with the rest of it.

nvidia_gtx_550_it_superclocked

Since I was short-changing myself slightly on the processor side I wanted to get the beefiest graphics card (I could afford) that was compatible with the somewhat dated motherboard. the P5N-D includes 2 16x PCI-e 2.0 slots (3.x is the current new standard) looking around there were a few $400+ cards that still supported the v2.0 slot but the GTX550 seemed to fit my needs, it has an HDMI port (an absolute must for a TV build) and I found a used “superclocked” variant with 2GB of on-board memory for $120, I probably could have found. The next step up used  v3.0 and the 2GB variant of that was prohibitively expensive so this seemed like a good choice. I also picked up two used 2GB sticks of matching DDR2 memory for $25 to max out the motherboard supported of  8GB of memory.

If you’re keeping track at home I’ve spent $145 including shipping and my PC specs are:

  • nMedia 600BAR HTPC Case
  • Asus P5N-D Motherboard
  • Intel Core 2 Quad Q6600 processor
  • 8GB Corsair DDR2 memory
  • nVidia GTX 550 Ti 2GB Superclocked
  • Seagate Barracuda 320GB 7200RPM HDD in RAID array
  • Rosewill 550W Power Supply
  • Lite-On DVD R/W drive
  • integrated flash media slots

Now came the came the part where I’d need to chose an operating system. Ideally I’d run Ubuntu but that’s not really an option for gaming. Rumor has it the official Valve SteamBox will run Linux, which is great and I’m sure that will vastly improve linux gaming support, but the market is just not there yet. I like Win 7 but I’ve heard that Win 8 is a little lighter and runs a little faster, not to mention the Metro UI while loathed by traditional PC gamers seems the perfect interface for a HTPC Gaming machine… Win 8 was the easy choice.

sanoxy_pc_remote

The Last piece of the puzzle is the peripherals, I have a wireless keyboard and mouse that I bought so I could use the keyboard with my Xbox 360 before they released the “chat pad”… it’s USB based with it’s own 2.4GHz transmitter. Keyboard and mouse are a necessary evil but I really don’t want to be using that very often, especially not from the couch. after some research I found there are these generic chinese IR remotes sold under a dozen different names that emulate a keyboard and mouse. The one above I bought on Amazon for $7.50 shipped. It’s pretty slick you can move the mouse pointer around using the big directional button and most of the other buttons are mapped to standard keyboard shortcuts. The best part is that the Harmony Remote supports this protocol so anything you can do via keyboard I can do via my harmony remote.

The first one I received had a defective IR receiver, but the Amazon seller sent me another one without any hesitation. I had to rig up a custom mounting bracket to hide the receive behind the IR window in the front of the case and I even had a USB pin header adapter so I’m not even snaking the cable out to an external port… nice and clean.

wireless_gaming_receiver

The last peripheral bit was to pickup an official Microsoft “Wireless Gaming Receiver” a small USB dongle that allows you to use any wireless Xbox 360 controller on a PC. Sadly I wont be able to easily mount this inside of the case as I will need access to the sync button. I considered doing something clever like cracking it open and re-appropriating the case’s reset button for sync but then I might still run into problems with the metal chassis interfering with the signal… so outside the case it will stay, I may make up a custom mount to keep it at the back of the case.

steam_box

You may notice that there is another PCI card in there, this is simply a second network card. The reason being is that I had been using another old PC as a hardware firewall for my Xbox 360, this allowed me to force block people on Xbox Live, I’d remote into that PC and identify the IP of the person I didn’t want to play with and add them to the block list. I’d then never connect to them in-game again. It also worked the other way where I could set a white list so I would only connect to my friends, keeping randoms out or forcing myself onto a specific Xbox Live server. Now that I’ll have a PC in the same room as my Xbox I can use this for the firewall tasks and simply switch inputs on my receiver instead of involving my laptop to remote into the old firewall PC.

I haven’t tested it out yet (two of the fans in the case seems to be on their last leg so I want to replace those before I put it through it’s paces… I’m pretty happy with it so far and will be interested to see how my sub $300 SteamBox works out.

Euro S14 Cluster

I received my S14 Kouki cluster from the UK in today. The European clusters are nice because the gauges have a lot cleaner look to them Instead of E and F on the fuel gauge there is just a red line at empty. The temp gauge is similarly styled. They’re clusters also went up to a higher speed and the UK is of course in MPH which is nice.

S14 UKDM Euro cluster with Aluminum Trim.

I found a set of Aluminum trim rings for the gauges which I think really improves the look of the cluster. These rings are made of polished aluminum. I’m not 100% sold on the shiny look  I’m tempted to go over the rings with some steel wool to give them a brushed look… I’ll see how I like it polished for a while first.

For reference (not my cluster, but exactly like it) this is what my current cluster looks like:

S14 Zenki Cluster

…I’d say the new setup is way more classy.

I also noticed that the Euro cluster has the interior brightness adjustment right on the cluster, this means I’ll be able to remove the button in my dash which is quite nice since I was considering relocating it so that I could use the spot to mount the ambient temp sensor for the Digital Climate Control system.

If you want something done right…

>rear drum brakes had problems.
>rather than replace them I decide to upgrade to disc brakes.
>disc brakes don’t support an e-brake.
>I buy disc brake parts (a couple hundred bucks).
>I buy the disc brake adapter kit (a couple hundred bucks).
>and I buy a transfer case mounted e-brake kit (a couple hundred bucks).
>e-brake kit doesn’t support my transfer case (even though specs said it was compatible).
>decide I’ll have to throw out most of the kit and build custom to make it work.
>remove old drums destroying them in the process.
>calipers and rotors need to be modified to work (this is normal; part of the installation).
>install disc brake adapters and hardware.
>everything seems to be going well.
>surprise, the calipers wont fit under my wheels (even though the specs said they would).
>calipers wont even fit under the larger wheels I have.
>decide this is bullshit so I start taking measurements and doing research.
>buy completely different disc brake parts based on my research (a couple hundred bucks).
>mock up install and wheels have clearance for days.
>take additional measurements and design my own adapter kit.
>my design would be cheaper to manufacture.
>my design will be easier to install.
>my design requires less expensive brake parts.
>my design doesn’t require modification of the brake parts.
>my design is more appropriately proportioned for the truck.
>oh yeah, and my design clears the wheels with room to spare.
>this isn’t the first time I’ve spent over a grand buying specialized parts to save myself time and engineering.
>I sent my LS1 engine mount kit back 4 times before I finally gave up and just modified it to work.
>this time I didn’t even bother trying to send it back.
>apparently I can’t trust people design these things properly.
>if you want something done properly you have to do it yourself.

Dimensionless Caliper Bracket Drawing

Speaker Color Change White to Black

3 Years ago I got a deal on some Cambridge SoundWorks S305s to help round out my 7.1 surround sound system. Normally they sold for $300 a pair but I got them for $100 a pair on clearance. Part of the reason they were so cheap was due to the fact that they were the less desirable white color.

They’ve been sitting in the box since… I finally go around to painting them and re-upholstering the grills.