Loss of video output in vpx and PinballY
Scottacus64 opened this issue · 16 comments
I've been having issues with the ZeDMD dropping the DMD display during both vpx and PinballY. It seems to take about 20 minutes or less and the ZeDMD goes blank, then shows the splash screen for about 15-20 seconds and then goes blank again. Restarting vpx or PinballY will reestablish the video display on ZeDMD and my third monitor screen (DMD) shows the correct output at all times so it is not a loss of data from PinballY or VPinMAME. There are no disconnect sounds from Windows so it doesn't seem that Windows has lost connection with the ESP32. I asked jsm174 who uses a ZeDMD with his mac version of vpx and he says that he gets these drops as well.
Here's a link to a youtube video of ZeDMD loosing signal to the unit. It looks to me that dmdExt continues to send signals to the screen DMD.
https://youtu.be/WIeDXoz-5pg
v3.2.3 should solve this issue. Could you test it?
DMDext 2.1.2 or newer is required.
I do have DMDext 2.1.2 installed. When I can get to the vpin I'll post all of the versions of the various components like VPinMAME so you have a baseline. Also would there be any value of running ZeDMD in debug mode so I can report the various values when it fails?
The interesting lines in debug mode are 004 and 005. And the command number in the lower right corner.
I tried to reproduce this issue but both, ZeDMD and ZeDMD HD didn't freeze with MM.
Upgraded to the new 3.2.4 release and grounding out the color change pin (60 second hold) will not put ZeDMD into debug mode. MM still freezes up for me, please let me know if there are any other file versions of interest to you in troubleshooting.
MM_109 using PIN2DMD.pal dated 11/29/2019
dmdExt bit 64bit v 2.1.2.0
VPinMAME v 3.6 (32 and 64 bit versions)
Pin2DMD libusbk.dll 3.0.7.0
dmdDevice64.dll 2.1.2.0
dmdDevice.dll 2.1.2.0
I have also tried dmdExt 32 bit 2.1.2.0, it seemed to take longer to freeze up (1.5 games).
Setting the device into debug mode only works during frames are sent. So you need a running game.
Are you using PIN2DMD in parallel? Did you try to disable it in DmdDevice.ini?
Any errors in DmdDevice.log after the freeze?
Thanks for the reply, I hooked my ZeDMD up to my pc laptop and mm runs just fine on that so the problem is with my cab's set up not the ZeDMD or the ESP32 drivers.
Something is messed up somewhere and I have no idea where it could be. I've checked for dlls in odd locations and there are none so I don't think that is the cause. Nothing is blocked, and the answer is not obvious at least to me. I'm now at the point where PinballY won't start if a "real dmd" is enabled so I've made the system worse in the course of trying to figure out the issue. Which version of Freezy's dmdExt should be used 32 or 64?
I originally built the cab over a decade ago and I'm wondering if I should wipe vpx and do a fresh install of the 32 and add the 64 bit vpx?
Perhaps you can try following this https://github.com/vpinball/b2s-backglass/wiki/64bit-VPX-Pincab-Setup-Guide
Thanks! I will follow that if I do a reinstall of all of vpx and the associated other software. Are there going to be registry files that might persist if I uninstall vpx and the associated other programs that might make the problem continue with a fresh install?
As the explanation seems to be quite comprehensive, I'd say that there shouldn't be any problem. At least with VPinMame and VPX, I don't know for the frontend.
Because my system has been in use for over a decade I decided to do a fresh install of vpx (32 and 64 bit), VPinMAME, FlexDMD and B2S. I'm happy to report that vpx now drives the ZeDMD without crashes.
As far as PinballY is concerned I've forwarded the following video to Mike showing the behavior of PinballY and the ZeDMD in various "real dmd" settings from "disabled" to "always on".
https://www.youtube.com/watch?v=J6o_vDY4_i4
It seems to me that:
- PinballY always displays the correct video on the screen dmd
- ZeDMD looses connection to PinballY when a game is started and stopped (real dmd enable always and automatic)
- Adjusting the Real DMD settings will reestablish communication with the ZeDMD
Here's a link to all of the logs and my ini file for dmdExt
[https://drive.google...iew?usp=sharing](url)
I think that I've found out where the competing DMD videos are coming from. In the VPinMAME/Scripts/Pinbally/dmds/manufacturers folder are the videos that are being displayed in competition with the PinballY DMD videos. I'm not sure if this is an issue for Freezy with dmdExt?
I think that I have made some progress in isolating the issue. First off when PinballY is started up, freezy's dmdext runs as shown by output on the "screen" dmd but ZeDMD does not see this feed and remains blank. If I go into PinballY and set the "Real DMD" setting from "automatic" to "enable always" or from "enable always" to automatic, the ZeDMD sees the output from dmdExt and synchs with the screen dmd.
If I start up a table in PinballY, the screen DMD goes blank but the ZeDMD shows the last image displayed on it while the game runs (frozen up?). When the table is exited, there is a Windows error chime and ZeDMD remains frozen. If I choose "disable dmd" in the pinballY options the ZeDMD goes blank and after a time displays the version number. Setting the pinballY real dmd back to either "automatic" or "enable always" makes the flashing output appear (both PinballY's dmd video trying to display while VPinMAME is trying to display it's data).
If I get the ZeDMD working properly on a fresh start of pinballY and scroll through tables both the screen dmd and ZeDMD work perfectly but if I happen to come across a table that has a registry entry under Freeware/Visual PinMAME then the ZeDMD will show the flashing as described above.
It looks to me that first off ZeDMD is not starting up with PinballY and secondly it is seeing a feed from VPinMAME that conflicts with the video dmd feed that PinballY is trying to display. The screen DMD does not show this flashing so I don't think the problem lies with freezy's dmdExt?
I figured out what the problem was and it was on my end. Back in 2019 Mike wrote a javascript for me that displayed information on the DMD for games that didn't have an nvram. This was before he incorporated the PinEMhi into PinballY and it has been sitting in my system since then. This was the cause of all of the issues and once that main.js was removed, all of the ZeDMD issues were resolved in PinballY.
Sorry for any inconvenience these error reports might have caused!