Jump to content



Photo
* * * * * 6 votes

FastFlips script (bypassing pinmame flipper callback)


  • Please log in to reply
440 replies to this topic

#261 Wob

Wob

    Hobbyist

  • Members
  • PipPip
  • 32 posts

  • Flag: Australia

  • Favorite Pinball: AC\DC, MM, AFM, MB, TAG, TOM

Posted 13 July 2018 - 09:34 PM

Awesome work guys, can I make a special request to have Indiana Jones Pinball Adventure and Theatre of Magic converted to the memory mapped mode, both suffer from active flipper during video mode.

I also tested Indy 500 and it works as expected, no flippers in video mode, I've noted the tables I know have a video mode and will test as I I get time.

Thanks
Wob

Sent from my SM-G935F using Tapatalk

#262 DJRobX

DJRobX

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 14 July 2018 - 12:13 AM

I tried adding the address for IJ:TPA - doesn't solve video mode issue for this table.   I can't find a suitable address that indicates that the flippers should be disabled in those modes.    

 

The best solution for that will probably be using a class like the SAM one, that can hand-off between fast and ROM control.   Then when a ball is sitting in the mode kicker, switch to ROM control.  

 

Just thinking out loud:  For the above reason it would be nice to add the ROM control handoff functionality into core.vbs' implementation.   Another good feature to have would be to pass through an incoming ROM flip solenoid if the user did not flip in the last 500ms or so.    This would allow the TAF thing flips and "kickout warning" flips TSPP to work.  


Edited by DJRobX, 14 July 2018 - 12:21 AM.


#263 Wob

Wob

    Hobbyist

  • Members
  • PipPip
  • 32 posts

  • Flag: Australia

  • Favorite Pinball: AC\DC, MM, AFM, MB, TAG, TOM

Posted 14 July 2018 - 01:02 AM

I tried adding the address for IJ:TPA - doesn't solve video mode issue for this table.   I can't find a suitable address that indicates that the flippers should be disabled in those modes.    
 
The best solution for that will probably be using a class like the SAM one, that can hand-off between fast and ROM control.   Then when a ball is sitting in the mode kicker, switch to ROM control.  
 
Just thinking out loud:  For the above reason it would be nice to add the ROM control handoff functionality into core.vbs' implementation.   Another good feature to have would be to pass through an incoming ROM flip solenoid if the user did not flip in the last 500ms or so.    This would allow the TAF thing flips and "kickout warning" flips TSPP to work.  

What I understood of that sounds good, I'll leave the black magic to those that make it happen. :)

Sent from my SM-G935F using Tapatalk

Edited by Wob, 18 July 2018 - 01:14 PM.


#264 psmiraglia

psmiraglia

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts

  • Flag: Argentina

  • Favorite Pinball: Star Trek

Posted 14 July 2018 - 08:50 PM

@Wob thank you for putting the XLS together. It has helped tremendously. I noticed the note on Fathom, and I was not able to get it to work by adding that if statement to the timer sub. do you have a pointer to the thread where this was discussed ? I do not think it was this thread, right ? thanks agian.



#265 Wob

Wob

    Hobbyist

  • Members
  • PipPip
  • 32 posts

  • Flag: Australia

  • Favorite Pinball: AC\DC, MM, AFM, MB, TAG, TOM

Posted 15 July 2018 - 12:36 AM

@Wob thank you for putting the XLS together. It has helped tremendously. I noticed the note on Fathom, and I was not able to get it to work by adding that if statement to the timer sub. do you have a pointer to the thread where this was discussed ? I do not think it was this thread, right ? thanks agian.

Glad it helped, no thread, that was with DJRobX's help, you don't need to add, just change the value to be lower, you still need the regular changes to usesolenoid too.

Sent from my SM-G935F using Tapatalk

#266 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 15 July 2018 - 10:40 AM

Just thinking out loud:  For the above reason it would be nice to add the ROM control handoff functionality into core.vbs' implementation.   Another good feature to have would be to pass through an incoming ROM flip solenoid if the user did not flip in the last 500ms or so.    This would allow the TAF thing flips and "kickout warning" flips TSPP to work.  

Yeah I agree, it's on the list for sure



#267 DJRobX

DJRobX

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 15 July 2018 - 04:08 PM

 

@Wob thank you for putting the XLS together. It has helped tremendously. I noticed the note on Fathom, and I was not able to get it to work by adding that if statement to the timer sub. do you have a pointer to the thread where this was discussed ? I do not think it was this thread, right ? thanks agian.

Glad it helped, no thread, that was with DJRobX's help, you don't need to add, just change the value to be lower, you still need the regular changes to usesolenoid too.

Sent from my SM-G935F using Tapatalk

 

 

When working with Wob we ran into a couple tables that have code in them that suppress solenoid activity for a few seconds at startup. 

 

Code like this:

 

.SolMask(0)=0

.Hidden=0

If Err Then MsgBox Err.Description

End With

On Error Goto 0

vpmTimer.AddTimer 1000,"Controller.SolMask(0)=&Hffffffff'"

 

One of the tables had a 10 second suppression period!     If the solenoids are suppressed when you start the games, the fast flip function will never get the signal to activate the flippers.    The solution is to reduce the timer to something more sensible (probably no more than 1 second).   I assume this is done to stop DOF solenoid clacking.    Another possibility is to work out what the right SolMask is to exclude it .... it would be 2 ^ (GameOnSolenoid-1), although I imagine that the game will also not launch a ball correctly, so shortening the timer is probably better.


Edited by DJRobX, 15 July 2018 - 04:53 PM.


#268 psmiraglia

psmiraglia

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts

  • Flag: Argentina

  • Favorite Pinball: Star Trek

Posted 20 July 2018 - 04:23 PM

Unbelievable amount and quality of work guys! Out of all the tables for which fastflips has been enabled by r4594, I am only having trouble (dead flippers mostly) with the following tables: 

 

The Incredible Hulk  The (Gottlieb 1979) v1.1.1.vpx Gottlieb System 1
Time Line (Gottlieb 1980).vpt Gottlieb System 80 
Starship Troopers (SEGA 1997).vpt Sega/Stern Whitestar 
Grand Lizard (Williams 1986).vpt Williams System 11 
F1GrandPrix.vpt Williams System 11A 
Firepower (Drop Target Mod) - (Williams 1980).vpx Williams System 6 

 

I have not tried to enable FF on Capcom, given the known issue of requiring script modifications:

 

Airborne(Capcom)(1996).vpt
Big Bang Bar 2.0.vpx
Breakshot (Capcom 1996)1.0.vpx
Kingpin (Capcom 1996).vpx
Pinball Magic (Capcom 1995) 2.0.8.vpx

 

And these are the other SS tables I have for which FF support is not available (not that I'm requesting support, just want to share the list in case support is there and I just did not know about it): It is always possible that I miscategorided the MPU for a few tables, as I automated the process to populate my list.

 

Space Riders (Atari 1978).vpt Atari Generation/System 1 
Beat the Clock (Bally)(1985)(destruk [VP8])[VP99x][FullScreen dboyrecords v1.1][DOF arngrim].vpt Bally MPU A084-91786-AH06 (6803) 
Gold Ball (Bally)(1983)(Inkochnito  destruk [VP8])[VP990][FullScreen dboyrecords v1.0].vpt Bally MPU AS-2518-133 
Centaur_Inder_FS_1_0.vpt Bally MPU AS-2518-35 
Cybernaut(Bally 1985).vpt Bally MPU AS-2518-35 
Kings of Steel (Bally)(1984)(chinzman93)(1.2)(FS)(9.16).vpt Bally MPU AS-2518-35 
Miss World.vpt Bally MPU AS-2518-35 
Speakeasy 4 (Bally)(1982)(JPSalas [VP8])[VP990][FullScreen dboyrecords v1.1][DOF arngrim].vpt Bally MPU AS-2518-35 
Xs and Os (Bally)(1984)(TAB)[VP990[FullScreen DOF 32assassin v1.01].vpt Bally MPU AS-2518-35 
Mystic.vpt Bally MPU AS-2518-35 
Andromeda (GamePlan)(1985)(Inkochnito  Lander  destruk [VP8])[VP990][FullScreen dboyrecords v1.0].vpt Game Plan MPU-2 
Sharpshooter II (Gameplan 1983).vpx Game Plan MPU-2 
Operation Thunder_FS_1_0.vpt Game Plan MPU-2 
Quijote_FS_1_1.vpt Recel System III 
Stars_9.1_1.0.0_FS.vpt Stern M-100 MPU 
Stingray (Stern 1977).vpt Stern M-100 MPU 
Wild Fyre (Stern 1978).vpt Stern M-100 MPU 
Jack-Bot (Williams 1995)(PM5).vpt Williams WPC Security (WPC-S) 
EarthWindFire_FS_1_2.vpt Zaccaria Generation 1 
Locomotion (Zaccaria 1981).vpx Zaccaria Generation 1 
Pinball Champ.vpt Zaccaria Generation 2 
Clown (Zaccaria 1985).vpt Zaccaria Generation 2 
Farfalla.vpt Zaccaria Generation 2 
Time Machine (Zaccaria 1983) FS Night MOD v1.2b.vpt Zaccaria Generation 2 
Magic Castle (Zaccaria 1984).vpx Zaccaria Generation 2 
Pinball Champ 82 (Zaccaria 1982).vpx Zaccaria Generation 2 
Robot (Zaccaria 1985).vpx Zaccaria Generation 2 
250ccVP91x.vpt
Al's Garage Band Goes On World Tour (Alivin G. 1992).vpt
Clown VP9.(Inder1988) FS.vpt
Corsario (Inder 1989) Fullscreen.vpt
Lap by Lap (Inder)(1986)(JPSalas [VP8])[VP990][FullScreen dboyrecords v1.0].vpt
Mephisto (Cirsa - 1987).vpt
Metal-Man_VP912_1.0FS.vpt
Mundial 90 (Inder 1990) Fullscreen.vpt
Nemesis.vpt
Pentacup (Micropin)(1979)(destruk  Grizz [VP8])[VP990][FullScreen dboyrecords v1.0].vpt
Pistol Poker (Alvin G. and Company 1993).vpt
Rock 2500 (Playmatic 1985).vpt
Vernes World.vpx
Mystery Castle (Alvin G 1993).vpt
Furie (Hy C 1981).vpt
Hoe Down (Allied Leisure)(1978)(bad crc [VP8])[VP990][FullScreen dboyrecords v1.1].vpt
Odin Deluxe (Sonic)(1985)(JPSalas [VP8])[FullScreen dboyrecords v1.0].vpt
Petaco (Juegos Populares 1984).vpt
V1.vpt
Wolfman_FS_1_1.vpt

 

much, much appreciated.



#269 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 20 July 2018 - 05:38 PM

I have a really weird problem with my Vector table. Today the rom went berzerk doing pretty much what he wants. DT's droping just from hitting the flipper buttons, targets drop after hitting the start button, Vector scan is on while defender targets are still up, shots up the left ramp with the capture light on are not held in the saucers, they get spit back onto the UPF like on an irregular shot up the ramp, captured balls are released after drains where they should stay and wait for the multiball or the end of the game multiple balls are spit into the Plunger lane while playing, aso.

 

Latest 10.5 beta and sambuild 4594 installed. Table ran flawlessly under official 10.4. Reverted sambuild back down to 4550. No success. UseSolenoid=1 - No success. Redownloaded the Rom and did reset it a couple of times - No success. Other tables i've tested run fine.

 

I thought i write this here as this is some sort of hybrid thread between VPX5 and sambuild 3.1.

 

Could somebody please test the table and see if it behaves the same way?

 

Thanks! 



#270 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,008 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 20 July 2018 - 10:53 PM

Looks and plays so great on my PinCab.   Thanks for a great release



#271 kiwi

kiwi

    Pinball Fan

  • VIP
  • 2,671 posts

  • Flag: Italy

  • Favorite Pinball: Star Trek 25th Anniversary



Posted 21 July 2018 - 05:31 AM

I have a really weird problem with my Vector table. Today the rom went berzerk doing pretty much what he wants. DT's droping just from hitting the flipper buttons, targets drop after hitting the start button, Vector scan is on while defender targets are still up, shots up the left ramp with the capture light on are not held in the saucers, they get spit back onto the UPF like on an irregular shot up the ramp, captured balls are released after drains where they should stay and wait for the multiball or the end of the game multiple balls are spit into the Plunger lane while playing, aso.

 

Latest 10.5 beta and sambuild 4594 installed. Table ran flawlessly under official 10.4. Reverted sambuild back down to 4550. No success. UseSolenoid=1 - No success. Redownloaded the Rom and did reset it a couple of times - No success. Other tables i've tested run fine.

 

I thought i write this here as this is some sort of hybrid thread between VPX5 and sambuild 3.1.

 

Could somebody please test the table and see if it behaves the same way?

 

Thanks! 

For Rom reset, do you mean to cancel the Nvram?
If it is not, try to cancel the Nvram.


#272 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 21 July 2018 - 07:07 AM

Canceled everything including the registry. Also redownloaded the rom.

Gesendet von meinem SM-G955F mit Tapatalk
Bassgeige says it's working under 10.5 and no sambuild. @slydog' i guess you are using the latest betas, VPX and sambuild. Right?

Gesendet von meinem SM-G955F mit Tapatalk

#273 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 21 July 2018 - 09:26 AM

Here are two images of the problem:

 

https://1drv.ms/u/s!...6gtsW7kKeYtU00Q

 

https://1drv.ms/u/s!...7eCfA1WCaG3tylA



#274 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 21 July 2018 - 09:44 AM

Finally i got it working again! The Problem is that it only works with UseSolenoids=0. That means no FF for my table.  :wimper:



#275 batch

batch

    VPFroggie

  • Members
  • PipPipPipPipPip
  • 2,177 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Anyone if gaming and appearence are great

Posted 21 July 2018 - 12:15 PM

I'd like to use this for my table Penthouse wich is a MOD from Harlem Globetrotters (Bally 81)

 

Here is what I did and I got this error message "not defined variable 'cFastflips" (Line Set FastFlips = new cFastFlips)

 

Dim bsTrough, bsMSaucer, bsRSaucer, dtDrop, x, plungerIM, uHole
Dim bump1, bump2, bump3
Dim FastFlips

Const UseSolenoids = 2
Const UseLamps = 1
Const UseGI = 0
Const UseSync = 0
Const HandleMech = 0

Set FastFlips = new cFastFlips
with FastFlips
   .CallBackL = "SolLflipper"  'Point these to flipper subs
   .CallBackR = "SolRflipper"  '...
   .CallBackUL = "SolULflipper"'...(upper flippers, if needed)
'  .CallBackUR = "SolURflipper"'...
   .TiltObjects = True 'Optional, if True calls vpmnudge.solgameon automatically. IF YOU GET A LINE 1 ERROR, DISABLE THIS! (or setup vpmNudge.TiltObj!)
'  .InitDelay "FastFlips", 100         'Optional, if > 0 adds some compensation for solenoid jitter (occasional problem on Bram Stoker's Dracula)
'  .DebugOn = False        'Debug, always-on flippers. Call FastFlips.DebugOn True or False in debugger to enable/disable.
end with


Sub table1_KeyDown(ByVal Keycode)
    If keycode = LeftTiltKey Then Nudge 90, 5:PlaySound SoundFX("fx_nudge",0), 0, 1, -0.1, 0.25
    If keycode = RightTiltKey Then Nudge 270, 5:PlaySound SoundFX("fx_nudge",0), 0, 1, 0.1, 0.25
    If keycode = CenterTiltKey Then Nudge 0, 6:PlaySound SoundFX("fx_nudge",0), 0, 1, 0, 0.25
    If keycode = PlungerKey Then PlaySound "fx_PlungerPull", 0, 1, 0.1, 0.05:Plunger.Pullback
    If vpmKeyDown(keycode) Then Exit Sub

If KeyCode = LeftFlipperKey then FastFlips.FlipL True :  FastFlips.FlipUL True
If KeyCode = RightFlipperKey then FastFlips.FlipR True :  FastFlips.FlipUR True


End Sub

Sub table1_KeyUp(ByVal Keycode)
    If keycode = PlungerKey Then PlaySound "fx_plunger", 0, 1, 0.1, 0.05:Plunger.Fire
    If vpmKeyUp(keycode) Then Exit Sub
If KeyCode = LeftFlipperKey then FastFlips.FlipL False :  FastFlips.FlipUL False
If KeyCode = RightFlipperKey then FastFlips.FlipR False :  FastFlips.FlipUR False

End Sub
 

Does it work with this table ?


signature_24042026.jpg          DIRECT LINK TO MY TABLES http://www.vpforums....loads&mid=30858    

                                               LINK TO MY 204 BACKDROPS : Design Resources/ Main Resources/Table Templates/Table Resources/Backdrops for VPX Tables (DT 16/9)  2.0 


#276 nFozzy

nFozzy

    Pinball Fan

  • Members
  • PipPipPipPip
  • 553 posts

  • Flag: ---------

  • Favorite Pinball: Pinbot

Posted 21 July 2018 - 09:30 PM

Read the original post, you don't have to do that much anymore. The key inputs and the object are all handled by core.vbs and the system scripts



#277 batch

batch

    VPFroggie

  • Members
  • PipPipPipPipPip
  • 2,177 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Anyone if gaming and appearence are great

Posted 22 July 2018 - 05:47 AM

Thanks for your fast reply, nFozzy, so, I've just to do the following ? is it so simple ?

 

1. Open table script

2. Search for 'UseSolenoids' and change it's value to 2

3. Add the line 'VpmInit me' to the table _init section if it's not there already (search for '_init', it's usually Table1_Init or Table_Init)

 

And is there a way to be sure it works or doesn't , like an error message ?

 

I have an additional (and perhaps stupid :) ) question

 

Which one is the best of "FastFlips" and "Physmod" ? (for VP9 tables)


Edited by batch, 22 July 2018 - 03:52 PM.

signature_24042026.jpg          DIRECT LINK TO MY TABLES http://www.vpforums....loads&mid=30858    

                                               LINK TO MY 204 BACKDROPS : Design Resources/ Main Resources/Table Templates/Table Resources/Backdrops for VPX Tables (DT 16/9)  2.0 


#278 batch

batch

    VPFroggie

  • Members
  • PipPipPipPipPip
  • 2,177 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Anyone if gaming and appearence are great

Posted 23 July 2018 - 06:20 AM

Hi, guys, I come back with my questions about FastFlips

 

Do I just have to do the following ? is it so simple ?

 

1. Open table script

2. Search for 'UseSolenoids' and change it's value to 2

3. Add the line 'VpmInit me' to the table _init section if it's not there already (search for '_init', it's usually Table1_Init or Table_Init)

 

And is there a way to be sure it works or doesn't , like an error message ?

 

I have an additional (and perhaps stupid :) ) question

 

Which one is the best between "FastFlips" and "Physmod" ? (for VP9 tables)


signature_24042026.jpg          DIRECT LINK TO MY TABLES http://www.vpforums....loads&mid=30858    

                                               LINK TO MY 204 BACKDROPS : Design Resources/ Main Resources/Table Templates/Table Resources/Backdrops for VPX Tables (DT 16/9)  2.0 


#279 DJRobX

DJRobX

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 23 July 2018 - 06:15 PM

 

Which one is the best between "FastFlips" and "Physmod" ? (for VP9 tables)

 

It is not an either/or proposition.  The best is both together.   VP9 tables benefit from fast flips just the same as VPX ones, but we just don't have the easy F11 measurement tool available to see that it's working. 

 

If it fails to work either flippers will stop working completely, or there will be no improvement.   You also could experience things not activating correctly (usually missing cSingleFlips=0 on tables with only two flippers).    For the latter cases the leading cause is missing "vpmInit Me", otherwise usually is due to customized flipper handling in script that needs additional rework. 


Edited by DJRobX, 23 July 2018 - 06:20 PM.


#280 batch

batch

    VPFroggie

  • Members
  • PipPipPipPipPip
  • 2,177 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Anyone if gaming and appearence are great

Posted 23 July 2018 - 06:52 PM

It seems to me there's no improvement on the two tables I added that

 

Is it clearly perceptible when it works ?


signature_24042026.jpg          DIRECT LINK TO MY TABLES http://www.vpforums....loads&mid=30858    

                                               LINK TO MY 204 BACKDROPS : Design Resources/ Main Resources/Table Templates/Table Resources/Backdrops for VPX Tables (DT 16/9)  2.0