Jump to content

Can't for my life get ZeDMD to working with 64-bit VPinMame 3.6 and Freezy 2.2.1


Slemkryp

Recommended Posts

45 minutes ago, Slemkryp said:

I am thinking of starting by installing VPX Installer 10.7.2 and then upgrading to the latest VPX 10.8?


You could do so.

If you're interested, I'm working on a guide how to install 10.8 directly. And from scratch, without any installer magic, to help people to understand how everything works. It is still WIP and unfortunately in German. But maybe a machine translation is good enough:

https://www.flippermarkt.de/community/forum/threads/vpx-10-8-64bit-gl-neu-installieren.264774/

 

Edited by mk47
Link to comment
Share on other sites

Cool! Did follow your guide in german, aside from that VC++ 2013 redistributable also is needed to start VPX that works fine.

 

And efter installation Freezy 2.2.1 64bit and adding your snapshot of 2.2.2 Setup64.exe is displaying the rom on the DMD

 

Is there any need to try to get also 32bit working or should I just leave it here and run all tables on GL 64bit version of VPX? I really don't want to mess this up now! :D :D :D

Link to comment
Share on other sites

Would you like to hear something funny? I thought, of course, I should include Freezy 32bit as well, so I first took version 2.2.1, installed both 32bit and 64bit. Pinup Popper runs 32bit and naturally wants the DMD running there too.

 

Now the 32bit isn't working!

 

The problem has switched places, now it's the 32bit that's impossible to get running! 64bit is working fine whatever I do.

 

This is really crazy, I've tried everything now, I don't understand.

 

Insane 🤯🤯🤯

Edited by Slemkryp
Link to comment
Share on other sites

  • 2 weeks later...

To start out, VPX is running very nicely for every table and with altcolor and PuP.

I just started to try to use a ZeDMD with v3.5.1 firmware. It is the PinDMD v3.1

I receive "Unsupported render mode: 8 (and then the number switches to) 9" with a .vni and .pal altcolor.

When I try an altcolor with .cRZ I get "Unsupported render mode: 11". See DMD photo at bottom.

 

Running VPinballX_GL64.exe 10.8.1873. I also tried VPinballX107_32bit.exe 10.7.404 Final.  

 

I have "Use External DMD (.dll)" checked. I also tried disabling color and just had "Use External DMD (.dll)" checked

I have DmdDevice64.dll v2.2.1.0 (I could not access dmdext-2.2.2-SNAPSHOT-r1-x64-Release.zip) and was not able to find where to access from github.

I have DmdDevice.ini set:

[zedmd]
; if false, doesn't bother looking for a ZeDMD
enabled = true

 

and also tried it set to:

; COM port, e.g. COM3
port = COM3

 

I didn't see [zedmdhd], [zedmdwifi], [zedmdhdwifi] in DmdDevice.ini, I have to assume that it is in the 2.2.2 release.

If I follow along and understand I don't believe I need zedmd64.dll, it is embedded in DmdDevice64.dll from what I hear.

But also tried it with all the latest versions listed above of serum64.dll, zedmd64.dll  in my VPinMAME folder.

 

Running PinballY, has addons that use FlexDMD.dll v1.9.1.0, I installed the prerelease to run the A-Team table, I get an "Unsupported render mode: 3".

The FlexDemo.vpx table displayed "Unsupported render mode: 9" on the DMD

 

In a CMD prompt:

dmdext test -d auto

 [1] 2024/03/05 22:36:07.020  WARN | Device PinDMDv1 is not available.

 [1] 2024/03/05 22:36:07.090  WARN | Device PinDMDv2 is not available.

 [1] 2024/03/05 22:36:07.363 ERROR | Error: The operation has timed out.

 [1] 2024/03/05 22:36:07.474  WARN | Device PinDMDv3 is not available.

 [1] 2024/03/05 22:36:07.918  WARN | Device [Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ] is not available.

 [1] 2024/03/05 22:36:07.926  WARN | Device PIN2DMDXL is not available.

 [1] 2024/03/05 22:36:07.926  WARN | Device PIN2DMDHD is not available.

 [1] 2024/03/05 22:36:08.043 ERROR | Error: Access to the port 'COM3' is denied.

 [1] 2024/03/05 22:36:08.043  WARN | Device Pixelcade is not available.

 

It is listed in my Device Manager

DeviceManager.png.01fc8f234b26af1172914e8cd9d2b93a.png

 

I'm not sure how either serum_test.exe, or zedmd_test.exe should function.

zedmd_test.exe shows the red message on the ZeDMD as "Unsupported render mode: 21".  serum_test.exe does nothing other than pup up a terminal window for a split second.

 

Any help with this greatly appreciated. 

 

20240306_121010.thumb.jpg.3e081d6833f3267ac1de4c8246f37684.jpg

Link to comment
Share on other sites

  • Content Provider

The problem is that I don't know if PinDMD v3.1 is just a ZeDMD. This is possible that Russel modified somepart of the code. Could you show us the logo displayed at startup?

Link to comment
Share on other sites

Here is a picture of my PinDMD v3.1

20240306_121814.thumb.jpg.dad17212c534177c3a33a6450cbb483f.jpg

 

I just saw a post from mk47 referring to the v3.5.1 firmware. I have not been able to try this update:

 

 

 

Edited by Ziggy
Link to comment
Share on other sites

The optimized render modes 8,9 and 11 are specificly for ZeDMD. A ZeDMD will understand them. According to error message "ZeDMD@PINDMDv3" doesn't support them. Maybe Russel modified my firmware (it is open source).
Maybe you need to configure the device as PINDMDv3 in DMDext?

But it is also important that you update to DMDext to 2.2.2!
As long as @freezy doesn't publish it, you can download it from
https://github.com/PPUC/dmd-extensions/releases/tag/v2.2.2-zedmd.rc.1

 

Note: In this case you don't need to put zedmd.dll or zedmd64.dll in you VPinMAME foolder! They're included in DmdDevice.dll and DmdDevice64.dll.

Edited by mk47
Link to comment
Share on other sites

I updated DMDext 2.2.2. I ran a couple tests.

I'm still getting "Unsupported render mode: 4" when ZeDMD=true, with the rom set for colorize or not. I did notice that the error disappeared after I closed my test, before the error persisted on the DMD.

When I set pindmd3=true, nothing happens, the log indicated "Error: Access to the port 'COM3' is denied"

I've attached the DmdDevice.log files for each instance I tested it.

 

Edited: I added the generated log from a rom tested with pin2dmd.pac format

 

dw_l2-amber-zedmd.log dw_l2-color-pindmd3.log dw_l2-color-zedmd.log

DmdDevice-afm_113b-pac.log

Edited by Ziggy
Added additional information
Link to comment
Share on other sites

I installed VPX on a laptop running Win 7 to test as an alternate.

I ran into a problem where I don't know where to get a driver for the PinDMDv3.1 to run on Win 7.

Win 11, from what I can tell installed the driver automatically. I'm concerned the driver that Win 11 installed is not correct?

Link to comment
Share on other sites

  • Content Provider
Posted (edited)

Let me explain how it works:

To communicate, DMDext and a ZeDMD send data through serial. All the data buffers start with a command number (corresponding to the numbers you have in your error messages). You can find the list here https://github.com/PPUC/ZeDMD/blob/8de8bd61165cd04346d9e3276e5302c3cc645a7a/src/main.cpp#L55

If you've updated DMDext, but the PinDMDv3 firmware is not exactly the one @mk47 coded for ZeDMD, because, as he said, Russel modified it, it is possible that these commands are not the same. Did you try to declare a PinDMDv3 and not a ZeDMD?

Edited by zedrummer
Link to comment
Share on other sites

I did try setting:

[pindmd3]
enabled = true

The DmdDevice.log file from that attempt is attached: 

 

[1] 2024/03/09 09:41:30.013  INFO | [serum] Loading colorization at C:\vPinball\VisualPinball\VPinMAME\altcolor\dw_l2\dw_l2.cRZ... 
 [1] 2024/03/09 09:41:30.013  INFO | Opening virtual display... 
[41] 2024/03/09 09:41:30.078  INFO | Checking port COM3 for PinDMDv3... 
[41] 2024/03/09 09:41:30.078 ERROR | Error: Access to the port 'COM3' is denied. 
[41] 2024/03/09 09:41:30.078  INFO | PinDMDv3 device not found.

 

When:

[zedmd]
enabled = true

 

[19] 2024/03/09 09:37:01.877  INFO | [serum] Serum colorizer v1.6 initialized. 
[19] 2024/03/09 09:37:01.877  INFO | [serum] Loading colorization at C:\vPinball\VisualPinball\VPinMAME\altcolor\dw_l2\dw_l2.cRZ... 
[19] 2024/03/09 09:37:01.877  INFO | Opening virtual display... 
[29] 2024/03/09 09:37:01.935  INFO | Added ZeDMD renderer. 
[29] 2024/03/09 09:37:01.935  INFO | Added VirtualDMD renderer. 

 

I seem to only generate a log file when I test a rom using the VpinMAME setup64.exe, not if I run it from VPX.

Thank you again for helping me troubleshoot all of these problems.

dw_l2-color-pindmd3.log

Link to comment
Share on other sites

Yes, I believe everything I have is 64bit to run VPinballX_GL64.exe 10.8.1873

FlexDMD.dll v1.9.1.0 (No 64bit distinction on github download)

DmdDevice64.dll v2.2.2.1 (Just installed)

dmddevicePUP64.dll v1.4.7.1 

VPinMAME64.dll v3.6 (Feb 1 2024)

 

I see a difference in the logs between the three file formats (.cRZ, .pal/.vni, and .pac)

 

.cRZ:

[19] 2024/03/09 09:37:01.877  INFO | [serum] Serum colorizer v1.6 initialized. 
[19] 2024/03/09 09:37:01.877  INFO | [serum] Loading colorization at C:\vPinball\VisualPinball\VPinMAME\altcolor\dw_l2\dw_l2.cRZ... 
[19] 2024/03/09 09:37:01.877  INFO | Opening virtual display... 
[29] 2024/03/09 09:37:01.935  INFO | Added ZeDMD renderer. 
[29] 2024/03/09 09:37:01.935  INFO | Added VirtualDMD renderer.

 

.pal/.vni:

 [1] 2024/03/09 08:28:43.863  INFO | Enabling game colorization 
 [1] 2024/03/09 08:28:43.863  INFO | Setting game name: ij_l7 
 [1] 2024/03/09 08:28:43.863  INFO | Setting color: #FFFF5820 
 [1] 2024/03/09 08:28:43.863  INFO | [serum] No colorization found at C:\vPinball\VisualPinball\VPinMAME\altcolor\ij_l7... 
 [1] 2024/03/09 08:28:43.887  INFO | [vni] Loading palette file at C:\vPinball\VisualPinball\VPinMAME\altcolor\ij_l7\pin2dmd.pal... 
 [1] 2024/03/09 08:28:43.891  INFO | [vni] Loading virtual animation file at C:\vPinball\VisualPinball\VPinMAME\altcolor\ij_l7\pin2dmd.vni... 
 [1] 2024/03/09 08:28:43.984  INFO | [vni] Loaded animation set VPIN v4, 2110 animation(s) 
 [1] 2024/03/09 08:28:44.000  INFO | [vni] Animation Dimensions: 128x32 
 [1] 2024/03/09 08:28:44.000  INFO | Opening virtual display... 
 [9] 2024/03/09 08:28:44.187  INFO | Checking port COM3 for PinDMDv3... 
 [9] 2024/03/09 08:28:44.478 ERROR | Error: The operation has timed out. 
 [9] 2024/03/09 08:28:44.582  INFO | PinDMDv3 device not found. 
 [9] 2024/03/09 08:28:44.582  INFO | Added VirtualDMD renderer. 


.pac:

 [1] 2024/03/09 12:16:18.023  INFO | Enabling game colorization 
 [1] 2024/03/09 12:16:18.023  INFO | Setting game name: afm_113b 
 [1] 2024/03/09 12:16:18.023  INFO | Setting color: #FFFFFFFF 
 [1] 2024/03/09 12:16:18.034  INFO | [serum] No colorization found at C:\vPinball\VisualPinball\VPinMAME\altcolor\afm_113b... 
 [1] 2024/03/09 12:16:18.049  INFO | [vni] Loading PAC file at C:\vPinball\VisualPinball\VPinMAME\altcolor\afm_113b\pin2dmd.pac... 
 [1] 2024/03/09 12:16:18.124  INFO | [vni] PAC v1 loaded successfully. 
 [1] 2024/03/09 12:16:18.124  INFO | Opening virtual display... 
 [9] 2024/03/09 12:16:18.312  INFO | ZeDMD device not found 
 [9] 2024/03/09 12:16:18.312  INFO | Added VirtualDMD renderer. 

DmdDevice-afm_113b-pac.log DmdDevice-dw_l2-no-color-zedmd-cRZ.log DmdDevice-dw_l2-color-set-to-pindmd3.log DmdDevice-dw_l2-color-zedmd-cRZ.log DmdDevice-ij_l7-pin2dmd-vni.log

Link to comment
Share on other sites

I want to provide as much information as I can in order to help me and possibly many others on this path.


I've been reading the documentation at:
https://github.com/PPUC/ZeDMD?tab=readme-ov-file

 

I see what the two top buttons do on the back of the DMD.

-RGB button to rotate the colors until red in the left top corner is red, green is green and blue is shown in blue.
-Using the brightness button you can adjust the brightness.

 

The bottom two buttons elude me.
Information I've gleaned from the updater ZeDMD_Updater.exe:
https://www.pincabpassion.net/t15782-zedmd-installer-updater


I can't find the information about what button or buttons to press during connection when it fails.

 

It was suggested that I set the firmware back a version from the installed v3.5.1. I'm not sure if that is a good idea or not or even possible. The instruction I was given is that I hold down the 4th bottom button and hit the 3rd button during connection, (this did not work), and I can't confirm anywhere that this is the procedure.

I also tried just hitting the 3rd button during connection (this did not work either).


I have to assume the 3rd button is the 'BOOT' button since when it is hit I get the splash screen again. 

 

In the application I get the error:
"The flashing failed. ESP32 are known to have an issue while flashing at connection time, retry pushing the ESP32 'BOOT' button during the connection"

On https://github.com/zesinger/ZeDMD_Updater


I can't seem to find more specific information regarding how to handle the Pop-Up error regarding the 'BOOT' button.

ZeDMD-updater-error.png.8aaaa9966364aa9bef22163a30f47964.png

If this can help at all, the ZeDMD_Updater.exe application shows the PinDMDv3.1 that I got from virtuapin.net
https://virtuapin.net/index.php?main_page=product_info&cPath=6&products_id=283

 

The LED test button functions as expected. The DMD flashes from red, green, blue across the full panel. Here is my screenshot.

ZeDMD-installer-v1.5-interface.png.18503b21f4836e27e64642cb7cbaa718.png

 

I've adjusted my DmdDevice.ini to the specs outlined here:
https://www.pincabpassion.net/t14796-zedmd-installation-english

 

The latest DmdDevice.ini that was included with the 2.2.2.1 RC1 did not have (scaletohd), I added this to my DmdDevice.ini:
https://github.com/PPUC/dmd-extensions/blob/master/README.md

 

; always scale standard vpm frames to 256x64
; note: see readme.md for details
scaletohd = false

 

Thanks so much again, I don't know what else to do to figure this out. Let me know if I'm missing something obvious, or I'm SOL for now. 

Link to comment
Share on other sites

  • Content Provider

VirtuaPin should provide help, the problem is that we have no idea what are the changes they made to our device to make a "PinDMDv3.1". We don't even know what are the buttons you are talking about, the "BOOT" button is the ESP32 button, not a button on the frame they provide with it.

https://www.google.com/search?client=firefox-b-d&sca_esv=8b94fdf9c54254b4&sca_upv=1&sxsrf=ACQVn0_Bn3XvOKRymj2UtloUA9MWA9Rg1A:1710048753732&q=boot+button+esp32&tbm=isch&source=lnms&sa=X&ved=2ahUKEwiS5o6E_OiEAxUPU6QEHVMOAnoQ0pQJegQIDBAB&biw=1797&bih=817&dpr=1

 

Link to comment
Share on other sites

Just to be clear me or virtuaPin have made zero changes to the firmware. The boards run the stock official ZeDMD firmware downloaded and installed by the official ZeDMD installer app.

 

The ZeDMD PinDMD is just our own hardware design, the full firmware is official ZeDMD firmware.

Link to comment
Share on other sites

I tested ZeDMD v3.5.2 with DMDext 2.2.2 (from the link provided above):

  • 2bit color depth monochrom (Williams / Bally / ...)
  • 4bit color depth monochrom (Stern SAM / ...)
  • 2bit color depth custom palette
  • 4bit color depth custom palette
  • RGB24 (Flex DMD / Ultra DMD)
  • Serum colorization
  • PAL/VNI colorization
  • alphanummeric displays

Everything works. But I don't test PAC Colorizations and don't know if that should work or not (you should as @freezy or @lucky1 if DMDext supports PAC for any other devices except PIN2DMD).
 

@Ziggy I'm not sure what your current state is as you changed software versions back and forth and posted and mixed error messages. So it would be great if you install the versions I mentioned here and test the modes I posted above. In DmdDevice.ini, ZeDMD should be the only active device. (Be aware that any change to DmdDevice.ini requires a VPX restart.)

Link to comment
Share on other sites

I started my test by updating my firmware to the v3.5.2.  All other components are up-to-date to every reference above.

It worked for everything I tested. (.cRZ, .pal/.vni, .pal .pac, modded color rom .zip, no altcolor or rom, alphanumeric, UltraDMD) I apologize if I missed on the nomenclature of each type.

From this list of manufactures (Data East, Sega, Bally, Stern, and the FlexDemo.vpx)

I also tested a 192x64 DMD it looked a little off, I didn't try any scale changes in DmdDevice.ini yet. (for another day)

 

Except I needed to fully power cycle the DMD in order for it to successfully run after the first successful run every time.

 

Say_Yes_to_Serum(1).gif.4ef2b5fc42a647e28021d4ad3d759076.gifsay-yes-to-serum-dmd.thumb.jpg.36c76a9e66a2eedf63dbcb928c4c1f7a.jpg

Edited by Ziggy
Added clarification, added photo
Link to comment
Share on other sites

On 3/12/2024 at 9:49 AM, mk47 said:

@russdx1 Thanks for the response. That hardware design, does it use an ESP32? Which USB-to-serial converter is used? What are the four buttons?
 

 

No problem.

The UART chip is a Silicon Labs CP2102N

 

The four buttons are

- EPS-BOOT

- ESP RESET 

- FIRMWARE BUTTON 1 (brightness?)

- FIRMWARE BUTTON2 (panel colour mapping?)

 

When downloading new firmware you will need to hold down the boot and tap the reset to put the ESP into its bootloader mode ready for firmware download.

 

The hardware is very basic, just a ESP32 connected to a USB UART chip, I would assume if the firmware is downloading and frame data is being sent then the hardware is doing its job correctly?

One note is we went with a ESP32 with external aerial (as at the time of designing this pcb there was no wifi support in the firmware and was not aware it was coming) So if trying to use wifi it probably wont work unless a little antenna is plugged in.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...