Jump to content

Cactus Canyon Continued


Recommended Posts

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Here is a modified python script to send the display data directly to the pin2dmd without having to use dmdext. You need to install pyusb by executing "pip install pyusb" and copying the libusb-1

OK.  I think I have a solution for this issue.  I used a newer version of the libusb-1.0.dll file from the one Lucky provided in this thread.  When I ran the "pip install pyusb" command initially it i

Finally got this working! Thanks @outhere and @movieguy!

Posted Images

My issue is I am using a script that Nunzzi provide that clears the Proc windows dll dependency error. Can you help write me a AHK to launch dmdext and the clear script nunzzi made as work around for the error?

Link to post
Share on other sites
  • 2 months later...
  • 2 years later...

Here is a modified python script to send the display data directly to the pin2dmd without having to use dmdext.

You need to install pyusb by executing "pip install pyusb" and copying the libusb-1,0.dll to the Python27 folder where the python.exe is located.

The script needs to be copied to the C:\P-ROC\games\cactuscanyon\ep folder.

Maybe @CarnyPriest can add it to his gitnub repo.

Currently it is only tested with EVO128x32 and Nucleo based pin2dmd systems with firmware v3.05 .

ep_desktop_pygame.py libusb-1.0.dll

  • Like 1
  • Upvote 2
Link to post
Share on other sites

I can create a branch off of the main repo. The whole reason I picked up the CCC code was so that I could flip the DMD render for my p2K style cab. It is branch FlipDMD.

Done.

The commit was made in branch 'pin2dmd'.

libusb-1.0.dll is included in the root directory.

As mentioned above, install pyusb by executing "pip install pyusb" and copy the libusb-1,0.dll to the Python27 folder where the python.exe is located

I have not tested this myself.

Thanks @lucky1!

  • Like 1
Link to post
Share on other sites

This is the Pin2DMD I have

http://vpuniverse.com/forums/topic/3677-pin2dmd-displays-and-some-parts-for-sale/

I unblocked the files

I put the ep_desktop_pygame.py in the C:\P-ROC\games\cactuscanyon\ep folder over wrote the one that was in there

Put the libusb-1,0.dll in the python 27 folder where the python.exe is located - C:\Python27

I Open a CMD Window ran pip install pyusb And it said all is good
But nothing is showing on the pin2DMD

?Thank you @lucky1?

 

Link to post
Share on other sites
3 hours ago, outhere said:

This is the Pin2DMD I have

http://vpuniverse.com/forums/topic/3677-pin2dmd-displays-and-some-parts-for-sale/

I unblocked the files

I put the ep_desktop_pygame.py in the C:\P-ROC\games\cactuscanyon\ep folder over wrote the one that was in there

Put the libusb-1,0.dll in the python 27 folder where the python.exe is located - C:\Python27

I Open a CMD Window ran pip install pyusb And it said all is good
But nothing is showing on the pin2DMD

?Thank you @lucky1?

 

Do you run the latest firmware version v3.05 ? If not please upgrade.

  • Like 1
Link to post
Share on other sites

I was close, I was on firmware version v3.04...

Firmware Version v3.05 his working like a charm and looks really nice --- Thank you

After you exit the game the image stays on the DMD and I didn't notice any where to turn off the virtual DMD so I moved off screen

Link to post
Share on other sites

Some improvements in this version

- removed the need for a extra palette lookup table 
- added code to support old RBG panels. Just search for RBG, remove the comment # in the 6 pixel mappings and comment out the RBG mappings above.
- added pygame.display.iconify() to hide the display from the desktop.

I also successfully tested this code with a discovery based pin2dmd.

ep_desktop_pygame.py

Maybe @CarnyPriest can update his repo.

  • Upvote 1
Link to post
Share on other sites
When I use the new file my pin2DMD is very dim
I try it a again now the game will not Load

Log 1st file works -- ep_desktop_pygame.py  from 12/29/2019

2019-12-30 22:39:54,778 - game.config - WARNING - pyprocgame configuration not found at ./config.yaml. Checking C:\Users\jimbob/.pyprocgame/config.yaml.
2019-12-30 22:39:54,778 - game.config - INFO - pyprocgame configuration found at C:\Users\jimbob/.pyprocgame/config.yaml
2019-12-30 22:39:54,786 - vpcom - INFO - S11 is ...False
2019-12-30 22:39:54,788 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:39:54,795 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:39:54,825 - game.sound - INFO - Initializing sound...
2019-12-30 22:39:55,022 - game - INFO - Loading machine configuration from "cc_machine.yaml"...
2019-12-30 22:39:55,119 - game - INFO - Programming switch rules...
2019-12-30 22:39:55,313 - game - INFO - Programming flipper flipperLwR
2019-12-30 22:39:55,313 - game - INFO - Enabling WPC style flipper
2019-12-30 22:39:55,313 - game - INFO - Programming flipper flipperLwL
2019-12-30 22:39:55,313 - game - INFO - Enabling WPC style flipper
2019-12-30 22:39:56,861 - game - INFO - GameName: cc_13
2019-12-30 22:39:56,861 - game - INFO - SplashInfoLine: Cactus Canyon - Midway/Williams 1998
2019-12-30 22:40:47,243 - vpcom - INFO - PYTHON FAILURE (Visual Pinball Bridge is now broken)
2019-12-30 22:40:47,243 - vpcom - INFO - Exception Name error: video system not initialized
2019-12-30 22:40:47,243 - vpcom - INFO - Traceback (most recent call last):
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\tools\register_vpcom_solenoids_skeleconfig.py", line 298, in RunGame
2019-12-30 22:40:47,243 - vpcom - INFO -     self.game.run_loop()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\game.py", line 569, in run_loop
2019-12-30 22:40:47,243 - vpcom - INFO -     self.tick()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 89, in tick
2019-12-30 22:40:47,243 - vpcom - INFO -     self.show_last_frame()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 114, in show_last_frame
2019-12-30 22:40:47,243 - vpcom - INFO -     self.desktop.draw(self.last_frame)
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\ep\ep_desktop_pygame.py", line 504, in draw
2019-12-30 22:40:47,244 - vpcom - INFO -     pygame.display.update()
2019-12-30 22:40:47,244 - vpcom - INFO - error: video system not initialized

Log 2nd file not working -- ep_desktop_pygame.py  from 12/30/2019

2019-12-30 22:38:07,891 - game.config - WARNING - pyprocgame configuration not found at ./config.yaml. Checking C:\Users\jimbob/.pyprocgame/config.yaml.
2019-12-30 22:38:07,891 - game.config - INFO - pyprocgame configuration found at C:\Users\jimbob/.pyprocgame/config.yaml
2019-12-30 22:38:07,901 - vpcom - INFO - S11 is ...False
2019-12-30 22:38:07,903 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:38:07,908 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:38:07,940 - game.sound - INFO - Initializing sound...
2019-12-30 22:38:08,121 - game - INFO - Loading machine configuration from "cc_machine.yaml"...
2019-12-30 22:38:08,220 - game - INFO - Programming switch rules...
2019-12-30 22:38:08,417 - game - INFO - Programming flipper flipperLwR
2019-12-30 22:38:08,417 - game - INFO - Enabling WPC style flipper
2019-12-30 22:38:08,417 - game - INFO - Programming flipper flipperLwL
2019-12-30 22:38:08,417 - game - INFO - Enabling WPC style flipper
2019-12-30 22:38:10,805 - game - INFO - GameName: cc_13
2019-12-30 22:38:10,805 - game - INFO - SplashInfoLine: Cactus Canyon - Midway/Williams 1998
2019-12-30 22:38:10,812 - vpcom - INFO - PYTHON FAILURE (Visual Pinball Bridge is now broken)
2019-12-30 22:38:10,813 - vpcom - INFO - Exception Name IndexError: pixel index out of range
2019-12-30 22:38:10,813 - vpcom - INFO - Traceback (most recent call last):
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\tools\register_vpcom_solenoids_skeleconfig.py", line 298, in RunGame
2019-12-30 22:38:10,813 - vpcom - INFO -     self.game.run_loop()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\game.py", line 569, in run_loop
2019-12-30 22:38:10,813 - vpcom - INFO -     self.tick()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 89, in tick
2019-12-30 22:38:10,813 - vpcom - INFO -     self.show_last_frame()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 114, in show_last_frame
2019-12-30 22:38:10,813 - vpcom - INFO -     self.desktop.draw(self.last_frame)
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\ep\ep_desktop_pygame.py", line 493, in draw
2019-12-30 22:38:10,813 - vpcom - INFO -     RGB_value = self.colors[bright_value].get_at((2,2))
2019-12-30 22:38:10,813 - vpcom - INFO - IndexError: pixel index out of range

Link to post
Share on other sites
13 hours ago, outhere said:
When I use the new file my pin2DMD is very dim
I try it a again now the game will not Load

Log 1st file works -- ep_desktop_pygame.py  from 12/29/2019

2019-12-30 22:39:54,778 - game.config - WARNING - pyprocgame configuration not found at ./config.yaml. Checking C:\Users\jimbob/.pyprocgame/config.yaml.
2019-12-30 22:39:54,778 - game.config - INFO - pyprocgame configuration found at C:\Users\jimbob/.pyprocgame/config.yaml
2019-12-30 22:39:54,786 - vpcom - INFO - S11 is ...False
2019-12-30 22:39:54,788 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:39:54,795 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:39:54,825 - game.sound - INFO - Initializing sound...
2019-12-30 22:39:55,022 - game - INFO - Loading machine configuration from "cc_machine.yaml"...
2019-12-30 22:39:55,119 - game - INFO - Programming switch rules...
2019-12-30 22:39:55,313 - game - INFO - Programming flipper flipperLwR
2019-12-30 22:39:55,313 - game - INFO - Enabling WPC style flipper
2019-12-30 22:39:55,313 - game - INFO - Programming flipper flipperLwL
2019-12-30 22:39:55,313 - game - INFO - Enabling WPC style flipper
2019-12-30 22:39:56,861 - game - INFO - GameName: cc_13
2019-12-30 22:39:56,861 - game - INFO - SplashInfoLine: Cactus Canyon - Midway/Williams 1998
2019-12-30 22:40:47,243 - vpcom - INFO - PYTHON FAILURE (Visual Pinball Bridge is now broken)
2019-12-30 22:40:47,243 - vpcom - INFO - Exception Name error: video system not initialized
2019-12-30 22:40:47,243 - vpcom - INFO - Traceback (most recent call last):
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\tools\register_vpcom_solenoids_skeleconfig.py", line 298, in RunGame
2019-12-30 22:40:47,243 - vpcom - INFO -     self.game.run_loop()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\game.py", line 569, in run_loop
2019-12-30 22:40:47,243 - vpcom - INFO -     self.tick()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 89, in tick
2019-12-30 22:40:47,243 - vpcom - INFO -     self.show_last_frame()
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 114, in show_last_frame
2019-12-30 22:40:47,243 - vpcom - INFO -     self.desktop.draw(self.last_frame)
2019-12-30 22:40:47,243 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\ep\ep_desktop_pygame.py", line 504, in draw
2019-12-30 22:40:47,244 - vpcom - INFO -     pygame.display.update()
2019-12-30 22:40:47,244 - vpcom - INFO - error: video system not initialized

Log 2nd file not working -- ep_desktop_pygame.py  from 12/30/2019

2019-12-30 22:38:07,891 - game.config - WARNING - pyprocgame configuration not found at ./config.yaml. Checking C:\Users\jimbob/.pyprocgame/config.yaml.
2019-12-30 22:38:07,891 - game.config - INFO - pyprocgame configuration found at C:\Users\jimbob/.pyprocgame/config.yaml
2019-12-30 22:38:07,901 - vpcom - INFO - S11 is ...False
2019-12-30 22:38:07,903 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:38:07,908 - game.config - INFO - pyprocgame configuration found at ./config.yaml
2019-12-30 22:38:07,940 - game.sound - INFO - Initializing sound...
2019-12-30 22:38:08,121 - game - INFO - Loading machine configuration from "cc_machine.yaml"...
2019-12-30 22:38:08,220 - game - INFO - Programming switch rules...
2019-12-30 22:38:08,417 - game - INFO - Programming flipper flipperLwR
2019-12-30 22:38:08,417 - game - INFO - Enabling WPC style flipper
2019-12-30 22:38:08,417 - game - INFO - Programming flipper flipperLwL
2019-12-30 22:38:08,417 - game - INFO - Enabling WPC style flipper
2019-12-30 22:38:10,805 - game - INFO - GameName: cc_13
2019-12-30 22:38:10,805 - game - INFO - SplashInfoLine: Cactus Canyon - Midway/Williams 1998
2019-12-30 22:38:10,812 - vpcom - INFO - PYTHON FAILURE (Visual Pinball Bridge is now broken)
2019-12-30 22:38:10,813 - vpcom - INFO - Exception Name IndexError: pixel index out of range
2019-12-30 22:38:10,813 - vpcom - INFO - Traceback (most recent call last):
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\tools\register_vpcom_solenoids_skeleconfig.py", line 298, in RunGame
2019-12-30 22:38:10,813 - vpcom - INFO -     self.game.run_loop()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\game.py", line 569, in run_loop
2019-12-30 22:38:10,813 - vpcom - INFO -     self.tick()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 89, in tick
2019-12-30 22:38:10,813 - vpcom - INFO -     self.show_last_frame()
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\procgame\game\basicgame.py", line 114, in show_last_frame
2019-12-30 22:38:10,813 - vpcom - INFO -     self.desktop.draw(self.last_frame)
2019-12-30 22:38:10,813 - vpcom - INFO -   File "C:\P-ROC\games\cactuscanyon\ep\ep_desktop_pygame.py", line 493, in draw
2019-12-30 22:38:10,813 - vpcom - INFO -     RGB_value = self.colors[bright_value].get_at((2,2))
2019-12-30 22:38:10,813 - vpcom - INFO - IndexError: pixel index out of range

I did not change any settings for the display. Maybe reverting back to the original settings helps.

Link to post
Share on other sites
11 hours ago, hawkeyez88 said:

I have the discovery board version of the pin2dmd, and ensured I was running firmware version 3.05, ran the pip install pyusb, and have a blank dmd. The 2 files are unblocked and in their correct folders. I can see the dmd behind the playfield at 0,0.

Did you try the first version of the ep_desktop_pygame.py or the second ?

Did you change any display settings ?

 

On 12/29/2019 at 10:55 PM, lucky1 said:

 

Link to post
Share on other sites
  • Moderators
2 hours ago, lucky1 said:

Did you try the first version of the ep_desktop_pygame.py or the second ?

Did you change any display settings ?

 

 

I tired them both and the same result. The only thing I changed was the dmd position back to 0,0 because I was using dmdext prior and had moved it.

Link to post
Share on other sites
17 hours ago, hawkeyez88 said:

I tired them both and the same result. The only thing I changed was the dmd position back to 0,0 because I was using dmdext prior and had moved it.

Could it be that you changed your pin2dmd drivers to libusbwin32 instead of the default winusb drivers using the zadig tool?
In that case you need libusbk.dll aside of the libusb1-0.dll

libusbK.dll

Link to post
Share on other sites
  • Moderators
13 hours ago, lucky1 said:

Could it be that you changed your pin2dmd drivers to libusbwin32 instead of the default winusb drivers using the zadig tool?
In that case you need libusbk.dll aside of the libusb1-0.dll

libusbK.dll 82.3 kB · 0 downloads

I did have the default installed. I tried the libusbwin32 as well and got no dmd.

Link to post
Share on other sites
8 hours ago, hawkeyez88 said:

I did have the default installed. I tried the libusbwin32 as well and got no dmd.

Any error log you can share ?

Maybe try placing a copy of the DLLs in windows/system32 folder. 

Is your device really saying v3.05 on startup ?

Can you make a video ?

Link to post
Share on other sites
7 hours ago, kds70 said:

Works perfect here ... thank you. Running a pin2dmd (v3.05) via V3 STM32 Board =))

DMD has a purple touch now. Do i miss something ?

Greetings, Kai

 

 

Kai,

I had the same issue, you have RBG panels rather than RGB. From Lucky1 - Just search for RBG in Lucky's ep_desktop_pygame file, remove the comment # in the 6 pixel mappings and comment out the RGB mappings above. You may need to restart vpx after making the change for it to register the change.

Cheers

Rob
 

  • Upvote 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...