Jump to content



Photo
* * * * * 6 votes

FastFlips script (bypassing pinmame flipper callback)


  • Please log in to reply
440 replies to this topic

#401 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 25 February 2019 - 05:08 PM

Commenting out the band aid fix and set UseSolenoid=2, doesen't that mean that the scripts are fixed? Not that i know anything about this, just wondering!

 

Absolutely correct, i rather meant the core.vbs scripts themselves. It's no biggie though, i was just wondering if it would be easy to do..



#402 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 22 March 2019 - 02:57 AM

Has anybody gotten FastFlips to work with Tommy 1.1 by ninuzzu?

 

I am using VPX.6 rev 3592 and VPinMame 3.1.

 

I tried these changes to the table script, but got an error when starting the table:

  useSolenoids=2

  vpminit me

  vpmFlips.CallBackUL = SolCallBack(47)
  SolCallback(47) = Empty

 

So I took a look in core.vbs, and based on that changed the third line to:

  vpmFlips.FlipperSolNumber(2) = SolCallBack(47)

With that change, the table starts but the upper left flipper does not work.

This is one of my favorite tables, so would really like to get it working at its best...


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#403 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 22 March 2019 - 04:17 AM

What do you think I'm going to say next ?


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#404 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,257 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 22 March 2019 - 04:32 AM

They are there for a reason, aren't they?



#405 gtxjoe

gtxjoe

    VPF Veteran

  • VIP
  • 5,151 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness, AbraCadabra



Contributor

Posted 22 March 2019 - 11:42 AM

Oooh let me guess... You are gonna say... Yes... and that the answer to all his problems... lies within this thread... if only... he... could... read :)

#406 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 22 March 2019 - 03:42 PM

Oooh let me guess... You are gonna say... Yes... and that the answer to all his problems... lies within this thread... if only... he... could... read :)

 

As advised in this thread, I had looked at:

https://docs.google....#gid=1176765238

https://github.com/s...pxtable_scripts

 

Both include the code that was suggested by nFozzy but does not work for me:

    vpminit me
    vpmFlips.CallBackUL = SolCallBack(47)
    SolCallback(47) = Empty
 

I had also tried using the entire Tommy script at https://github.com/s...pxtable_scripts, but the upper left flipper did not work for me.

 

So if anyone has some helpful advice, I would much appreciate it.


Edited by ludovids, 22 March 2019 - 04:03 PM.

ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#407 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 22 March 2019 - 04:55 PM

Try again.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#408 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 22 March 2019 - 07:06 PM

Thanks for putting up the new script, Thalamus.

 

I gave it a try. All flippers work, but I see L flipper rotate of 3-23 ms.

 

Then I tried  adding these 2 lines again after vmpinit me:

    vpmFlips.FlipperSolNumber(2) = SolCallBack(47)
    SolCallBack(47) = Empty
 

That got FastFlips working, but killed the upper left flipper.

 

Have you got any other ideas I should try?


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#409 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 22 March 2019 - 07:11 PM

I believe what you are seeing is vp miss reading the flipper response time. I might be wrong though. Since the genious nFozzy hasn't been around lately. Our best choice to explain this is either the devs or @DjRobX. I'm pretty sure that I've seen other tables where it has been mentioned that the response time measurement is wrong. It has to do with double flippers. But, don't take my word for it. To me it seems to be ok.


Edited by Thalamus, 22 March 2019 - 07:13 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#410 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 22 March 2019 - 07:28 PM

Ok, thanks again. I will play the table some more and see if the flipper response feels consistent.


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#411 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 22 March 2019 - 07:44 PM

F11 flipper measurements report the time between the left flipper button and the time that any flipper on the table moves. 

 

So if you have a table that has upper flippers on a different solenoid, and that upper flipper isn't coded to be included in the fast flips stuff, you'll get fast flips on the main flippers, but slower response from the upper flipper.

 

A lot of tables have everything coded on the lower flipper.  They just always flip the upper flipper when the lower one flips since most tables don't have different logic for the upper ones.   It's easy enough to do that if it works for Tommy, just comment out SolCallback(47) and add  "SolULFlipper(Enabled)" inside SolLFlipper.

 

Fast Flips supports the upper flippers separately now too but I don't offhand remember how to configure it, you should just need to tell it that Sol 47 is the upper left flipper solenoid.



#412 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 22 March 2019 - 07:52 PM

When you remember - care to update the code pls ? I'm still confused to when to use the NoUpperRightFlipper etc. Would be great to see it done right.

 

Update

 

Believe I did what you recommended. Still. When/If you feel for it. A recommendation to NoUpperxxxx would be nice Rob.


Edited by Thalamus, 22 March 2019 - 09:28 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#413 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 22 March 2019 - 09:23 PM

Thanks DJRobX.

 

I commented out SolCallback(47), then copied the code from Sub SolULFlipper() into Sub SolLFlipper(). With that change, I see L flipper rotate times of about 1.2 ms.

 

Played 1 ball so far and got  253 million! Darn good for me.


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#414 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 23 March 2019 - 05:30 AM

When you remember - care to update the code pls ? I'm still confused to when to use the NoUpperRightFlipper etc. Would be great to see it done right.

 

Update

 

Believe I did what you recommended. Still. When/If you feel for it. A recommendation to NoUpperxxxx would be nice Rob.

 

Looking at core.vbs, I think ludovis was SUPER close.  :)

 

vpmFlips.FlipperSolNumber(2) = 47

 

This is how you tell fast flips that 47 is the solenoid it needs to turn on and off for the upper left flipper.    It wants just the number not the solcallback function.   You do not want to erase solcallback(47) either. 



#415 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 23 March 2019 - 06:02 AM

I still am confused as to if NoUpperRightFlipper and NoUpperLeftFlipper should be used, and if so, when.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#416 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 23 March 2019 - 03:48 PM

Ok, so the only changes needed for Tommy are:

 

    useSolenoids=2
    'At top of Sub Tommy_Init add:
    vpminit me
    vpmFlips.FlipperSolNumber(2) = 47

 

With this change, I see L flipper rotate times of about 2.0 ms. A little higher than I saw with my previous fix, but still plenty quick I think. Scored 347 million on my first ball, plus got an extra ball. Good enough for me!
 


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#417 flstclasic

flstclasic

    Enthusiast

  • Members
  • PipPipPip
  • 182 posts

  • Flag: United States of America

  • Favorite Pinball: Attack from mars

Posted 24 March 2019 - 06:05 PM

So I put the vbs in the tables folder? I have always read to never put scripts in the tables folder? If I put the script in the tables folder, run game, exit to editor, then hit save, this will save this new script and then I can remove the vbs from the tables folder? That is my understanding. Is that correct? Thanks.



#418 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,976 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 24 March 2019 - 06:22 PM

Yes. That is correct. You don't need to even start the game. It is loaded when the table is loaded, of course, if the table is named correctly. Pressing save and exit completely and deleting the script and you're updated. Smart though to press that script button and see if it looks like the script actually is loaded.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#419 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 27 March 2019 - 02:52 PM

I've fixed the Fast Flip address of Champion Pub in the next upcoming revision of VPinmame.    It was on an address that shut off for a bit when the saucer kicked out leading to some weird behavior.

 

That did reveal a bug in core.vbs though.   If you hold the flipper up to catch the ball, but the ROM shuts the flippers off, the flipper went dead (as it should).   But when the ROM reactivates the flippers, the flipper doesn't go back up even though the flipper switch is held in.   It should have returned to the up position.   Probably not a real big practical issue when things are working correctly though. 


Ok, so the only changes needed for Tommy are:

 

    useSolenoids=2
    'At top of Sub Tommy_Init add:
    vpminit me
    vpmFlips.FlipperSolNumber(2) = 47

 

With this change, I see L flipper rotate times of about 2.0 ms. A little higher than I saw with my previous fix, but still plenty quick I think. Scored 347 million on my first ball, plus got an extra ball. Good enough for me!
 

 

Yeah there's no real practical difference in the speed there.  F11 measurement just reads slightly slower because the upper flipper is now being driven separately.   



#420 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 27 March 2019 - 04:57 PM

I still am confused as to if NoUpperRightFlipper and NoUpperLeftFlipper should be used, and if so, when.

 

Really they could always be used when there's no upper right flipper and no upper left flipper.    It just stops fast flips from trying to take over solenoids 34 and 36.   In some cases you can get away with not having them if 34 and 36 are not used, but it doesn't hurt to just put them in there if you know the table does not have upper flippers.

 

CSingleXFlip also accomplishes the same thing but also includes the switches.   Most WPC tables still have the upper flipper switches connected even if there aren't upper flippers.   AFM is a good example.   If you use CSingleLFlip instead of NoUpperLeftFlipper on AFM, you will eventually get a ROM error about a broken flipper switch.     

 

AFAIK Indiana Jones:TPA is the only table that hijacked the upper flipper switches for a different purpose.   CSingleXFlip is needed on that table or else the flipper buttons add to your score!

 

We have been using CSingleXFlip more than NoUpperXFliip because NoUpperXFlip only works in VPX 10.5 and above, but now that FF 2.0 has been released for some time, it's probably better we migrate over to that.