Quoted from TimeBandit:I'm just going to do a bit of a lab report here, for no other reason than I am really proud of this little snippet, and it's just sort of interesting. To me, anyway, and perhaps a few other nerds.
I run with the view that my Matrix Interceptor can detect any mode or state of gameplay from reading the states of lamps and switches. And that there are very few instances where information about those modes or states isn't conveyed to the player in some way, and are therefore undetectable by the Interceptor. Well, one had me stumped. I had all but given up on finding a trigger for Zuse active on Tron.
The only clear signal for Zuse being active is for the FIRST time it's active. The centre Zuse insert starts flashing. Yay, simple. But after that, the centre insert is ALWAYS flashing, unless it is lit solid if Zuse has been completed. Whenever the mode is activated again, there is no new behaviour from the centre insert. So that insert is now useless.
There are also no other inserts that give it away, as there are no special shots to hit. The ZUSE inserts themselves all flash together the same way during normal gameplay as during the mode. There is absolutely no giveaway. Execept... for the tiniest tell, which only came to me after hours of staring at the playfield.
During normal play, the Zuse inserts are all flashing away, in total sync with all the other flashing inserts, such as the light cycles and Quorra. But, when the mode is activated, the Zuse inserts keep flashing as a group at the same rate, but the activation of the mode causes the whole group to re-start flashing from the moment the mode starts, which is unlikely to be exactly on an "on" event of all the other lamps, and so the Zuse inserts as a group are now out of sync with the rest of the playfield.
It's not always the same amount of "out of sync" each time, because the group just becomes independent of the rest of the playfield. But the frequency of the flashing is still the same, so they stay at the same phase shift for the duration of the mode. So, all I had to do was build a "sync engine" that determines when Quorra and Zuse_U, for example are in and out of sync, plus a few other rules for robustness, and I have a trigger for Zuse active.
In this test video I have set the red status LED on my board to be on when these two inserts are in sync, and the green status LED for when they are out of sync. You can see that it is red the whole time during normal play, except for brief moments that Zuse_U flashes fast because it has been directly hit, and then goes all crazy flipping between red and green during Zuse. I ran it over two instances of Zuse active so you can see that it is slightly different on each case, but the overall disruption is clear, which means the trigger will work.
» YouTube video
For some reason, this seems like it would be very useful to me... Hmmm...