{"id":66,"date":"2007-06-02T16:57:05","date_gmt":"2007-06-03T00:57:05","guid":{"rendered":"http:\/\/blog.11h.net\/brian\/66"},"modified":"2007-06-02T16:57:05","modified_gmt":"2007-06-03T00:57:05","slug":"phoenix-the-game-over-signal-special-switches","status":"publish","type":"post","link":"https:\/\/11h.net\/blog\/phoenix-the-game-over-signal-special-switches\/","title":{"rendered":"Phoenix: The Game Over Signal &amp; Special Switches"},"content":{"rendered":"<p>In my Williams Phoenix pinball machine, there are two &#8216;kickers&#8217; and three &#8216;pop\/jet bumpers&#8217;.  They are not completely under CPU control.  Basically the way they work is the ball hits the (special) switch which goes to the driver board into an AND gate (shared with the CPU&#8217;s PIO output for that solenoid) which goes to a NOR gate that drives the transistor, thus actuating the solenoid.  Each switch has a resistor &#038; capacitor in series with eachother to create an RC time constant since the solenoid will push out on the ball very quickly.  They allow the bumpers &#038; kickers to extend fully before cutting power to the solenoid to retract them.<\/p>\n<p>Also on the Driver board is a signal for &#8220;Game Up (0)&#8221; and &#8220;Game Over (1)&#8221;.  It is tied together with the blanking signal into an AND Gate whose output goes directly to both inputs of a NOR gate (to invert the signal).  From there, the Game Up\/Over signal is tied into all the NOR gates whose outputs go to the solenoid&#8217;s transistors.<\/p>\n<p>Basically, this all accomplishes letting both the CPU &#038; special switches drive these solenoids, but only when blanking is active and the game is not in &#8220;Game Over&#8221; (or tilt) mode.<\/p>\n<p>Here&#8217;s the sympoms of my game&#8217;s problems.  The flippers and <strong>most<\/strong> of the special solenoids all worked in Game Over &#038; Tilt mode (and now that I think about it, on power-up before the CPU booted &#8212; but not enough to blow the fuse).  The Right-Kicker was the only one that was properly turned off in game over mode.<\/p>\n<p>Also, the right-kicker, when lightly touched (i.e. by the ball in play) would &#8220;flutter&#8221; &#8212; i.e. the kicker as soon as it extended far enough to open the special switch would stop kicking.  If you activated the switch manually (i.e. not thru the rubber), it kicked with a powerful force.<\/p>\n<p>The first thing I did was check the resistor and capacitor attached to this kicker&#8217;s switch &#8212; since it was the only one &#8220;not working&#8221;.  All checked out good.  I even tried adjusting the capacitor&#8217;s value to try and extend the time constant, but nothing worked.<\/p>\n<p>After studying the schematics, I started testing voltages on the Driver board with the CPU in &#8220;Solenoid Test&#8221; mode for the right kicker (without the solenoid fuse in).  Check the special switch&#8217;s input to the AND gate &#8212; looks good.  And its pulsing with the CPU too as it should be.  The output of the AND gate looks just fine as well.  Same with the NOR gate&#8230; its output changing as it should be.<\/p>\n<p>Go back a little farther to the Game Over signal.\u00a0 Looks good.\u00a0 Go back a little farther to the AND Gate where the blanking signal and Game Over signal meet.\u00a0 Both inputs high &#8212; output .. uhh. about 2 volts.\u00a0 That doesn&#8217;t seem right.\u00a0 Of course that was causing the NOR gate immediately after it to put out a low signal (Game Up Mode).\u00a0 This sure explains a LOT!\u00a0 All the solenoids &#038; flippers always work cause it never sees &#8220;Game Over&#8221; mode.<\/p>\n<p>But how does this affect that fluttering right kicker?\u00a0 Well, the AND gate that was bad is on the same IC as the and gates to that particular flipper.\u00a0 While the flippers AND gate worked, it was sinking too much current (or possibly had too much resistance\/capacitance), causing the whole RC Time Constant on that special switch to have essentially zero time.<\/p>\n<p>Off to Alphatronics in Tukwila (also an excellent store &#8212; formerly supertronix).\u00a0 Pick up a bunch of 7408s, 7402s, and 7406s (heck, while i&#8217;m in there, might as replace them all).\u00a0 After spending all afternoon soldering them, realizing I bought the wrong size IC Sockets, I put the Driver board back in the game.\u00a0 Turn it on, go through my routine tests to make sure everything works &#8230; and it does!\u00a0 The kicker is powerful!\u00a0 I can now tilt and not have control over the ball and everything!<\/p>\n<p>Who&#8217;da thought that a single bad AND gate would cause the flippers to stay enabled, a fuse to blow every once in a while,\u00a0 the solenoids to stay enabled in game over &#038; tilt, and a kicker to lose all its kicking power.\u00a0 Granted, all these logic gates failing on me has me worried that there is a bigger problem at hand I haven&#8217;t discovered yet &#8230; (me thinks bad diode in the playfield somewhere?).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my Williams Phoenix pinball machine, there are two &#8216;kickers&#8217; and three &#8216;pop\/jet bumpers&#8217;. They are not completely under CPU control. Basically the way they work is the ball hits the (special) switch which goes to the driver board into an AND gate (shared with the CPU&#8217;s PIO output for that solenoid) which goes to a NOR gate that drives the transistor, thus actuating the solenoid. Each switch has a resistor &#038; capacitor in series with eachother to create an RC time constant since the solenoid will push out on the ball very quickly. They allow the bumpers &#038; kickers to extend fully before cutting power to the solenoid to <a href=\"https:\/\/11h.net\/blog\/phoenix-the-game-over-signal-special-switches\/\">&#8230;<\/p>\n<p>[Continue reading]<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":0,"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"wp:attachment":[{"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/11h.net\/blog\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}