Jump to content



Photo

The VPM alpha/beta thread


  • Please log in to reply
1790 replies to this topic

#1501 DJRobX

DJRobX

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 12 January 2022 - 03:55 PM

Most of the systems that vpinmame emulates do light dimming effects by rapidly modulating a lamp output on and off.    The modulation isn't handled by a separate board, the game code is turning a light on an off rapidly in a tight loop.   The only exception is the newer LE SAM games with the serial LED boards. 

 

In vpinmame, for each emulated system, there's always "smoothing" code in the lamp outputs that masks the fact that the game code is doing this at all.    Even if you were to disable the smoothing code, vpinmame and VPX only sync with each other every frame, the binary light state every 16ms isn't nearly enough to properly determine the dimming level in vbscript.

 

I added the "VPMModSol" system into vpinmmame to address this for flashers, but the problem is not actually limited to flashers.  TRON's neon ramps do the same thing with standard light outputs.   I use similar code there, but just handle it as a custom light output.     

 

The implementation of modulated solenoids inside vpinmame is very tricky to get the timing right so that you get a stable dimming effect.    Say the rom is turning it on and off rapidly for 50% brightness.    You have to find a method to reverse engineer the timing of the on/off switches and the durations to glean what intensity the ROM is trying to achieve.     SAM was pretty easy, the ROM just pushes on/off states every loop, so you can read it like a binary pattern, so we got pretty high fidelity with that system.   WPC was a complete nightmare.     The big test was the pop bumpers in Scared Stiff.   The game dims them very slowly.    Get the timing wrong and they flicker.    But if you over-smooth it you lose the sharp intentional flickering/strobing.    I did the best I could, but it's not perfect.    

 

The implementation is system specific.  At one point I implemented the code for Whitestar (very, very similar to SAM, I think they use the same output board).  But you really need to test it with a table to flesh out the timing.  The only Whitestar table people seem to care much about is LOTR, and that seems to need the effect applied to lamps.  Do-able, but no one was really working on a table at the time. 


Edited by DJRobX, 12 January 2022 - 04:05 PM.


#1502 apophis

apophis

    Enthusiast

  • Members
  • PipPipPip
  • 99 posts
  • Location:Mission Viejo, California

  • Flag: United States of America

  • Favorite Pinball: The Getaway

Posted 12 January 2022 - 05:21 PM

Really interesting stuff. Thanks for the explanation. For now we have a workaround to mimic the behavior.

#1503 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 12 January 2022 - 08:13 PM

DJRobX summed it up perfectly. Thanks!



#1504 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 12 January 2022 - 08:48 PM

I think i will increase the update frequency, as smoothing/averaging the lamps will not help much here, as the mentioned lamps are actually really supposed to be flickering (so its not used to fake a different brightness in this case).



#1505 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 12 January 2022 - 11:48 PM

Here is a test build that makes the mentioned lamps flicker: https://github.com/v...runs/1690243576

Please also test other Whitestar based machines (Apollo13 til Nascar/Grand Prix) if they show some weirdness with lamps now.

 

So in practice i guess the best solution would be to have modulated lamps implemented, BUT also without loosing the intended flicker of some lamp effects.



#1506 apophis

apophis

    Enthusiast

  • Members
  • PipPipPip
  • 99 posts
  • Location:Mission Viejo, California

  • Flag: United States of America

  • Favorite Pinball: The Getaway

Posted 13 January 2022 - 01:36 AM

Thanks! We’ll give it a test.

#1507 jpsalas

jpsalas

    Grand Schtroumpf

  • VIP
  • 7,325 posts
  • Location:I'm Spanish, but I live in Oslo (Norway)

  • Flag: Norway

  • Favorite Pinball: I like both new and old, but I guess I prefer modern tables with some rules and goals to achieve.



Posted 13 January 2022 - 03:57 AM

Here is a test build that makes the mentioned lamps flicker: https://github.com/v...runs/1690243576

Please also test other Whitestar based machines (Apollo13 til Nascar/Grand Prix) if they show some weirdness with lamps now.

 

So in practice i guess the best solution would be to have modulated lamps implemented, BUT also without loosing the intended flicker of some lamp effects.

 

Now the blinking lights work in LOTR :) I don't see any errors in the Nascar games or Apollo 13, they seem to work fine. 


If you want to check my latest uploads then click on the image below:

 

vp.jpg

 

Next table? A tribute table to Stern's Foo Fighters


#1508 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,984 posts

  • Flag: Norway

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

Posted 13 January 2022 - 04:40 AM

Btw. While we're talking about test builds; would it be hard/difficult to implement a version that don't use upx packer ? I can almost with 100% certainty say that it is making issues for anyone on win7 or older. Not 100% sure you devs are aware of this fact or not.


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


#1509 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 13 January 2022 - 08:21 AM

Win7 should work. XP not anymore (we could compile a special version though, if needed).

Are you sure that Win7 is also affected?


 

Here is a test build that makes the mentioned lamps flicker: https://github.com/v...runs/1690243576

Please also test other Whitestar based machines (Apollo13 til Nascar/Grand Prix) if they show some weirdness with lamps now.

 

So in practice i guess the best solution would be to have modulated lamps implemented, BUT also without loosing the intended flicker of some lamp effects.

 

Now the blinking lights work in LOTR :) I don't see any errors in the Nascar games or Apollo 13, they seem to work fine. 

 

Cool! Note though that it potentially(!) changes lamp effects for ALL machines between Apollo13 and Nascar..



#1510 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,984 posts

  • Flag: Norway

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

Posted 13 January 2022 - 12:47 PM

Pretty sure, yes. Carny confirmed it over at the sam beta thread @ vpu - I know that outhere also did test and confirm this. The problem is; if you extract the whole archive, and use setup.exe like you should (in this case, using it for uninstall/reinstall). You can't, because setup.exe with upx crashes. I'm using an older setup.exe I was given på jsm, because of this and to confirm the problem, and it has been shared with those that asked. I'm sure that many are just putting the new vpinmame.dll into piname, and not really following the correct procedure. vpinmame.dll all on itself works without any issues. It is the setup.exe that croaks.


Edited by Thalamus, 13 January 2022 - 12:48 PM.

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


#1511 jpsalas

jpsalas

    Grand Schtroumpf

  • VIP
  • 7,325 posts
  • Location:I'm Spanish, but I live in Oslo (Norway)

  • Flag: Norway

  • Favorite Pinball: I like both new and old, but I guess I prefer modern tables with some rules and goals to achieve.



Posted 13 January 2022 - 01:10 PM

Win7 should work. XP not anymore (we could compile a special version though, if needed).

Are you sure that Win7 is also affected?


 

Here is a test build that makes the mentioned lamps flicker: https://github.com/v...runs/1690243576

Please also test other Whitestar based machines (Apollo13 til Nascar/Grand Prix) if they show some weirdness with lamps now.

 

So in practice i guess the best solution would be to have modulated lamps implemented, BUT also without loosing the intended flicker of some lamp effects.

 

Now the blinking lights work in LOTR :) I don't see any errors in the Nascar games or Apollo 13, they seem to work fine. 

 

Cool! Note though that it potentially(!) changes lamp effects for ALL machines between Apollo13 and Nascar..

 

I have tried these tables and they all work fine: Independence day, Southpark, Space Jam, Starship troopers, The Lost World, X-Files. Monopoly,  Terminator 3, Elvis, Nascar, Ripley's.


If you want to check my latest uploads then click on the image below:

 

vp.jpg

 

Next table? A tribute table to Stern's Foo Fighters


#1512 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 13 January 2022 - 01:37 PM

Thanks to both of you!

 

So we should basically just disable the upx compression of setup.exe then, right? Does PinMAME32.exe work?



#1513 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 13 January 2022 - 03:47 PM

Pretty sure, yes. Carny confirmed it over at the sam beta thread @ vpu - I know that outhere also did test and confirm this. The problem is; if you extract the whole archive, and use setup.exe like you should (in this case, using it for uninstall/reinstall). You can't, because setup.exe with upx crashes. I'm using an older setup.exe I was given på jsm, because of this and to confirm the problem, and it has been shared with those that asked. I'm sure that many are just putting the new vpinmame.dll into piname, and not really following the correct procedure. vpinmame.dll all on itself works without any issues. It is the setup.exe that croaks.

I just checked.. The setup(64).exe is not UPX compressed.. Also not in the installer or the minimal packages that went out..

 

Maybe this is related to the change in the API, which causes that one cannot mix anymore old (3.3 and smaller) and new (3.4 and up) setup/vpinmame.dll versions?

So that a mix was tested instead of having matching builds?

 

What was the exact error?



#1514 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,984 posts

  • Flag: Norway

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

Posted 13 January 2022 - 04:17 PM

I did not test the 64bit version, and because I've crashed since the post 3.4; I've kept the jsm sharedsetup.exe, and use it for newer vpinmame. I'll have to re-check pinmame32, I can't recal if I noticed issues with it or not. I very seldom I use that. Setup.exe however, happens more frequent for various reasons. I'm sorry to say, I did not check your release here, only assumed that it has upx since all the releases I download of github' auto builds crash using it.

 

Again, NOT an issue with actual game play / emulation.


Edited by Thalamus, 13 January 2022 - 04:20 PM.

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


#1515 Carny_Priest

Carny_Priest

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 13 January 2022 - 09:35 PM

To clarify, it is the Test button that crashes Setup.exe. This is with Win 7. I haven't tested with any other OS.



#1516 jejepinball

jejepinball

    Enthusiast

  • Members
  • PipPipPip
  • 64 posts

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

  • Favorite Pinball: Theatre Of Magic, Metallica, Goldrake, Archer (Pinball FX)

Posted 13 February 2022 - 08:12 PM

In Github, there are two versions for Windows x86 : what is the differences ? Can we install one or another safely?

Examples :

VPinMAME-3.5-28-79af26a-win-x86

VPinMAME-sc-3.5-28-79af26a-win-x86



#1517 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 14 February 2022 - 09:39 AM

sc features the additional slots for colorized ROMs. As it's still a bit 'ugly' (although harmless for endusers) we still do a separate build though. So you can just go with sc.



#1518 Mrtr32

Mrtr32

    Enthusiast

  • Members
  • PipPipPip
  • 251 posts

  • Flag: Canada

  • Favorite Pinball: Funhouse

Posted 14 February 2022 - 11:26 PM

@toxie

 

Is VPinSPA can be rebuilt with the lastest build versions of Pinmame, Pinmame32 and vPinmame?

 

The version of VpinSPA is old and I can't use it with my real DMD Pixelcade.

 

thanks



#1519 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 15 February 2022 - 12:33 AM

@toxie

 

Is VPinSPA can be rebuilt with the lastest build versions of Pinmame, Pinmame32 and vPinmame?

 

The version of VpinSPA is old and I can't use it with my real DMD Pixelcade.

 

thanks

 

We dont discuss that thing here, as it was made by directly stealing IP from stern's pinball arcade program


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#1520 Mrtr32

Mrtr32

    Enthusiast

  • Members
  • PipPipPip
  • 251 posts

  • Flag: Canada

  • Favorite Pinball: Funhouse

Posted 15 February 2022 - 12:38 AM

Ok I understand.

 

Thanks wiesshund.