Jump to content

SAM Build with modular DMD drivers for pindmd1,2,3 and PIN2DMD


lucky1

Recommended Posts

So i have the color pin2dmd running on 2 computer setups, 1 is my pinball CPU with 3 monitors running windows 7, the second is my desktop CPU with just 1 screen running windows 10.

Everything is playing fine on my desktop windows 10 machine without problems, all roms open great without crashes

For my pinball cpu I duplicated all the settings, as well as files etc but I am having issues with a few of the patched games.  Mustang is just a no go, VP10 stops every time.  Spiderman vault runs some times great then will not run.  The same issue for Metallica.  It seems like if I am having issues with spiderman, then if i open let's say Attack from Mars then shut down vp10, then open and start spiderman then spiderman will play without issues.  All the color palatte tables run perfect

The only difference between the 2 cpus is windows operating system, number of screens, and not running B2S server on my desktop.

Not sure if this helps or makes any sense, just reporting in.

Link to comment
Share on other sites

  • Replies 578
  • Created
  • Last Reply

I'll try FG, I haven't gotten to that one yet. 

I'm not sure what's going on with your TWD, my Cleland LE ROM works fine with JIT + pal file.   Which modified ROM are you using?  

Jesper - How much RAM does your pinball machine have?   

Link to comment
Share on other sites

31 minutes ago, DJRobX said:

I'll try FG, I haven't gotten to that one yet. 

I'm not sure what's going on with your TWD, my Cleland LE ROM works fine with JIT + pal file.   Which modified ROM are you using?  

Jesper - How much RAM does your pinball machine have?   

8gb of Ram

Windows 7 64 bit, I5 4690 @ 3.5 GHz  750 ti 2gb Graphics card

Link to comment
Share on other sites

8GB Should be plenty. 

I just tried FGY color.  Works fine with JIT on on both my cab and my laptop.   JIT does use more memory than non-JIT, but if you have over 4GB it shouldn't be an issue.    If you guys are using anti-virus make sure that your Visual PInball folder is excluded.  

Also if you can grab the crash.txt (it'll be in your tables folder) and share the contents of that it may be helpful. 

Link to comment
Share on other sites

24 minutes ago, DJRobX said:

8GB Should be plenty. 

I just tried FGY color.  Works fine with JIT on on both my cab and my laptop.   JIT does use more memory than non-JIT, but if you have over 4GB it shouldn't be an issue.    If you guys are using anti-virus make sure that your Visual PInball folder is excluded.  

Also if you can grab the crash.txt (it'll be in your tables folder) and share the contents of that it may be helpful. 

Here is my crash.txt

Crash report VPX rev2884
============
Process: vpinballx.exe
Reason: 0xC0000005 - EXCEPTION_ACCESS_VIOLATION at 0023:0DA90002
Attempt to read from 0x0DA90002
Thread ID: 0xC44 [3140]

Call stack
==========
0DA90002  (0x01670090 0x00000000 0x000026FC 0x0da90002)
23FB8FA3 vpinmame.dll (0x000026FC 0x00000000 0x00000000 0x243f2d88)
23EED099 vpinmame.dll (0x000005C4 0x243D3228 0x277BFF88 0x00000001)
23EFF632 vpinmame.dll (0x1FABA358 0x00000000 0x7625325B 0x00000000)
23EFF36A vpinmame.dll (0x277BFFC4 0x76FB58C5 0x01FA11C4 0xfffffffffffffffe)
76F6E40C ntdll.dll RtlInitUnicodeString + 0x164 (0x76F6E172 0x00000010 0x00000006 0x00000006)
76F6E40C ntdll.dll RtlInitUnicodeString + 0x164 (0x00000010 0x00000006 0x00000006 0x00000000)
76F6E172 ntdll.dll RtlAllocateHeap + 0xAC (0x00000030 0x00000008 0x277BFED8 0x277bfefc)
24070F66 vpinmame.dll DllUnregisterServer + 0x1CA86 (0x00000009 0x00000000 0x6EB5E832 0x1faba358)
24079575 vpinmame.dll DllUnregisterServer + 0x25095 (0x00000004 0x243CF300 0x243CF260 0x243306c4)
2405EE5C vpinmame.dll DllUnregisterServer + 0xA97C (0x00000000 0x1FE78F60 0x1FE78F60 0x243306c4)
2405EE5C vpinmame.dll DllUnregisterServer + 0xA97C (0x241FFF1C 0x1FE78F60 0x277BFF88 0x00000000)
2405EE5C vpinmame.dll DllUnregisterServer + 0xA97C (0x00000000 0x1FABA358 0x7625325B 0x2404db0b)

Environment
===========
Date/time: 16/1/2017, 21:22:16:72
Number of CPUs: 4
Processor type: 586
System: Unknown Windows version - 6.1 (Service Pack 1)

Memory status
=============
Total Reserved: 227976K (222M) bytes
Total Commited: 1373552K (1341M) bytes
Total Free: 2592712K (2531M) bytes
Largest Free: 2096276K (2047M) bytes

Registers
=========
EAX=0DA90002 EBX=00000000 ECX=0DA90002 EDX=000026FC
ESI=00000000 EDI=000026FC EBP=00000000 ESP=277BFF50 EIP=240558A3
FLG=00010206 CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B


Failed to save minidump.

Link to comment
Share on other sites

If I load Avatar (avr_110) from VPX, I get "No DMD device driver found".     Doesn't matter if there's a PAL file or not.   It's the only table that does this, I can switch to a different table and it loads fine.   No log is generated.   Same happens on two machines.    Weird...

*Edit* has something to do with the way the VPM controller is loaded.   If I force ccontroller to 3 (B2S) instead of trying to use ccontroller.txt, it loads OK.   Still weird, but now I know how to work around that.  

Does anyone else have focus problems?   I never really noticed this because I was mostly using VPX tables in true fullscreen, but VP9 tables load and the virtual DMD is stealing focus.   I have to alt-tab to the table to play them.    

Link to comment
Share on other sites

  • Content Provider

avatar works for me with default value 0

Yes, I've noticed the focus issue

I've found that if a table does crash with dmddevice.dll that subsequent attempts don't work or rarely work (crashes without writing out to crash dump). Only a cold reboot will allow VPM+dmddevice.dll to work again

TWD - I'm using Cleland remix as well.. Can sometimes get it working with jit disabled. I've had a couple of games that slowed... way... down. Gave me time to appreciate the DMD animations though. A lot of it I could not see at all prior to dmddevice.dll.

Link to comment
Share on other sites

That super-slow frames slowdown with non-JIT LE tables is an IRQ timing problem.    Once that happens the LE lights/GI will stop also.   TWD LE is the most sensitive to it.    It's because the non-JIT code doesn't check for IRQ events as frequently and the serial interface freezes.   That's the reason I spent so much time debugging MJR's the JIT implementation to make it work for SAM - checking to see if an IRQ triggered after every memory write slows things way down.   JIT was the only way to keep acceptable performance while emulating the serial port.

 

Link to comment
Share on other sites

  • Content Provider
5 minutes ago, DJRobX said:

That super-slow frames slowdown with non-JIT LE tables is an IRQ timing problem.    Once that happens the LE lights/GI will stop also.      It's because the non-JIT code doesn't check for IRQ events as frequently and the serial interface freezes.   That's the reason I spent so much time debugging MJR's the JIT implementation to make it work for SAM - checking to see if an IRQ triggered after every memory write slows things way down.   JIT was the only way to keep acceptable performance while emulating the serial port.

 

Yes, it is as you say. No LE lights/GI when the game goes super-slow. It doesn't always happen, and I haven't played enough to determine a pattern for when it does happen. I'm not very good at the table, so some of my games are rather short. :)

I'll check out if disabling colorize and not using the pal file makes a difference on TWD LE. For me, SAM really needs the dmddevice renderer. I have p2k style cab and I lose some contrast in reflecting the DMD onto the playfield. Only four shades never really cut it for the SAM tables, so the dmddevice solution was very much welcome!

Link to comment
Share on other sites

So I found out what was going on with the "No DMD device driver found" error I was seeing.    I found that I am not able to load DMDDevice.dll if the table script loads VPinMame.Controller directly, it would only work through B2S.Server.

The LoadLibraryEx call in VPM currently limits the DLL search to only the specified folder.    So it would find the DMDDevice.dll, but then it couldn't locate a DLL it depended on (mscoree.dll).    If loading through B2S, it - also being a .NET dll - loads this DLL first, so it bypasses the issue.     Changing the LoadLibraryEx line to:

hModule = LoadLibraryEx(filename,NULL,LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);

appears to take care of it and allows me to load VPM directly with the external DMD working.   I committed the fix to Carny's repo.  

 

Link to comment
Share on other sites

Dazz, i just did this:

Put the  DmdDevice.dll to in the same Folder where your VPinMAME.dll is
Every Color set from lucky1 have 1) altcolor/Rom_name/pin2dmd.pal - File (create Folders in VPM Folder) and 2 )Patchfile for the new Color Rom, then at VPM for the new Color ROM only (ex: smanve_101c), use Show DMD - no (optional), and Use External - yes
You can test it over VPM directly, but some Roms are working only over VPX ...

Spiderman VE is a good start and looks very nice:

Here is the Patch Tool from lucky1:

 

Link to comment
Share on other sites

  • Administrators
5 hours ago, stefanaustria said:

Dazz, i just did this:

Put the  DmdDevice.dll to in the same Folder where your VPinMAME.dll is
Every Color set from lucky1 have 1) altcolor/Rom_name/pin2dmd.pal - File (create Folders in VPM Folder) and 2 )Patchfile for the new Color Rom, then at VPM for the new Color ROM only (ex: smanve_101c), use Show DMD - no (optional), and Use External - yes
You can test it over VPM directly, but some Roms are working only over VPX ...

Spiderman VE is a good start and looks very nice:

Here is the Patch Tool from lucky1:

 

I have done all of this... The color ROM works on my pincab that has a Pin2DMD.  I'm trying to setup another PC with just LCD.  I've done all of the above, but not getting color.  I am able to launch VPX and the DMDext is displayed, but no color.  Are there any other drivers or anything that need to be installed?

Link to comment
Share on other sites

In VPM, make sure coloring is checked for the game you're running, and that the table you're running uses the colored ROM. Also, don't take the DLL from the official VPX installer because it has coloring disabled, you'll need the last one I posted in this thread.

Link to comment
Share on other sites

  • Administrators
2 minutes ago, freezy said:

In VPM, make sure coloring is checked for the game you're running, and that the table you're running uses the colored ROM. Also, don't take the DLL from the official VPX installer because it has coloring disabled, you'll need the last one I posted in this thread.

I downloaded the package from your Git. Moved the dmddevice.dll and DMDDevice.ini to my PinMame folder where my VPinMAME.dll is located.  ROM settings have Colorize and Use External DMD are checked.  Table is using smanve_101c, smanve_101c ROM in ROMS folder, altcolor\smanve_101c contains pin2dmd.pal.  Using the same settings, table and ROM on my pincab with Pin2DMD dll works with color.  Just not getting color on LCD setup. I do get the larger DMD (not the normal Pinmame one).

Link to comment
Share on other sites

  • Administrators
6 minutes ago, Daniib said:

Hi Friends...

is there a simpel description if I have a lcd screen as third screen and I like to change my virtual dmd  to color rom's  witch already exist?

 

Kind regards 

 

Follow these directions.  http://vpuniverse.com/forums/forums/topic/2728-sam-build-with-modular-dmd-drivers-for-pindmd123-and-pin2dmd/?do=findComment&comment=33346

Use this dll file http://vpuniverse.com/forums/applications/core/interface/file/attachment.php?id=3071 

 

Link to comment
Share on other sites

  • Administrators
1 hour ago, freezy said:

Yeah sorry, I'll update GitHub with a fresher release in the next few days. There have been a lot of changes and new features since.

Is DmdDevice.ini also required to be in the PinMAME folder?  Looks like that is the setting file for DmdDevice.dll.  Will the DmdDevice work without the ini?

Link to comment
Share on other sites

Archived

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

×
  • Create New...