Jump to content

To The Script Gurus And Vpm Code Guys :)


Recommended Posts

  • Content Provider

Hi,

 

I just have a question about Events in VPM.

 

Is there any way to control an object, depending on which sound is played from the ROM. For Example, when Sound X plays then ObjectX.isdropped=1....

 

Or maybe any way to read out Events that VPM creates, for example TILT?

 

Thanks for answers in advance

 

Groni

Link to comment
Share on other sites

  • Content Provider

I'm not sure about this specifically but if you are talking about the GI flashing when the Tilt is hit (from your FG thread) you should be able to accomplish this by having the GI items change when the tilt switch is hit (probably -7 for stern).

 

Tuning in as I'd like to know as well.

Link to comment
Share on other sites

  • Content Provider

Yeah, using the "-7" Switch works, but you have the effect, that the GI will turn off or blink by doing such a normal nudge without a warning. I already tried that. Only solution would be the "NewSoundCommand" option for controllers. But they do not work with SAM Emualtion since it was not added. If this option would be available in SAM Emulation, than you can use Sounds to trigger events. For example the Tilt Warning sound plays, you can turn off GI with that. 

Link to comment
Share on other sites

  • Content Provider

So I found some lights in the FG Manual, that are marked as "Not Used". I tested them, and two of them give a constant light, that only turn off on a Tilt. Not on a Warning, but at least a solution to have a shut down GI on a TILT.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Such things would require a lot of work reverse engineering of various SAM games.   Older pinball hardware handled sound with dedicated sound boards.   The CPU would issue a command like "Play sound 16" which the sound board would pick up and handle.   The sound board then pulled "sample 16" from its bank of ROMs.     From an emulation perspective, trapping sound requests on those machines was relatively trivial, because requests to make sound were communicated in a very specific way for all games on that hardware (but it was probably a lot more work to accurately emulate what the sound board hardware was doing).     In that case, passing along the requested events wasn't much different from passing events for solenoids and lights.  

 

In SAM, the CPU and sound emulation come from the same board.   The ARM CPU is powerful enough to not need dedicated sound processing hardware.  The SAM emulation just looks for the emulator to write out waveform audio to a certain location:

 

{ 0x0109F000, 0x010FFFFF, samxilinx_w },

 

The game code seems to handle mixing the audio itself, so there's not likely to be one central, standard place to monitor for sound event IDs that would work for every game.   Family guy might handle audio completely differently from say, Pirates of the Caribbean.    The games are probably derived from some sort of standard code base, so while it's possible (like HLE emulation on modern game systems), being able to tap into game events may not be nearly as simple and "firmware agnostic" as it was on previous systems. 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...