Time for an update. There’s been a ton of progress in nailing down all the remaining multigame features, and in moving the development platform towards a more production ready architecture. This included major work on:
the CPU to FPGA interface, which is critical for basic board function as well as updatability;
defining how game code will be stored and distributed;
the front end settings and game config UI;
a control scheme to ensure the board can be run in multiple cabinet configurations, with a simple and straightforward way of handling inputs for different games
among other things…. Read on.
While the initial goal for the project was to recreate hardware needed to play a game in its original cabinet, from the very outset we always envisioned a multigame package that would enable the entire Cinematronics/Vectorbeam catalog in a single cabinet. Much of the recent work has been focused on building out the framework needed to make that happen.
Since we want to let someone play different games using a single control panel — ideally the factory one that came with their cabinet — we need a way to easily remap controls from a variety of games into a common input scheme that can be used with a given control panel. This way, a user wont have to rewire or modify their original cabinet for every new game they want to play.
We identified the following basic control mapping schemes for the board:
Star Castle - War of the Worlds: this is the 6-button ‘Asteroids-like’ layout used by many of the classic Cinematronics games, with buttons for Left, Right, Thrust, Fire, 1P and 2P Start
Rip Off - Armor Attack: this is for 12-button games, which are basically all 6-button games with support for 2 player simultaneous gameplay
Space War(s): this is similar to the 12-button layout, with additional inputs for the number pad and Reset
Asteroids - Asteroids Deluxe: this is similar to the 6-button layout, but includes translations to go from the C/V to A/AD cabinet configuration. In actuality, it’s 2 slightly different layouts since some inputs are reversed between the 2 games
Cocktail: this is similar to the 12-button scheme, but for use in an A/AD cocktail cabinet. This would let someone play a 2 player simultaneous game like Rip Off in an Asteroids cabinet, with each player getting a set of controls
No Remap: This option is for playing games in their original cabinet with the factory control panel and game inputs intact. A number of C/V games have control schemes that were unique to that game or otherwise not widely shared. Think of the buttons on Sundance or the sticks on Warrior. Many of these original cabinets are in short supply, some exceedingly so. The work needed to play Boxing Bugs in a Speed Freak cabinet has diminishing returns. The important part is this option will enable wiring up a bespoke control panel, so there should be nothing stopping someone from playing Warrior in a Starhawk cabinet, provided they are willing to do the work to wire up the controls for those games
Timothy has developed a simple menu for setting the desired control scheme that we bring up on first boot:
Speaking of menus…
Timothy has also built out all the main menus for configuring the board and individual game options. There is also a menu for enabling which games should be turned on in the carousel. Since C/V games have no startup routine or test function, it feels very natural to advance the carousel and boot directly into the next game enabled in the menu.
Finally, each game has its own set of options that were originally set with hardware dip switches on the logic board. We want to enable those in software so you can easily change them from within the menu:
The sounds of a C/V game are as much a part of their DNA as the vector graphics that define them. The background drone of Star Castle or the ramping klaxon of Rip Off are unique and essential parts of those games. A lot of work has gone into to faithfully recreating these analog sounds in the FPGA by painstakingly measuring signal outputs from the original C/V audio board. Several versions of each board had to be measured to identify a suitable baseline, since wide variations have been observed across different boards even after repairs to ensure they were fully working and operational.
While using sampled WAV files would have been MUCH faster and easier, we think the effort will be worth it in the final product and the board is going to sound great.
Cinematronics hoped to get a bit more life out of their aging vector platform and added color with War of the Worlds, Boxing Bugs, and the Rock-Ola developed QB-3. These games were developed towards the end of the vector lifespan, not long before Cinematronics make a hard turn towards the laserdisc-based games that most know them for. A new bit denoting the color for each vector is added to the digital signal generated by the logic board, which is then translated by an adapter board to an analog signal the Wells Gardner 6100 can use. Brian has finished adding this to the platform and is now able to drive the 6100 with color output. This was also tested with a color raster monitor using a separate vector-to-raster converter that is available in market today, so other applications are possible as well.