Jump to content

Code change to enable SAM LE driver board support


DJRobX

Recommended Posts

  • Replies 856
  • Created
  • Last Reply
  • Content Provider

Setup.exe then Test button

In short,
im2 -> im
xmen -> xmn
avg -> avs

If you just want the renaming done automatically, get clrmamepro and use it with PinMAME.exe to rename and make sure all your sets are usable with VPinMAME.


Sent from my iPad using Tapatalk

Link to comment
Share on other sites

  • Content Provider

thanks for the work rob, and fren and joe for the tables :D

i will soon adapt the dof config of star trek for the added ffedback, it seems that the Star Trek LE is like the Pro + some more effects?

i know at least one table that has differences, solenoid id are not all the same, xmen and xmenle, not sure about the others

also the s53 vengeance ship feedback is there on the pro version, so it should work as well now

i will also try if the multiball on star trek is now fixed with the new vpm, before mutliball was too long compared to the real table (what i heard), and at the beginning of the mutliball, the ball was not released in time at the vengeance magnet, we had to touch the ball to release the magnet

Link to comment
Share on other sites

8 minutes ago, arngrim said:

and i found a weird bug in acdc, the score is exploding all of a sudden after ball 2 or 3, i have 12 billion or trillion! :)

i put the vpm sam 2.37 back and the issue is not there

 

 

Confirmed. Got a replay after a few seconds and around 4 billion for a short test game.

Same with STLE and B2S Server - no playfield lights

Link to comment
Share on other sites

  • Content Provider

 Need to go downstairs and try this on the cab now :).  Awesome work.  The RGB colors in your latest version of STLE look much better

 

Since the AUX lights are reporting 0-127, the value should be doubled so RGB values go from 0-254 instead of 0-127.  The change is not really noticeable, since I think you bumped up the light intensity setting to get the desired brightness.  Just multiply by two in the lamptimer_timer routine if interested:   LampState(chgLamp(ii, 0) ) = chgLamp(ii, 1) * 2

 

The Green and Blue values on the top lane inserts and apron lights are swapped.  ROM lamp test lets you cycle colors W,R,G,B with the 0 key
SetRGBLamp l53, Lampstate(281),Lampstate(283),Lampstate(282)
SetRGBLamp l54, Lampstate(284),Lampstate(286),Lampstate(285)
SetRGBLamp l55, Lampstate(287),Lampstate(289),Lampstate(288)
SetRGBLamp l63, Lampstate(300),Lampstate(302),Lampstate(301)
SetRGBLamp l64, Lampstate(303),Lampstate(305),Lampstate(304)

 

Got the insert reflections working and tracking color changes.  In Reflections_Timer( )
    If (Lampstate(281) or Lampstate(283) or Lampstate(282)) then r53.Opacity = 20: r53.color=rgb(Lampstate(281),Lampstate(283),Lampstate(282)) else r53.Opacity = 0
    If (Lampstate(284) or Lampstate(286) or Lampstate(285)) then r54.Opacity = 20: r54.color=rgb(Lampstate(284),Lampstate(286),Lampstate(285)) else r54.Opacity = 0
    If (Lampstate(287) or Lampstate(289) or Lampstate(288)) then r55.Opacity = 20: r55.color=rgb(Lampstate(287),Lampstate(289),Lampstate(288)) else r55.Opacity = 0
 

 

Link to comment
Share on other sites

 

8 hours ago, freneticamnesic said:

I started to post that sol41 wasn't working but ran the rom test and it's actually 59? Any reason sol41 through sol 46 are shifted +18

Yes, the VPM core design.    

In VPInMame, solenoids above 37 are reserved for flippers and some other stuff.    There is a custom solenoid API that starts at 51.    The 12 port SAM aux solenoid board behaves like a 16 port board with some gaps in the middle.    This puts new SAM solenoids at 51-67.

Quote

there are no playfield lights in star trek le when using b2s.server... mustang is working fine though

hope we won't be stuck becaus ewe don't have the b2s.server source code :/

Lights are still sent through the normal channel so B2S ought to still see it, but perhaps Herweh put a limit on how many lamps are checked?    Star Trek LE ONLY uses light states above 80.    Make sure your table DOF profile is checking for the new lamp IDs.    Fren posted the list here.  All other LE roms still fire "legacy" lights like the pro counterparts.   

It's really time to get B2S out of the loop.    We need to look at making DOF plug directly into VPM, or coming up with a .VBS routine that passes VPM data directly to a DOF COM object.     That will also solve the Cirqus Voltaire problem where there was a ton of custom table scripting and a whole new profile just to allow VP to receive the DMD updates.    In the meantime, the same technique used in CV of using B2S "Custom" data to pass the led states will work for this also, if the data isn't making through B2S for some reason. 

Getting VP to handle the DMD and backglass rendering is the path forward to getting true fullscreen working right.   It's something that will eventually become the norm, so we ought to start planning for it now.

Quote

and i found a weird bug in acdc, the score is exploding all of a sudden after ball 2 or 3, i have 12 billion or trillion

Thanks for reporting this.    Disabling at91jit in the acdc rom registry will most likely take care of it for now.   With JIT on there is some CPU instruction that modifies the IRQ mask, but fails to notify the ARM7 Core.   When this happens interrupts don't get processed soon enough, and the input reading routine gets "off by one" which causes something like the ball trough to trigger a bumper :)   To work around it I force MAME to check more often which solves it in most cases (see SAM_OVERSAMPLING in sam.c) but it's something that ought to be fixed properly in the JIT code.    I just need to weed out what the instruction is.   

 

 

Link to comment
Share on other sites

  • Content Provider
5 hours ago, gtxjoe said:

 Need to go downstairs and try this on the cab now :).  Awesome work.  The RGB colors in your latest version of STLE look much better

 

Since the AUX lights are reporting 0-127, the value should be doubled so RGB values go from 0-254 instead of 0-127.  The change is not really noticeable, since I think you bumped up the light intensity setting to get the desired brightness.  Just multiply by two in the lamptimer_timer routine if interested:   LampState(chgLamp(ii, 0) ) = chgLamp(ii, 1) * 2

 

The Green and Blue values on the top lane inserts and apron lights are swapped.  ROM lamp test lets you cycle colors W,R,G,B with the 0 key
SetRGBLamp l53, Lampstate(281),Lampstate(283),Lampstate(282)
SetRGBLamp l54, Lampstate(284),Lampstate(286),Lampstate(285)
SetRGBLamp l55, Lampstate(287),Lampstate(289),Lampstate(288)
SetRGBLamp l63, Lampstate(300),Lampstate(302),Lampstate(301)
SetRGBLamp l64, Lampstate(303),Lampstate(305),Lampstate(304)

 

Got the insert reflections working and tracking color changes.  In Reflections_Timer( )
    If (Lampstate(281) or Lampstate(283) or Lampstate(282)) then r53.Opacity = 20: r53.color=rgb(Lampstate(281),Lampstate(283),Lampstate(282)) else r53.Opacity = 0
    If (Lampstate(284) or Lampstate(286) or Lampstate(285)) then r54.Opacity = 20: r54.color=rgb(Lampstate(284),Lampstate(286),Lampstate(285)) else r54.Opacity = 0
    If (Lampstate(287) or Lampstate(289) or Lampstate(288)) then r55.Opacity = 20: r55.color=rgb(Lampstate(287),Lampstate(289),Lampstate(288)) else r55.Opacity = 0
 

 

Thanks for the feedback. I actually got the reflections working as well but you don't need to set opacity to 0 on them if you change the rgb value! They work the same as lights, 0,0,0 = invisible, I was dreading having to do that before I realized you could change color on them from the script!

I just did this actually....

r53.Color = l53.Color 

and it worked lol

Didn't notice the lane inserts or apron lights. Fixed now. Also doubled the lampstate value per your suggestion. I'm putting the finishing touches on a few textures and I'll upload a "final" version!

 

Link to comment
Share on other sites

10 minutes ago, CarnyPriest said:

toxie has been making a lot of source code changes for improving sound. You might send a report to the the VPM beta thread at VPF

I think I need to rephrase that, it is not an sound issue but performance related, and the problem doesn't show up with Toxie's builds nor with your earlier versions.  Those tables have an huge lag, it seems switches register about one second too late. Can you give 'em a spin to see if you have the same lag?

Silverball Mania doesn't seem to be affected.

Edit - Hmm, I didn't test any of Toxie's latest builds. I'll try one first.

Link to comment
Share on other sites

my old VPM builds are kinda really old, as i did not want to release a new one until all the sound stuff is reasonably 'finished'.

so there is currently a lot of things that are in progress sound wise.

so its only playboy and the old star trek that make problems?

Link to comment
Share on other sites

34 minutes ago, SirCheddar said:

Those two I found - I can test a few more. On my system the lag is very hard to miss, the problem is already noticeable when starting table. Sounds like severe performance problems.

Indeed, just found the reason for these two machines. The way PinMAME plays back samples/wavs was not known by me before. And so the new resampling code will cause severe performance trouble for such machines.   :/

Lets see if i can do this differently.

Link to comment
Share on other sites

3 hours ago, arngrim said:

but the lights are not seen on the playfield itself, it has nothing to do with dof, so not sure what is wrong there

Ah, so the lights aren't coming through when b2s is used?   Blech.  It will have to be done like CIrqus Voltaire then. 

Link to comment
Share on other sites

  • Content Provider

ouch, but dof is working fine, for the non le feedback at least, i didn't check for the new solenoids
that is different than cv where no feedback was working at all
but ok i think i remember we had to remember that we had to implement 2 controllers and b2s could only use the first one?

Link to comment
Share on other sites

45 minutes ago, toxie said:

Indeed, just found the reason for these two machines. The way PinMAME plays back samples/wavs was not known by me before. And so the new resampling code will cause severe performance trouble for such machines.   :/

Lets see if i can do this differently.

I found a few more:

Lost World (1978)
6 Million Dollar Man (1978)
KISS (1979)
Paragon (1979)
Harlem Globetrotters (1979)

Starting with Nitro Ground Shaker and Silverball Mania (both 1980) everything seems to work. Funny, they have all the same MPU (Bally AS-2518-35).

Link to comment
Share on other sites

  • Content Provider
1 hour ago, DJRobX said:

If b2s is not passing the LED traffic through you need them separated so the leds make it to the table.  Exactly same reason dmd won't work with b2s in middle. No other way unfortunately.  

Is this a change I should make on the table?

Just looked at CV....so it needs to be scripted like an EM? Ugh .........that's not fun

Link to comment
Share on other sites

  • Content Provider

I can get the B2S to run with lights on the playfield just fine but no DOF

Just needs to run vpinmame controller with b2s server... then script DOF. It will work, I don't know the DOF commands or I'd give it a whirl. :(

 

Dim B2SController

Sub LoadVPM(VPMver, VBSfile, VBSver)
  On Error Resume Next
  If ScriptEngineMajorVersion < 5 Then MsgBox "VB Script Engine 5.0 or higher required"
  ExecuteGlobal GetTextFile(VBSfile)
  If Err Then MsgBox "Unable to open " & VBSfile & ". Ensure that it is in the same folder as this table. " & vbNewLine & Err.Description
  Select Case cController
  Case 1
    Set Controller = CreateObject("VPinMAME.Controller")
	If Err Then MsgBox "Can't Load VPinMAME." & vbNewLine & Err.Description
	If VPMver>"" Then If Controller.Version < VPMver Or Err Then MsgBox "VPinMAME ver " & VPMver & " required."
	If VPinMAMEDriverVer < VBSver Or Err Then MsgBox VBSFile & " ver " & VBSver & " or higher required."
  Case 2
	Set Controller = CreateObject("UltraVP.BackglassServ")
  Case else
	Set Controller = CreateObject("VPinMAME.Controller")
    Set B2SController = CreateObject("B2S.Server")  
    B2SController.Rub
  End Select
  On Error Goto 0
End Sub

 

Link to comment
Share on other sites

Archived

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

×
  • Create New...