Jump to content

New version! Pin2Dmd dmddevice.dll with DmdExt as plugin


lucky1

Recommended Posts

  • Content Provider

Latest version is here

 

 

 

 

Hi all,

 

Although I have invested a lot of time in the latest DmdExt version to update the colorization code to the current state, it still has remaining issues (lcm scenes not displayed properly, and simple palette switches not working properly). Additionally to keep up with future improvements to pin2dmd and pin2dmd editor code, the code in freezy always needs to be updated to use the latest colorizations. Since the implementation of the colorization code in freezy is optimized for the c sharp language it is written in, it is impossible for me to just copy the changes I make to pin2dmd which is written in C++ to the freezy code and it takes me a lot of debugging to make it work the same way.

To make it easier for me to add new features while in that same time keeping the vpin community up to date with that latest colorization changes , I came up with the idea to use my own code for the colorization and use freezy ´s dll as a plugin which is taking care of the output to the devices like pc screen, pindmdV3 etc. There have also been differences between the brightness levels on a pin2dmd and a PC screen with freezy. The goal of this dll is to have the experience as close as possible to a real pin2dmd to make it as easy as possible for the colorization authors and to get rid of such differences.

The first version already has the latest features of the editor implemented, which is single file export of colorizations (.pac) instead of .pal/.vni combination for easier upload and to make sure only the working combination is installed on your vpin. It also addresses some technical drawbacks of the vni format which should lead to quicker processing and

makes sure that real pinball .pal files don´t get mixed up with vpin .pal files which happened a lot in the past.

Of course this version supports also the usage of colorizations exported as vni/pal or pal only like the altcolor collection.

 

Please download the DmdDevice.zip (DmdDevice64.zip for vpinmame64 installation) files at my github here

https://github.com/lucky01/PIN2DMD/tree/master/integration/pinmame

Depending on wether you have VPinMame.dll or VPinMame64.dll installed you need to install the contents of dmddevice.zip or dmddevice64 zip package. For installation just copy the contents of the zip file to your vpinmame installation folder. You may be asked to overwrite a previous installation of dmddevice.dll. If you previously used freezy DmdDevice.dll and want to keep your settings just keep  your DmdDevice.ini.

 

Colorization authors please download the latest pin2dmd editor here, check out the .pac export and test with your latest colorizations  https://drive.google.com/drive/folders/18wNl_JbPW4XbvLkJQbT_s_DhHZqwq9CI

 

The current version has been thoroughly tested in the last weeks and seems to working fine now with all available colorizations, PuP packs and all supported output devices by the current freezy version.

 

Freezy dmd-extensions is licensed under GPL. Both dmddevice.dll and dmdext.dll (renamed to dmddevice.dll) can be used independently and are separate programs, so the license of the Freezy plug-in makes no requirements about the main program. For pin2dmd users there is absolutely no need to install freezy DmdExt.dll. It is just provided as a optional service for non pin2dmd users. In comliance to the GPL of Freezys dmd-extensions, the source of the version used can be found here https://github.com/lucky01/dmd-extensions/tree/dmdext.dll

 

 

Link to comment
Share on other sites

5 hours ago, lucky1 said:

Hi all,

 

Although I have invested a lot of time in the latest DmdExt version to update the colorization code to the current state, it still has remaining issues (lcm scenes not displayed properly, and simple palette switches not working properly). Additionally to keep up with future improvements to pin2dmd and pin2dmd editor code, the code in freezy always needs to be updated to use the latest colorizations. Since the implementation of the colorization code in freezy is optimized for the c sharp language it is written in, it is impossible for me to just copy the changes I make to pin2dmd which is written in C++ to the freezy code and it takes me a lot of debugging to make it work the same way.

To make it easier for me to add new features while in that same time keeping the vpin community up to date with that latest colorization changes , I came up with the idea to use my own code for the colorization and use freezy ´s dll as a plugin which

is taking care of the output to the devices like pc screen, pin2dmd etc.

The first version already has the latest features of the editor implemented, which is single file export of colorizations (.pac) instead of .pal/.vni combination for easier upload and to make sure only the working combination is installed on your vpin.

It also makes sure that real pinball .pal files don´t get mixed up with vpin .pal files which happened a lot in the past

 

Please download the DmdDevice.dll files here and test https://github.com/lucky01/PIN2DMD/tree/master/integration/pinmame

and copy the dlls to your pinmame folder. Your custom freezy settings in the dmddevice.ini should work just like before.

 

Colorization authors please download the latest pin2dmd editor here, check out the .pac export and test with your latest colorizations  https://drive.google.com/drive/folders/18wNl_JbPW4XbvLkJQbT_s_DhHZqwq9CI

 

In the next weeks I will focus on fixing any remaining issues to make this stable as soon as possible.

Please report any issues here.

 

 

 

 

Thanks alot for all the amazing hard work.   Is this for real vpin or virtual 

Link to comment
Share on other sites

  • Content Provider
7 hours ago, mellkul said:

Thanks alot for all the amazing hard work.   Is this for real vpin or virtual 

 

It supports the same devices as the latest freezy e.g. pin2dmd, pindmd v1-v3, virtual dmd on pc screen etc

Link to comment
Share on other sites

  • Content Provider
16 hours ago, Retsamikit said:

 I have crashes with mary shellys frankenstein color dmd, went back to "orignal" dlls and it works again.

 

I could reproduce the crash with that table. Should be fixed in the version I just uploaded.

Link to comment
Share on other sites

  • Content Provider
6 hours ago, Lumby said:

Hi,
First of all, thank you for a great effort, for the great work you do.
I have tested from the latest version from 24-4-2022, most seem to work really well, but not TNMT where there are some bugs.

 

Thanks for the feedback ! Should be fixed in the release I just uploaded

Link to comment
Share on other sites

17 hours ago, lucky1 said:

 

Thanks for the feedback ! Should be fixed in the release I just uploaded

 

Thanks for the quick response, have tested and it seems to work 1: 1 compared to before with (freezy 1.10.2).

Link to comment
Share on other sites

On 16/4/2022 at 20:39, lucky1 said:

Hola a todos,

 

Aunque he invertido mucho tiempo en la última versión de DmdExt para actualizar el código de colorización al estado actual, todavía tiene problemas pendientes (las escenas de LCM no se muestran correctamente y los interruptores de paleta simples no funcionan correctamente). Además, para mantenerse al día con las mejoras futuras del código del editor pin2dmd y pin2dmd, el código en freezy siempre debe actualizarse para usar las colorizaciones más recientes. Dado que la implementación del código de colorización en freezy está optimizada para el lenguaje c sharp en el que está escrito, me es imposible simplemente copiar los cambios que realizo en pin2dmd, que está escrito en C++ en el código de freezy y me lleva mucho de depuración para que funcione de la misma manera.

Para que me sea más fácil agregar nuevas funciones y, al mismo tiempo, mantener actualizada a la comunidad vpin con los últimos cambios de coloración, se me ocurrió la idea de usar mi propio código para la coloración y usar el dll de freezy como un complemento que

se ocupa de la salida a los dispositivos como la pantalla de la PC, pin2dmd, etc.

La primera versión ya tiene implementadas las últimas funciones del editor, que es la exportación de un solo archivo de colorizaciones (.pac) en lugar de la combinación .pal/.vni para facilitar la carga y asegurarse de que solo la combinación de trabajo esté instalada en su vpin.

También se asegura de que los archivos reales de pinball .pal no se mezclen con los archivos vpin .pal, lo que sucedía mucho en el pasado.

 

Descargue los archivos DmdDevice.dll aquí y pruebe  https://github.com/lucky01/PIN2DMD/tree/master/integration/pinmame

y copie los dlls a su carpeta pinmame. Su configuración personalizada de congelación en dmddevice.ini debería funcionar como antes.

 

Autores de colorización, descarguen el último editor pin2dmd aquí, consulten la exportación .pac y prueben con sus últimas colorizaciones   https://drive.google.com/drive/folders/18wNl_JbPW4XbvLkJQbT_s_DhHZqwq9CI

 

En las próximas semanas me concentraré en solucionar los problemas restantes para que esto se estabilice lo antes posible.

Informe cualquier problema aquí.

 

 

 

 

I am a Vpin and pin2dmd user, I am always in an internal war between using lucky dll or freeze, lucky will always bring the latest to my pin2dmd, but I like freeze because of the versatility that its .ini offers, I can decide which dmds are shown in my pin2dmd and which ones on my lcd which for sega XL dmds and some Flexdmds i feel is the best, can this be the end of that struggle i have?? If so, what is the correct way to handle it? First of all thanks for the support and great product that is pin2dmd, below I put an example of the way I like to manage Freeze through virtualdmd enabled = true and pin2dmd enbled = false for those cases

ThanksScreenshot_2022-04-26-11-43-43-821_org.telegram.messenger.thumb.jpg.5699f4405ec602545dd218f08beee7c6.jpgScreenshot_2022-04-26-11-43-51-223_org.telegram.messenger.thumb.jpg.1646691303fe176da8533abc18600615.jpg

Link to comment
Share on other sites

  • Content Provider
2 hours ago, okerra said:

I am a Vpin and pin2dmd user, I am always in an internal war between using lucky dll or freeze, lucky will always bring the latest to my pin2dmd, but I like freeze because of the versatility that its .ini offers, I can decide which dmds are shown in my pin2dmd and which ones on my lcd which for sega XL dmds and some Flexdmds i feel is the best, can this be the end of that struggle i have?? If so, what is the correct way to handle it? First of all thanks for the support and great product that is pin2dmd, below I put an example of the way I like to manage Freeze through virtualdmd enabled = true and pin2dmd enbled = false for those cases

Thanks

 

Since I use freezys dmddevice.dll as a plugin (dmdext.dll) the dmdext.ini supports exactly the same settings as freezys dmddevice.ini.

Link to comment
Share on other sites

On 4/26/2022 at 8:50 AM, lucky1 said:

Since I use freezys dmddevice.dll as a plugin (dmdext.dll) the dmdext.ini supports exactly the same settings as freezys dmddevice.ini.

I put the .pac file in the altcolor folder of Pinmame and it works well for output to PC screen.  I also have a real pin2dmd hooked up to my PC and I used to be able to output to it by having "Use external DMD" checked in the options dialog box I think, but I cannot seem to get it to work anymore.  Can you remind me of what I need to do to in order to get the output to the pin2dmd?

Link to comment
Share on other sites

  • Content Provider

This is not controlled by any of these settings.  The "use external DLL" checkbox only enables wether to use the dmddevice.dll or not generally.

Here is a modified DMDExt.ini with pin2dmd enabled. 

Alternatively you can try to set 

 

[pin2dmd]

; if false, doesn't bother looking for a PIN2DMD
enabled = native

 

Which bypasses the DMDExt.dll for USB output to pin2dmd and sends the USB data directly from the dmddevice.dll.
 

DmdExt.ini

Link to comment
Share on other sites

hello for a pincab with dmd on lcd screen.  we must keep the two .ini files dmddevice.ini and your dmdext.ini?  aren't they duplicates?  or should we copy the contents of dmddevice.ini in dmdext.ini?  Thank you for your work.

Edited by davidcd13
Link to comment
Share on other sites

  • Content Provider
28 minutes ago, davidcd13 said:

copy the contents of dmddevice.ini in dmdext.ini?

Yes or just rename. I changed the name because of the need of two different displays and ini files for Gottlieb Strikes´n Spares.

Link to comment
Share on other sites

2 hours ago, lucky1 said:

[pin2dmd]

; if false, doesn't bother looking for a PIN2DMD
enabled = native

 

Which bypasses the DMDExt.dll for USB output to pin2dmd and sends the USB data directly from the dmddevice.dll.

Changing from "true" to "native" made it work!  Thank you for your help.  So far, pac file works flawlessly on PC screen and Pin2dmd.

 

Noticed there is now Export Project for "real pin" and for "single real pin".  What is the use for "single real pin"?

Link to comment
Share on other sites

  • Content Provider
8 minutes ago, sudsy7 said:

Noticed there is now Export Project for "real pin" and for "single real pin".  What is the use for "single real pin"?

 

Limits the use of the export to a specific device by entering the UID of the device.

Link to comment
Share on other sites

  • Content Provider
11 minutes ago, sudsy7 said:

Changing from "true" to "native" made it work!  Thank you for your help.  So far, pac file works flawlessly on PC screen and Pin2dmd.

 

Strange ! Which USB driver do you use ? Libusb32 or winusb ?

Link to comment
Share on other sites

34 minutes ago, lucky1 said:

Strange ! Which USB driver do you use ? Libusb32 or winusb ?

When I run Zadig, WinUSB pops up in the driver selection list.

Edit:  When I look in Device manager, I see Pin2DMD listed under libusbK USB Devices - so I think this one?

Edited by sudsy7
Link to comment
Share on other sites

  • Content Provider
1 hour ago, sudsy7 said:

When I run Zadig, WinUSB pops up in the driver selection list.

Edit:  When I look in Device manager, I see Pin2DMD listed under libusbK USB Devices - so I think this one?

 

I think that is the reason then. Freezy only supports winusb and libusb32 I think. 

For later applications winusb is recommended for backwards compatibility to older applications linusb32 is the right choice.

Link to comment
Share on other sites

1 hour ago, lucky1 said:

I think that is the reason then. Freezy only supports winusb and libusb32 I think. 

For later applications winusb is recommended for backwards compatibility to older applications linusb32 is the right choice.

OK, maybe later I'll play around with it and change the driver just for kicks, but everything works fine right now so I'm hesitant to mess with it.

 

For real pinball, I think I understand that you can export fsq and pal files that would only work on a specific machine, but when you say enter the UID of the device, what exactly would that be?  For instance, on Breakshot when it boots up, there isn't any ID or SN number shown on the DMD.

Link to comment
Share on other sites

  • Content Provider
11 minutes ago, sudsy7 said:

OK, maybe later I'll play around with it and change the driver just for kicks, but everything works fine right now so I'm hesitant to mess with it.

 

For real pinball, I think I understand that you can export fsq and pal files that would only work on a specific machine, but when you say enter the UID of the device, what exactly would that be?  For instance, on Breakshot when it boots up, there isn't any ID or SN number shown on the DMD.

 

The same number you need to get a activation key. Onscreen menu - Display UID.

Link to comment
Share on other sites

Ok I find if there is someone else or someone uses pin2dmd or virtual crash problems only when it is executed with pupack in the TMNT table, can someone confirm this so that it can be checked if it is a real problem?

Thanks

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
  • Create New...