(Topic ID: 257420)

Opening Flight 2000 new software up to the community

By slochar

4 years ago


Topic Heartbeat

Topic Stats

  • 520 posts
  • 59 Pinsiders participating
  • Latest reply 11 months ago by slochar
  • Topic is favorited by 38 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

FF27EE49-26E0-41C9-9452-14C4E5105476 (resized).jpeg
8E3D5028-6D0D-456F-9C25-B864D7D4F3B4 (resized).jpeg
4CF83F1D-26CD-4B83-8AA5-2D495EB58DE2 (resized).jpeg
540379D2-560E-461B-B037-0E51B7E052A6 (resized).jpeg
57E0FB14-BDC7-46BD-A508-A26244FE2476 (resized).jpeg
IMG_2459 (resized).JPG
IMG_2460 (resized).JPG
IMG_2458 (resized).JPG
pasted_image (resized).png
Roms_Photo (resized).JPG
2732_Remark.jpg
IMG_5443 (resized).JPG
20200918_091216 (resized).jpg
20200918_091101 (resized).jpg
walker decision tree.png
flight 2000-speech board modification.png
There are 520 posts in this topic. You are on page 10 of 11.
#451 3 years ago

Zzap the behavior you describe is practically identical to what I posted about a couple weeks ago. In the current code (v47) the switch MUST come back up after the ball rolls over it - this includes when the ball rests against the walker entry. I had to move my switch (so that the rollover extends immediately against the wood of the slot arch) to allow this to happen. Was an easy fix once we realized the issue.

slochar FWIW I installed a pf protector from Bee Hive Pinball, but I don't really think it was the source of much interference. I ended up having to move that switch more than the thickness of the protector after all.

#452 3 years ago
Quoted from goingincirclez:

zzap the behavior you describe is practically identical to what I posted about a couple weeks ago. In the current code (v47) the switch MUST come back up after the ball rolls over it - this includes when the ball rests against the walker entry. I had to move my switch (so that the rollover extends immediately against the wood of the slot arch) to allow this to happen. Was an easy fix once we realized the issue.

Thanks for that. That was what I originally eluded to in my comments that were dismissed by slochar as he said that the software DOESN'T detect when the ball comes off the switch

So if it's a common setup for the ball to rest on the switch, and the stock software detects this, isn't it a bug in your software slochar to be waiting for the ball to come off the switch?

#453 3 years ago

It's been about 3 months since the release and there was several weeks of testing before that so minutiae about how the walker walks is not top of my mind all the time, but luckily it's one of the things that I documented really well in the code.

First off, when I say detected vs. not detected, there's a backend routine that handles looking at closed switches and adding them to a queue. This is the same in stern stock code as well as the modified code for the way that *any* switch is detected. There is NO code on a bally/stern game that waits for a switch to open before reacting - it's just not the way the backend is coded on these games. The switch gets added to a list of closed switches (by column) for eventual processing on the front end (which I call a main loop).

Now, a permanently closed switch being held down should activate ONCE (when it initially closes and stays closed) - but if it stays closed, it will not activate again until it is open again. The detection pattern is open, closed, closed, closed, add to switch queue for that column. The columns are processed in order 0-4 - the spinners are on column 0 and the walker is in column 4. The timed switches which are tripped virtually are columns 5-7, so they run AFTER all the other switches process. The startup code in the game (original and modified) has code to artificially set all switches to closed, that way they will NOT be processed at all until they are clear - which they will all do if they are in fact, not closed.

The above is just background material as to how the switches are detected. The below would refer specifically to what happens to those detected switches in the foreground of the program.

I just doubled checked how the reaction to closed switches is operating, and it truly is one switch at a time per run through the main loop. Spinners almost always seem to be on column 0 probably for the reason that they need to be serviced quickly. None of this should change a valid switch hit in other columns, unless the background routines that reset certain switches have reset one of the switches in question. The stock software as well as the new software resets the ball kickbigs, all drop targets, the walker, the outhole, and the trough switches (I thought I'd removed the walker from this, but I didn't).

I think that Stern used the half switch wireform on the walker entry for a reason, I think it's mainly there so that the ball passes over it, it pops back up, and helps to prevent a ball from going backwards in the walker, which it can do (if it pulses too short). It can be argued, perhaps successfully, that anything modified code does that original code does not would indeed be a bug in the modified code, since obviously it worked one way with the original code and another way with modified code.

I think what's happening in the modified code with a held down walker entry switch is that it's getting cleared, but the first thing the walker routine does is set up a re-entrant pause, which also includes goosing the timer for the spinner (which is why it doesn't come off the display). Since the switch is still closed, but has been reset, it just resets the timer again. This seems like it will repeat if the switch is held down.

Someone previous did have this issue as well, but it went away once he adjusted the entry switch to come up after activation. I had put up a changed version at https://sites.google.com/site/allentownpinball/galaxy-asm/F2K-test.zip?attredirects=0&d=1 so you can try that to see if it makes the issue better, I have not tested this version in my machine at all, it merely changes the walker behavior to only react ONCE to the spinner vs. waiting for sure that it's over, by skipping the test for it the second time through. (It's technically a differing entry point).

There has to be a quick reaction time to the walker routine initial run because otherwise 2 balls shot up into the walker during multiball in quick succession will not be detected as 2 separate balls and one would get stuck in the walker because the game just wouldn't realize it was there.

Try out the test version and see if you get different results. I think only U1 is changed because the change was an ifclearbranch vs. branch (same length instruction) - but you can double check the files u2, u5, and u6 against your existing eproms to verify that.

I don't think I can modify the software successfully and keep the changes with the spinner not timing out nor the multiball situation to be able to handle all situations that can occur with the ball walker held down, and that was the main crux of why I even started doing this project in the first place. The entry switch has to come up for the fast reaction to catch the possible added balls in multiball. Were there more switches up there or in the walker none of this software tracking of the virtual balls would be needed.

The stock code works because it doesn't care about 2 switches in a row during multiball for instance, because it's only walking each down once (and ending the multiball). The modified code has to have a counter to walk the balls down the correct # of times. Ditto during the regular game play, if you're in single ball it just walks it down one (causing the loss of spinner points....)

It's unfortunately that the loss of points can also be solved a different way, which I did with the option to change the walker to a continuous solenoid path instead of the momentary. Still doesn't help the switch entry being down, though.

I suppose another way to fix it that can be tried would be to NOT re-trigger the switch entry, but that might break multiball multiple balls.

LMK how the test version fares.

#454 3 years ago

After having slept on this, further information would be that the activated switches aren't really a queue, it's more of a set of registers with set bits for pending switch events, that get processed columns 0-7, rows 7-0, in that order. If you had a switch in column 0 row 7 continuously activating, it would get processed at the expense of all other switches. They would still be flagged to be processed, however, if another switches activates AGAIN before the first one processed, it would only activate once instead of the twice that it probably should have.

In practice a switch could not be physically activated quickly enough to dominate the switch processing, at least not in any real world scenario.

In the unfortunate trade off between rom space and additional coding able to be added in, the reasonable compromise arrived at is to have the switch on the walker entry close then open. Could it be fixed in software to react properly based on the closed switch remaining closed? Of course. There's no room to fit the (much more involved) code in the stock rom footprint though. This is likely why the original flight 2000 code involving the walker weighs in at 566 bytes.

#455 3 years ago
Quoted from slochar:

Try out the test version and see if you get different results. I think only U1 is changed because the change was an ifclearbranch vs. branch (same length instruction) - but you can double check the files u2, u5, and u6 against your existing eproms to verify that.

You were correct, only 1 byte difference in u1 at address $04BF, 3347M release was $5A, test version $42

I installed the test version and while it did seem to behave correctly *sometimes*. I didn't get a video as I didn't have my rig setup, but I would say in my two test games it was at around 50%, however when I took the glass off that dropped to 0%, so not really a useful difference.

I guess it's best to recommend that people move the walker switch, I will give that a try later in the week.

Based on your described scenarios, if two balls went into the walker one right behind the other, wouldn't the switch be pressed down by ball 1, then be held down by ball 2? Is the switch really short enough to pop up between two balls that are right next to each other?

#456 3 years ago
Quoted from Zzap:

Based on your described scenarios, if two balls went into the walker one right behind the other, wouldn't the switch be pressed down by ball 1, then be held down by ball 2? Is the switch really short enough to pop up between two balls that are right next to each other?

No, it doesn't pop up between the balls. In multiball the walker routine follows a different path since it's not locking the balls, it's just doing the 2x/3x pf multiplier and walking the ball out. It still waits for the spinner to stop, then it starts the 2x/3x routine and walks the ball out (itself a separate process).

Unless your walker switch is completely closed and having the ball sit on it opens it, so that when the switch leaves it it goes closed, I'm not really sure why the switch has to be open again. I'm not checking the switch in the routines (there would be no point in doing that, since the routine starts when the switch is activated).

#457 3 years ago

Ok, I've had a win! Got the first switch in the walker moved down around 1/4", which now had the switch detecting around 50% of the time, and the machine could be shaken to get it to detect the other 50% of the time. So I bent the switch up slightly and that's got it to 100%

Next step was the same as @goingincirclez, when locking the third ball for multiball, the ball would just sit at the second kickbig and the machine wouldn't react. Fix for that was the same, cleaning the "Release Next Rocket" switch with a piece of paper got it running, and I can now get through a full game

slochar - One thing I did notice that I don't think is intentional, when you complete the locks, then complete "BLAST OFF", you don't get that announcement "All Systems Go, Commence Countdown", even though it does progress to the counting down mode with the drop targets. When you complete "BLAST OFF" first, then the locks, it behaves the same as the stock code announcing the start of countdown mode.

#458 3 years ago
Quoted from Zzap:

One thing I did notice that I don't think is intentional, when you complete the locks, then complete "BLAST OFF", you don't get that announcement "All Systems Go, Commence Countdown", even though it does progress to the counting down mode with the drop targets. When you complete "BLAST OFF" first, then the locks, it behaves the same as the stock code announcing the start of countdown mode.

Is this consistent because it doesn't do it here. That's one of the routines that didn't really change between stock and here, just a couple of flags checked. It will skip it if you save progress between multiballs (set to really easy).

The routine actually waits until the speech flag is clear to speak for specifically this reason you noted, if you complete blast off later when the locks are already qualified.

#459 3 years ago
Quoted from slochar:

It will skip it if you save progress between multiballs (set to really easy).

Is this the new adjustment 22?

#460 3 years ago

Yes

#461 3 years ago

Ok, setting Adjustment 22 to 1 got the countdown working. I didn't get a chance to try the stock software, but I did play it in Pinball Arcade on my phone and it made the announcement even though I locked the balls first before completing BLAST OFF.

Either way, everything seems to be behaving itself now, and it's a great improvement

I'll try and grab a video of the gameplay for others during the week.

Thanks again for your work @slochar, and putting up with all of my questions to get this running!

2 months later
#462 3 years ago

I'm getting ready to burn my first roms. Fingers crossed!

Couple questions:

1.Is Version 3347M from 6.3.2020 still the correct most recent version? I scrolled though the pages but did not see a more recent one.

2. I'm not totally clear on the wiring change. So if I do NOT have a knocker do I leave the wiring stock and leave dip 14 ON? Is the wiring change just if you install a knocker or is the wiring change recommended to help with the ball walker in multiball regardless of the knocker? I'm a little confused by the wording in the ReadMe file.

Thanks!

#463 3 years ago

6/30/2020 3347M is the most recent version. I see I left the date incorrectly in the readme though as 6/3, but the datestamps are correct at 6/30.

https://sites.google.com/site/allentownpinball/galaxy-asm/f2k-release-3347M.zip?attredirects=0&d=1

DIP 14 needs to be on if you leave the walker where it is, stock. The coin lockout does not operate as a coil lockout any longer, it's the knocker signal. Nothing untoward happens in this situation if you do not actually install a knocker.... the coin lockout coil will just pulse instead. Walker response suffers in this situation, especially during multiball.

If you swap the coin lockout and walkers, you will get the benefit of the quicker response walker, but dip 14 has to be off, without a knocker installed, it will just pulse the coin lockout coil instead. The risk comes if you have dip 14 set incorrectly for the walker it might burn out the driver transistor, although the pulse to the walker is the same length pulse completely bone dead stock vs. mods. The risk is if you install a knocker, which is usually a stronger coil, and it locks on, that much more current is going through it. The walker coil is 15.6 ohms, and a 23-800 style knocker coil is 5 ohms.

If no knocker, and dip 14 incorrect, the most that should happen is that the game won't pulse the walker at startup, and if there are balls in it, it won't start up correctly (it will just say "standby, ball" until it sees all 3 balls in the outhole trough when you press the credit button)

I added fuses to both the walker and the knocker just so I didn't blow any transistors during testing. I think I did pretty good as I only blew one, and that was not because of the software but me shorting something instead.

#464 3 years ago
Quoted from slochar:

As long as it's an eeprom in 24 pin dip package it should work. I got atmel ones through Amazon.

Would you mind sharing the link for the specific sound eeproms to get the new sound package?

#465 3 years ago

https://www.amazon.com/Ictouch-AT28C16-20PC-16KBIT-Corporation-PDIP-24/dp/B07PBDV9XF

although this is not the link I got them from but that is the part # to replace a 2716 with an eeprom version. I probably got them from either ebay or digikey though and misremembered getting it from amazon.... I got the eeprom 512 replacements there though.

You can also just burn it onto a single 2532 and put it in u9. Strange design the vsu100, to take either 2x2716 OR 1x2532 I'd have expected them to do 1x2732 since the 2716/2732 are more similar.

3 weeks later
#466 3 years ago
Quoted from slochar:

amazon.com link »
although this is not the link I got them from but that is the part # to replace a 2716 with an eeprom version. I probably got them from either ebay or digikey though and misremembered getting it from amazon.... I got the eeprom 512 replacements there though.
You can also just burn it onto a single 2532 and put it in u9. Strange design the vsu100, to take either 2x2716 OR 1x2532 I'd have expected them to do 1x2732 since the 2716/2732 are more similar.

I ordered these blindly, they say 2816 and failed to program.

#467 3 years ago

Wonder if they're counterfeit? Post a pic of a chip?

#469 3 years ago

Chip looks like mine, different numbers under the 2816. (different lot/date codes) If they all failed I'd suspect that they are counterfeit.

I've been relatively lucky ordering chips online I've only had one bum set of chips (256's from a chinese seller - they hemmed and hawed and refused to give money back, so I kept up emailing ebay about it until they just gave the $$ back.... I hadn't had to move up to paypal dispute but I was ready to, always backed with credit card instead of bank account so you can move up to credit card if needed.)

#470 3 years ago
Quoted from dri:

Chip and errors

I think those chips are remarks. The top surface looks rough like they've been shaved and are missing the two large round divots, the text is dull and the pins on the right have corrosion where they come out of the plastic package.

Compare to non China sources:
ebay.com link: AT28C16 12PI DIP 24 16K 2K x 8 CMOS E2PROM USA ship
ebay.com link: Lot x 5 AT28C16 25PI improve voltage supervision for adas
ebay.com link: ATMEL AT28C16 15PI DIP 16K2K x 8 CMOS E2PROM RH

Try programming again as a Catalyst CAT28C16 and if that doesn't work try Xicor 2816A

#471 3 years ago

The docs in the .zip say 2716 chips for sound but you all link 2816's. What is the difference? I ordered 2716's yesterday.

#472 3 years ago

2716's are eproms.
2816's are eeproms and are a replacement for UV erasable eproms (they are erased by the burner itself electrically)

#473 3 years ago
Quoted from slochar:

2716's are eproms.
2816's are eeproms and are a replacement for UV erasable eproms (they are erased by the burner itself electrically)

Thanks for that explanation. I also find traces that the USB burner I have struggles with voltage on some chips that causes issues.

2 weeks later
#474 3 years ago

How’s the project going any changes?

#475 3 years ago

Barring any glaring bugs it's done, no other changes planned.

#476 3 years ago

Wrong thread

#477 3 years ago

Since it's pretty much final, here's a link to the source code for the posted version for educational purposes.
https://sites.google.com/site/allentownpinball/galaxy-asm/FLIGHT2000-3347M-SOURCE.zip?attredirects=0&d=1

4 months later
#478 2 years ago

Finally got my v47 sound ROMs programmed and I learned that I was subject to first ball resting on the walker switch issue. Once that was resolved it played solid. I managed to put up one good ball today.

One issue I'm seeing though is that the game does not say "commence countdown" at all times when all letters are qualified and balls locked, so far my theory is that the game will only say it if you start the game without any balls in the walker. Would that make sense?

#479 2 years ago
Quoted from dri:

One issue I'm seeing though is that the game does not say "commence countdown" at all times when all letters are qualified and balls locked, so far my theory is that the game will only say it if you start the game without any balls in the walker.

It's more likely to depend on what happened right before it's supposed to say it - in the case in the video snippet it's likely because the game was saying "OFF" and the timer for the speech has to be a certain length (probably even longer than it takes to say the word "OFF") - some of the areas like locking a ball will pause to say stage 2 go, all systems go commence countdown because the walker inherently has delays built in (that also specifically wait for the other speech to finish). The BLAST and OFF completed do not, so anything that would normally talk on completion may or may not depending on how quickly other things are hit. Once the speech call starts though, nothing can interrupt it - so if another speech call comes in while that's going, the speech board ignores it.

It would be nice if there were a long speech queue to work with but the game is rather Ram-starved in this aspect - Stern themselves (well, Bill Pfutzenfeuter anyway) used the bottom of the stack in all of his games IIRC, to store sound queues, and in F2k, also to store a virtual switch setup for the locks.

If you miss out on speech on the walker locks etc. that would be a bug to look into, but otherwise, the speech delays will have to stay the way they are - no room in ram or rom to add any other kind of setup for this. The original game sometimes misses this all systems go commence countdown speech call as well, in a similar situation.

1 month later
#480 2 years ago

Asking for a fellow pinsider about these roms. The u10 for the sound, does that contain the extras? He has a 2716 in the u9 and the u10 is empty.

Thanks in advance

#481 2 years ago

You have to burn both the 2716's the index for the words is in U9, so it's different - additionally it's been reformatted from stock.

Or you can put the u9 combo rom into it, it's a 2532 so it's twice the size, the vsu100 is nice in that it supports this config without jumper changes.

#482 2 years ago
Quoted from slochar:

You have to burn both the 2716's the index for the words is in U9, so it's different - additionally it's been reformatted from stock.
Or you can put the u9 combo rom into it, it's a 2532 so it's twice the size, the vsu100 is nice in that it supports this config without jumper changes.

Thanks for the reply. If I only use one sound rom is it a 2532, or 2732? I thought the 2532 configuration was different.

Sorry I just read the read me. I'll have to look at the pinouts I didn't think you could switch them.

#483 2 years ago

Normally you can't swap 2716 and 2532 but the speech board does it in some kind of clever way.

#484 2 years ago

Just did the mod to swap the walker and the coin lockout coil - what a great improvement to multiball!

It was easy to just release the pins at J5-12 and J2-8, and then cut and replace a few cable ties to then swap their positions. I don’t yet have a knocker, but may add one down the track. Oh yeah, and don’t forget dip switch 14

3 months later
#485 2 years ago
Quoted from slochar:

Since it's pretty much final, here's a link to the source code for the posted version for educational purposes.
https://sites.google.com/site/allentownpinball/galaxy-asm/FLIGHT2000-3347M-SOURCE.zip?attredirects=0&d=1

Are the ROMs and source code for this project available still somewhere? The Google Sites links return "Site not found" for me.

#486 2 years ago

moved to http://tsqmadness.com/slochar/ thanks to google sites' "feature upgrade" to not allow directly linked files (easily.... it's pretty clear that I ain't no HTML wiz....)

1 month later
#487 2 years ago

Hey all, finally got around to doing this update. It was not successful. When I turn on the machine, the red LED on the board turns on but does not blink. I get a screech from the speaker and that's about it. I'm not sure where to start on troubleshooting. Any suggestions on where to start?

The first time I started it I got one ping off the board before it would not proceed. I double checked and realized a couple of the chips were not seated correctly. I fixed that error. Hoping that did not damage something.

#488 2 years ago

Your roms are not booting they are either burned wrong or your board isn't jumpered correctly for the type of ROM you are using.

The screech from the speech board is normal until the game starts to boot then it turns it off. The stock games with speech cards do this as well.

#489 2 years ago

Hmm, okay. I had the original 2716 chips in and replaced them with Xicor X2816CP.

The exact chip was not listed in the burning software. Only choices were Xicor X2816A, X2816B or X2816C.

We burned the chips using the X2816C setting.
We did get an error on all of the chips that certain pins were not detected. Unchecking "pin detect" allowed us to continue but not sure if that was an issue.

We used the 716 files in the zip.

The software said it wrote to the chips and it took 0.32 milliseconds to write.

We verified the chips and it said they were good.

Anything about that sound wrong? I have never burned chips before so not sure if there is some setting I am missing to do it right.

#490 2 years ago
Quoted from ArcadeRaid:

The software said it wrote to the chips and it took 0.32 milliseconds to write.

That sounds way short but if it's eeproms might be accurate. Download the test ROM on pinwiki and put that on one of them see if that works. It's only u6.

#491 2 years ago

Yes, they are eeproms. So if I try the test rom do I need to pull the other pins and only install the test rom on U6?

#492 2 years ago

Yes pull u1 2 and 5 it shouldn't really matter if they're in but trying to remove extraneous factors.

#493 2 years ago

Just burned a test image onto a 2816 eeprom you can see that verifying it took 50 ms. Writing took 20,000+ ms, so if you got 32 ms, something's wrong.

pasted_image (resized).pngpasted_image (resized).png
#494 2 years ago

I made a little progress. We tried reburning all of the chips and this time we used the settings for chip Xicor X2816A. It took much longer to write. 22500 ms. When I put the chips on now it starts to boot up, I get all 7 chimes and LED flashes. It then goes back to the same screechy tone I had before.

I have not tried the test rom you suggested. Now that I am at least getting through the 7 boot-up chimes would that test rom tell me anything?

Thoughts?

#495 2 years ago

Do you get displays, are all three balls in the trough, did you update the voice roms as well?

#496 2 years ago

First off, thank you for your help on this.

Yes, all balls are in the trough
Yes speech ROMs were replaced as well.
No, displays are not lit. They each flash a single zero for a fraction of a second right after the 7th chime and before it goes into that noise.

#497 2 years ago

You sure you have the roms in the proper spots? Stern games' checksum is just a rolling sum and can't detect if a rom is out of order and that's assuming I assigned a checksum I don't recall if i did.

#498 2 years ago

What I tried next just now was pulling each chip and reading it and comparing at least The first line of code to make sure it matched up with what I was loading to make sure we didn't have the wrong chip in the wrong spot every chip matched but I went ahead and reburned them all just in case. I restarted it in between each chip to see if it made any sort of difference and I got a few different things happening at startup in terms of the screech sound or not getting the screech sound and once it sort of tried to say a word like "test". Sometimes it was quiet after boot up sometimes it made the screechy sound. I tried pushing the audits button inside when it was quiet and it then went into the mode where it made the sound. When I just turned it on this most recent time it fired one of the kickers for first stage in the ball walker and locked it on. Something very strange going on.

Game is pretty standard and was working fine before. Only mods are a Weebly NVRAM and anti-flicker boards on the lighting since I have LEDs in the machine.

When it is done with the boot up I also get some various different bonus lights showing up It is not completely consistent but only some of the bonus like 3,000 4,000 etc turn on ce the game is done booting. Not sure if that is relevant but thought I would mention it.

#499 2 years ago

You can ignore the spurious sounds and lights that's randomness because it's not running correctly. I'm not in a position right now to double check the file but will do so tomorrow. It sounds like it's corrupt. Did you get it from the old Google site or the tsqmadness one?

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 115.00
Playfield - Protection
Beehive Pinball Co.
 
From: £ 110.00
$ 69.00
$ 12.00
Playfield - Toys/Add-ons
UpKick Pinball
 
$ 20.00
Playfield - Protection
arcade-cabinets.com
 
Wanted
Machine - Wanted
Melbourne Beach, FL
$ 125.00
$ 3.00
Cabinet Parts
20eyes
 
Wanted
Machine - Wanted
Crown Point, IN
$ 10.00
$ 149.95
Boards
Allteksystems
 
Great pinball charity
Pinball Edu
There are 520 posts in this topic. You are on page 10 of 11.

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/opening-flight-2000-new-software-up-to-the-community/page/10?hl=quench 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.