(Topic ID: 289066)

Flash Gordon 2021: Re-imagined code for Bally Flash Gordon (1981)

By bluebomber

3 years ago


Topic Heartbeat

Topic Stats

You

Linked Games

Topic Gallery

View topic image gallery

20230525_104435 (resized).jpg
flashboard 2 (resized).jpeg
78189972de518cb69a4958d65038c294c57572aa (resized).jpg
Screen_Shot_2021-04-23_at_7.00.15_PM (resized).png
IMG_4094 (resized).jpg
IMG_4100 (resized).JPG
IMG_4102 (resized).JPG
IMG_4104 (resized).JPG
20210730_134028 (resized).jpg
Flash-Gordon-2021-Rule-Card-1 (resized).jpg
Flash-Gordon-2021-Rule-Card-2 (resized).jpg
Flash-Gordon-2021-Rule-Card-2 (resized).jpg
Flash-Gordon-2021-Rule-Card-1 (resized).jpg
aaca33030c8d53da080e15a6efc6b4b935144362 (resized).jpg
error (resized).png
sketch (resized).png

You're currently viewing posts by Pinsider bluebomber.
Click here to go back to viewing the entire thread.

34
#1 3 years ago

I created brand new game code to re-imagine Bally's Flash Gordon with the Bally/Stern Operating System (BSOS) using an Arduino (C++). All of the code is free, you can easily change between the original game code and the new code with the flip of a switch, and the whole circuit can be built for less than $20. BSOS was created by Pinside user DickHamill, and utilizes an Arduino circuit connected to the MPUs J5 connector to take control.

All original hardware is being used, including sound generation from the Squawk & Talk board. An unused sound was found in the Flash Gordon S&T rom that I have added to the new code. You can hear it when a target hurry up is not collected and times out.

This thread, and my GitHub, will be the to two main places I keep updated with information on this project.

========================================================================

The game code is both available for BSOS hardware revision 1 with an Arduino Nano and revision 3 with an Arduino Mega 2560. The Nano's small program space isn't able to accomodate the newest version of BSOS or all the extra features that can fit on the Mega, so it is standalone code running on an older BSOS version. The Nano version is still considered a complete game with sound from the Squawk & Talk. It will still be supported and recieve bug fixes, but the Mega version will have the all the new features going forward.

Code for BSOS board revision 1 with Arduino Nano can be downloaded here (including instructions, printable rule cards, and version history): https://github.com/tmurren/bsos-flash-gordon-2021

Code for BSOS board revision 3 with Arduino Mega 2560 can be downloaded here (including instructions, printable rule cards, and version history): https://github.com/BallySternOS/FlashGordon2021

BSOS files, and other games re-created by Dick, can be found here: https://github.com/BallySternOS

I put together simple information/rules website for when the game is at events: https://tmurren.github.io/Flash-Gordon-2021-Info/

========================================================================

========================================================================

NEW Rules
Updated and/or additional rules
* Skill Shot: Plunge to hit shooter lane star rollovers without entering playfield, and return to plunger. Higher rollovers score more points.
* Wizard Mode: Drop 16 targets to light wizard mode at the outlane special inserts.
* Lighting white and amber inserts next to 4 drop targets starts 15 second hurry up at corresponding target on the right.
* Collect blinking inlane to start quick hurry up at spinner (2000 a spin).
* Wood Beast target resets inline targets.
* Completing each drop target bank lights its corresponding saucer insert (4 bank - 10k, inline - 20k, and 3 bank - 30k). If Wood Beast extra ball has already been collected, light all three saucer inserts to light extra ball at saucer. Saucer always collects any and all awards available.

NEW Wizard Mode
After defeating Ming's henchmen, you are faced with battling Ming himself in this new wizard mode
* Shoot spinners for 1 attack power per spin, pop bumpers for 20 attack power per pop, and the saucer for 35 attack power
* Build attack power to 140 and light saucer to attack Emperor Ming.
* Defeat Emperor Ming by attacking three times.

Carried Over Rules
Rules from the original code that were carried over into FG2021
* Dropping inline targets lites bonus multiplier 2X and 3X, and lights extra ball at Wood Beast target.
* Dropping 1-2-3 targets 1st time lites top pop bumper. 2nd and 3rd time lites and advances top target for collect mini ring bonus and special. Also, lites 4X after 3X is lit.
* Lighting 1-2-3 flashing arrows lites mini-bonus for 50,000 and saucer for 2X.
* Dropping 4 targets 1st time lites left spinner. and the 2nd ttime lites right spinner. Also, lites 5X after 4x is lit.
* Lighting flashing amber, yellow, blue, and white inserts next to the 4 drop targets, 2 right targets, and flipper return lanes lites super-bonus for 100,000 and saucer 3X.
* Ball shooter lane rollover scores super ring bonus when single target is dropped.
* Super-bonus and mini-bonus scores are collected in outhole only.
* Ball in saucer when 2X or 3X are lit lites 15 clock seconds to increase playfield scores 2X or 3X. When both are lit 5X value is scored.
* Maximum - 1 extra ball per ball in play.
* Tilt Penalty - Ball in play.

Flash-Gordon-2021-Rule-Card-2 (resized).jpgFlash-Gordon-2021-Rule-Card-2 (resized).jpg
Flash-Gordon-2021-Rule-Card-1 (resized).jpgFlash-Gordon-2021-Rule-Card-1 (resized).jpg

#15 3 years ago
Quoted from tktlwyr:

Definitely interested.
Any instructions on how to build the Arduino Nano circuit?

Here is a diagram of the circuit. It should be pretty straightforward from there, but let me know if you have any questions.

Quoted from DickHamill:

This is an awesome implementation!
bluebomber created his own PCB for this (as seen in his video), but there are DIY instructions (circuit diagram & pics) here:
https://ballysternos.github.io
His implementation of the BSOS is slightly customized, so be sure to get the software (including the underlying library) from his repository:
https://github.com/tmurren/bsos-flash-gordon-2021

Thanks! I'm hoping to modify my code to work with the updated Bally/Stern OS, so FG2021 won't be as standalone as it is currently.

Wiring rev5.pngWiring rev5.png
#29 3 years ago
Quoted from UNCgump:

Incredible work as it stands. I can't wait to install this on my Flash Gordon. May wait for the final version with music etc.

We are trying to implement the Squawk and Talk board into the library which will give me access to existing sounds, but I also have a Wav Trigger arriving this weekend that will give me full control to add any sound. I haven't thought about what custom sounds to use for the Wav Trigger version yet. Is there anything specific you have in mind? I know lots of people will want the Queen song added, but I'm not sure that's the direction I want to go yet.

#40 3 years ago
Quoted from geeteoh:

About the 1:16 minute of this video shows how I hi-jack the attract mode sound in the FG to play the Queen Flash song. My replacement S&T board knows it hasn't seen the game start sequence, so it can play a custom sound file when the attract sound is played. Funny. I had to make it skip every 3 or 4 times because the FG attract sound is played every minute!!!

It would be interesting to run this board with a custom MPU code. You could have tons more sounds.

Wow, that's really something! Nice to know there is a S&T replacement option available. What do the relay's do?

#44 3 years ago
Quoted from UNCgump:

bluebomber
I just love the wizard mode idea and execution! Is there a final payoff/bonus for defeating Ming with the 3rd attack?
Also, the hardware probably prevents this, but would there be a way to use the inline drops as a lock that when dropped again would start a multiball?
Open to other rules ideas? This is so fun!

Thanks! Yes, there are points awarded during the wizard mode, and for entering and defeating the mode. I have a list of "large" scoring and wizard scoring in the rule card on my GitHub: https://github.com/tmurren/bsos-flash-gordon-2021/blob/main/RuleCard.md. 50,000 for entering wizard mode and for first two times you attack Ming. The third time you attack Ming is the kill shot, and you are awarded 150,000 and the mode ends.

I'm still trying to balance all the award scoring to make sure nothing seems over or underpowered. For example, I noticed the changes I made to the inlanes and lower right targets lowered the scores a bit overall each game, but the amount points I'm granting for the skill shot and hurry up awards seemed to balance this out.

The main limitation with starting a multiball would be that this is a single ball game. You would need to redo the whole trough, and wire things up differently, which would keep you from dual booting the original code.

#48 3 years ago
Quoted from zahner:

I’m going to ask a dumb question. Is there any way to get this to work with an Alltek board?

Not a dumb question. I’m running mine on an Alltek, no problems!

#54 3 years ago
Quoted from UNCgump:

I do wonder if it's possible or desirable to give different audio to each inlane rollover, each spinner and each set of drops or some combo thereof. Or so on with other features.

Yes, that could be done easily in the code. This project is all open and free, so everyone is encouraged to use this as a starting point, and get in there and customize the game they want. The sound would be the easiest place to start once implemented. I’m just making the game I want to play.

#56 3 years ago
Quoted from UNCgump:

Point taken, but what skills does that customization take? Is this easy to pick up? I have zero experience with this sort of stuff and little time to learn and fiddle. Not knocking what you're doing by any means. Great effort on the tech and I like what you're doing with the code!

I appreciate the input, and the interest. I'm looking forward to playing with the spinner sounds myself! We would be happy to point you in the right direction if you have any questions when working with the code. Changing the sounds would be as easy as making your own WAV files and overwriting the existing ones. The three to four digit number at the beginning of the file names would need to stay the same so the trigger knows where to place them. Changing which elements on the playfield get different sounds would require you to change the code, which is Arduino C++. It would be a good beginner project for someone to learn more about this stuff.

#60 3 years ago
Quoted from UNCgump:

Possible to code combos of any kind? Which I guess here would be something like inlane rollover to spinner or drop target. Or like if inlane could light 2x spinner for 3 sec.

Yeah, totally possible, and a cool idea! The right side targets have the 4 bank drop target related hurry up collection that I added, and I've been toying with the idea of doing something for the inlane collection like the mini games from TMNT. I like your idea of adding a timed spinner power up that could only be collected once per inlane. I think Quicksilver does something like that.

#64 3 years ago
Quoted from DodgeThatOne:

Hello,
Sorry for the newbie question: is bluebomber arduino project only for software (new rules) and it must be combined with geeteoh squawk and talk for new sounds (music and new sound effects)?
Thanks a lot to you both for the great work and your passion to develop for and upgrade older wonderful pinball games,
Cheers,
Chris

The geeteoh S&T board is unrelated to the BSOS project. All that is needed to run Flash Gorodon 2021, or other BSOS games, is the free code and then buying the circuit board parts described here https://ballysternos.github.io/hardware.html. The WAV Trigger board is optional for custom sound.

#66 3 years ago
Quoted from BJM-Maxx:

I have still got to make up my adapter board but I just bought a couple of Arduino Nanos to play with. I have done simple Arduino projects previously but not as complex as this one and have never used libraries before. I am able to upload it appears (cannot check it on my game yet though).
I get several errors like these and wonder what they mean. It appears to upload however. I stripped off the directory path to where I keep the files:
FG2021.ino:2400:53: warning: return-statement with no value, in function returning 'int' [-fpermissive]
if (bonusFireworks<0 || bonusFireworks>9) return;
FG2021.ino:2373:204: warning: iteration 60 invokes undefined behavior [-Waggressive-loop-optimizations]
BSOS_SetLampState(AttractLampsMingAttack[lightcountdown].lightNumMingAttack, (dist<8), (dist==0/*||dist>5*/)?0:dist/3, (dist>5)?(100+AttractLampsMingAttack[lightcountdown].lightNumMingAttack):0);
FG2021.ino:2371:9: note: containing loop
for (byte lightcountdown=0; lightcountdown<NUM_OF_ATTRACT_LAMPS_MING_ATTACK; lightcountdown++) {
FG2021.ino: In function 'WizardMode':
FG2021.ino:2373:204: warning: iteration 60 invokes undefined behavior [-Waggressive-loop-optimizations]
BSOS_SetLampState(AttractLampsMingAttack[lightcountdown].lightNumMingAttack, (dist<8), (dist==0/*||dist>5*/)?0:dist/3, (dist>5)?(100+AttractLampsMingAttack[lightcountdown].lightNumMingAttack):0);
FG2021.ino:2371:9: note: containing loop
for (byte lightcountdown=0; lightcountdown<NUM_OF_ATTRACT_LAMPS_MING_ATTACK; lightcountdown++) {

Are you using the Arduino IDE to compile? I'm not seeing any errors on my end:

"Sketch uses 26376 bytes (85%) of program storage space. Maximum is 30720 bytes.
Global variables use 1341 bytes (65%) of dynamic memory, leaving 707 bytes for local variables. Maximum is 2048 bytes."

1 week later
#69 3 years ago
Quoted from hd60609:

So I want to take on this project. I plan on ordering the arduino adapter board and an arduino nano from Amazon.
After reading the thread, I think I need to also order a WAV trigger board to add custom sounds to the new custom game code. Correct? If so, which Wav trigger board should I get? Does it need to be permanently mounted? Or just plugged in temporarily to import sounds?
bluebomber would you consider pre-making the required components to install the custom code and custom sounds for a fee?

I'm still working on implementing sound, but when I'm done there should be two versions of the code available. One will use the Squawk & Talk board with original sounds, and the other will use the WAV Trigger board with custom sounds. We just figured out how to communicate with the S&T, but are still refining it.

This is the WAV Trigger used for this project: https://www.sparkfun.com/products/13660. The sounds are uploaded to an SD card that inserts into the WAV Trigger, and the Trigger is run by the Arduino, so it needs to be part of the system to work.

I think Dick's original intention was to keep the BSOS project easily accessible. The code is free, he tried to keep the hardware as cheap as possible to put together, and he's not looking to profit from this whatsoever. At the moment, the gerber files to send to a circuit board manufacturer are included with the BSOS base code. I'm keeping my corner of the project inline with that, but I'm realizing that the upgraded gameplay code is not accessible to people who do not want to build their own boards from scratch, or don't have the knowledge/skill to. I'm curious if you would be looking for a fully plug and play solution with code already installed, or if simply providing a parts source for the bare circuit board and buffer ic is enough.

Quoted from Blitzburgh99:

I would be up for this....
Question: will it work with the geeteoh s&T board?

I don't have any plans to support it in my code, but geeteoh said that the BSOS Arduino board should be able to control it. It sounds interesting, and it should be fairly easy for someone to add it to my code later.

#74 3 years ago
Quoted from BJM-Maxx:

There is probably a wide spectrum of interest out there. I bought RoyGBev 's board. If a fully assembled version was available I would probably have paid the extra for it. I am okay to assemble the board and download the code and adding sound to a coded game seems do-able. Although I am pretty technically experienced I am not much of a software person. I suspect there are a lot of people like me out there, keen to learn but a bit daunted at the learning curve.
Despite having done a few Arduino projects I am finding reading the shear expanse of code a bit intimidating. I have to ask the dumb question of where is the main loop structure in the code? The void loop () section is tiny and I thought everything above in the void setup () section was only run once. Still I can make my way through the BSOS calls and think I understand it. Any info is appreciated, I hope to make modifications to my Bally Eight Ball, which seem ripe for an update.

That's good to know, thanks for your perspective! I'll talk with some of the BSOS guys and see what they think.

ATM, you just need to put the FG2021 code from my GitHub onto the Arduino, and it should run. You shouldn't need to go into the code to edit anything unless you want to customize something. Right now, I'm merging over into the new BSOS which will add the extra step of downloading the operating system files and adding them too. Once I add custom sound support for the WAV Trigger, you will also need to upload the sounds from my GitHub to an SD card, but that's it.

I'll try my best at explaining how the Arduino code works, but this will be pretty basic: The first thing to run is all the stuff at the top of the file that adds libraries and sets up variables/pins. Then, setup() runs once, and after that loop() runs for the rest of the program. The rest of the code is all functions that are written outside of loop() in the code, but are being called from inside loop().

#76 3 years ago
Quoted from BJM-Maxx:

I need to spend more time looking at the FG code, I had been looking more at the Mata Hari version thinking it was good to look at a chime coil game. If you don't mind answering questions I am super keen to get up to speed.

Luckily, there is a lot of documentation on Arduino code (specifically C++) on the internet, and there are a good bit of BSOS games available to reference as you are writing your own code. I would say Stars, Trident, and Meteor are the best examples. Feel free to PM me if you have some questions as you are building your game, and I'll see if I can help. DickHamill was been very helpful when I have questions about BSOS.

#80 3 years ago

I just updated the game code on GitHub. I refined wizard mode, and fixed a player addition bug after a four player game completed.

After playing the wizard mode awhile, I realized that I needed to add some interest/strategy, do some balancing, and make it a little easier. I'll add a selectable option for easy, medium, and hard wizard mode later, but right now I have the medium (normal) version up on GitHub. The pop bumpers now score 20 attack power instead of 22, and I've added the saucer into the attack power mix at 35. The saucer now always fires down into the pop bumpers instead of up. Finally, the Ming attack goal is set to 140 instead of 152.

1 week later
#90 3 years ago

Thanks for sending these over!

Quoted from tktlwyr:

You may want to slow the timing down on the Wood Beast reset, if possible.

Haha, yeah, I realize this was why they never had this feature in the original code. I based the timing on how long it took the ball to reach the sling after hitting the wood beast target on my machine, but I'm trying to keep it short enough so the ball won't reach a flipper and get shot back up there while it's resetting. I know everyone's machines will be a little different though. Would you mind doing some testing to see how much the timing should be extended? Right now the delay is set to 750ms. Looks like yours almost made it out.

Quoted from tktlwyr:

I've had some scores that end with numbers other than "0". This should be corrected since you have the match feature active and match always ends in "0", i.e. 00, 10, 20, 30, etc...

I've seen this happen too. There are no scores in the code that have that last digit as anything other than "0" though, so troubleshooting has been difficult. I haven't seen exactly when it is being added to the score yet. I'll ask if any of the other BSOS games are seeing a similar issue.

1 week later
#92 3 years ago
Quoted from BJM-Maxx:

Sometimes the outhole kicker will serve the ball, then after a few seconds it will do it again. Both times it seems like the coil is held on longer than a normal coil would be.

I don't think I have experienced this. Maybe your switch needs adjusted? Here is a video of what happens on my machine: https://i.imgur.com/E6941HB.mp4.

Quoted from BJM-Maxx:

I never realized how much I tell what is going on by the sound

You'll also hear some S&T sounds in the video. The S&T is working and I have some of the sounds in, but it's still buggy so I'm hesitant to upload. You are right that it seems strange playing pinball with no sounds. When the bonus countdown doesn't play it seems like the machine broke or something.

Quoted from BJM-Maxx:

Is that Wood Beast extra ball a one time only thing in each game?

Yes. There are two extra balls the player can earn, and they can each only be collected once per player per game. The Wood Beast EB must be lit and collected first, and then the saucer EB can be lit and collected.

Quoted from BJM-Maxx:

For the wizard mode

16 drop target must be dropped/collected to light wizard mode. Spot targets don't count towards lighting. Wizard mode is lit in the outlanes, and you must drain through the outlanes to play the wizard mode. Drains down the middle don't count and will just advance you to your next ball (just like specials in the OG code). When the wizard mode starts, it is still considered part of the ball that you drained to start it. This ball ends when you lose the mode by draining, or win the mode by defeating Ming (unless you collected an extra ball). The flippers and solenoids are purposefully killed when you defeat Ming, and a lamp animation is played as the saucer kicks the ball out to the drain to start the next ball. It didn't make sense to let players keep farming pops and spins in the wizard mode after defeating Ming. It's more of a final boss fight.

#104 3 years ago
Quoted from BJM-Maxx:

I meant the outhole drain kicker

My bad, here's a video of the outhole while I'm processing a game: https://imgur.com/a/GG6hvEw.

Let me know if you can upload a video. I would be interested to see what is happening on your end.

#105 3 years ago
Quoted from UNCgump:

Is there not a way to stay on the same ball but reset the game scoring (or at least the wizard mode progress) to start the voyage again?

If you mean continuing the ball that you started wizard mode with after you win and/or lose wizard mode, then yes, that would be a fairly simple modification to the code. I built it with the intent of it being a "second chance" to play a mode and get more points as a reward for lighting the special. It's also intended to be bait, and add some risk vs reward.

You could try to backflip it into the outlane, take a shot that would normally be risky of an outlane drain, or you could play out your ball to maximize points and see if you collect the wizard mode or not. Getting 16 drops, pushing my luck, and draining down the middle is a roller coaster for me sometimes. Picking up the outlane special is even better! I really didn't want the wizard mode to feel like an extra ball, I wanted it to feel like an after credit scene in a movie.

#106 3 years ago
Quoted from BJM-Maxx:

My saucer works fine, I meant the outhole drain kicker. The ball is kicked to the shooter lane, then after a delay, it tries to server the ball again. Always does it the two times. In the regular code, I don't have that issue.

I was playing my version of the code tonight, and I finally experienced the bug you are talking about. It was only happening during the wizard mode. I just uploaded an update to GitHub that fixes this issue. Thank you for bringing it to my attention!

1 week later
#110 2 years ago
Quoted from BJM-Maxx:

I have a maybe dumb question. I wanted to leave my PC connected while running the code and observe the debug messages on the serial monitor. I cannot get the game to boot when I leave the computer connected. Am I missing something?

At the top of the FG2021.ino file, you will see this line "#define DEBUG_MESSAGES 0 // 1 is on." Set the 0 to a 1, and you will get debug information in the serial monitor while connected to a computer over USB.

#111 2 years ago
Quoted from SeaLawyer:

Or is the issue the fact that the original code only exists on the original board, and not in the BSOS environment (which would presumably also make the in-game version switching not possible)?

There isn't much room on the Nano, so I wouldn't be able to add both game codes onto it to swap between game types. Trying to squeeze what I have on their currently was a challenge. Right now, the switch either boots the MPU to the original code, or it is overridden for the Arduino to control things.

I agree that a multiball would be fun, and I think a two ball would be best. It is a possibility with hardware changes, but I think the reason FG doesn't have a multiball originally is for the same reason the inline drop targets don't reset. They don't want a ball to get trapped or break a plastic. I'm already considering changing the inline drop target reset to being on next switch hit after the wood beast target, instead of a certain amount of time after the wood beast target was hit (similar to how playfield validation is set up).

That being said, there are open slots in the switch matrix, the lamp board, the aux lamp board, and the SDB. So there are lots of opportunities to expand on the game. Also, geeteoh has a Squawk & Talk replacement that gives you control of extra relays and stuff. I like the idea of keeping the machine stock as far as hardware goes, but there is no reason that multiple variants of the code couldn't exist for people to play around with. I was tempted to make the two bottom pop bumpers lamps controllable like the top pop bumper is. That way I could really illustrate to the player that the pop bumpers were meant to be hit to build up attack power in the wizard mode.

Bonus tidbits about how the machine's hardware was built vs. how the game was coded: The four lamps behind Ming's face plastic on the playfield can be controlled in groups of two, but the original code only used them as one large group. The star rollovers in the shooter lane all register as one switch instead of three individual ones, so I had to code the skill shot by number of switch hits registered instead of highest switch hit. There are sounds playable from the Squawk and Talk's ROM that were never used in the original game.

#114 2 years ago
Quoted from SeaLawyer:

Interesting! I have the NB2 board from Pinball-Technologies that I was going to use in the game to add movie callouts and background music. This thread may have changed my course a bit. Just gotta find the time to fool around with it.

Cool! If you do, please let us know in this thread. I would like to see what you do with it!

#115 2 years ago
Quoted from flyhigh:

Have you looked at the Arduino Nano Every is pin compatible with the Nano. I understand it has a faster processor and more memory space and may allow both original and FG2 code exist in the same memory space.[quoted image]

I think one of the reasons the Nano was selected was because of the ATmega328P chip. The OS is written specifically for the microcontroller being used. I think heard someone edited it for the Uno. A couple boards with larger space have been tested, or are being tested, but I don't know if the Every is one of them.

3 weeks later
#117 2 years ago

Not too much to report at the moment unfortunately. Dick and I worked through getting the Squawk & Talk board added to the operating system, but right after we got it working I started having what seems to be unrelated hardware issues with my S&T board. I have some parts in for the board, but I need to troubleshoot. I had the S&T sounds about 90% implemented before I ran into the issue, but I will still need to add some functionality to how the sounds are called and timed. I was pretty bummed, so I've been distracting myself with a Spanish Eyes project and doing vaccinated things like location pinball I think Dick has a S&T machine that he will be working on soon, so there should be some information surrounding that.

The other side of sound for this project would be related to the WAV Trigger board. I'm pretty much out of code space on the Nano, but there is talk of adding a microcontroller to the operating system that has more program space. If that happens, I can look into adding custom sounds with the WAV Trigger, get more creative with some of the lamp animations, and add adjustable game settings so people can adjust the difficulty to their taste.

#119 2 years ago
Quoted from gdonovan:

I have purchased the adapter board and have to pickup a Nano, my FG will be ready in another week or two! Almost there.

I've been following your thread. It's really looking great!

#121 2 years ago

I had uploaded Squawk & Talk test footage to YouTube to share with Dick back in April. I just made it public today for him to use in his documentation, and thought I should share here:

#126 2 years ago
Quoted from Robotworkshop:

If you are putting on an Alltek try to get a Nano with the old boot loader. Those seem to work well on all the MPU boards. Nano modules with the new boot loader don’t seem to run correctly on the Alltek.

I’ve run FG2021 on Nano’s with both old and new bootloaders on an Alltek MPU, and they have worked fine. For OG MPUs or others, YMMV.

#139 2 years ago
Quoted from gdonovan:

Downloaded the newest code (June date) and this is the warning message when I hit compile and verify. Computer in workshop running Windows 7 Pro 32 bit.
Programmed the Nano unit and plugged it in. Strobe and backglass function is normal but with one wizard attack the ball landed in the saucer and did nothing. I had to remove the ball and drain it before the machine would respond. Taking the ball out of the saucer did nothing. During normal gameplay the saucer worked fine.
Related to the compiling message above I think.

My most recent code update on GitHub is dated April 18, so there shouldn't be anything from June. I just downloaded from GitHub to test, and it compiles fine. Make sure that you are using the most recent version of the game code: https://github.com/tmurren/bsos-flash-gordon-2021

#141 2 years ago
Quoted from gdonovan:

Just downloaded it this morning and compiled, screenshot this morning is from that build.
Dates from the files are from Windows, I must have downloaded the first one in April.
Any thoughts on the warning messages?

Could have something to do with your error message about https://downloads.arduino.cc/packages/package_index.json failing to download?

1 month later
#152 2 years ago

Code warning update: gdonovan Turns out there is a "feature" in the Arduino IDE that lets you select how many compiler warnings it shows you. Mine wasn't set to "all" by default, so I wasn't seeing any of these warnings. I was able to go through the code yesterday, and I resolved all the warnings minus one that is about an "EEPROM" being defined but not used (from my research, it's my understanding that this warning can be ignored for now). I just uploaded to GitHub. Hopefully you have better luck with it now, or we have at least removed the warnings from being a possible issue. I was still able to have the code upload and run on the board before repairing the warnings, during testing while fixing the warnings, and after.

Squawk & Talk update: I was able to repair my S&T this week too! I originally thought the issue was the old chip sockets. I replaced all of those, but I was still having the same issue. Then, I assumed it was the TMS5200NL since it runs the speech, but there was also the chance it could have been a ROM chip or the PIAs. I ended up ordering a TMS5200NL, but didn't end up needing it because installing new PIA chips resolved the issue!

#154 2 years ago
Quoted from BJM-Maxx:

Looking forward to hearing sound in your game. Does the current version you just uploaded have sound or is that yet to come?

Still just the plain code on GitHub right now. I'm excited to start diving back into the sounds. My main tasks are figuring out the background sounds, 15 second timer sound, and implementing logic for sound hierarchy/timing so speech callouts don't get cutoff. I posted a video in this thread of the sound before I started having card issues if you want a preview.

#159 2 years ago
Quoted from BJM-Maxx:

I have an Embryon, same Squawk and Talk. I love the game but they use only a little bit of the speech capability and the Bally implementation has almost any sound effect cut off the speach.

It seems like they have timings for the speech in FG so other sounds don't interrupt them.

Quoted from geeteoh:

Interested to see what you come up with for sound logic. I've spent a lot of time with it for my replacement S&T board. Having no logic and just playing everything commanded as they come in (over lapping everything), produces one big sound mess. For mine: I have the background always playing (optional ducking for EBD voices); voices stopping any sound effects but play one after another (hold if a voice is already playing); sounds only start if no voice is playing; and I have the option to merge all sound effects or cut them when others come in. It's complicated, because you need to know how long each sound or voice is or keep asking the WAV player what's playing.
I found that playing sound effects with the voices, caused the voices to be hard to hear. It did always bug me that the background was cut when anything played and sound effects stopped others. That's why I implemented those as overlapping items.
EBD needed ducking of the background. EBD voice call outs for what to hit next are important and without ducking, the call outs were hard to hear.
Then there's just the strange ones. There is a sound command which just shuts off the repeating background. There are voice call outs that have alternatives (different voices for same sound command). Xenon has alternating male and female voices for some. EDB has four alternatives for each of the ball call outs that rotate. Xenon has two sound commands that play many alternatives (such as the main background alternating tone is just one sound command that changes).
Mr Mrs Pac-man start game sounds have to be held and serially played. The sound commands all come in at once, but are played out one after the other.
Mr Mrs Pac-Man end bonus counting with the “wuga wuga” is messy. Play them all when commanded and it’s too fast. Serialize them and it plays past the end of the bonus. I had to serialize but only allow one in the future queue.
Many games play a sound for each credit during coin up. But if you set one coin up switch to give 2 credits, you’ll get two quick same sounds or voices. They need to ignore if one is already playing.

The S&T board has some limitations being monophonic, but it should also make handing the sounds simpler. The board actually dose some of the work for you. Once triggered, the background hum always plays in the background, and its tone automatically increases and continues to play after another effect/voice is played. The background hum can also be controlled in three ways by sending bytes: start the hum at the lowest frequency, increment the hum's tone (or restart at current hum increment reached if hum turned off), turn off hum. Turning off the hum is actually important because the board will continue to play that sound till you tell it to stop, or cut power to the machine (killing power to just the Arduino kills the game, but the S&T continues the hum). I stop it at the end of balls and at the end of the game, and I have to restart it at the beginning of each ball.

As you are noticing, the voices need timings so they don't get interrupted. In normal gameplay, the original coder gives the voices priority, and while they can't be interrupted by sound effects the voice can be interrupted by another voice. The normal sound effects seem to just play and interrupt each other. The 15 second timer alarm sound is handled pretty differently though, and it doesn't seem to have the same auto control as the background hum unfortunately. The timer alarm sound will trigger, and it can be interrupted by any sound. Once the sound that interrupted it is finished playing, the timer alarm is triggered again. Once the 15 seconds is up the timer quits being retriggered.

I think we have the majority of it figured out. Still trying to work on something for the timer alarm, and constantly fighting with code space as I go.

#161 2 years ago
Quoted from geeteoh:

I currently have 12 sound types for S&T games. When a sound is commanded it can be one of these 12 types which determines how it should be played or queued. I assigned each sound command to one of these sound types.

That's very organized, and it looks like you have a ton of control!

I just played with handling the 15 second timer alarm more, and how I initially thought it worked was wrong. Once started, it repeats after another sound has been played just like the background hum. So, I don't have to handle it myself, and I can group it in with the background sound controls too.

Sending byte 6 at the start of a ball will start the background hum at its base level, sending byte 11 increments the background hum's tone up one, sending byte 10 will start the fifteen second timer sound, sending byte 11 again will cancel the timer sound and continue where you left off with the background hum, and sending byte 5 will turn off all background noises.

#163 2 years ago
Quoted from gdonovan:

Sockected my board today, installed new nano, flashed it to the last code uploaded and it does the same thing.
You have light show, flash unit goes continuously and you have no coil power aside from outhole.

Are you able to upload video for us to see it in action? I'm not familiar with the RoyGBev boards, what do the jumpers do? Would changing those around give a different output? Is there a manual? I would double check that all the connections are good on the RoyGBev board with no shorts, and on the MPU with anything relating to the J5 connector.

#166 2 years ago
Quoted from gdonovan:

I loaded the squawk and talk version from a few weeks ago which actually works and has sound, so the nano seems fine.

I wish I could be there to help. These are some very strange results. Any video you provide would help to give some insight to the cause. If you aren't able to upload a video here, dm me here on Pinside and we'll get a better line of communication going that lets us share files.

Also note, that S&T code is just a test fork up there on GitHub, is very incomplete, and isn't recommended for use.

#170 2 years ago
Quoted from gdonovan:

One program works, (game plays, new light show, partial sound) the other does nothing but boot up, start game, new light show, flash unit runs continuously, no flippers or other coils but you have outhole kick out.

I should have time tonight to download directly from GitHub and test, just to confirm

#171 2 years ago
Quoted from gdonovan:

One program works, (game plays, new light show, partial sound) the other does nothing but boot up, start game, new light show, flash unit runs continuously, no flippers or other coils but you have outhole kick out.

I just took a moment to test and double check. I downloaded the zip from GitHub, and uploaded it to my machine. I was able to process a full game, and everything seemed to run normally.

#173 2 years ago
Quoted from gdonovan:

1) This morning I took a fresh thunb drive and unzipped to the Arduino stand alone program to it.
2) Downloaded the 7-11-21 files from Github
3) Flashed the board with old bootloader setting, nano device
And... it seems to work.
I'd say perhaps something was corrupt on the other drive but inexplicable why one flash would work fine and the other did not.

That's great! I was about to suggest trying a different USB cable as I've had mind boggling issues with that and Arduino's in the past.

#174 2 years ago

gdonovan I know you said the strobe was going wild before when you were having issues uploading the code, but I would be interested to get your feedback on my current use of the strobe in the game and if it feels overwhelming. Unfortunately, my machine was missing the flash unit and its transformer when I purchased it, and it just has a bulb socket and #44 installed in its place. I tried to use the original code as a guide for its usage, but I was just guessing.

1 week later
#175 2 years ago

I just uploaded a big update to GitHub! The Flash Gordon 2021 game code has now reached v1.0.0, and is basically in a complete state with Squawk & Talk sounds integrated and a new spinner hurry up added. There will definitely be more updates in the future to repair bugs that pop up or add/refine features, but this is the first time everything has been together in a really good presentable state. Full release information can be seen in this threads original post, and on GitHub.

The current plan is to take my machine to Pinfest in Allentown this weekend to let people try the code. It should be there all day Friday, and probably some of Saturday. Say hi if you are there! I'm trying to have another video out soon to demonstrate the full game with sound, but I'm also getting stuff together for this weekend.

Also, there are score cards now too!

Flash-Gordon-2021-Rule-Card-2 (resized).jpgFlash-Gordon-2021-Rule-Card-2 (resized).jpg
Flash-Gordon-2021-Rule-Card-1 (resized).jpgFlash-Gordon-2021-Rule-Card-1 (resized).jpg

#183 2 years ago
Quoted from tktlwyr:

On your previous code, it seemed that there was a LOT of use of the strobe. That has concerned me due to the complexity of finding replacement strobe bulbs. A little less use would be welcomed.

Quoted from gdonovan:

Agreed on the strobe use.

Good to know! I'll look into using dialing back the strobe a lot. I play at a place on Wednesdays that has a Flash Gordon, but I don't know if it has a flash unit or not. If it does, I'll see how bright it is, and I'll try to remember to record some video of its use. I thought I got pretty close to the original code, but I really have no idea since I just have that #44 bulb in there.

Quoted from UNCgump:

Baller! Thanks so much for this. Can't wait to try it out. And thanks for adding the inlane-to-spinner hurry up!

Quoted from UNCgump:

Sorry I'm too lazy to sort this out or hunt down the details, but could someone clarify exactly what I need to buy to implement this code?

Yeah, that was a great idea! Right now I don't have any sound for it or anything, just a blinking spinner arrow, but it comes and goes so fast I kinda like it in the background like that. You could solder a board together yourself with just the Arduino Nano, some male and female headers, a resistor, and the buffer chip. Schematics are available online for both wiring your own board and sending files out for boards to be made (files for the board may be available too). Otherwise, RoyGBev here on Pinside has a ready made kit available that he sells for around $30 https://pinside.com/pinball/market/shops/1304-roygbev-pinball/04736-bally-stern-arduino-adapter, and troxel has his board as well.

#184 2 years ago
Quoted from troxel:

I started selling plug-and-play kits if anyone is interested in buying one.
bluebomber Great job on this! I am curious to hear the feedback that you get at Allentown.

Just watched your instructional YouTube video on how to download everything and get BSOS working on the hardware. Nice to have something simple to point people to!

Thanks! I'm curious as well. So far feedback online has been positive, which I have found surprising. We'll see what I overhear in real life All feedback is welcome though

1 week later
#188 2 years ago

Everything seemed to go well with the machine at Allentown's Pinfest! They let me drive right between the rows of machines to drop off on Thursday, and I found a nice Quicksilver to put it next to. That place was loud, I've never had to turn the volume up on the machine that high before Almost every time I had a view of the game someone was playing it. I had a couple friends report that the plunger was having a hard time making the full plunge, but unfortunately I wasn't able to replicate it when I tried. Sorry if anyone experienced that. Other feedback I got was that my signage about the custom code should have stood out more because of all the sensory overload from everything.

Here are some pictures I found on social media that people posted of it:
IMG_4104 (resized).JPGIMG_4104 (resized).JPG
IMG_4102 (resized).JPGIMG_4102 (resized).JPG
IMG_4094 (resized).jpgIMG_4094 (resized).jpg
IMG_4100 (resized).JPGIMG_4100 (resized).JPG

Quoted from gdonovan:

Nice to meet you!
[quoted image]

Nice to meet you too!

#191 2 years ago
Quoted from slochar:

I noticed the sign you added that said to press the button on the top of the cab (presumably to boot/reboot the arduino?) but it seemed like there were 2 buttons there.

I had that sign there for the people turning on the machines in the morning so they didn't think it was broken. I yanked it off once I got to the show. Yes, the button is wired to reset the Arduino, and the other "button" is a switch that lets you select which game code you want to boot to before turning on the machine.

Quoted from slochar:

Everyone could hear the 4-5 meteors from everywhere in that area though

I think I got to play three of the Meteors. It was fun comparing them.

Quoted from gdonovan:

BTW like the surprise when you beat Ming, did not expect that. How hard is it to go into the program and adjust the flash unit? I can see why on yours with just a 44 bulb it's not a concern.

Thanks, there are four "dings" that they gave me to work with, and this is the proof of concept. I may update the pattern later. It's not hard to edit the strobe out of the program. I'm about to post new code that adds a variable so you can toggle it on and off easily.

#192 2 years ago

Update v1.1.0 has just been uploaded to GitHub. This is more of a housekeeping and quality of life update, and the main reason for it is to give the user/operator the option to disable the backglass strobe unit. The default setting is now off, but is easily changed to on (described below).

All updates to this version: Added attract mode speech callout. "Operator Game Adjustments" section added to the top of FG2021.ino organize user definable variables. Also, a couple new ones were added: Turn strobe on or off (off is recommended at the moment), wizard mode drop target and attack power goals, attract mode speech callout and its timing. Updated wizard mode attack power saucer insert lamp animations so they are divided equally, and can handle operator game adjustment variables. Split up coin slot 1 & 2 use, added coin drop sounds, and updated credit addition to function properly. Repaired issue where 2x and 3x playfield multipliers weren't stacking. Adjusted EEPROM order numbering, variables, and reading/writing. Cleaned up some variable names.

Edit: I finally found a good YouTube video of the strobe, so I removed the paragraph asking for help with a video.

2 weeks later
#194 2 years ago
Quoted from tktlwyr:

So a quick question for clarification as I've been away from this for about 45 days. Does 1.1.0 have sound or just the attract mode speech implemented?
Thank you in advance.

Yes, 1.1.0 has sound in both during gameplay and attract

2 months later
#211 2 years ago

See the edited original post on this thread and GitHub pages for more information.

I just uploaded a version of FG2021 to the BSOS GitHub that is meant for the revision 3 board with an Arduino Mega 2560. This version will always support the latest version of the operating system. I have run out of program space on the revision 1 board's Arduino Nano, but the Mega seems to provide more space than I will ever need for this project. I have also rebuilt the self test / audit mode of the machine and I added adjustable score award thresholds, number of high scores beat, total replays, and made current credits adjustable.

The rev 1 Nano version is still available on my GitHub and is considered a complete game with Squawk & Talk sound, but it will not support the latest operating system or have feature updates in the future. It will still be supported and have bugs fixed though. I had enough space to add the updated self test / audit mode, but I was only able to include the tracking for how many high scores have been beat.

I have a couple other projects rolling around right now, but I'm looking forward to working with the Mega more and adding more features and options down the road.

4 weeks later
#215 2 years ago
Quoted from RatShack:

Building some BSOS boards for friends and there's a ? about Flash Gordon. Does the 2021 code include support for background music via a wav trigger board at this point?

Do you know which BSOS board revision you are building?

There are two versions of the FG2021 game code at the moment. The BSOS Rev1 board (Nano) code only supports the original Squawk & Talk sounds. The Rev2 (Mega) board code supports both the Squawk & Talk and WAV Trigger sounds, but the only sounds that are currently implemented are the Squawk & Talk.

1 year later
#251 11 months ago

Quick update on the state of the code (Arduino Mega version). The main operating system has been updated, and is live again. I am currently working to get my old code updated so it works with it, and update the links/instructions to reference everything correctly.

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 130.00
Boards
Troxel Repair
 
From: £ 135.00
Electronics
Retro Electro Designs
 
$ 18.00
Electronics
Yorktown Arcade Supply
 
$ 99.00
$ 20.00
Playfield - Plastics
UpKick Pinball
 
7,995 (OBO)
$ 20.00
Hardware
Volcano Pinball
 
5,000 (OBO)
Machine - For Sale
Houston, TX
From: £ 135.00
Electronics
Retro Electro Designs
 
$ 29.00
Boards
RoyGBev Pinball
 
$ 100.00
Cabinet - Other
Volcano Pinball
 
$ 15.00
Hardware
Volcano Pinball
 
$ 22.95
Eproms
Pinballrom
 
$ 10.00
Playfield - Protection
UpKick Pinball
 
$ 5.00
Hardware
Volcano Pinball
 
$ 22.50
$ 179.00
From: $ 10.00
Electronics
Third Coast Pinball
 
Wanted
Machine - Wanted
Berkeley Springs, WV
$ 7.00
Playfield - Decals
Pinball Haus
 
$ 69.00
Gameroom - Decorations
Pinball Pimp
 
$ 29.00
Boards
RoyGBev Pinball
 
$ 18.95
Eproms
Pinballrom
 

You're currently viewing posts by Pinsider bluebomber.
Click here to go back to viewing the entire thread.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/flash-gordon-2021-re-imagined-code-for-bally-flash-gordon-1981?tu=bluebomber and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.