vpinball / pinmame

PinMAME - Pinball Multiple Arcade Machine Emulator
https://www.vpforums.org
Other
189 stars 51 forks source link

Lights stop working in World Poker Tour #261

Closed jpsalas59 closed 8 months ago

jpsalas59 commented 8 months ago

Using this table as a test: https://www.vpforums.org/index.php?app=downloads&showfile=16725

The lights stop working after a few seconds. On some older vpinmame revisions the script gives an out of range error. I have only tested the SC x86 versions, and from the releases page: https://github.com/vpinball/pinmame/releases The last version working is the one from Jan 3, v3.6-720-e4df859 I have tested with VPX74 (latest) and the VPX8 RC2.

GHOSTfaceKILLr1974 commented 8 months ago

Error message Subscript out of range: 'chgLamp(...)' when using the exact same table. Table lights stop working when dmd in the middle of the table turns on.

vbousquet commented 8 months ago

This is not exactly a bug. All lamps are now properly emulated but the existing table has arrays that are too tiny. Increase their size from 200 to somehting big enough like 1200 and you will be good

francisdb commented 8 months ago

Example from Wheel of Fortune https://github.com/jsm174/vpx-standalone-scripts/blob/master/Wheel%20of%20Fortune%20(Stern%202007)%201.0/Wheel%20of%20Fortune%20(Stern%202007)%201.0.vbs.patch

GHOSTfaceKILLr1974 commented 8 months ago

This is not exactly a bug. All lamps are now properly emulated but the existing table has arrays that are too tiny. Increase their size from 200 to somehting big enough like 1200 and you will be good

I did what you suggested (I'm a noob at this) and it seems to work (vpx 10.8.0 rc 2) but now dynamic ball shadow stop working. Didn't work in latest vpx 10.7.4 (lights still stops as soon as dmd in middle of table turns on) but dynamic ball shadow works. Good news is I no longer get error message on couple versions of vpx. Small victory but I'll take it!

jpsalas59 commented 8 months ago

Increasing those arrays can't be the solution, as the normal lights go to about 80. The numbers over 100 are used in that routine for the flashers and are not directly controlled by the rom. And if the lights gets so high numbers then something is wrong as they should not change their original numbers, otherwise it is not possible to control the lights if their numbers are changing. And this is what it may be happening as the lights stop working after a few seconds.

vbousquet commented 8 months ago

Increasing the array is indeed part of the solution. I agree that since flashers are using these array too, they also needs to be moved in a free zone (let's say 1000+). I did not spot that when I wrote my first answer.

The change was to actually report the controlled LED in the center of playfield. They are now part of the lamps like all the other lamps, also supporting fading (if any). The SAM hardware can control a lot of lamps. Before the latest SAM release, there was 80 strobed lamps + lamps controlled by additional aux board. The latest SAM are entirely controlled by auxiliary board through a serial communication.

In the end, you can get to quite a high number of lights depending on the aux board used and to keep the previous numbering (which had empty spaces in the lamp ranges):

jpsalas59 commented 8 months ago

Thanks for your answer! I see now why there are so high numbers :)

GHOSTfaceKILLr1974 commented 8 months ago

Increasing the array is indeed part of the solution. I agree that since flashers are using these array too, they also needs to be moved in a free zone (let's say 1000+). I did not spot that when I wrote my first answer.

The change was to actually report the controlled LED in the center of playfield. They are now part of the lamps like all the other lamps, also supporting fading (if any). The SAM hardware can control a lot of lamps. Before the latest SAM release, there was 80 strobed lamps + lamps controlled by additional aux board. The latest SAM are entirely controlled by auxiliary board through a serial communication.

In the end, you can get to quite a high number of lights depending on the aux board used and to keep the previous numbering (which had empty spaces in the lamp ranges):

Second problem I found is with the ball shadow not working using vpx 10.8.0 rc 2 but works with vpx 10.7.4 - 433 (vpinmame 3.6-882).

toxieainc commented 8 months ago

In 10.7.4 i wired the ball shadow to be always on, so that we do not have to change the table versioning for this minor update.

In 10.8.0 it has to be explicitly enabled.

So closing this now, thanks all!