Namco Rockin' Bowl-o-Rama custom animations and mod tool.

JakesArcade

Member
Joined
Oct 13, 2022
Messages
70
Reaction score
67
Location
Massachusetts
Hello everyone, you may remember my last post regarding bowl-o-rama where I was able to successfully crack the IO cards Encryption, however due to the recent release of the replacement gameboard I decided to hold off refining and releasing the patch until the game is no longer supported. I have since decided to move my attention to building a tool to easily load custom animations and music onto bowl-o-rama images. I have successfully reverse engineered how the animations work and I'm able to create uncompressed animations. I have also started working on a tool to manage the game assets to keep track of what items have been replaced and what items are original. Compressing the animations has proven to be tricky for whatever reason but I believe that will be necessary to run on original hardware... Right now I am testing on modern hardware with my patches and have no way to test on original hardware.

In order to continue development of this tool, that I will release for free once complete I hope to purchase a retro/pedestal version of the game from anyone in the northeast preferably within a couple hours of central MA but I am willing to travel beyond that. Unfortunately, I don't have a ton to budget towards it, but I am looking for one in the $5-600 range. If anyone has a lead, please let me know.

Anyways, please see the video below of a BOSS AMF animation running in game. Essentially the game uses a custom header and a stream of raw RGBA pixel values after the header. The compression seems to use a proprietary RLE compression and differential compression, so the next frame is only the difference of the last frame.


Ideally the tool will allow you to plug in your bowl-o-rama flash drive and it will auto backup the game assets to your PC, then allow you to change the music, all images including font, ball textures, ads, instructions, font, ect.

As of right now here is the current status of the project:

Complete:
  • Convert jpg to TGA images.
  • Load TGA images.
  • Convert GIF to uncompressed video.

Work in progress:
  • Video compression
  • Loading game assets directly from flash drive.

Todo:
  • .mp4 to animation.
  • Game asset management
  • Hot swapping 2nd USB drive for songs.
  • Test on real hardware.
 
Last edited:
I now have a prototype encoder/decoder functional that is able to read official game animations as well as encode new ones. the compression ratio still seems to be pretty low, I think there may still be something wrong with the algorithm.

The demo linked shows me loading a video downloaded off of YouTube, encoding it into the Bowl-o-Rama format, then playing back an official animation as well as just playing with the different settings to show how it effects things. It is a fully self-contained HTML/JavaScript file right now but it will be ported to C# for the final tool.

Methods of compression:
  • Bit crushing
  • Grayscale
  • Differential frame data
  • Run length encoding.


 
Last edited:
So I had to compress these down super hard to fit into the size limit, but anyone is free to test these animations on their own game I am curious to how they work on real hardware... I will leave what the animation is as a surprise but one was done in color at 10fps and the other was in a very bit crushed grayscale but is running at 30fps.

You can technically replace any of the .vid files in the movies\transitions but if you replace "titlescreen.vid" it will be the first animation that it plays after launch. the animations that play during gameplay are 320x240 instead of 640x480, these animations are rendered at 640x480 so they will only render correctly when replacing the full screen title screen videos.
 

Attachments

  • Bowl o Rama test animations.zip
    2.4 MB · Views: 3
Very cool!! Also is your RE of the I/O board Dependent on having the original board from the game?? IIRC I read that someone made a hack but the limitation was you have to have a original first.
 
Fairly quickly I found I could communicate with the game without actually knowing the full encryption scheme and an Arduino could be used as a replacement IO card. however I determined that that could pretty easily be used to pirate the game so I decided to instead focus on decrypting the original IO cards. I won't get into any more details than what I said in my original postings but essentially there is a vulnerability in the red IO cards that makes it easy to extract the key within an hour, then I hardcoded the key into the game to essentially pair that modded game to the IO card. The blue cards don't respond to IO errors meaning that you have to hit an exact match for it to respond, this increases the brute force time from an hour to days.


The IO cards are paired with the MAC address and HDD serial numbers. It is unknown at what point they decided to start using USB drives instead of HDDs but that is the same point where they are only paired using the MAC address.

I think I know how to hard code the mac and HDD serial in regular text documents so HDD locked games can be converted to USB but without working hardware to test with that just remains a theory.
 
This is really cool. Any more progress? Do you think you will be able to share the tool at any point?
 
Unfortunately I kinda lost interest in the project due to lack of real hardware to test on, so I'm not sure if what I'm doing will actually work. My test environment is just a real IO card but the game running on modern Linux.

Right now the animation conversion tool is written in JavaScript. I'll post it on my site this weekend and follow up with instructions on how to use it. It's a still in a very rough state but at least other people can play with it.
 
Back
Top Bottom