freezy / dmd-extensions

A toolbox for virtual pinball dot matrix displays.
GNU General Public License v2.0
127 stars 54 forks source link

Use libzedmd for ZeDMD #450

Closed mkalkbrenner closed 8 months ago

mkalkbrenner commented 9 months ago

This eases the code within DMDext and avoid the redundant implementation of new features. libzedmd is the platform independent communication library for ZeDMD which is also used by PPUC and VPX Standalone.

mkalkbrenner commented 9 months ago

@freezy I got all modes to work. It would be nice if you can review the PR and ideally merge it. https://www.youtube.com/watch?v=B6D00oB4Co8

endeemillr commented 9 months ago

I tried this out after updating my ZeDMD and am getting errors. "No external DMD driver found" The old dll is working just fine. I'm hoping to iron out the issues when I run non-colorized stern roms.

mkalkbrenner commented 9 months ago

@endeemillr You need ZeDMD firmware v3.4.1 and ensure to have the right settings in DmdDevice.ini. Others reported, that everything works.

@freezy I think the PR is ready to be merged.

Maybe @zesinger can post if this version works for him.

For everyone who wants to test it, I built these DLLs: https://github.com/PPUC/dmd-extensions/releases/tag/v2.2.2-zedmd.beta.2

endeemillr commented 9 months ago

Thanks! I found a com= (blank) line that I commented out and that seemed to do the trick. Would it be possible to share a new .ini file? I've pasted what I could find in the discord, but must be missing something. My Stern 16 shade dmds still act strange. I can control them a little, but usually the main text goes black, and I have to do a full restart to make any color changes effective,and usually only showing in the Stern logo page.

mkalkbrenner commented 9 months ago

@endeemillr the DmdDevice.ini changes are part of this PR. You can see them here: https://github.com/freezy/dmd-extensions/pull/450/files#diff-88e3d2463904a53acc621a133a122746310960b6e6278a3bbd275a72f033c3ae

Ideally you contact me on discord and we can go through your issues.

freezy commented 9 months ago

Awesome! I'll go through it in the next days.

mkalkbrenner commented 9 months ago

@endeemillr The last commit should fix custom colors for 16 color games.

mkalkbrenner commented 9 months ago

Here's a build for those who want to test: https://github.com/PPUC/dmd-extensions/releases/tag/v2.2.2-zedmd.beta.3

mkalkbrenner commented 9 months ago

@endeemillr reported on discord, that the 16 colors custom palette is working now.

mkalkbrenner commented 8 months ago

@freezy it would be great if you find some time to review and ideally merge this PR. Since I only provided new DLLs of DMDExt for testing purposes, people start complaining about PinUp Popper because it requires the EXE ;-)

freezy commented 8 months ago

Well, you keep adding commits, so I'm assuming it's not for prime time yet?

Which .exe do you mean?

mkalkbrenner commented 8 months ago

@freezy We're done :-)

I don't use PinUp Popper. But I have been told that it uses DmdDevice.exe which I don't build for the testers.

freezy commented 8 months ago

Ah, dmdext.exe, gotcha.

I'll try to have a go at it tomorrow.

mkalkbrenner commented 8 months ago

@zesinger also tested the current version of the PR.

mkalkbrenner commented 8 months ago

@freezy no code change. I just updated libzedmd to the latest version v0.5.0. (people could do so by just putting new DLLs in the VPinMAME folder after you merged this PR)

mkalkbrenner commented 8 months ago

Thanks! Sorry it took so long to review.

No problem.

I figure you'd like to have another release after that?

Yes, another DMDext release would be great. But a CI dev build would also be OK to let people test it. At the moment it is difficult because of the missing installer in my test builds.

mkalkbrenner commented 8 months ago

@freezy I addressed all your concerns. I think the code looks much better now.

freezy commented 8 months ago

If you give me write access to PPUC/dmd-extensions, I'll push some cleanup that you can test before we merge.

mkalkbrenner commented 8 months ago

If you give me write access to PPUC/dmd-extensions, I'll push some cleanup that you can test before we merge.

@freezy access granted

freezy commented 8 months ago

Thanks! Pushed my changes.

The only remaining part now is the rewrite of the palette function. Did you have a chance to have a look?

mkalkbrenner commented 8 months ago

@freezy I tested you changes. ZeDMD and ZeDMD HD are working. (Actually, I didn't change the code back again after my experiments to let ZeDMD HD inherit from ZeDMD. So you're changes are correct and simplify the code.)

mkalkbrenner commented 8 months ago

@freezy I refactored SetPalette() and tested it with Avatar.

mkalkbrenner commented 8 months ago

So, I think everything is addressed now.

freezy commented 8 months ago

All good, thanks for bearing with me!