Jump to content

Code change to enable SAM LE driver board support


DJRobX

Recommended Posts

  • Replies 856
  • Created
  • Last Reply
  • Content Provider

Hi, this just a build aligned with the latest beta build at VPF. All of DJRobX's latest commits have been incorporated into the official source and the SAM improvements are now incorporated in the SAM driver as well. In terms of features, the only thing of note added here on top of the latest DJRobX test build is PinSound support. If you use a real DMD be sure to get the latest dmddevice.dll file for your controller board in the beta distribution at VPF.

VPinMAME_SAM_2.45.zip

Link to comment
Share on other sites

Initial tests have been solid on my machine. Tried the following VPX tables: Space Shuttle, Road Show, Tom Tower's new Medeival Madness, JP's Ghostbusters and Lucky Seven. No more looping audio on tables. On one or two of the tables, I even got a few more fps thrown in. 

Great job DJRobX! 

Link to comment
Share on other sites

2 hours ago, Thalamus said:

Hmm. VPinMame.dll in your archive quite small - size is approx what I would expect from official. I obviously have gotten used to larger filesizes.

Tested and seems to work - so.

Sorry, I'm obviously a bit confused here. Where did those bytes go ? :-)

 

Carny uses a tool (UPX) to compress the binary.  Should be functionally equivalent, but load a little faster since it's smaller, and take a little less disk space.   

Link to comment
Share on other sites

  • Content Provider

I've had people ask me about the sizing of pinmame dmds now with ddraw=0, and how to get rid of the black borders and still have clean pixels in the dmd. I'll post my reply here in case someone here may need it:

 

 

777x201 used to be the highest you could go with ddraw=0 without getting black borders and still have clean pixel perfect dots....and the extra pixels were because pinmame puts an extra "frame" or "border" around the dmd. 

 

That has all changed now with DJRob's fixes he added to the latest PinMame.

 

Now the base value that we need to multiply is 257x65....  so I just multiplied that by 5 for 1285x325 for my 1366x768 resolution dmd monitor....and it works PERFECT! Now I just have ALL of my PinMAME games set to ddraw=0, not just vpx tables, and I make that my default so that new tables ran for the first time will work no matter what....  vp9, pm5, or vp10!

 

I have anti-alias set to 0 so that the dmd pixels are perfect and clean.

 

So now we have the newest VPX 10.2 which works in exclusive fullscreen with no "focus" issues anymore (no need for alt-tab fixes) and it runs silky smooth... and we can now have our DMDs set to any size we want with ddraw=0 with pixel perfect dmds thanks to DJRobX's fixes!  

 

So for a 1920x1080 dmd monitor, the resolution of the DMD in pinmame would be 1799x455.

 

Hope this helps someone.

Link to comment
Share on other sites

  • Content Provider

Correction: you are not limited to scaling up by an integer factor. As long as you are using the 257x65 aspect ratio or thereabouts the result will be good. Go ahead and go edge to edge if you want.

Hook, DE Star Trek, TMNT, etc. use 257x33

Sega super sized displays use 385x129


Sent from my iPad using Tapatalk

Link to comment
Share on other sites

  • Content Provider

Good point.... I was referring to the standard 128x32 DMD.....but I'm glad you figured out those other DMD sizes as well. I've been busy adding DOFLinx cabinet support to Future Pinball tables (very cool) lately to play around VP.

Without anti-aliasing, it's much easier to notice pixels that aren't perfect. Running Stern tables and watching the Stern logo scroll upwards while in attract mode made it very easy for me to see the difference.

Link to comment
Share on other sites

Hey Rob, was just wondering if you could have a quick look at why the SAM  gicallback routine doesn't seem to be passing data to the directb2s server.

Here is the rom test from withing the b2s editor which seems to be seeing the callback on id1 however when a flasher or illumination element is created and assigned
to GI1 in the editor it never illuminates.

Thanks in advance man.

gi_string.png

Link to comment
Share on other sites

I know almost nothing about B2s, outside of what I needed to know to fix the crashing problems.   Can you PM me a .directb2s that demonstrates the problem? 

If the table sees it, so should the B2S.   If the B2S's triggers aren't firing it's probably a B2S bug. :)

 

Link to comment
Share on other sites

Is anyone else having problems running the following tables with these new VPinMame releases? : Iron Man, Avengers and X-Men. I get the following "cGameName" error when trying to run these games in VP or VPX:  "Game Name Not Found". During testing today, I tracked the issue down to VPinMame.DLL. The tables run fine using anything at 5/19/2016 release date or older. The next latest build I have handy is dated 10/26/2016 and that one exhibits the same error. NOTE" These DLL dates could be the date I downloaded them as until recently I was not tagging the builds by release date.

DJRobX - Thank you for your many hours of work on these releases. Your task looks daunting. The first time I saw and played Star Trek LE and Tron LE, I was giddy. So many great tables being released in VPX. Love it!

ATTACHED: Latest copy of DLL on my system that runs correctly.

Cheers,
MnHotRod

VPinMAME-05192016-bad-sound-sega.dll

Link to comment
Share on other sites

I know almost nothing about B2s, outside of what I needed to know to fix the crashing problems.   Can you PM me a .directb2s that demonstrates the problem? 

If the table sees it, so should the B2S.   If the B2S's triggers aren't firing it's probably a B2S bug. [emoji4]

 



Cheers Rob, had a stick of ram die tonight so will install a new one tomorrow morning and upload an example. Stuck on my phone for the moment.

Sent from my SM-G930F using Tapatalk

Link to comment
Share on other sites

1 hour ago, MnHotRod said:

Is anyone else having problems running the following tables with these new VPinMame releases? : Iron Man, Avengers and X-Men

What Thalamus said. :)     Iron Man changed from im2_ to im_, xmen changed from "xmn_" to "xmen_", avengers changed from "avr_" to "avs_".    These new names came from the official PinMame code.    While Sam is not included yet, they seem to be prepared for an eventual release, I assume when the last SAM system goes 3 years out of production.

You don't need to repack the roms, you just need to rename the ZIP file.  MAME is smart enough to identify differently named files within the zip if the CRC matches.   You also need to change the cGameName in the table script. 

 

Link to comment
Share on other sites

17 hours ago, DozerAUS said:

Hey Rob, was just wondering if you could have a quick look at why the SAM  gicallback routine doesn't seem to be passing data to the directb2s server.

UGGGHH!

B2s needs the GI level to be greater than 4 to turn the light on.  

Here's an update to VPM to now return GI as 0 or 9.    I could change B2S to be more sensitive, but that might make existing backglasses have bad behavior.    

TABLE AUTHORS: If you have updated tables to use ROM controlled GI in WhiteStar or SAM, please change it to check for GI state greater than 0, instead of being equal to 1.

Toxie/Carny, please pick up this change and publish new builds, as it may require modification of tables people are building tables against the betas.  Thank you. 

vpm112916.zip

For most regular users I recommend sticking with the previous build for now.  The only change is the GI thing to fix DirectB2Ses that haven't been released yet.   It may break the GI lighting on some tables that have just started to use the new GI routine.

Link to comment
Share on other sites

  • Content Provider
13 hours ago, DJRobX said:

UGGGHH!

B2s needs the GI level to be greater than 4 to turn the light on.  

Here's an update to VPM to now return GI as 0 or 9.    I could change B2S to be more sensitive, but that might make existing backglasses have bad behavior.    

TABLE AUTHORS: If you have updated tables to use ROM controlled GI in WhiteStar or SAM, please change it to check for GI state greater than 0, instead of being equal to 1.

Toxie/Carny, please pick up this change and publish new builds, as it may require modification of tables people are building tables against the betas.  Thank you. 

vpm112916.zip

For most regular users I recommend sticking with the previous build for now.  The only change is the GI thing to fix DirectB2Ses that haven't been released yet.   It may break the GI lighting on some tables that have just started to use the new GI routine.

Per request. Current to official source r4117

PinMAME_SAM_2.45a.zip

Link to comment
Share on other sites

Uh. Just started a friendly Game of the week comp over at vpf.

Game choosen was Surf'n Safari, which I haven't tried out since the fix was published with 112816.

Did run the second latest that Carny published 2.45c, for a while now - and didn't notice any problems before I ran this table. I don't think I've tried any of the problem tables that 112816 fixed since then.

Distortion like before. So, I grabbed the one above  113016, and is no better. 112816 works ok, running latest vp.

Did the fix get lost somewhere on the way maybe ? Or, maybe compiler options ?

 

 

Link to comment
Share on other sites

Code change is definitely not lost.

My guess is that the difference that affects performance is that the 112816 version is built with Visual Studio 2010 where my more recent build is from Visual Studio 2015.   I don't know what Carny builds his with.    

 

Link to comment
Share on other sites

Archived

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

×
  • Create New...