(Topic ID: 138532)

Flight 3000 - software rewrite for Flight 2000

By Snux

8 years ago


Topic Heartbeat

Topic Stats

  • 68 posts
  • 21 Pinsiders participating
  • Latest reply 6 years ago by Snux
  • Topic is favorited by 33 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

DSCN5534.jpg
doofus.png
DSCN5529.jpg
DSCN5528.jpg
DSCN5527.jpg
DSCN5525.jpg
DSCN5523.jpg

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

12
#1 8 years ago

Some of you may have been following the major rewrite and DMD conversion I have been working on for my F14 Tomcat "Second Sortie" project.

https://pinside.com/pinball/forum/topic/f14-tomcat-second-sortie-information-and-on-going-development

For a number of reasons I've had almost no "me" time for a number of months so that's been slow progress. I've always wanted to do a simpler conversion on my Flight 2000 (keeping the original displays and just extending the software and sounds). The P-ROC won't talk to these early Bally / Stern machines (without a lot of new hardware to interface it), so I never got to look too far into it.

Then lo and behold Jim (applejuice / myPinballs) announces he's working on a custom controller for this kind of vintage.

https://pinside.com/pinball/forum/topic/mypinballs-custom-pinball-controller-for-ballystern-games

This thread will be for following along with how this project goes. I'm hoping things quieten down and both F14 and F2K get some progress made soon, but F2K will be an easier project as the rules are nowhere near as complex, plus I don't have to think about DMD effects and so on.

#2 8 years ago

So Jim sells this controller as a kit, or ready built. I was in a hurry (my wife is away this weekend) and Jim was going away on vacation and wouldn't have had time to build me a set, so I opted for the kit. So, after unpacking the box I'm ready to start soldering...

DSCN5523.JPGDSCN5523.JPG

Checking a few components, even with my glasses on I can't read the numbers on that little capacitor....

DSCN5525.JPGDSCN5525.JPG

After a few hours....

DSCN5527.JPGDSCN5527.JPG

#3 8 years ago

Now although I've been familiarising myself with the Arduino-based coding framework for this controller, I've not had time yet to start putting together something for Flight 2000. Yet I still want to give the boards a quick run. So I installed them, but only connected up the lamp drivers for the moment.

DSCN5528.JPGDSCN5528.JPG

I uploaded the code to each of the 3 Arduinos (one acts as a master running the main game code, one handles multi channel sound and the other handles the displays). The game code I uploaded was Jim's example from his High Voltage game (which was a retheme of a Future Spa). That code boots into an attract mode, so I figured if just the lamps were connected at least we can see what happens.

So, power on...... and the displays come up....

DSCN5529.JPGDSCN5529.JPG

Now they look a little odd. But they were a somewhat hokey even with the original MPU board in, so I probably need to chase down some connector issues. But they're displaying values, which means the display Arduino is doing it's job.

And the lamps?

#4 8 years ago

So that's it for today. Tomorrow I need to look at the sound connections, as F2K has that odd sound / speech board combo and I don't think it'll hook right up. Then I'll take a look at the displays and try to straighten them out.

After that I need to start the coding side - I can't connect up solenoids etc until the code is safe enough to do so...

More to come......

#16 8 years ago
Quoted from Patofnaud:

Ok, where did you find that little cap tester?

Mine is one of these..... it tests caps, resistors, diodes, transistors. There are a bunch of different ones out there, take your pick

http://www.ebay.co.uk/itm/271957049755

#20 8 years ago
Quoted from Lovef2k:

What do you hope to accomplish with the F2K re-programming? Adding a DMD would be really cool. If that's at all possible.

With this setup adding a DMD isn't possible. To be honest, that's why I decided to do it - keeping the original displays makes things easier, and I already have a "hard" project with my F14.

Initially I'm going to code up the game to play the original rules. That way I don't have to think too hard and it'll be a great way to get used to the programming framework.

For the future, I'm thinking around different options with the ball lock. We could speed up game play some by keeping a ball staged in the final ball position at the top of the playfield, so if a ball goes up the left lane to the locks, the staged ball could be kicked out right away to continue the game (assuming you don't want the ball to remain locked).

#21 8 years ago
Quoted from sven:

Shame on you, wasting precious time you could have used for your F14 to start yet another project!

I'd like to have time for both

2015 has been a pretty terrible year so far. Over the next couple of months I think we'll finally be getting back to normal again, then I'll have some more time (and enthuisiasm) for pinball

#24 8 years ago
Quoted from applejuice:

What are your thoughts on sound and music for F2K15?

I'm planning all new. F2K isn't exactly blessed with a stunning array of sounds, and the speech although good for it's day grates after a while. If I can get the ball lock staging a ball like I want, it'll remove some of the stop/go that it suffers a little from at the moment, lending itself to some fast pace background music.

1 week later
#27 8 years ago

So, had a little time today to continue checking out my setup. My first test (in the video from the first post above) highlighted that some lamps were not flashing in attract mode. Now I'm still running Jim's code from his High Voltage game, so lamps/coils/switches don't really tie up with F2K, so I adjusted his code a little to include all the lamps. That fixed a few of them, but I was still left with a bunch that weren't working.

Counted the ones that were out. 15. Hmm. These early machines from Bally and Stern have the lamps driven in 4 groups of 15. Got out my trusty logic probe and one of the driver chips was dead in the water. Pulled the board to take a look and realised it must have been a long day when I did all the soldering.

doofus.pngdoofus.png

The whole driver IC was only soldered via 2 pins which I'd done when originally tacking the sockets in place. So I soldered the remaining ones and also fixed a missed pin on the SD card holder. Now all the lamps are running

Display issue was indeed a wiring problem, need to re-pin the connector sometime.

I've now connected all the solenoids, switches and lamps up to the new boards. Speaker connection is a little goofy, but by turning the Stern connector backwards and just mounting it on the end 2 pins of Jims board it connects fine. I had to cut a few cable-ties to release a little extra give in the backbox, but everything is now connected up.

DSCN5534.JPGDSCN5534.JPG

So with everything connected, I decided to run Jim's High Voltage code as-is, just to see what happens. It's kinda (very) odd, as all the code is wrong for this machine, but it does go into attract mode and play music and some sounds. It's not too smooth as it's getting quite confused as all the coils/lamps/switches/sounds are for a different machine, but that's code not hardware.

So now I need to copy the HV code and start turning it into F2K15 code. But I'm confident that the hardware side is up and running now.

1 week later
#30 8 years ago
Quoted from rcbrown316:

this is fascinating but i am gonna ask a stupid question. what end result are you looking to achieve?

Not a stupid question, my wife asks me the same but normally leaves out the word "fascinating"

I first want to implement the original F2K game rules. Partly because they're already quite good, and partly as a great way to learn the coding framework without needing to think too hard about new rules and things.

After that I want to make some additions.

Multiball is really hard to get, but the reward for getting there isn't great. If you lock a ball during multiball it just sits there, so it's easy for multiball to end without actually have done anything. I'm thinking here of maybe some kind of jackpot shot or combo which can only be scored during multiball.

Having the balls staged in the locks will also make the game flow more quickly - instead of having locked balls in the "walker", they could be moved right across ready to be launched back into play more quickly when needed.

Better sounds and some good background music

I'm sure I'll think of some more as we go!

2 weeks later
#31 8 years ago

So I finally managed to get a quiet day for this project and I'm pleased with the progress.

I have all the switches, lamps and coils numbered and mapped properly now and some very basic rules in place. So now I can start a game, hitting the various rollover switches will spot the letters in "BLASTOFF" as they should. I have the right hand drop target bank resetting when all three have been hit, the flippers and jet bumpers and 4 slingshots are responding as they should and scoring a few points. So it's playing a very basic 3 ball game, with ballsave.

Mapping the coils and lamps was a fairly long winded process, not helped by the Stern manual grouping things in a wacky order and having some mistakes in, but now they're squared away we're good.

I'm going to continue working on this as a single ball game at the moment, to continue getting familiar with the framework and fleshing out the easy parts. Once that's done I need to chew on adding code to handle the 3 balls along with the locking mechanism.

So all in all very happy with the way things are going. Thanks to Jim for letting me bounce questions and comments off him during the day! Here's a fairly rubbish video just showing that the game starts up, flippers and slings and BLASTOFF rollovers are working and the game going back into attract mode after the last ball. The eagle eyed among you will see the match number being played out at the end on the display too.

1 month later
#36 8 years ago

So, after a long pinball-programming absence, got some time to unearth my F2K and spend some more time on it. I've now got the handling of both the bonus and the bonus multiplier dialled in. The right drops increase the multiplier. Also got the initial handling of the BLASTOFF rollovers done, when you've got all of them in place the top left lane lamps strobe. At the moment the game is still single-ball, so if you shoot the ball into the lock lane top left it'll just be walked through and ejected. Jim's new 'readHold' method is great for this as it allows the ball to settle on the switch for a short time before action is taken.

This video shows most of the above, it's a bit rubbish but you get the idea.

Next up will be bedding in of the trough code so that we can make this a multiball game. Also there are a few things on the hardware side (of the machine, not Jim's boards) that need some adjusting. Got a couple of bulbs out and the display connectors need repinning.....

#39 8 years ago

Spent some more time today getting the ball trough code roughed in. In a single ball machine, when the ball drains you know the ball is over. In a game with more than one ball, the ball being over is determined by a combination of how many balls are in the trough along with how many are currently sitting in locks.

So this video shows a first pass at a simple multiball, just to check the basic handling. When you shoot a ball into the top left lane, the ball will be 'walked' over to the right hand lock position. When it arrives there, it waits and then ejects a second ball into the shooter lane. When you launch that second ball and it hits a rollover switch for the first time, the locked ball is ejected and multiball runs. I have the BLASTOFF letters strobing when the game knows multiball is running. After the first ball drains, you can see multiball is over (strobing stops) but the ball does not end. Draining the last ball completes the ball and the bonus count is done.

The multiball and trough logic will be different in the final version, but this proves that the basic idea is sound.

#40 8 years ago
Quoted from ApplePie:

Mark, could either you or Jim flip me a sample of this method please

Hi Paul,

readHold probably isn't what you need here. It works the same as read, but only calls the related handler if the switch has been held down for more then 250ms. Gives a ball chance to settle down before being spotted.

Jim is in the process of setting up some channels on 'slack' to start discussing code snippets and other ideas. Once you're setup on there, post away and we'll see what we can do. Or Jim will

#44 8 years ago

I think I might make this a 4 ball game, although maximum in play will still be 3. If I leave a ball staged permanently in the kickout lane that feeds the top lanes, then we can run games with a bit less/stop start. So if you shoot a ball into the lock lane but locks aren't lit yet, then instead of waiting for the ball to walk it's way through the locks and back into play, you could kick one out right away and the re-stage the one that just went up the lane. You could also maintain a multiball for longer too. Hmm.

#46 8 years ago

It's a 3 ball game. I just want to add an extra one (maybe) and keep it staged in the lock to make things run more quickly..

#47 8 years ago

Away from home for Christmas until the New Year, so I'm busy cutting code but can't test any of it beyond checking that it compiles OK. I think I've now got all the original code features done apart from the proper multiball handling which will be my next job.

The way locks are handled and lit is quite complicated, but I've downloaded the F2K table on Pinball Arcade, and using the Pro setting you can control the ball (aka cheating) and it's a great way to work out what the shots/sequences are. I can probably use it to capture all the sounds/speech effects for some more "original" sounding gameplay too, before I work on some new ones.

I've also made a couple of changes to the base code (and mentioned it on our 'slack') to store the high score in nvram on the Arduino, so it's held over between power-ons. We should be able to use this to store a bunch of other settings too, where at the moment they're kinda hard-coded.

Having fun

#48 8 years ago

So, I'm about done, I think the code I have covers about 90% of the original Stern gameplay. The other 10% will be some fettling once I get back home and try running this for the first time. Now I'm going to spend some time commenting the code so it'll be easier for others to see what's going on.

#51 8 years ago

For those of you with one of Jim's boards, I've posted a link to my F2K15 source code over on the mypinballs 'slack' in the example-code channel.

#52 8 years ago

I think I'm going to put a small display down on the apron and drive it from a small Arduino which I can slave to the main one on Jim's board (which has some spare outputs). No full blown video or anything like that, but basic status information like "All hits score double value" or something. I've got something similar planned for my F14, see this post :

https://pinside.com/pinball/forum/topic/f14-tomcat-second-sortie-information-and-on-going-development/page/7#post-2259658

#53 8 years ago

So, been debugging the code that I wrote offline over Christmas. Found some more mistakes in the Stern manual for the game, in the list of which lamps connect to which lamp driver. Some of them are wrong, need to get the list right and then sort out my driver list.

Also, the left bank of drop targets will reset (raise), but seems like I can't drop them back down individually (they can be controlled from software). Code is doing what it should according to my debug output, so I guess I have a wiring issue somewhere. Or maybe that bank has a separate fuse. Something for tomorrow

#54 8 years ago

Making good progress, more video soon. The drop target issue turned out to be my inability to RTFM.

I've also got the power-on ball search working. If there are not 3 balls in the trough at power up, then the missing ones will be up in the ball lock area somewhere, so I've added some code to continuously pulse the walker and the other kickers up there until the trough is full, just like the original Stern code does.

#55 8 years ago

I spent some time extending the supplied test mode, to allow testing of individual lamps (which allowed me to pin down the 2 mistakes in the F2K manual, grrrr) and also completed the switch test.

Now I've got those lamps nailed, I can properly put the multiball build-up together, something for tomorrow hopefully.

#56 8 years ago

Another quick (badly shot) video to show where we are at the moment. At power-up, there is a ball up in the lock area (quite common), you can see the game process the ball out and down to the trough before game play can start. The original game does this too, and it's important since the ball lock area has no switches in, so when starting up the game can't detect if there are balls there or not, so kicking them out is the only option.

The multiball is now working more or less as it should, although there are a couple of things to fix. I've also got hold of some of the voice samples from the original machine and loaded them onto the SD card which this setup uses. You can hear that when the drop targets are knocked down, amongst other times.

This video shows the setup for multiball, and then multiball starting. I think in terms of re-creating the original F2K game play I'm probably around 95% of the way there now. Still to do in this "original version" :

- the multiball set up is not quite right, you have to drop the 54321 targets once too often, should be an easy fix.
- some extra lamp effects when things like multiball start
- stop playfield objects from scoring during the ball search at power - up

#59 8 years ago
Quoted from oldskool1969:

F2K16 now isn't it? he he.

Thread title updated

3 weeks later
#60 8 years ago

Getting back to this after some time off. Can play the game now, but there is a bug in the code somewhere handling what happens when a ball drains, related to working out if the ball is over or not (it might be one of the balls in a multiball, in which case need continue play and not end the ball). Only happens sometimes, so trying to work out the sequence of events that causes it. Getting close though

#62 8 years ago

After some discussions with Jim, I'm making the source game code for Flight 3000 (not 2K16 any more, don't want to commit to a final date!) freely available under the GNU license. This basically means that you can do what you want with it, provided anything you do with it is also made publicly and freely available under the same license.

Please note that the framework code which actually interfaces my game code to his hardware (for switches, coils, displays, lamps etc) is not being generally released; that along with more example code is only being made available to those purchasing his controller hardware. My game code is based on and expanded from that example code.

This code is being revised fairly often at the moment as I chase out the last few bugs, but if you want to see what I've been up to feel free to browse! Although you can't use it without his libraries/framework or hardware, it might inspire you (or put you off completely!) diving in and having a go at a machine of your own!

Here's the link to github for this project :

https://github.com/Snux/F2K

#63 8 years ago

Managed to spend some time chasing down a few more bugs, and I also spent some more time playing the original game on my tablet (on Pinball Arcade) to clear up in my mind how some of the original rules worked.

So here's another video of progress at the moment. First ball drains quite quickly, but ball save is still active so I get it back again. Play a full 3 ball game and starting multiball. You can also see my laptop on the left, which is connected to the main controller Arduino in the backbox. The Arduino is writing a lot of debug information to the laptop screen, so I can see what is going on behind the scenes.

Still a few bugs to iron out, and a switch or two to adjust, then we'll have the current F2K code base to build on for some new features!

1 year later
#66 7 years ago

Real life kinda took over for a bit, so progress on this and my F14 project have been almost non-existent. That said I did blow the cobwebs of this a couple of weeks back and would like to make some progress. Need to get a few switches sorted out and then we'll see

7 months later
#68 6 years ago

So, priorities have changed and I realistically don't have the time to carry on with this one. It's going to someone else that hopefully will continue the journey, but whether or not they post here I'm not sure.

Life is too busy at the moment to give this any focus, but the plan is to blow the cobwebs off my F14 soon and get back on that project. Thanks to those of you that followed along, maybe see you in the F14 thread again soonish

Promoted items from Pinside Marketplace and Pinside Shops!
$ 149.95
Boards
Allteksystems
 
$ 125.00
$ 3.00
Wanted
Machine - Wanted
Crown Point, IN
From: $ 150.00
From: £ 110.00
Wanted
Machine - Wanted
Melbourne Beach, FL
$ 20.00
Playfield - Protection
arcade-cabinets.com
 
$ 12.00
Playfield - Toys/Add-ons
UpKick Pinball
 
Hey modders!
Your shop name here

You're currently viewing posts by Pinsider Snux.
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/flight-2k15-software-rewrite-for-flight-2000?tu=Snux 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.