Jump to content



Photo
* * * * * 6 votes

FlexDMD, an UltraDMD alternative

UltraDMD DMD

  • Please log in to reply
835 replies to this topic

#381 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 24 September 2020 - 10:44 PM

If you use flexDMD instead of UltraDMD then

 

FlexDMD.Color = RGB(255,0,255)

 

(that will be purple, use appropriate colour for you)


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#382 Black Mage

Black Mage

    Hobbyist

  • Members
  • PipPip
  • 14 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 26 September 2020 - 02:26 AM

If you use flexDMD instead of UltraDMD then

 

FlexDMD.Color = RGB(255,0,255)

 

(that will be purple, use appropriate colour for you)

Sorry, I don't understand.  What would be the code to inject, and where, for a FlexDMD table?



#383 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 26 September 2020 - 02:34 AM

Well, like 

 

Sub FlexINIT
    Set FlexDMD = CreateObject("FlexDMD.FlexDMD")
UseColoredDMD = true
    If FlexDMD is Nothing Then 
        MsgBox "No UltraDMD found.  This table will NOT run without it."
        Exit Sub 
    End If 
    FlexDMD.GameName = cGameName 
    FlexDMD.RenderMode = 2 
FlexDMD.Show = ShowFlexDMD
FlexDMD.Color = RGB(255,0,255)
    Set UltraDMD = FlexDMD.NewUltraDMD() 
    UltraDMD.Init
    
    If Not UltraDMD.GetMajorVersion = 1 Then
        MsgBox "Incompatible Version of UltraDMD found."
        Exit Sub
    End If
    Set fso = CreateObject("Scripting.FileSystemObject")
    curDir = fso.GetAbsolutePathName(".")
    UltraDMD.SetProjectFolder curDir & "\HvyMtl.DMD"

End Sub

for an example


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#384 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 05 October 2020 - 04:31 AM

hello folks,

 

I think I got ahead of myself and tried to get flexdmd working before checking compatibility.  I feel like I tried everything under the sun but to no avail.  I realized after doing a quick test with flexDMDUI on my laptop (Win 10), that when going to UltraDMD or FlexDMD designer tabs, a virtual DMD would show up.  On the PC in my VP cab (Win 7), clicking on those tabs did not show a virtual DMD ( I only have a 2 screen setup, so would be using the virtual DMD).  I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?  I fear I may have neglected to check that before spending hours of messing around.

 

Thanks!



#385 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,807 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 05 October 2020 - 04:36 AM

hello folks,

 

I think I got ahead of myself and tried to get flexdmd working before checking compatibility.  I feel like I tried everything under the sun but to no avail.  I realized after doing a quick test with flexDMDUI on my laptop (Win 10), that when going to UltraDMD or FlexDMD designer tabs, a virtual DMD would show up.  On the PC in my VP cab (Win 7), clicking on those tabs did not show a virtual DMD ( I only have a 2 screen setup, so would be using the virtual DMD).  I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?  I fear I may have neglected to check that before spending hours of messing around.

 

Thanks!

It should work under Windows 7
Maybe some info in here will help  -- https://vpinball.com...all#post-194336
 


Edited by Outhere, 05 October 2020 - 04:37 AM.


#386 LynnInDenver

LynnInDenver

    Pinball Fan

  • Members
  • PipPipPipPip
  • 570 posts
  • Location:Denver

  • Flag: United States of America

  • Favorite Pinball: Genie

Posted 05 October 2020 - 12:01 PM

I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?


Yes, it does. I still have Windows 7 on the pincab downstairs, and it runs FlexDMD for everything.



#387 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 05 October 2020 - 06:03 PM

hello folks,

 

I think I got ahead of myself and tried to get flexdmd working before checking compatibility.  I feel like I tried everything under the sun but to no avail.  I realized after doing a quick test with flexDMDUI on my laptop (Win 10), that when going to UltraDMD or FlexDMD designer tabs, a virtual DMD would show up.  On the PC in my VP cab (Win 7), clicking on those tabs did not show a virtual DMD ( I only have a 2 screen setup, so would be using the virtual DMD).  I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?  I fear I may have neglected to check that before spending hours of messing around.

 

Thanks!

Do you have flexDMD and freezy's 1.8 DMD extensions both installed into the VpinMAME folder?


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#388 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 05 October 2020 - 08:44 PM

 

I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?


Yes, it does. I still have Windows 7 on the pincab downstairs, and it runs FlexDMD for everything.

 

 

Thanks, that is good to hear.  Give's me hope that I may get it to work.  Though I tried again and still getting the same error:

 

Method not found: "Void System.Runtime.InteropServices.Marshal.StructureToPtr(!!0. IntPtr, Boolean)'.

 

 

 

 

hello folks,

 

I think I got ahead of myself and tried to get flexdmd working before checking compatibility.  I feel like I tried everything under the sun but to no avail.  I realized after doing a quick test with flexDMDUI on my laptop (Win 10), that when going to UltraDMD or FlexDMD designer tabs, a virtual DMD would show up.  On the PC in my VP cab (Win 7), clicking on those tabs did not show a virtual DMD ( I only have a 2 screen setup, so would be using the virtual DMD).  I don't know that I saw it explicitly stated, but does FlexDMD run on Windows 7?  I fear I may have neglected to check that before spending hours of messing around.

 

Thanks!

Do you have flexDMD and freezy's 1.8 DMD extensions both installed into the VpinMAME folder?

 

 

Hey Wiesshund, yes, both flexDMD 1.5 and freezy's 1.8 are in VpinMAME folder.  I tried with only the x86 version and also with the x64 dlls.   As mentioned, in the flexdmdUI, I don't get any virtual dmd when running either the utlradmd or flexdmd designer tabs, and I presume that's an issue.  Also, when I click on the dmdext.exe file, a cmd window appears for a second, and then goes away.  Nothing happens.  I don't know if that's normal behavior or not.

 

In case it matters, I am running Windows 7, VPX version 10.6.1 rev 4188. Ultimate DMD version is old, but for some reason I am not able to create a GameEX account to download the latest version.

 

I followed some tips on getting flexDMD to run and I ended up uninstalling and reinstalling VP, Ultradmd, Freezy, flexdmd, removed all registry files associated with ultraDMD, etc.  Still end up with the same error.   I had ultraDMd working before, so that much I do know.

 

In the VP setup under "set defaults" button, do I need to check "Use external DMD (dll)?  I have a 2 screen setup and use only the virtual DMD.  I tried it both with it selected and unselected, and neither works.

 

Lastly, for the scripts that come along with FlexDMD, does the script names need to match the table names?  I've messed around with the names to have them match, on the script name and gamename, if specified in the script, but nothing got me past the error.  Do I need to make any additional script changes anywhere, or do I just drop the script files in the table folder?

 

Thanks in advance.



#389 Thalamus

Thalamus

    VPF Veteran

  • Platinum Supporter
  • 5,000 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 05 October 2020 - 09:41 PM

What happens if you open a cmd prompt and run ultradmd.exe /c ? Anything ? Command prompts can be useful in that they often tell you what is going on. dmdext.exe actually made to be a cmd prompt kind of program. That is why you only see it "blink".


Edited by Thalamus, 05 October 2020 - 09:44 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#390 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 05 October 2020 - 10:55 PM

DMDEXT.exe is a commandline app
It does nothing with out further instruction and is a part that you most likely wont use.

 

it's the dmddevice ini and dll's that you will indirectly use.

 

Your UltraDMD may be old, but that is not the cause of your issue, it has no bearing on FlexDMD.

 

The default of use external DLL is for VpinMAME
PinMAME can run its own DMD display, which has nothing to do with FlexDMD or UltraDMD, and use external DLL
simply allows it to use freezy's DMD extensions for an alternate means of displaying it.

 

So if you pick use external or not, if the table is a ROM based table, and you have pinmame set to show DMD, there should be some kind of display on the screen
which for a table that does not really have a DMD might be nothing more than an LED display of the score and ball and coin counts.

For a table like attack from mars, you should have a DMD like display, showing the score and the DMD scenes
And you should see that with no flexDMD, no UltraDMD and no Freezy's DMD extensions even.

But it sounds like you are saying that you don't?
And if that is the case, that is a problem.

Maybe you could clarify?

 

 

FlexDMD and UltraDMD will only operate for a table that specifically calls for them in the table script.
 

As for the scripts that come with FLexDMD
1) Yes, they have to be the same exact name as the table that they run for
2) They normally have to be in the table folder with the table
3) Do not put them any place yet, you have to address the cause of why you can not see any DMD windows appearing 1st

 

At the moment i am a bit confused on what you can, and can not see?

 

If you get the table attack from mars, and you run it using stock VPX settings
Are you able to see the pinMAME display, which should show the scoreboard, and the animations.
If you are running exclusive full screen mode disable it for now, as by default the pinmame display will appear on monitor 1
and may go behind the playfield and in exclusive full screen you can not get to it.

You may need to alt tab to see if it is visible someplace.

If that at least works, then you can hit F1 and pick use external (DLL's) and restart table, and see if freezy's extensions are working (and leave it set to still show pinmame DMD)
Can you now find 2 DMD displays of slightly different appearance?
If that works, then it would seem that freezy's extensions are working.

 

If neither of those work, and we cant find anything alt tabbing, then we have a different issue to look into that would also prevent a flexDMD or UltraDMD window from appearing.

 

I am not sure what the pre-reqs are as far as net framework and VC++ runtimes.
DX9.0c i am assuming is good to go since the tables themselves run

 

Now if the PinMAME DMD works AND it also worked using the External (DLL's)
Next thing i would ask is, if you run an ultraDMD table, like JP Salas's Diablo.

Can you find an ultraDMD window anyplace?
Can you see one when alt tabbing?
Cause that table should work with a bone stock install of VPX 10.6.1 with nothing else added

 

If you can at least see one when alt tabbing even if you cant see it on any screen, then it might be working but be located off of valid screen space
In which case you may be able to move it using the normal method of moving things in windows
(which is right click preview window, pick move, then arrow key like hell, till the thing appears, i dont think you can snap move in win7?)
If you get nada when alt tab searching for it, then we have a deeper issue to look into.
Something perhaps missing or not updated, not vpx or ultraDMD but a pre-req dependency perhaps

 

The error you showed me above suggests you are missing some net framework versions
or do not have them updated
I would suggest before doing anything else, make sure you have net framework 3.5 and higher installed and up to date

 

Get them from here
https://dotnet.micro...otnet-framework

 

 

EDIT
I should note
3.5 is stand alone
But i think 4.8 is inclusive of all 4.x previous versions
So only 2 downloads


Edited by wiesshund, 05 October 2020 - 11:03 PM.

If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#391 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 06 October 2020 - 04:12 PM

Whoa Wiesshund,

 

Appreciate the in depth response!  It certainly clears somethings up for me in my mind.

 

In summary, Rom-based tables work fine.  I have always been able to see the vpinMame DMD.  If I check "use external DMD" in vpinmame, I do not see a second DMD.  Alt + Tab does not show any additional DMDs.  

 

UltraDMD tables used to work,  I would launch the table and see the virtual UltrDMD.  I think after I uninstalled and reinstalled VPX and UltraDMD, but prior to reinstalling flexdmd and freezy, I was able to run an UltraDMD table, such as Goldorak.  However, I think I also tried another UltraDMD table that previously worked, like Kiss, and it wasn't working anymore.  So, that was a little strange but my conclusion was that perhaps I had to make a minor change years ago and couldn't recall what it was.  Either that, or I tested after installing Flexdmd, and forgot to reregister ultraDMD.  So at that point, since at least Goldorak worked, I presumed at a minimum, that UltraDMD was functioning.  I then moved on to install FlexDMD and Freezy.  Now, when trying to run Goldorak, I would get that "Method not found" error.  I also tried ultraDMD tables that had scripts written specifically for them to run flex, such as minions, or JPs Pokemon.  They give back the same "Method not found" error.

 

Again, I've never been able to see the virtual DMD coming from Flex, even when running the flexDMDUI and going to the flexDMD designer tab.  It states that the DMD should now be visible, but I have never seen it appear.  Alt Tab does not indicate that the dmd is hidden somewhere offscreen either.  

 

At the time of the testing, I was on .Net framework 4.5, I'll try updating to 4.8 the next time I get a chance.

 

 

What happens if you open a cmd prompt and run ultradmd.exe /c ? Anything ? Command prompts can be useful in that they often tell you what is going on. dmdext.exe actually made to be a cmd prompt kind of program. That is why you only see it "blink".

 

Thanks Thalamus,

 

I'll try that out when I get a chance.  hopefully this evening.

 

Thanks again for the help fellas.



#392 Thalamus

Thalamus

    VPF Veteran

  • Platinum Supporter
  • 5,000 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 06 October 2020 - 07:00 PM

Well. I feel we're right now - kind of in the middle of a problem that wiesshund has addressed in a couple of posts already. Many of you guys are running Windows 10 and it seems that the built in Windows Defender has become more aggressive. Since I don't run Win10 on my cab, I can't test these things, but I fear that we might get see a rise in reports that actually are related to the "weird ways" we're communicating in-between different programs. I had a fealing that vp would come into this situation, no one really questioning automatic updates coming from Redmond ?

 

My suggestion is - please turn off windows defender, and try again. Your problem though, please post your dmddevice.ini - it might have gremlins inside ;)


Edited by Thalamus, 06 October 2020 - 07:01 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#393 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 07 October 2020 - 03:09 AM

Guys, thank you!!!!

 

updating .net framework to 4.8 fixed the issue!  I now have flexdmd working!  I wish I had asked sooner!  Now, at the moment, the only table that still isn't working is JP's Pokemon table.  I get this error:

 

Object reference not set to an instance of an object.

 

That particular line pertains to this line of the table script:

 

DMDScene.AddActor FlexDMD.NewImage( "Back", "VPX.bkempty")

 

this sounds like perhaps that image is missing, right?  I couldn't find any ultraDMD files to download that were associated with the pokemon table.  Am I missing something?  

 

Thank you again!  Man, I spent so much time spinning my wheels on this one.  Glad it's just about solved for me.


Edited by edizzle, 07 October 2020 - 03:09 AM.


#394 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,807 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 07 October 2020 - 04:21 AM

Which table script are you using the one that came with the table or the one that came with flexDMD?


Guys, thank you!!!!

updating .net framework to 4.8 fixed the issue!  I now have flexdmd working!  I wish I had asked sooner!  Now, at the moment, the only table that still isn't working is JP's Pokemon table.  I get this error:

Object reference not set to an instance of an object.

That particular line pertains to this line of the table script:

DMDScene.AddActor FlexDMD.NewImage( "Back", "VPX.bkempty")

this sounds like perhaps that image is missing, right?  I couldn't find any ultraDMD files to download that were associated with the pokemon table.  Am I missing something?  

Thank you again!  Man, I spent so much time spinning my wheels on this one.  Glad it's just about solved for me.

That's why it's important to stay up-to-date on your software
 



#395 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 07 October 2020 - 04:29 AM

Guys, thank you!!!!

 

updating .net framework to 4.8 fixed the issue!  I now have flexdmd working!  I wish I had asked sooner!  Now, at the moment, the only table that still isn't working is JP's Pokemon table.  I get this error:

 

Object reference not set to an instance of an object.

 

That particular line pertains to this line of the table script:

 

DMDScene.AddActor FlexDMD.NewImage( "Back", "VPX.bkempty")

 

this sounds like perhaps that image is missing, right?  I couldn't find any ultraDMD files to download that were associated with the pokemon table.  Am I missing something?  

 

Thank you again!  Man, I spent so much time spinning my wheels on this one.  Glad it's just about solved for me.

 

If ultraDMD asks for anything besides a text message, there must be a DMD folder to go with the table.
You could do a DMD text display with no other assets, but to display an image or animation, there has to be a folder of DMD assets.

And like outhere said, what version of the tablescript are you using?
And FWIW you do not need to use any script, you can also just let ultraDMD run the table, or you can now let flexDMD take over for ultraDMD
with out having to use any script replacements.

But i would go look in the table zip file, and see if you forgot to unpack a DMD folder.
I dont have pokemon or i would go look.


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#396 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,807 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 07 October 2020 - 05:01 AM

I was just looking into this, That game no longer uses ultraDMD
In order to get flexDMD you'll have to use the flexDMD script
Is far as I know there are no extra files And the JP's Pokemon game works fine either way for me


Edited by Outhere, 07 October 2020 - 05:02 AM.


#397 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 07 October 2020 - 06:25 PM

Thanks again guys for all the help and input.   Yes, I've been confused with the Pokemon table in that there was talk of UltraDMD in previous versions, but I've checked every release and never came across a version that included an UltraDMD folder.  As Outhere mentioned, the game does not appear to be using UltraDMD anymore.

 

I should have mentioned that I have been trying to run the PUP Pack version of the Pokemon table found over *there*. 

 

the most recent release (Pokemon Pinball - Mario's Mod) has some script changes to allow PUP Pack to work.  The instructions also state flexDMD will be needed. 

 

When I try to run that version, the error I am getting almost sounds like flexDMD is looking for an image called "Back", but can't find it?  Which makes me thing an UltraDMD folder with images should exist for this table?  I could be way off base though.  I guess this conversation might be more appropriate in the support for the actual table, since you guys have already helped me get FlexDMd to work.

 

And yes, having the computer software updated is always a good idea.  I am definitely a slacker when it comes to that area.

 

Oh, and regarding the table scripts that came with flexDMD, I thought the scripts themselves were required...I thought the scripts were used to take a table that normally calls for UltraDMD, and have FlexDMD take over for it.



#398 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,807 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 07 October 2020 - 07:11 PM

Basically with the improvements In flexDMD sense it came out, You really only need to use the scripts that come with FluxDMD if the table don't have UltraDMD

I run windows 10
I moved all my UltraDMD folders and the game still ran fine so I don't believe there are more files
Maybe somebody else with windows 7 can try the game and see if it works


Edited by Outhere, 07 October 2020 - 07:44 PM.


#399 edizzle

edizzle

    Enthusiast

  • Members
  • PipPipPip
  • 259 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone

Posted 08 October 2020 - 04:26 AM

Ok, got it working. Looking more closely at the script error, it appears it was looking for the image file “bkempty”, but specifically from a .vpx file. Years ago there was an issue with the front end Hyperpin not opening .vpx filed when vpx first came out. If you changed the extension from .vpx to .vpt, however, Hyperpin could open them. So I had gotten into the habit of changing All tables to .vpt. Welp, that was causing the issue. Changed it back to .vpx and it all works now. Am I the only one still using Hyperion as a front end? Or is changing them to .vpt still necessary anymore? This goes back to me not keeping up to date with things. I am way behind the times!

#400 Thalamus

Thalamus

    VPF Veteran

  • Platinum Supporter
  • 5,000 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 08 October 2020 - 05:52 AM

Happy to hear that you resolved the issue. No idea to if you are the only one that runs that frontend or not. What I would consider though, is trying another, more modern if you like frontend. None of the popular frontends are intrusive. Having them installed won't break what you've got already. I'm running PinballY myself, have popper installed too. A few tables just works better under popper, typical pup packs tables. So I have a handful of tables installed in popper, and the rest in pinbally. Was the easiest way for me, coming from pinballx.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.






Also tagged with one or more of these keywords: UltraDMD, DMD