Jump to content



Photo

The VPM alpha/beta thread


  • Please log in to reply
1790 replies to this topic

#521 kiwi

kiwi

    Pinball Fan

  • VIP
  • 2,670 posts

  • Flag: Italy

  • Favorite Pinball: Star Trek 25th Anniversary



Posted 04 September 2017 - 01:05 PM

 

I post here because it seems to me a problem with the VPM.

 
The internal DMD is not visible in Surf'n Safari, the same code on another Gottlieb system 3 works well, from where I copied the code and the DMD TextBox.

 

Because Surf'n Safari does not feature a DMD:)

 

Indeed, Surf'n Safari has 2 displays, this will be the reason.
I thought the VPM "DMD" would still be transferred to the internal DMD.

 
In the future, can it be that tables with displays like this are supported by the internal DMD?



#522 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 04 September 2017 - 03:02 PM

Yes, on my todo list.

But this one is much harder than a plain DMD, as it's not useful really to just pass on the nowadays rather crappy looking internal LCD/Segment rendering of PinMAME, but one should rather pass the segments and positions themselves in "some form", so that VP could grab this and render it in some fancy way internally.



#523 TT11

TT11

    Pinball Fan

  • Members
  • PipPipPipPip
  • 643 posts
  • Location:Maitland AUSTRALIA

  • Flag: Australia

  • Favorite Pinball: Bally Kiss & Playboy, Stern Kiss & Playboy

  • 360 Gamer Tag: PoundedElliepup

Posted 05 September 2017 - 01:42 AM

I still can't see where the VPM 3.0 beta is stored on the Source Forge link in post 1 .......  Am I blind ?



#524 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 05 September 2017 - 09:50 AM

No, you're not.. There was actually not a single 3.0 beta release yet, i just kept the old text there for when i'll upload the first one.. Sorry for that confusion.. :/



#525 psmiraglia

psmiraglia

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts

  • Flag: Argentina

  • Favorite Pinball: Star Trek

Posted 05 September 2017 - 09:45 PM

I'm playing with vpm 3.0 (as I've installed sam build 3 beta) and I found that v1.rom V.1 table) does not work any longer. when testing the rom, it shows there is a file missing in the set, and th1 V.1 tables does not launch (rom error). downgrading to vpm 2.9 clears the problem.



#526 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,983 posts

  • Flag: Norway

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

Posted 05 September 2017 - 09:50 PM

I haven't the table but a rom test works for me - fully upgraded with sam etc.

Update: downloaded table and it works for me.

Edited by Thalamus, 05 September 2017 - 09:58 PM.

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


#527 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,257 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 05 September 2017 - 09:55 PM

I'm playing with vpm 3.0 (as I've installed sam build 3 beta) and I found that v1.rom V.1 table) does not work any longer. when testing the rom, it shows there is a file missing in the set, and th1 V.1 tables does not launch (rom error). downgrading to vpm 2.9 clears the problem.

 

Check the whatsnew.txt file

 

"Correct SP0256 speech for IDSA games (needs additional sp0256-al2.bin file to work)...

Fixed reset / NMI handling for IDSA V-1"

 

You will need to find the updated rom set that works with VPM 3.0. Hint: It is not here.


Edited by Carny_Priest, 05 September 2017 - 09:58 PM.


#528 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,983 posts

  • Flag: Norway

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

Posted 05 September 2017 - 09:59 PM

Hint ^^^ ... where did you get 3.0 beta ? :)

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


#529 psmiraglia

psmiraglia

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts

  • Flag: Argentina

  • Favorite Pinball: Star Trek

Posted 07 September 2017 - 04:03 AM

thanks Carny_Priest ! I found  sp0256-al2.bin, added it to the zip file and Voila! working table...



#530 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,257 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 08 September 2017 - 08:40 PM

ALTSOUND (sound mode = 1) does not have support for Whitestar-based mixes. Could be time to deprecate if its not worth the effort to maintain it. Reports are that Whitestar mixes work perfectly well with sound mode = 2 (i.e., with PinSound Studio software). If you got to install it for Whitestar then you might as well use it for Data East, WPC, etc.



#531 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 11 September 2017 - 10:31 AM

It might not be that much effort to support it actually.. So i'll check as soon as i have more time on my hands..



#532 tictox

tictox

    Enthusiast

  • Members
  • PipPipPip
  • 143 posts

  • Flag: South Africa

  • Favorite Pinball: space

Posted 01 October 2017 - 02:22 AM

hi Toxie , im setting ;

 

 controllerMame.Game.Settings.set_Value("sound_mode", soundMode);;

 

soundMode is a getter for an int value , currently set to 1 for altenate sound, the sound  files have been downloaded and placed in the correct directory.

 

What is weird is that this does actually change the game settings , you can see this if you test it directly via the setup.exe that comes with vpm2.9 and inspect the game settings and even the registry value is set. but it has no effect. the sound always plays sound mode 0 even when restarting the emulation. What is even more bizarre is that starting the emulation via you setup.exe when sound_mode is 1 is that it plays the alternate sounds.no problem. Something fishy is going on here.. i checked over and over again.

 

So either you are running something else i do not know , or perhaps the com object method is not reaching where ever you get your value from.?? i think im going mad ..

 

ps here is the code in full :

controllerMame = (Controller) new ControllerClass();		
		controllerMame.GameName = "jupk_600";

		controllerMame.HandleKeyboard = false;
		controllerMame.HandleMechanics = 1;
		controllerMame.ShowDMDOnly = true;
		controllerMame.WindowPosX = 0;
		controllerMame.WindowPosY = 0;
		controllerMame.ShowPinDMD = false;
        controllerMame.Hidden = hidden;
		controllerMame.ShowWinDMD = showDMDVPM;
		controllerMame.DoubleSize = false;
		controllerMame.LockDisplay = true;
        controllerMame.MasterVolume = -32+VPMVolume;
      
        controllerMame.Game.Settings.set_Value("sound_mode", soundMode);       
        controllerMame.Game.Settings.set_Value("ignore_rom_crc", true);


        controllerMame.Run(0,99);

Edited by tictox, 01 October 2017 - 02:25 AM.


#533 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 03 October 2017 - 10:51 AM

I think (e.g. i'm no expert on that one) that controllerMame.Game.Settings.set_Value is not supposed to change things like that but rather just change the settings for the game/registry.

So i added SoundMode to the controller so you could simply use that one with the next build.



#534 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 03 October 2017 - 04:01 PM

New 3.0 beta cycle begins (dload in the first post!), changelog:

 

Extend and update some parts of the .txt documentation files

*** CORE/CPU ***
Correct SP0256 speech for IDSA games (needs additional sp0256-al2.bin file to work (for Basketball and V-1, only the latter features speech though))
Fixed reset / NMI handling for IDSA V-1
Fix Stern SB300 noise generator regression (and slightly improve sound over older implementation, but still not accurate)
Fix Rescue 911 (and maybe more: SFII, WCS, Shaq, mZOIS?) DMD brightness level mapping regression
Improved Punky Willy sound emulation
Made speech work for Taito Vegas and Lady Luck

*** ROM SUPPORT *** Thanks to ipdb.org, Effect, Juan, Jubex77, JMan, Gore Daimon, Soren
New:
MAC: MAC Jungle

Correct Dumps:
Bally: Judge Dredd (use L-3 Sound ROMs for corrected Deadworld sounds on machines without working/modified lock)
Joctronic: Punky Willy

Clones:
A.G. Football (R07u & R18u) (exact clone of A.G. Soccer-Ball)
A.G. Soccer-Ball (R07u)
Demolition Man LX-4C (competition MOD)
Demolition Man H-5C (competition MOD)
Demolition Man H-6C (competition MOD)
Dirty Harry LF-2
Getaway: High Speed II, The L-5C (competition MOD)
Junk Yard 1.2C (competition MOD)
Meteor (Bugfix)
Orbitor 1 (No Timed Game)
Star Trek: The Next Generation LX-7C (competition MOD)
Star Wars 20th Anniversary 1.07 Spanish
Time Warp L-3
 

VPM:

New method for the Controller object:
    HRESULT SoundMode([out, retval] int *pVal); - Get sound processing mode, e.g. 0 = standard builtin PinMAME emulation, 1 = builtin alternate sound file support, 2 = external pinsound, 3 = external pinsound + psrec sound recording
    HRESULT SoundMode([in] int newVal); - Set sound processing mode, e.g. 0 = standard builtin PinMAME emulation, 1 = builtin alternate sound file support, 2 = external pinsound, 3 = external pinsound + psrec sound recording
 



#535 tictox

tictox

    Enthusiast

  • Members
  • PipPipPip
  • 143 posts

  • Flag: South Africa

  • Favorite Pinball: space

Posted 03 October 2017 - 09:50 PM

thanks toxie, i grabbed the latest build and installed it built a new lib for it.The method is there now i get no error referencing it, but at runttime there is an error " Object reference not set to an instance of an object"

 

i only changed the line where i was setting the game settings to set it using your new method on the controller directly.

controllerMame = (Controller) new ControllerClass();		
		controllerMame.GameName = "jupk_600";

		controllerMame.HandleKeyboard = false;
		controllerMame.HandleMechanics = 1;
		controllerMame.ShowDMDOnly = true;
		controllerMame.WindowPosX = 0;
		controllerMame.WindowPosY = 0;
		controllerMame.ShowPinDMD = false;
        controllerMame.Hidden = Hidden;
		controllerMame.ShowWinDMD = ShowWinDMD;
		controllerMame.DoubleSize = false;
		controllerMame.LockDisplay = true;
        controllerMame.MasterVolume = -32+MasterVolume;
        controllerMame.SoundMode = sound_mode;

whats funny is I dont have a error for setting any of the other available controller properties



#536 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 04 October 2017 - 09:42 AM

did you run setup and pressed the install button?

 

cause i tested it with indiana jones and it worked for me..



#537 tictox

tictox

    Enthusiast

  • Members
  • PipPipPip
  • 143 posts

  • Flag: South Africa

  • Favorite Pinball: space

Posted 04 October 2017 - 04:30 PM

yes i did , i also built a new lib and copied it across to the project. I double checked all and re-did it all this morning, still the same problem. The method is there, so  i know it all updated , it displays as available option of methods via intellisense. but it throws an error at runtime. as soon as it call that getter/setter it has this error. i looked at the source, not that i code in c++ or anything but i thought i can help, the method bodies for your new additions look the same as the others  like "WindowPosX'or "ShowPinDMD" etc and those dont throw an error?? I dont know why it suffers from this.


Edited by tictox, 04 October 2017 - 04:32 PM.


#538 tictox

tictox

    Enthusiast

  • Members
  • PipPipPip
  • 143 posts

  • Flag: South Africa

  • Favorite Pinball: space

Posted 04 October 2017 - 05:01 PM

i even inspcted  the lib ,all looks fine : 

Album: sceenshots
0 images
0 comments



#539 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 04 October 2017 - 05:38 PM

did you also use my lib from the first post? just as a test..


ALTSOUND (sound mode = 1) does not have support for Whitestar-based mixes. Could be time to deprecate if its not worth the effort to maintain it. Reports are that Whitestar mixes work perfectly well with sound mode = 2 (i.e., with PinSound Studio software). If you got to install it for Whitestar then you might as well use it for Data East, WPC, etc.

 

i finally had some time to check this, and actually it would work pretty much out of the box (except for some minor details), BUT the pinsound team decided to artificially encode the sound commands with some unknown hashing mechanism, so i cannot support their whitestar packages unless the team reveals this mechanism (which they do not want to do at the moment, which i can understand (protecting their work plus forcing people to use the perfect replay solution, as mode 1 is feature-wise incomplete), but also unfortunate as we do not have an open source alternative then).



#540 tictox

tictox

    Enthusiast

  • Members
  • PipPipPip
  • 143 posts

  • Flag: South Africa

  • Favorite Pinball: space

Posted 04 October 2017 - 06:13 PM

 i attached some images it is Jurassic Park and the files work when testing the rom via the setup.exe app. .. changing the soundmode works there( on reload of coarse)

 

 

chainging it via my app doesnt,  using the old method the values even change. meaning  what ever it sets is the value i will see in the game settings via the setup.exe app and in the registery for the game. 

 

but it only play the default sound. 

 

apart from that using your new method compiles fine, but breaks at runtime. 


yes download it via the first page , the lib im referring to i have to generate each time.(( it uses System.Runtime.InteropServices )) and this generated dll to talk to yours (managed to unmanaged) etc..