AMH Debug 5-8-14

Not really debug anymore, just polishing stuff. You can open a serial terminal at 115200 baud on the USB programming jack to “talk” with the game. I’m beefing up what this can do, both for human-readable debugging, and using Bluetooth UART via a tablet or smartphone app.

  •  Improved command parser for serial.
  • On serial terminal, added commands for servo control, SFX and music (see below)
  • Added one-shot switch status return, so tablet app can control rate at which it monitors switch data.
  • Improved main game titles, added vendor logos.
  • Improved attract mode PRESS START graphic (always thought it looked crappy before)


[E99000] Get current switch state, raw data (2 bytes dedicated, 8 bytes matrix)
[E98000] Toggle serial stream of human-readable switch data
[E97000] Disable Ball Search (useful for testing)
[E97001] Enable Ball Search (default)

[F00ABC] Play sound effect ABC
[F00ZXX] Play music file XX (music files always in _DZ folder)
[F00Z00] Stop music
[V00ABC] Play video file ABC

[SXXzzz] Set servo XX (0-4) to ZZZ Degrees (Only set if you know proper values!)”
[MXXzzz] Activate Coil XX (0-23) for ZZZ Microseconds (0-250)
[LXXzzz] Set light XX (0-63) to ZZZ brightness (0-7)
[L99000] Disable light attract mode
[L99001] Enable light attract mode

Update on available time for project building

I have just finished work on our custom pinball machine “America’s Most Haunted” which has entered production and started shipping. You can read more about it here. I’ll also make a large, in-depth article about it on this site once I get a chance.

I’ve been working non-stop on this game, The Ben Heck Show, and other commissioned work since mid 2012. It’s time for a break.

I’m going to be limiting my non-show commission work to 8 billable hours per week for the foreseeable future. This includes single-handed controllers, prototype work for companies and individuals, basically anything outside of our show. If you’d like to contact me about a project you may do so at Keep in mind that this time allotment will be on a first-come, first-served basis.

The automatic Paypal links for the single handed controllers will be coming down during this time as well. If you’re still in need of a controller, please contact me via email. I will probably spin the production of those back up in time for the holidays. I know there’s a great need for them, but there is also a great need, personally, for my sanity.

Other news:

  • I had the wrong file linked to Episode 80 of the podcast – sorry about that! You can find the corrected version here.
  • We are still doing our best to release a podcast once a month, time permitting.
  • You can of course keep really up to date with what we’re up to on The Ben Heck Show, follow me on Twitter, or visit my YouTube channel using the links on the right side of this page.
  • We’ll be at Maker Faire San Mateo next weekend filming an episode of our show – stop and say hi and we might give you a t-shirt!
  • I will be attending the Northwest Pinball Show in Tacoma this June. Ask me anything you’d like about our new pinball machine!
  • Good chance I’ll also attend California Extreme and there might be an America’s Most Haunted machine there as well. More info as it becomes available. Podcast Episode 81



We’re back with a new episode of the Ben Heck Dot Com Podcast! Sorry it’s late, Jones had a cold or something.

Today’s topics include:

  • Fanboys getting upset about new movies / crappy sequels somehow “ruining” their childhood / the old movies.
  • Are foreign markets ruining movies? It rakes in the bucks, but are the movies getting blander and more bloated with CGI as a result?
  • Everyone hates Xbox now. Why?

Subscribe to Podcast via iTunes

AMH Debug 5-5-14

Got some feedback from the Allentown show which I’ve worked into the game!

  • When ball gets stuck, game goes into Ball Search (firing everything trying to loosen ball) There is a way to get the ball stuck behind the targets. Normally the game checks for this whenever the targets go up, but if a ball is resting on target edge (which can happen) the game doesn’t know this and thus check didn’t occur. Fixed.
  • Added 2 new flags doorTrap and targetTrap, so the game knows if a ball is purposely stuck in those places during a mode. If a ball is there, game won’t move those spots during a ball search.
  • Enabled ball search when ball is trapped on purpose. Before this would prevent a ball search (since switch constantly triggered) but now a ball search can happen alongside it.
  • Made “halfway” point for targets so they can jostle about and still keep a ball trapped behind.
  • Re-exported Hospital Mode audio to quiet done Dennis Nordman’s booming voice that caused clipping.

AMH Debug 5-3-14

A beautiful sunny day, perfect for programming!

  • Changed ball search routine, so game will only ask to load balls when you press Start, not upon boot (makes troubleshooting / servicing easier)
  • Final graphics to add to game will be “Load X Balls”
  • Added visual Switch Matrix to service menu
  • Added Game Settings to service menu, that get stored to EEPROM (# of balls, free play, etc)
  • Implemented REPLAY feature, and counter for total number of games played
  • Fixed glitch where CREDITS:X and FREEPLAY didn’t appear on attract mode videos after a game had been played.

AMH Debug 5-1-14

Very close now, just tweaking a few things:

  • Wizard Mode is now in game, and achievable (good luck Allentown)
  • Fixed some end-of-multiball issues with music not resuming, mode total not being display.
  • Fixed issue with game “forgetting” about Hellavator MB if you stack Minion MB onto it.
  • Added “Flippy Ghost” video mode (spell WIKI, TECH & PSYCHIC, start mode by shooting ghost)
  • Added “color prompts” to GI. Each mode has a color (minion = blue, ghost bosses = green, MB = magenta) Making shots towards modes briefly flashes their color to guide player. MB and Minion already did now, now Ghost Investigation Shots do too.
  • Changed countdown “seconds” timer to more accurately represent actual seconds :) Bit longer than actual seconds, but feel right.
  • Increased some seconds allowed amounts to reflect new, faster timers.

AMH Debug 4-20-14

All I’ve got for Easter Dinner is Spam. But I made a turkey sandwich.

  • Re-writing Loop Catch routine so it’s modular, faster, and works for any mode. This is when we want to catch a ball in the Ghost Loop and hold it with the targets.
  • Added “Speed Demon” bonus if you hit the loop so fast the magnet can’t catch it. Turns a deficiency into player compliment!
  • Considering turning off Ghost Motion unless you’re in a mode – so you have to “earn it
  • Testing magnet ball hold at 25% duty cycle. I’d rather the magnet stay cool, than catch every ball every time. Only a few modes catch the ball outright anyway.
  • Performing cycle testing on new Loop Ball Catch code – it either needs to catch the ball (preferred) or acknowledge it missed it.
  • Fixed glitch where targets wouldn’t make sounds on Minions #4 and up.

AMH Debug 4-19-14

Three day weekend? What’s that?

Weekends? Huh?

  • Improved ball launch timing when locking shots to start Demon Battle (the Wizard Mode)
  • Fixed Shot Randomizer so it won’t pick same shot twice (that wouldn’t make sense)
  • Tweaked move time to about 5 seconds per shot. You have to hit 6 moving shots to beat the demon. So it’s like the AFM Super Jackpot, times 6. Nobody ever said this game was going to be easy!
  • Need to implement correct FAIL condition for Wizard mode. If you fail out, it’s re-lit on next ball.
  • Improved strobe shot lighting for Demon Shots.
  • Improving cabinet color transition for Demon Mode
  • Making wizard mode really, REALLY difficult (if you can even get to it in the first place!)
  • Fixed demon mode so it fails properly. Guess I didn’t really fix it since I’m only just now testing it…

AMH Debug 4-18-14

Have a few hours today to work on code. Starting to debug Wizard Mode, so it can ship with the game.

  • Improved timing for Demon Ball release. He sends all 4 balls at you simultaneously (or as close as I can get it)
  • Need to implement the “actual magnet ball trap check” for shot #2 of Demon Mode, like the start of Haunted Bar has.
  • Need to find reason display sometimes locks up while showing the score

AMH Debug 4-17-14

Had a fairly easy to film episode this week so I have time today to tweak more pinball code! Plan is to get Demon Mode in the game this weekend (yes, working Easter Sunday) in case the game shows up at any events in the near future, wink wink!

  • Continuing “Tilt Testing” – making sure no matter what mode is occuring, if a TILT occurs the game comes out of mode clean, and resets properly for the next ball.
  • Found glitch where Spooky Door might not close at beginning of War Fort mode (needs to be closed to hide the Confederate Gold!)
  • Improved timing of events during Theater Ghost’s play.
  • Rigged game so Spirit Guide won’t award an Extra Ball on Ball One (that’s just too generous!)
  • Changing TILT to give you 2 warnings, and the 3rd offense per ball triggers TILT.
  • Some modes with “Quick Restart” will have to be started over if you TILT during them, other modes where it’s not a programming issue will allow a quick restart of mode after TILT (as it would with a ball drain)
  • Allow Quick Restart after TILT: Theater, War Fort, Hotel, Prison.
  • No Quick Restart after TILT: Hospital, Haunted Bar (they modes with a timed Quick Restart after you lose a ball)
  • TILT acts like a drain + ball search: waits until all balls back in trough before continuing.
  • Found glitch where Hotel mode doesn’t properly end if you Tilt during Hotel Multiball.
  • Found glitch where new Scoop Eject animation sometimes erases flashing Camera Icon (scoop is used in some modes as a target)
  • Improving animation for Scoop Eject caused glitch where uncollected Tour Location icons would stay lit after mode ends (you fix a problem, create 2 more… ug)
  • Put a tourClear() function on each Ghost Mode end/fail, so Tour Location lights won’t interfere with combos / scoop indicators (rare, but Hotel mode showed it was possible)
  • Fixed positioning of “Total EVP Collected” numeral, it was in wrong position from back in the 2 bit shading days.
  • Fixed priority so First EVP Waveform video isn’t overridden by Boss Jackpot Value advance.
  • Found some videos during War Fort that prevented small numbers (such as Confederate Gold Timer) from being displayed. Changed attributes on videos to allow these numbers.
  • If multiball active, you can keep hitting War Fort ghost until down to one ball. Added prompt for “Hit Ghost for Jackpots” instead of “X hits to go” in this condition.
  • Improved synchronization of Ball Throw animation + ghost movement + ball release in War Fort mode.
  • Put in over-compensating kludge so that the War Fort / Bar ghost prompt animations won’t get overridden by continued pop bumper action (that’s been an issue FOREVER!)
  • Disabled tilt when ball is in shoot lane / trying to get a skill shot. Tilt won’t trigger until you’ve launched the ball, and either gotten / missed the skill shot (so nudge away?)
  • If Extra Ball lit when starting Photo Hunt, don’t use that shot as a Ghost Photo location.

Stuff to do yet:

  • Make it so ghost ONLY moves if you have a mode going. This way, you have to EARN getting him to move (also, saves wear & tear)
  • Connect Demon Mode dialog with the existing Wizard Mode
  • Make way for a player’s progress to be reset if they beat Wizard Mode and start over
  • Come up with a cool video mode (I don’t like video modes but other people do – whatever)