(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 bjm-maxx.
Click here to go back to viewing the entire thread.

#41 3 years ago

Pretty exciting idea, there are so many old Ballys and Sterns that are code/rule limited rather than playfield limited. You had me with the sweeping light patterns alone. I have always wanted to update my Bally Eight Ball but found the learning curve steep, I have not found documentation on the original code for a SW newbie like me to know where to start.

I have a Flash Gordon right next to my Eight Ball so I will definitely be making up a board for both.

#65 3 years ago

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++) {

2 weeks later
#72 3 years ago
Quoted from bluebomber:

...............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.

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.

#75 3 years ago

I should have mentioned that I am in this thread because I also have a Flash Gordon, happens to sit next to my Eight Ball. I am really looking forward to trying out your game. I should be able to get my little board assembled in the next couple of weeks. 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.

As a fun aside my limited real time programming experience came from coding in raw M6800 machine language (in a hex editor) in my 1987 Buick Grand National. Coding errors had a large penalty in that case, had to get it right when you change the actual fueling and boost algorithms not just look-up table stuff.

#86 3 years ago

I also just finished soldering my board and was not sure how to hook it up to my Alltek. Looking forward to trying it out.

2 weeks later
#91 3 years ago

Finally had a chance to try this out. First off the game worked fine, no problems. Very cool seeing the original games but with changes built into it.

I wondered about a couple of things. 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.

The Wood Beast reset worked fine for my machine, I used the code from about 2 weeks ago. Is that Wood Beast extra ball a one time only thing in each game?

For the wizard mode, I had the glass off to go through the motions of getting there. Your instructions say 16 targets, can that be any 16 targets? Once the outlane lights go on do I have to lose my ball to enable wizard mode? I spun up the spinner until the saucer lights started their sequence and did that 4 times. Once I win the wizard mode, it acted like I had tilted and killed all the solenoids until I put the ball in the outhole. Does that mean wizard mode takes two balls to win? One to initiate, then lose it once complete?

I never realized how much I tell what is going on by the sound, very much looking forward to your sound implementation.

#102 3 years ago
Quoted from bluebomber:

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.

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.

2 weeks later
#109 2 years ago

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?

2 months later
#153 2 years ago
Quoted from bluebomber:

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!

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

#155 2 years ago
Quoted from bluebomber:

.....implementing logic for sound hierarchy/timing so speech callouts don't get cutoff......

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.

1 year later
#226 1 year ago

You download the Arduino development application, download the game code from GitHub, open it up in the Arduino software and you are looking at the code. USB connect an Arduino Mega and upload the code into it. So from there you need to modify the code to use your alternative sound source, the WavTrigger.

The WavTrigger you insert a SDcard loaded with your sound effects and/or music. The WavTrigger only uses uncompressed CD quality wav files. The BSOS code has been designed to send commands to the WavTrigger to have it play individual tracks, start, stop, pause, loop, set volume, etc.

If programming is new to you this would seem a bit overwhelming. That is where I started from, not a programmer, but slowly figured it out and rewrote Eight Ball that is now being played by people.

2 months later
#237 1 year ago
Quoted from digitaldocc:

If anyone got the 2021 code to work with the geeteoh board please let me know. Maybe I'm doing something wrong.

Is the geeteoh board working with the stock code? Just want to make sure the board itself is okay. With it powered, you can push the button on the WavTrigger daughter card and it will play the first numbered track it finds to at least assess it's health.

#238 1 year ago

Questions:
1. I'm pretty confident Arduino and Geeteoh boards don't work together. So I have to remove the Arduino - correct?

It should work with the Arduino. The Geeteoh board is a replacement for the original sound card. The Arduino issues the same commands to the S&T or whatever board is there, it has no idea what it is talking to. Is the original sound card working correctly with the Arduino?

2. When I remove it, do I need a connector or something from where the Arduino was plugged into?

The Arduino is plugged onto the MPU cards J5 diagnostic connector. Bally machines never had anything there which is why the Arduino card goes there. Do you have a switch connected to the Arduino to allow you to toggle it on or off? You don't actually have to remove it. Just above your yellow wire there should be a jumper on 2 pins, pulling it off tells the Arduino not to engage and lets the original CPU run the stock code. Most people connect a switch to it that they run up to the front of the cabinet, just toggle as desired for new/old code.

3. I have Geeoteoh instructions to default on the FG sounds/music that come with it. Has anyone pumped more FG Queen music onto his board? I'd be willing to make a donation, I just don't want to mess up anything if I try to change wav on my own. I'm a player not deep into code/board mods.
Love what this community has been doing. So damn cool. Feel free to PM me for privacy.

The stock code has a finite list of sounds it will ask the WavTrigger to play. So you are limited to replacing any of the tracks on the SD card with whatever you choose but you cannot add new tracks, just replacing the ones that are there.
If you are running the new Arduino code, you can edit the code to make new additional requests for sounds or rotate through different background tracks but that is getting into changes to the code.
One easy thing to do should be to find the Geeteoh background track and replace it with a much longer track consisting of several songs in a row. It should just loop play that track over and over.

If you do decide to alter the tracks that are there, make sure you make a copy of the SD card before making changes. I suggest copying it over to a new SD card and changing that one only. Open some of the tracks in Audacity and look to see what recording level was used generally on different tracks especially the background sounds. When you replace tracks, set the recording level to something similar or you will have something that is too loud or too quiet. If you get into changing actual sound effects which are generally very short in duration, keep in mind that the stock sound card would simply chop off a previous sound effect to start a new one. So a really cool new but longer sound track would be chopped off quite often.

3 weeks later
#250 11 months ago
Quoted from badbilly27:

Appreciate some advice so I don't accidentally blow a board:
1. In pic, it has an Arduino installed (circle one) and the blue connector (circle two below) is just dangling. Appears new code is working as skill shot works. Does that need to be "clipped" on to something? I see in instructions it may or may not. I bought this game with it already installed but fear during moving the clip detached. I just don't want to connect and blow something.
2. I just bought a geeotah squak & talk replacement board. Want the movie sounds. This thread states the arduino and geeotah boards do not work together. Ok. So does that mean I need to pull the arduino (circle one) off the board and then install geeotah board in bottom right, replacing squak & talk? If I leave Arduinio in and install geeotah board I'm assuming something bad will happen.
Appreciate guidance on both - thank you in advance.
[quoted image]

If that is an Alltek MPU then the dangling one can be removed, that connection is part of the Alltek board. No harm will come from trying the Geeteoh board, worst case it does not respond. In which case either remove the Arduino or remove the jumper on its little board to prevent the new code from running.

#254 11 months ago
Quoted from digitaldocc:

Well, I was going to try and tweak high/low nibble timings this evening and when the 2021 adapter was plugged in I couldn't even credit a game.
Last time I used the adapter it worked. It's plugged in correctly and I hear boot sounds. Just can't start a game. I remove the adapter and everything works. Tried using the extra ground wire and without.
Last time it worked I was on all alltek boards except the the aux driver board. The only thing that's different is now I have an alltek aux driver board as well.
Do these things suddenly go bad? Wish I had a known working one.
Any advice?

Extra ground wire? Did you load this Arduino? If you have the Arduino software you can open up the serial monitor while connected to your computer and check the telemetry.

1 week later
#260 11 months ago
Quoted from digitaldocc:

Can you experienced 2021ers tell me if it's safe to compile and upload from my laptop to the arduino adapter plugged into the mpu? If yes, and I don't have to remove it can I do it with machine power on or do I need to kill power to the machine?

I have done it several hundred times (not exaggerating). On the Rev 1 board, the machine just pauses then reboots when the upload is over. On the Rev 3 Mega, the stock code boots most of the time while the arduino is uploading which is disconcerting the first time it happens. When upload completes, the Arduino boots and halts the stock processor.

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

You're currently viewing posts by Pinsider bjm-maxx.
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=bjm-maxx 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.