Twilight Zone and the DMD

Tiger-Heli

Inserted Coin
Joined
Jun 16, 2009
Messages
86
Reaction score
3
Points
9
Okay, another day, another couple of questions …
<o></o>
First off, is there any way to hard-code the DMD position to a table (assuming the script is not locked - most don't seem to be anymore).
<o></o>
I know, I said before that it was a nice touch that now I could just drag the DMD where I wanted it and VPM would remember where I left it, and that is true - it was a great improvement for single games.
<o></o>
The problem is (I might get in trouble on here for saying this) - I like BOTH PacDude’s and Scapino’s Twilight Zone Versions, but I want the DMD in different places on each table. If I want to use the TZ_92 Rom for both tables, I have to manually position it when I change tables. (I know an easy option is to use the L4 or similar ROM for PacDude’s table, but I don’t know how that affects gameplay, and I am also looking at the general option when I might have a game with only one rom version and two table versions that I like).


With arcade MAME, a solution would be installing MAME in separate folders with a separate .cfg/.ini file for the game in each one, but with how VPinMAME uses the registry and integrates with VP, I'm not sure this is possible or would help.

<o></o>
Second question - Scapino’s table looks a bit darker when playing it than his screen shot does, and much darker than PacDude’s table. Scapino is a master of lighting effects and the table looks great, but it bothers me not seeing everything clearly, but I might adjust to it. Is there any way to easily make it brighter? (I know I can probably crank the brightness setting on my monitor, but that’s a lot of trouble to set and reset for one table.) (I also know I can likely export all the graphics, play with the brightness and contrast in Photoshop or similar and re-import them, but that’s more work than I was after as well). I’m looking for an overall game brightness setting that would be table-specific.
<o></o>
I’m also not really saying if Scapino’s was brighter I would use his table over PacDude’s - I thought I would prefer Scapino’s since it is newer and basically a re-write, but it’s not cut-and-dried. I like the adjustable plunger on Scapino’s (not that I really use it). I like the gumball balls option in PacDude’s. I like Scapino’s backdrop design …
<o></o>
Finally - really dumb newbie question - Scapino has an option to set the outlanes to Easy, Moderate, or Hard. From what I could tell looking at the table, EASY moves the deflection post up, making the lane larger, making you more likely to hit the Outlane, making the outlane EASIER to hit, making the game HARDER to play. These seem backward to me - it seems like EASY should mean the game is easier, but my question is more with VPM than TZ - if I set a ROM to Extra Easy in a VPM game, I assume that means the game is easier to win, not easier to have that bad thing happen, correct?
<o></o>
Thanks in advance!!!
 
Last edited:
Yes you can add script to a VPM table to move and adjust the DMD, as JP describes here...

To rotate or simple to adjust its size the DMD find the lines 55 to 60 in the script, which are currently commented (these ones):

'16:9 rotated
'.Games(cGameName).Settings.Value("dmd_pos_x")=5
'.Games(cGameName).Settings.Value("dmd_pos_y")=870
'.Games(cGameName).Settings.Value("dmd_width")=600
'.Games(cGameName).Settings.Value("dmd_height")=150
'.Games(cGameName).Settings.Value("rol")=1

Then remove the ' in front of the ones which start witn .Games... and change the values to fit your screen resolution. I use 1400x1050 and the parameters are:

.Games(cGameName).Settings.Value("dmd_pos_x")=500
.Games(cGameName).Settings.Value("dmd_pos_y")=2
.Games(cGameName).Settings.Value("dmd_width")=400
.Games(cGameName).Settings.Value("dmd_height")=90
.Games(cGameName).Settings.Value("rol")=0

Greetings
JP

Reference: 6 test vpm tables for VP9 - Pinball Nirvana Forums
 
Thank you - that's what I was looking for.

Is there any easy way to know what size they are now (using standard VPM value, I guess, all the DMD's seem to be the same size, regardless of the table).

Thanks again!
 
That worked great - a couple of tips for anyone new to this:

  • Games(cGameName).Settings.Value("dmd_pos_x")=500 did not work for me - I had to change it to .Games(RomName).Settings.Value("dmd_pos_x")=500 I suspect other scripts may be different. (Might be a VP8 vs. VP9 thing also).

  • VPinMAME remembers the last position the DMD was in, so if you fix it in one table, you will mess it up in the other tables using the same ROM unless you change all of them.
  • I didn’t know what the default DMD size was, and I got it pretty messed up, but I got it back by right-clicking on the DMD and selecting “Restore Window Size.†If you know what the default window size is (or don’t care), you can modify it on some tables and not others, but if you don’t it is easiest just to set the Pos_X and Pos_Y parameters and comment out the others.
I’m not sure if it is supposed to work this way, but just modifying the script doesn’t work, you have to modify the script and save the table to see the results. For me, modifying the script and playing the table without saving the table deleted the script changes.

Thanks again!!!
 
<o:smarttagtype namespaceuri="urn:schemas-microsoft-com<img src=" http:="" www.pinballnirvana.com="" forums="" images="" smilies="" icon_surprised.gif="" border="0" alt="" title="Surprised" smilieid="2" class="inlineimg"></o:smarttagtype> Why would this work for some games and not for others?
<o></o>
I’ll try not to post too much code, but for example, this code works fine in TAF (Getaway, and Roadshow by PacDude and Indiana Jones by Redux work fine also, but I won’t post the code):
<o></o>
Code:
Sub AddamsFamily_Init()
              vpmInit Me : Randomize 
  '           SaveValue cRegistryName, "Options", 0 : Exit Sub  ' This will clear your Registry settings if uncommented
  
              ' Impulse Plunger (needs to be defined before menu options in order to adjust in options)
              Const IMPowerSetting   = 29    ' Plunger Power (adjusted in table options, though)
              Const IMTime                            = 0.5   ' Time in seconds for Full Plunge
              Set plungerIM = New cvpmImpulseP : With plungerIM
                          .InitImpulseP IMPlunger, IMPowerSetting, IMTime
                          .Random 0.5
                          .Switch 27
                          .InitExitSnd SfxPlun,SfxPlunger
                          .CreateEvents "plungerIM"
              End With
  
              AddamsFamilyOptions = CInt("0" & LoadValue(cRegistryName, "Options")) : AddamsFamilySetOptions
              If (AddamsFamilyOptions And cOptNoStartMenu) = 0 Then AddamsFamilyShowDips
              With Controller
                          If Controller.Version >= "01200000" Then AddamsFamily.YieldTime = YieldTime
                          RomName = Array(Romset1,Romset2,Romset3,Romset4,Romset5,Romset6,Romset7,Romset8,Romset9,Romset10,Romset11)((AddamsFamilyOptions And (15*cOptRom))\cOptRom)
                          .GameName = RomName
                          .SplashInfoLine = "The Addams Family (Williams 1992)" & vbNewLine &_
                            "VPM Table and Script By PD" 
                          .ShowTitle = False : .ShowFrame = False : .ShowDMDOnly = True
           .Games(RomName).Settings.Value("samples")=0 ' Make sure samples are disabled in Vpinmame
                          [COLOR=Green].Games(RomName).Settings.Value("dmd_pos_x")=378
   .Games(RomName).Settings.Value("dmd_pos_y")=3
   .Games(RomName).Settings.Value("dmd_width")=273
   .Games(RomName).Settings.Value("dmd_height")=33[/COLOR]
                          .HandleMechanics = False
                          On Error Resume Next 
                                      .Run : If Err Then MsgBox Err.Description
                          On Error Goto 0
              End With
<o></o>
And this code works fine in BlackKnight2000:
<o></o>
Code:
[COLOR=Green]Const cGameName = "bk2k_l4"[/COLOR]
  Sub InitVPM()
              Controller.GameName = cGameName                                         ' Use specified ROM set.
              Controller.SplashInfoLine = "Black Knight 2000, Williams, 1989" & vbNewLine & "Table Design: Chris Leathley (Black)" & vbNewLine & "Scripting: AJ, Dorsola, multiple others"
              Controller.HandleKeyboard = False
              Controller.ShowTitle = False
              Controller.ShowDMDOnly = True
              Controller.ShowFrame = False
              [COLOR=Green]Controller.Games(cGameName).Settings.Value("dmd_pos_x")=8
              Controller.Games(cGameName).Settings.Value("dmd_pos_y")=7
              Controller.Games(cGameName).Settings.Value("dmd_width")=272
              Controller.Games(cGameName).Settings.Value("dmd_height")=84[/COLOR]
   
              Controller.HandleMechanics = 0                                     ' Mechanics: None
              Controller.DIP(0) = &H00                                                            ' Set dipswitch to USA
              On Error Resume Next
                          Controller.Run
                          If Err Then MsgBox Err.Description
              On Error Goto 0
  
              ' Main Timer init
              PinMAMETimer.Interval = PinMAMEInterval
              PinMAMETimer.Enabled = true
  
              ExtraKeyHelp = "Enter" & vbTab & vbTab & "Launch Ball"
  End Sub
<o></o>
And this works fine in CFTBL:
<o></o>
Code:
vpmInit Me
  [COLOR=Green]Const cGameName = "cftbl_l4"[/COLOR]
              On Error Resume Next
                          If Controller.Version => "01200000" then CFTBL.Yieldtime = 1
                          With Controller
                                      .GameName = "cftbl_l4" : If Err Then MsgBox "Can't start Game" & cGameName & vbNewLine & Err.Description : Exit Sub
                                      .SplashInfoLine = "Creature From The Black Lagoon, Bally 1992" & vbNewLine & "VPM conversion by scapino" & vbNewLine & "Version 1.0 - May 17,2007"
                                      .HandleMechanics = 0
                                      .HandleKeyboard = False
                                      .ShowDMDOnly = True 
                                      .ShowFrame = False 
                                      .ShowTitle = False
                                      [COLOR=Green].Games(cGameName).Settings.Value("dmd_pos_x")=808
                                      .Games(cGameName).Settings.Value("dmd_pos_y")=14
                                      .Games(cGameName).Settings.Value("dmd_width")=208
                                      .Games(cGameName).Settings.Value("dmd_height")=81[/COLOR]
   
                                      .Run GetPlayerHwnd: If Err Then MsgBox Err.Description : Exit Sub
                                      .synclevel = 0
                                      Controller.DIP(0) = &H00
                          End With
              On Error Goto 0
<o></o>
But THIS has NO EFFECT in Dr.Who Jamin (and I deleted the registry key and it moved the display to (0,0) but no effect - it loads fine, though:
<o></o>
Code:
sub initVPM()
  [COLOR=Green]vpmInit ME
   Const cGameName ="dw_12"[/COLOR]
              with controller
                          .gamename="dw_l2"
                          .handlekeyboard=false
                          .showtitle=false
                          .showdmdonly=true
                          .showframe=false
                          [COLOR=Green].Games(cGameName).Settings.Value("dmd_pos_x")=388
                          .Games(cGameName).Settings.Value("dmd_pos_y")=14
                          .Games(cGameName).Settings.Value("dmd_width")=252
                          .Games(cGameName).Settings.Value("dmd_height")=32[/COLOR]
                          .dip(0)=&h00
                          .splashinfoline="Doctor Who, Midway (Bally/Williams) 1992." &vbnewline& "VPM Jamin"
              .handlemechanics=false
              end with
              on error resume next
                          controller.run
                          if err then msgbox err.description
              on error goto 0
<o></o>
And the weirdest one - AFM by JPG for VP9:
<o></o>
Code:
Const cGameName = "afm_113b" 'arcade rom - with credits
   'Const cGameName = "afm_113"  'home rom - free play
   
   Sub Table1_Init
       vpmInit Me
       With Controller
           .GameName = cGameName
           If Err Then MsgBox "Can't start Game " & cGameName & vbNewLine & Err.Description:Exit Sub
           .SplashInfoLine = "Attack from Mars - Bally/Midway 1995" & vbNewLine & "VP9 table by JPSalas v1.0"
            '16:9 rotated
           [COLOR=Green].Games(cGameName).Settings.Value("dmd_pos_x")=358
           .Games(cGameName).Settings.Value("dmd_pos_y")=0
                           .Games(cGameName).Settings.Value("dmd_width")=302
           .Games(cGameName).Settings.Value("dmd_height")=72
            '.Games(cGameName).Settings.Value("dmd_pos_x")=362
           '.Games(cGameName).Settings.Value("dmd_pos_y")=9
                           '.Games(cGameName).Settings.Value("dmd_width")=288
           '.Games(cGameName).Settings.Value("dmd_height")=50[/COLOR]
           '.Games(cGameName).Settings.Value("rol")=1
   '.Games(cGameName).Settings.Value("dmd_compact")=0
           .HandleKeyboard = 0
           .ShowTitle = 0
           .ShowDMDOnly = 1
           .ShowFrame = 0
           .HandleMechanics = 0
           .Hidden = 0
           On Error Resume Next
           .Run GetPlayerHWnd
           If Err Then MsgBox Err.Description
           On Error Goto 0
           .Switch(22) = 1 'close coin door
           .Switch(24) = 1 'and keep it close
       End With
<o></o>
First set of values work fine and position the DMD between the two speakers, taking up the entire backboard. Second set of values work, but the height is ignored and the DMD has a height of 66 and drops down to the back panel. (Second set should position it exactly inside the DMD area of the artwork.
<o></o>
UPDATE: Found a Kludge and something possibly related. For Dr. Who - I simply edited the appropriate registry keys, which worked flawlessly. However, the final values were 384, 13, 256, 35 - Now, this is the odd part. I had the height at 35 and the Y-Position at 14 and the DMD was a bit too low. Initially, I tried setting the DMD height to 33, but it didn’t take, and at the end, I tried setting it to 13 and 33, but it apparently wouldn’t take that either. I suspect whatever the problem is with AFM’s height is related to this?
<o></o>
Anyway - basically, I’m in good shape for DW, since I only want to use the ROM with this table. With AFM, I need the ROM for both AFM and Attack/RevengeFM, but I like the first setting (full between the speakers) anyway, so I am fine with it also - I would like to understand what is going on, though!!!
 
Different question - What controls whether the DMD is in the foreground (like in GetAway) or the Background (Like High Speed)? - I would like to try setting it in the background in Space Station by PacDude, since the table art seems to support it, but I don’t know how!!!
<o></o>
Please help!!!!
 
I don't know anything about VPM scripting, but when I want to move the DMD in a VPM table, I just grab it with the mouse and move it. If I want to resize the DMD, I just right click on the DMD, click on Show Border, grab the edge with the mouse and then resize it. You can then lock the DMD in place by clicking on F4, click on F2 to see other options.

Of course, if you have a MAME or PInball cabinet and don't have a keyboard or mouse handy, then this doesn't help much.
 
To split the DMD using reels or lights is not easy and it requires quite some coding, adding a timer, disabling the vpm DMD, choosing or making some reels or lights, ++. Each table is different, and way too difficult to explain.

JP
 
The code for setting the DMD size is the one I put on my VP9 tables (commented). To use it in other table then you just take a look at the code. If the author has not used the "With Controller.....End With" code then you need to type Controller in front of each line.

(to comment a line just put a ' in front of the line)

JP
 
Okay, well - that answers that question. I thought it was just a matter of drawing the DMD in the background behind the table and scaling it - not a matter of splitting the DMD and drawing it in the table itself.

Do you have any idea why the DMD positioning commands don't work in Dr. Who by Jamin and why the height doesn't always seem to adjust?

Thank you for the quick response above also!!!
 
We were cross-typing.

If you look at the post above, I have done all that (I think) - it works in about 8 tables, but not in Dr. Who, and in the registry for Dr. Who and in AFM VP9, the height adjustment doesn't always seem to take?
 
I guess it depends of the emulation of the ROM, on some tables it will work, while on others maybe only works with multiples of 8 or a similar number (just a guess). Destruk or Gaston may know the answer better than me since they know the ins and outs of vpm.
 
DMD Positioning Etc...

I have rotated and repositioned almost all of the DMD's in the Fullscreen Pinball Tables category EXCEPT...having a bit of an issue with T2 (Terminator 2)...I use the same coding in the scripts as outlined here but for some reason T2 will not rotate the DMD for me...any Ideas???
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
  • Chat Bot Mibs Chat Bot Mibs:
    docdoc has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Exnihilo_Mundus has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    angmarg52 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    tully619 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    smorndb has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tech49 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Topsi Klaus has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Forsaken43 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    duduky72 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Gerge has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    nunolilo has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    DavidT2025 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Gary-7 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Thunderbird has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    alug has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    bluebird has left the room.
  • HZR @ HZR:
    It’s nice to go all see a place I can play actual machines!!!!
    Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Sunrise74 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Rai has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    liebowa has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    gustave has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    hoovie108 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    creatine481 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    fabioaugusto4 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Dangerpin has left the room.
      Chat Bot Mibs Chat Bot Mibs: Dangerpin has left the room.
      Back
      Top