Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZeDMD starts screensaver when starting a table from frontend #474

Closed
mkalkbrenner opened this issue May 11, 2024 · 9 comments · Fixed by #475
Closed

ZeDMD starts screensaver when starting a table from frontend #474

mkalkbrenner opened this issue May 11, 2024 · 9 comments · Fixed by #475

Comments

@mkalkbrenner
Copy link
Contributor

Using ZeDMD within PinUp Popper or Pinball Y works. But if you launch a table from the these frontends, ZeDMD goes into screensaver mode instead of displaying the ROM content.

@mkalkbrenner
Copy link
Contributor Author

mkalkbrenner commented May 11, 2024

DmdDevice.zip

I build these DLLs locally for others to test.

Use these builds to test:
https://ci.appveyor.com/project/freezy/dmd-extensions

@ZiggyDaMoe
Copy link

Here are some results/observations from testing. The results from dmddevice64.dll 2.2.2 will hopefully explain the behavior experienced with 2.2.3

When using dmddevice64.dll 2.2.2
The DMD works when launching VPX directly. If VPX is left open and just the table is closed and a new one is opened (regardless of the altcolor file type (.pal, .vni, .cRZ, .pac) the DMD will work. Once VPX is closed and reopened the DMD needs to be power cycled, or the subsequent table only displays black.
If PinballY is utilized it will launch and close VPX for each table, which requires a power cycle each time for the DMD to work.

There is an odd thing. If the FlexDMD add-on in PinballY has the first instance, the DMD works. The DMD will go black when a table is launched but closing the table and returning to PinballY the FlexDMD add-on will return to operating.

When using dmddevice64.dll 2.2.3 from the file you attached.
It had nearly identical behaviour. The difference was that in the scenario where VPX is left open and tables are loaded, the DMD only worked for the first table loaded, each subsequent table had a black DMD. The 2.2.2 version allowed multiple table DMD's to operate if VPX wasn't closed.

I hope this helps, let me know if I can provide any additional information.

freezy pushed a commit that referenced this issue May 26, 2024
@pjeantaud
Copy link

Hello,

I made the test with the DLL you provided, and unfortunately, from PinballX, the behavior is exactly as described by ZiggyDaMoe. IMHO, this problem is not fixed.

@mkalkbrenner
Copy link
Contributor Author

mkalkbrenner commented May 28, 2024

@pjeantaud test this build:
https://ci.appveyor.com/project/freezy/dmd-extensions

The DLL above is older and did not contain the multi Dispose() fix

@pjeantaud
Copy link

pjeantaud commented May 28, 2024 via email

@mkalkbrenner
Copy link
Contributor Author

@pjeantaud Thanks for that valuable feedback. Since I can't re-open this issue, can you create a new one and copy your findings there?

I will reply there as we got a similar report about Pinball Y. And it seems that the issue is not directly related to ZeDMD.

@freezy freezy reopened this May 28, 2024
@freezy
Copy link
Owner

freezy commented May 28, 2024

Reopened.

@mkalkbrenner
Copy link
Contributor Author

@freezy so it looks like VPX doesn't cause a call to Dispose() if it is closed by the frontend. Or the Frontend doesn't call Init() again to get the connection to the DMD.

I don't think that this is a ZeDMD issue. The only difference between ZeDMD and others might be that another process could not open the connection if another process still "owns" the serial port.

@mkalkbrenner
Copy link
Contributor Author

I think this a different issue and we should continue on #481

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants