About me

My photo
Vanløse, Copenhagen, Denmark
Mathematician. Working programmer/system developer. Nerd. Married. Father of 3.

28.3.13

Taito Bubble Bobble Bootleg Repair Log & REDUX

About a month ago, my dear friend porchy made this post on his blog. Now it is 'common knowledge' in the arcade society, that bootlegs of Taitos Bubble Bobble doesn't play like the original. The reason why, is that the original board has a custom chip (know as the PS4...the one featuring a picture of Bub from the game on the silk screen) that shares the SRAM with the main CPU (a Z80). The PS4 is a 6800-based CPU also containing some memory in the form of ROM. Every now and then, the PS4 changes some bits and pieces in the SRAM, so that certain events occur in the game. The things that most people notice as wrong is enemy movements and that the sequence of the EXTEND-letters is not randomized.
The bootleggers back in the days, were not able to extract the program data from the PS4, so they tried to deduce the data by the use of a technique known as 'blackboxing'. You throw a lot of different input at the chip and then record the output. You then analyze both the input and output and try to make your own program do the same as the chip. They did that by exploiting some unused interrupt cycles of the main CPU to execute this PS4-emulation. However they didn't get it quite right.
But recently MAMEDev succeeded in reading the program from a PS4 by using a technique known as decapping. In short, you cut off the top of the IC, look at the silicon plate under a strong microscope, and manually read every single bit. This way they made it possible to make a perfect emulation of the original game in MAME.
Now this is where joaoljr, a brazilian member on the arcadeotaku forum, got the idea that it might be possible to make all those old bootlegs play correctly! He took the 6800 assembler-code extracted from the PS4 via decap, rewrote it to Z80 assembler, and excecuted it in the spare interrupt cycles of the main CPU just the like bootleggers back in he days. He calls the project REDUX, and you can read all about it in this thread.

Phew, that was a long intro...but when I had read all this, I started looking for a cheap bootleg, and soon found an untested one from a french seller on evilBay. From the auction photo, I made sure, that this was indeed a REDUX-able type of bootleg ie doesn't have an 68705 MCU.


The auction closed at 29.90EURO with a shipping price to Denmark of 13.90EURO; so all-in-all ~45EURO for an untested bootleg Bobble Bobble...sweet! };-P

When the board arrived, I did the usual visual inspection. It was obvious that this board had been made in a rush; some components had not been pressed correctly into the holes, before the board went into the flowsoldering machine (this is the worst example)


However all the pins made fine contact, so if I could get it up and running, I didn't bother. Also some rather ugly mod/repairs had been done on the secondary board



But again, if I could make it work, why bother. One thing about this board looked extremely strange though


Notice that the two ribbon connectors doesn't match up. Also notice that both the upper and lower PCB has the parts side facing up. This is very rare on arcade boards, as they are usually back-to-back/front-to-front. I tried to check for contact between GND on the edge connector and GND on an IC on the secondary PCB with my multimeter and found none. Hmmm, this started to smell bad };-S I removed the legs and flipped the secondary board 180 degrees so the PCB was now back-to-back, and viola


suddenly the two ribbon connectors matched up. And I checked for connection between GND on the two PCBs, I got a fine beep };-P Now I was extremely happy, that the seller didn't test this board, as the consequences could have been disastrous. My only hope was, that he was telling the truth.
Next, I started dumping all the ROMs on the board, but when I got to the one labeled "2", I found this


and ofcause I was unable to read it in the Top. Now it is actually possible to transplant pins from an old IC, if there is just a tiny bit of the pin left, so I tried doing that


and was now able to read it in the Top. All the ROMs validated against MAME };-P Next step, was to actually test the board. I found the pinout at mikesarcade.com and threw together a QAD adaptor with only power, video, and sound.


The board booted up just fine


however the colours looked a bit strange. Either the pinout I had found was wrong, or this was a unique type, where blue and red crossed. I switched the two wires, and got this


Perfect colours and the sound was fine too. Quickly I hooked up the rest of the wires


and was able to play a test game...both 1P and 2P worked perfectly...sweeeet! };-P

Now for the REDUX-part. I downloaded the package with the prepatched ROMs (linked from the thread), and programmed them onto 3 27C256 EPROMs. Slammed them into the board (I have to make some nice custom stickers };-P),


and fired her up



Meesa liiiike dat!!! Haven't played it to the end yet, but it seems to play just flawlessly };-P REDUX FTW!!! A special thnx to joaoljr for the big effort.

12 comments:

  1. I have the exact same issues with my board, obviously they had a flaw in their manufacturing process.

    My board had issues with the video, the display would break up or resolve whenever the boards were tapped. Found that one of the legs on one of the chips on the video board had no solder on it at all ( just the leg poking through the plate-through hole). Surprised that such an issue couldn't be resolved over the years, works perfectly now.

    Can't wait to test the REDUX.

    ReplyDelete
  2. Cool, but the rom REDUX are ready to Burn or not ??

    ReplyDelete
  3. could you please put the 3 ROM file already patched and ready to burn into eprom programmer ?

    ReplyDelete
    Replies
    1. I suggest, that you use Aladars (Lost Cave Team) "REDUX" instead. It's much more stable. And yes, you can just burn these. Bibosch posted a link to them in the comments section in my Facebook post here https://www.facebook.com/elgensrepairs/posts/138232836347062
      Enjoy! };-P

      Delete
  4. Hello,
    I have two bubble bobble boards like yours, and one adapter, I have the same problem on both boards, some graphics are missing. Like the border of the title that should be orange, here it's yellow, the monsters on the first level are white but should be Blue and purple. I think it's my adapter which is not good. As you have the same board and have the right colors on the game, could you provide me your pinout ? I've tried with the pinout found on internet with no luck. I've seen that some pins are not connected with this pinout, so maybe it's my problem. I have a power supply with -5v as it should. I hope you could help me.
    Thank you.

    ReplyDelete
    Replies
    1. Dear Denis
      The pinout I use, is the one I link to in the log above. But with 2 of the color wires switches. Can't remember which. But it should be easy to just try them in pairs. Good luck };-P

      Delete
  5. Hello! I have the same board. I play 30minutes and it stop with strange images on monitor. Can you help me? superagc@hotmail.com

    ReplyDelete
    Replies
    1. Some bootleg boards are completely missing the ROMs for the bonus stages... that might be your problem?! <3 };-P Elgen

      Delete
    2. Back to rom stock are the solution ?

      Delete
    3. Try to read this thread (that I link to in the post) for info on what can be done, if you're missing the ROMs for the bonus stages };-P
      http://forum.arcadeotaku.com/viewtopic.php?f=26&t=5154

      Delete