Jump to content

Code change to enable SAM LE driver board support


DJRobX

Recommended Posts

My system has started giving me quite a few crashes in VP ("Visual Pinball xxx has stopped working.."). So far I had crashes on VP9.92, physmod5  and 10.2, all over various tables, SAM and not.

As with anything non-reproducible  I don't really know where this comes from, but it only seems to happen with v2.39., but not with v.2.37 or Rob's vpm093016. Need to test a bit more.

Anybody having similar crashes?

Link to comment
Share on other sites

  • Replies 856
  • Created
  • Last Reply
8 hours ago, SirCheddar said:

I found a few more:

Lost World (1978)
6 Million Dollar Man (1978)
KISS (1979)
Paragon (1979)
Harlem Globetrotters (1979)

Starting with Nitro Ground Shaker and Silverball Mania (both 1980) everything seems to work. Funny, they have all the same MPU (Bally AS-2518-35).

Thats really really good, as it means that its just the one board that uses additional/external samples that features the slowdown.

Link to comment
Share on other sites

7 hours ago, SirCheddar said:

My system has started giving me quite a few crashes in VP ("Visual Pinball xxx has stopped working.."). So far I had crashes on VP9.92, physmod5  and 10.2, all over various tables, SAM and not.

As with anything non-reproducible  I don't really know where this comes from, but it only seems to happen with v2.39., but not with v.2.37 or Rob's vpm093016. Need to test a bit more.

Anybody having similar crashes?

Is it just Whitestar II (LOTR and up)?

Link to comment
Share on other sites

3 hours ago, toxie said:

Is it just Whitestar II (LOTR and up)?

No. I had some crashes with SAM tables and also with Bally and Stern EE's. Sometimes VP crashes directly at start, sometimes a few seconds after shooting the first ball. Then, after restarting VP no crash, in one case I got a new highscore.
So far I don't see a pattern. Needs more testing.

Link to comment
Share on other sites

  • Content Provider

Yes, that's right. Consider it an alpha for the time being. Some users are reporting issues. I'll publish a general release in the download section to support pindmd1 and pindmd3 when some of these issues get resolved.


Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

  • Content Provider

stle dof 40 % done, a tiny update of the controller.vbs is required, i hope to finish during the week based on my available time, we will also need an updated backglass for having it working like an original table, i'll see if i can do it myself

Link to comment
Share on other sites

18 hours ago, arngrim said:

i would say yes but i am lost, problem is not to pass leds to the backglass, but from vpm to vp, so i don't think it is like voltaire dmd, i have to check voltaire tomorrow

It's a different manifestation of the same root problem.   We've added things to VPM that B2S doesn't know about.   When we use B2S the way it was intended,  VP talks to VPM indirectly with B2S in the middle.    The VP-rendered DMD is a new function that B2S doesn't support.   So there's no way to ask VPM for the DMD data when B2S is in the middle. 

Same problem here - we've added a new range of lights that B2S isn't passing through .    If B2S won't pass through, we have to initialize B2S separate (so VP and VPM can talk directly), which means passing events to B2S "manually" in the script. 

Link to comment
Share on other sites

Hi all,

I don't know if this is related or not to the above described crashes but since I downloaded the 2.39 version of VPM yesterday ( so that I could run Frens new VPX version of Sterns Star Trek) I haven't been able to play a game of the PM5 version of the same table. When I try to play the PM5 version of that table now I always get a script error. It always says Script Error Line:1 Type mismatch: "orbitpost".

The Error is repeatable and happens every time the ball is shot up the left ramp that is the orbit shot back to the right flipper.

Happens every time.

I went back to my backup drive running VPM version 2.37 and the table plays fine still. So I think something changed there affecting some of these SAM tables. 

Also on the PM5 version of Family Guy sometimes the table shows a "fatal error" when the table loads...other times it loads and plays ok.

Link to comment
Share on other sites

  • Content Provider
4 hours ago, Johngreve said:

Hi all,

I don't know if this is related or not to the above described crashes but since I downloaded the 2.39 version of VPM yesterday ( so that I could run Frens new VPX version of Sterns Star Trek) I haven't been able to play a game of the PM5 version of the same table. When I try to play the PM5 version of that table now I always get a script error. It always says Script Error Line:1 Type mismatch: "orbitpost".

The Error is repeatable and happens every time the ball is shot up the left ramp that is the orbit shot back to the right flipper.

Happens every time.

The new version of VPM is enabling solenoids on the Star Trek Pro table that never use to worked, so thats why the error only happens with the new VPM

To fix this, just search for this line in the script and delete it to get the table working again :)

SolCallback(52) = "orbitpost"

Link to comment
Share on other sites

15 hours ago, DJRobX said:

If you are experiencing intermittent crashes with SAM games or WhiteStar II games, try changing at91jit to 0 in the VPinMame registry for the game in question. 

If this helps please let us know also. 

Thanks for the advice DJRobX....I'd need a bit of guidance on how to go about that though......can you tell me how to get to the VPinMame registry?

Thank you

Link to comment
Share on other sites

19 hours ago, gtxjoe said:

The new version of VPM is enabling solenoids on the Star Trek Pro table that never use to worked, so thats why the error only happens with the new VPM

To fix this, just search for this line in the script and delete it to get the table working again :)

SolCallback(52) = "orbitpost"

Thanks gtxjoe!

i just commented out that line of script and that took care of that problem. For those of you with the same problem that's Line 237 of the script.

"live long and prosper"

Link to comment
Share on other sites

Ah crap.

So I got that pesky important stuff which I couldn't postpone any further out of the way and started trying to reproduce those VP crashes.

First a few games with Rob's build, various tables, first ball only - because I had those crashes while starting the table or shortly after shooting the first ball. No crashes.
Then I went back to Carny's 2.39 build and tried a large selection of different tables. And - not one measly little crash :/

I don't know. Maybe I didn't bow low enough before my Ballmer statue while booting W10 the last time. Wait - shouldn't I upgrade to Nadella?

Link to comment
Share on other sites

Or it may be what causes it.   From what I  heard, crashes were happening on the FIRST run.    But again this only applies to SAM and Whitestar II tables.  If you're crashing on older/other system games it's an unrelated issue, in which case the jit setting will be meaningless and the reboot might have helped!   

Update: After a ton of teeth gnashing over the last 4 days, I got the AC/DC IRQ problem under JIT solved.   This eliminates the whole oversampling workaround which I like.     In my attempt to create new JIT'd code, I created an obscure bug which cost me an ungodly amount of time trying to figure out.    Note to self, if emitting something with C variables, tell the emit macro "DwordPtr", otherwise it will sort of work but only use the lower 16 bits.   :blink:

To turn off JIT for a specific table, open regedit, and navigate to HKEY_LOCAL_MACHINE\Software\Freeware\Visual PinMame and find the rom name you're looking to adjust.  You'll find at91jit on the right, as long as the table has loaded once.    Just change that to a 0.  

Screen Shot 2016-10-05 at 4.18.40 PM.png

Link to comment
Share on other sites

53 minutes ago, arngrim said:

what is the benefit to have jit for a table?

Signficantly higher performance.   Needed since the serial stuff adds some overhead.    This JIT core was already in use for the WhiteStar II games, we're just enabling it for SAM also.    Fren was having issues with sound crackling and such with ST:LE until I added this feature.    Note that because I also was able to reduce the core to the proper 40mhz, performance should also now be higher for non-JIT. 

 

Link to comment
Share on other sites

On 3.10.2016 at 8:35 AM, toxie said:

Thats really really good, as it means that its just the one board that uses additional/external samples that features the slowdown.

And the Bally EE/sample problems are now fixed in PinMAME trunk (rev 4006). Let me know if there are still issues or other sound issues somewhere, please.

Link to comment
Share on other sites

  • Content Provider

Here is a testing version based on the latest version of Carny´s SamBuild for pindmd3 and pindmd1 

It uses a modular driver interface for external DMD devices I have been working on. Simply put the dmddevice.dll and other related dlls into your 

vpinmame directory according to the device you have attached to your cab, pindmd2 driver is already tested and should work.

Please report if pindmd3 and pindmd1 are also working since I couldn´t test.. If it works it could save Carny and Toxie a little time

needed to make different builds 

vpinmame.zip

Link to comment
Share on other sites

Not to steal Lukcy1's spotloght, but I have a build for you all to play with also.   I've (hopefully) integrated all of Toxie's changes.    So after more testing I found the ACTUAL issue with AC/DC.  There are math functions "Add with carry", "Subtract with carry" and "Reverse subtract with carry". They include the processor's "Carry" flag in the math operation.   This is generally used on big numbers that exceed the normal register size.    The JIT code had them translated them to Intel correctly, but forgot an important step to copy the state of the emulated carry flag, which totally defeats the purpose and can cause "random" behavior.  This is what was responsible for the outrageous jackpot amounts.  

There's still something up with inputs... SAM sometime shows EOS sensor errors in the service menu alerts.   I'll have to figure out why that is.   It's not a new issue though, happened also with last build.  

 

 

vpm100716.zip

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...