Perhaps you may wonder what actually took me so long since my last update. Well, besides annoying time-wasting things like real life, there was a lot of testing to get done behind the scenes before I could even start designing these boards.
The first thing was board-to-board communication. The Teensy has a built-in USB board, which straightforwardly solves upstream communication to and from the PC with code I can directly reuse from UT. Getting Teensy to have a conversation with an ATMega was slightly more challenging. My earlier proposed comm protocol ended up being a bad idea, so I mixed it up a little and threw in another pin for upstream clock.
Now the Teensy board will set on/off for the next bit in a batch to all downstream boards at once, then fire off a clock signal (to which the boards respond by sending back their own next bit, from switches). It can then read the results sent back and move on to the next bit. Once all bits are sent (I figured 32 ought to be enough for anyone), it pauses for longer than a max pulse delay, resetting all boards to expect bit 0, and restarts from the top. The entire process of sending and receiving 32 bits takes less than 10ms, guaranteeing no noticeable delays in computer response to playfield events or vice versa.
While perfecting communication, I got a sobering but welcome reminder that the ATMega328 is an 8-bit chip, not 32-bit, and it does NOT have integrated floating point. Meaning that my "incandescent fading" code for lights, which was initially written with decimal intensity levels in mind, was absolutely devouring clock cycles. After a total rewrite that paid much more attention to data sizes and bitwise operations, everything started running a lot smoother, even PWM code.
There are plenty of other features I worked on as well, including light dimming at half brightness (useful for adding more RGB colors for that handful of lights, as R/G/B are handled as three individual lights), reflex devices with built-in protection against stuck switches, most of the features expected from Williams Fliptronic flippers, and switch debounce. I wanted to make sure I'd physically tested every feature on a breadboard before committing anything to PCB. This definitely took some time, but it gave me peace of mind.
Finally, I'm proud to report I flipped a ball around! One of the last tests I did before laying out the final board designs was fill up the solderless breadboard with transistors, program a 'Mega for two Fliptronic flippers and two reflex slingshots, and wire it up. I don't have especially good video footage of this test, but it felt AMAZING to slide the glass back onto the game, plunge a ball onto the field, and flip it around with mostly finalized hardware and firmware. I like to think that the science girl, Hinata Akiyama, would be proud of the progress.
Speaking of which, the other major time sink has been the writing of Volcano Blast's entire backstory as a light novel! Currently I have it written all the way up to the point where the game begins, covering the origins of the girls' elemental magic, lots of little details that will be thrown into art and callouts, and justification for a bunch of shots and gameplay mechanics. The game is basically good for all audiences but the light novel is a tad bit more mature-oriented. I will be making it public closer to when the game is finished.