Lots of progress over the last several months, plus there are 2 cabinets running latest prototype boards and software at Zapcon this weekend, so great time for an update.
It’s very beta
First, Brian spent a lot of time moving functionality over to the CPU, building out the interfaces between it, the FPGA, and the overall architecture. This was needed to provide better integration between the various elements of the final platform: FPGA, CPU, menu functions, and storage for saved values like settings and high scores. Of note was work done to integrate menu functionality that Timothy has been working on for saving game options so they can be fetched at runtine for use with game code.
An initial prototype board was fabbed to test the updated platform in an actual Cinematroncis cabinet, with cabinet power, display and controls. This gave us a debug platform to test and prove out the integration between the major elements of CPU and menus that were still in progress. We were able to rapidly debug menus and new functionality that was being brought in, in part because the prototype includes a USB interface for easily loading new menu and game code by inserting a thumbdrive to automatically copy over new files to the board.
New menu functionality: Primary Options, Tech Info
One area of new functionality that was recently brought in is support for the primary input options which some Cinematronics games featured. These are options built into the hardware — separate from the secondary inputs associated with dip switches — for additional options, diagnostics, and in some cases debug functionality left in place by the original developers. For example, the difficulty setting in Solar Quest, but also bookkeeping and other functions in some games. Tailgunner has options to change the look and sound of the lasers, Solar Quest will let you enable infinite nukes, and so on. These are not implemented in MAME today, and will be fun to play around with for sure.
We also added a tech info screen for displaying code versions, but also state of currently selected IOs. This is super helpful for testing and will come in handy when installing the final board in cabinet and identifying where things aren’t working.
The game list
The list of games with built in support has been defined. In some cases there are multiple versions of a games available, bootlegs and so on, but to complete the menus we needed to be explicit about which games would be supported inbox. As mentioned above, game code is user update-able via USB, so you will always have the option to load your own variation of game ROMs into one of the available slots if that is something you want to do.
The game list includes several variations of custom game code that Timothy has developed, including a horizontal version of Barrier, non-mirrored Solar Quest for use in a cabinet without the mirror, and even a color version of Star Castle for those interested in running the board with a WG6100.
Another variation that will be interesting to some is Star Castle cocktail. The cocktail version of that game is an uncommon cabinet design, but since the board is designed to work in an Asteroids cabinet with a G05, you can now play Star Castle in an Asteroids cocktail, complete with screen flipping for a 2 player game.
Here is the complete list of games with inbox support:
Space Wars
Star Hawk
Speed Freak
Barrier
Barrier Horizontal
Sundance
Warrior
Tail Gunner
Star Castle
Star Castle Easy
Star Castle Cocktail
Star Castle Color
Armor Attack
Armor Attack Rock-Ola
Solar Quest
Solar Quest No Mirror
Boxing Bugs
War of the Worlds
Demon
QB-3
Monitor Overlays
One thing we have not disclosed until now is we are also looking to reproduce the colored monitor gels that Cinematronics included in some of the later games. We want to make sure games like Star Castle can be played the way they were intended, with rings that are red, orange and yellow in color. Armor Attack will be virtually unplayable without one.
These will be high quality reproductions, identical to the original, and we are planning to include them as an option with the final FPGA.