Jump to content

Recommended Posts

Posted (edited)

Hi all!

 

Just a small update to keep up with the latest changes from Zedland. For ZeDMD users, be sure to update to the latest firmware v3.6.0.

 

The main changes are that dmdext is now using the unified libserum library for colorization, which is also built into VPX standalone. This allows the Serum team to update only one binary that will then be applied to multiple projects, resulting in less maintenance. Thanks to @mk47 and @zedrummer for their continued support!

 

Also I'd like to welcome PinDMD v3.1 users from VirtuaPin who are now using Open Source software! It's a ZeDMD!

 

Changes:

  • Updated libserum to v1.6.2
  • Updated ZeDMD driver to v0.7.2.
  • Fixed a bug in how to render alpha-numeric numbers on DMDs (thanks @toxie!)

 

Download as usual here.

 

Enjoy!

 

   -freezy.

 

EDIT: Those of you who have a ZeDMD, also have a look at the breaking changes, they probably impact you.

 

Edited by freezy
Posted

Hi Freezy, would any of these updates allow my pindmd v3 from Virtuapin to play  Diner, Bugs and Bad Cats without lag that I’ve been trying to run on my cabinet since the latest freezy update from last September of 2023.

Posted (edited)
19 hours ago, Redwings13 said:

Hi Freezy, would any of these updates allow my pindmd v3 from Virtuapin to play  Diner, Bugs and Bad Cats without lag that I’ve been trying to run on my cabinet since the latest freezy update from last September of 2023.

 

I don't think so, but let me know.

 

If they are colored with 64 colors, chances are it lags because it switches to RGB24 because PinDMD3 doesn't support the 6-bit frame mode. Maybe one day we can fix that in the firmware...

Edited by freezy
Posted

Hi Freezy,  I installed your latest update and unfortunately I still have severe lag on those three dmds.  Thanks for you updates even tho it did not solve my problem.     😢

Posted
38 minutes ago, freezy said:

 

I don't think so, but let me know.

 

If they are colored with 64 colors, chances are it lags because it switches to RGB24 because PinDMD3 doesn't support the 6-bit frame mode. Maybe one day we can fix that in the firmware...

Like I said in other post, Luckys .dlls will run those three perfectly well. But I’ve had to many other issues running Luckys .dlls, so I’m running yours because things run more smoothly.  Thanks again.

  • 1 month later...
Posted (edited)

Hi @freezy,

I have a ZeDMD (2 P4 matrix) with 3.6 firmware and i try to send png image to it with dmdext.exe

It works with a 128x32 PNG32 image but when i try with a png8 or with a larger image, it doesn't show image on zeDMD.

Here the command that i'm using :

dmdext play -f "default.png"

Edited by goldorakiller
  • 2 months later...
Posted

Hello @freezy

Thank you for your work.
There might be a bug with version 2.2.2.


When I launch the test command for DMDext I have this message :
 

dmdext test -d auto


 

C:\vPinball\VisualPinball\VPinMAME>dmdext test -d auto
 [1] 2024/08/25 18:11:22.543  INFO | Launching console tool v2.2.2
 [1] 2024/08/25 18:11:23.670  INFO | PinDMDv1 device not found.
 [1] 2024/08/25 18:11:23.670  WARN | Device PinDMDv1 is not available.
 [1] 2024/08/25 18:11:23.670  INFO | PinDMDv2 device not found.
 [1] 2024/08/25 18:11:23.670  WARN | Device PinDMDv2 is not available.
 [1] 2024/08/25 18:11:23.670  INFO | Checking port COM1 for PinDMDv3...
 [1] 2024/08/25 18:11:23.712 ERROR | Error: Paramètre incorrect.
 [1] 2024/08/25 18:11:23.712  INFO | Checking port COM4 for PinDMDv3...
 [1] 2024/08/25 18:11:23.717 ERROR | Error: The maximum baud rate for the device is 2187500.
Parameter name: baudRate
 [1] 2024/08/25 18:11:23.717  INFO | PinDMDv3 device not found.
 [1] 2024/08/25 18:11:23.717  WARN | Device PinDMDv3 is not available.
 [1] 2024/08/25 18:11:27.713  INFO | ZeDMD device found
 [1] 2024/08/25 18:11:27.713  INFO | Added ZeDMD renderer.
 [1] 2024/08/25 18:11:30.493  INFO | ZeDMD HD device not found
 [1] 2024/08/25 18:11:30.493  WARN | Device LibDmd.Output.ZeDMD.ZeDMDHD is not available.
 [1] 2024/08/25 18:11:33.281  INFO | ZeDMD WiFi device not found
 [1] 2024/08/25 18:11:33.281  INFO | ZeDMD WiFi device not found
 [1] 2024/08/25 18:11:33.281  WARN | Device LibDmd.Output.ZeDMD.ZeDMDWiFi is not available.
 [1] 2024/08/25 18:11:36.061  INFO | ZeDMD HD WiFi device not found
 [1] 2024/08/25 18:11:36.061  INFO | ZeDMD HD WiFi device not found
 [1] 2024/08/25 18:11:36.061  WARN | Device LibDmd.Output.ZeDMD.ZeDMDHDWiFi is not available.
 [1] 2024/08/25 18:11:36.061  WARN | Device PIN2DMD is not available.
 [1] 2024/08/25 18:11:36.077  WARN | Device PIN2DMDXL is not available.
 [1] 2024/08/25 18:11:36.077  WARN | Device PIN2DMDHD is not available.
 [1] 2024/08/25 18:11:36.077  INFO | Checking port COM1 for Pixelcade...
 [1] 2024/08/25 18:11:36.299 ERROR | Error: The operation has timed out.
 [1] 2024/08/25 18:11:36.422  INFO | Checking port COM4 for Pixelcade...
 [1] 2024/08/25 18:11:36.530 ERROR | Error: Access to the port 'COM4' is denied.
 [1] 2024/08/25 18:11:36.530  INFO | Pixelcade device not found.
 [1] 2024/08/25 18:11:36.530  WARN | Device Pixelcade is not available.
 [1] 2024/08/25 18:11:36.598  INFO | Added virtual DMD renderer.
 [1] 2024/08/25 18:11:36.614  INFO | Setting up Render Graph for 2 destination(s) [ ZeDMD, Virtual DMD ]
 [1] 2024/08/25 18:11:36.614  INFO |   -> Connecting Image Source to ZeDMD (Bitmap -> Rgb24)
 [1] 2024/08/25 18:11:36.631  INFO |   -> Connecting Image Source to Virtual DMD (Bitmap -> Bitmap)
 [1] 2024/08/25 18:11:36.631  INFO | Press CTRL+C to close.
[17] 2024/08/25 18:11:36.631 ERROR | The calling thread cannot access this object because a different thread owns it.
[17] 2024/08/25 18:11:36.631 ERROR | System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
   at System.Windows.Threading.Dispatcher.VerifyAccess()
   at System.Windows.Media.Imaging.BitmapSource.get_PixelWidth()
   at LibDmd.Common.ImageUtil.ConvertToRgb24(BitmapSource bmp, Int32 offset, Double lum)
   at LibDmd.Frame.BmpFrame.ConvertToRgb24()
   at LibDmd.RenderGraph.<>c__DisplayClass62_0.<Connect>b__14(BmpFrame frame)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Reactive.Stubs.<.cctor>b__1(Exception ex)
   at System.Reactive.AnonymousSafeObserver`1.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
   at System.Reactive.ScheduledObserver`1.Dispatch(ICancelable cancel)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 [1] 2024/08/25 18:11:36.810  INFO | Creating FBOs for 128x32

Exception non gérée : System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
   at System.Windows.Threading.Dispatcher.VerifyAccess()
   at System.Windows.Media.Imaging.BitmapSource.get_PixelWidth()
   at LibDmd.Common.ImageUtil.ConvertToRgb24(BitmapSource bmp, Int32 offset, Double lum)
   at LibDmd.Frame.BmpFrame.ConvertToRgb24()
   at LibDmd.RenderGraph.<>c__DisplayClass62_0.<Connect>b__14(BmpFrame frame)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Reactive.Stubs.<.cctor>b__1(Exception ex)
   at System.Reactive.AnonymousSafeObserver`1.OnError(Exception error)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
   at System.Reactive.Linq.ObservableImpl.Select`2._.OnNext(TSource value)
   at System.Reactive.ScheduledObserver`1.Dispatch(ICancelable cancel)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

C:\vPinball\VisualPinball\VPinMAME>


Someone have a solution for working it ?

With version 2.2.1, I don't encounter the bug, but the parameter zedmd on this command is not recognized :

dmdext test -d zedmd



Thanks for your help.

Bests regards

  • 2 weeks later...
Posted
6 minutes ago, zedrummer said:

As there will be major changes to support Serum v2 (multi-resolution and 65536 colors), there are  discussions and pre-tests on the Serum Discord https://discord.gg/N3KcRSVW7v

I'm there almost every day, but haven't seen much discussion. I'll do some searching and see what comes up. 

  • Content Provider
Posted

There are many tests with pre-released version, the RGB565 code seems to be working-ish, not many tests have been done for multi resolution

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...