(Topic ID: 20104)

... Continued - A P-ROC project for Bally's Cactus Canyon

By epthegeek

9 years ago

Topic Heartbeat

Topic Stats

  • 1,500 posts
  • 211 Pinsiders participating
  • Latest reply 9 days ago by Nepi23
  • Topic is favorited by 105 Pinsiders


Linked Games

Topic Gallery

View topic image gallery

PXL_20210817_153643158 (resized).jpg
PXL_20210817_153636769 (resized).jpg
IMG_20210815_121445 (resized).jpg
IMG_20210815_120820 (resized).jpg
IMG_20210815_094528 (resized).jpg
IMG_20210815_094518 (resized).jpg
IMG_20210815_092310 (resized).jpg
IMG_20210815_092259 (resized).jpg
IMG_20210815_092246 (resized).jpg
IMG_20210815_092207 (resized).jpg
16d72c2825ca43ce14d4a97144623953adab3e29 (resized).jpg
pinside11 (resized).png
BDD39048-0FFA-4A7F-AC90-57EF90167BEC (resized).jpeg
FB1B542C-F195-43CC-A640-46ABB90E0589 (resized).jpeg
D8170DDD-B702-46A4-9133-FFF54F28B827 (resized).jpeg
Soundfiles (resized).jpg

You're currently viewing posts by Pinsider luvthatapex2.
Click here to go back to viewing the entire thread.

#47 9 years ago

Wow, impressive what you have accomplished. I love this theme and am so thrilled you are expanding the code. I notice you said the P-ROC board you are using needs a computer to run. I thought the new P-ROC board was a single board with build in processor? At least I recall this from a conversation I had with the predator team. Maybe its a prototype board they are testing.

Awesome stuff, please keep us posted.

1 month later
#81 9 years ago

Honestly that would get hundreds of people the opportunity to admire your work on their cabinets. Please seek this option. I would be willing to help too. This is soooooooo cooooool. Very creative!

Quoted from epthegeek:

The p-roc code can actually be hooked into visual pinball with some work. I haven't looked into that yet, though.

2 months later
#164 8 years ago

What an interesting project! You have done some great things with the game for sure. Thanks for sharing your info and setting up the wiki. I hope to see this in person someday.

1 week later
#184 8 years ago

If you are offering pre-built systems, would you consider a small footprint mounted in the head of the pinball? That way everything is accessible from behind the translite.

#190 8 years ago

You could power up the PC from a small normally open momentary push button switch that you could have mounted under the pinball near the power toggle. Thats how everyone powers up their virtual pins.

Quoted from pinlawyer:

You wouldn't want that unless you could find a way to have simultaneous boot capability. Otherwise, you'd have to take out the backglass every time you power up the pin.

1 month later
#216 8 years ago

Excellent idea Eric. This way you don't need to run a little switch for under the cab and everything turns on with the power switch. You are making this CCC project seem more and more like a factory game. Awesome!

Quoted from epthegeek:

Here's an interesting development. Well, I think it's interesting anyway. I built a cable that hooks into the power system so the CCC computer can turn on with the switch. ..

3 months later
#294 8 years ago

That is GREAT news! I would love to try out your CCC at Allentown and show my friend so he can update his! Hope you are able to make it and thanks in advance.

Quoted from TheCnyPinGuy:

............ Gonna try and Bring mine to Allentown for some East Coast Folks to enjoy and see your efforts live and in person

2 weeks later
#320 8 years ago

LOVE IT! You have exceeded our expectations - seriously.

4 weeks later
#356 8 years ago

I played ccc for the first time at the show. I've been following eric's work from the beginning and couldn't wait to try it firsthand.

The new game modes are inspired. Everything flows so well as you progress through the game. The graphics match the content so it was seemless, at least to our family, going from the original content to the new screens. There were other people behind us waiting so we only got 1 game in.

I tried to pay attention to the colorized screens, but it was easier to see them when my kids were playing than when i played. Wow, i can't even imagine the time it took for each screen, incredible.
The audio was fine when we were playing and also at the correct level so the new scenes matched the original content. I hit a few of the easy modes (polly and one other) but couldn't pay attention to gameplay in all the excitement. People behind me were asking all kinds of questions like "is this the same game i played on my ipad?" Why are there 2 screens hooked up? Many were unsure what was so special about the game, as if this is how it was produced at the factory

Perhaps a sign that stands near the game explaining the journey from stock to CCC for the general public.

For those like me that knew about the game, there was nothing but sheer delight from their faces and they pointed out differences as they played. I wanted to discuss the whole process with the owner, but i didn't see him around when i looked. I needed more game time on it, to fully appeciate it,but since it saw constant play, i only had the one game. I look forward to the next time i play ccc, hopefully at my friends house in the near future!

5 months later
#571 8 years ago

Can't wait to see your latest work Eric in C-O-L-O-R! I thought you were done in December 2012, but yet you continue to add coolness to CCC. Great stuff! See you at EXPO!

5 months later
#757 7 years ago
Quoted from dsuperbee:

A friend of mine is having a crash bug when the right loop shot is made. However, sometimes it happens, sometimes it does not. Trying to track down exactly what causes it to happen.

Everything is logged to the console, so if you can provide the error to Eric, it would make it simple to fix. If you can't see this, I'm sure Eric could put in a line in the game to output to a text file to catch the error. Its very difficult to reproduce without this information.

6 months later
#866 7 years ago

Very nice and profressional looking! It looks like you are missing the VGA cable and power cable for the PC correct? I'm just trying to envision it all hooked together. Still plenty of room for those cables. Great stuff.

Quoted from epthegeek:

I whipped up a design for a plate to mount the CPU, Power controller and an audio AMP in the head in place of the A/V board -- because once you're using a color LCD and an amp, you don't need the A/V board anymore. A friend with the proper tools to cut such a thing at his disposal made it into a real metal part for me and it looks like it will work out awesome. Just have to build some cables to hook a few things up and then it's a nice solid, transportation friendly (if needed), professional looking install of the full system up in the head of the game.

1 month later
#888 6 years ago
Quoted from alveolus:

Hmm. Seems strange that this has not been encountered before. I could shoot a video next time out if it might help.

It would also help if you told him the computer (pc, beagleboard, cubie...) and os you are running.

3 months later
#960 6 years ago

Very cool Eric, did you make the rgb combo a service menu option for those not running it to disable it or are you running a separate version of ccc on your game?

1 year later
#1047 5 years ago

Eric, whats new in the 3-15-16 update? I didn't see a changelog.

#1049 5 years ago

Wow very nice Eric! I know how badly you wanted to add Betty Bart and you did! Awesome! This game is really fantastic.
Thanks for the changelog.

2 months later
#1122 5 years ago

I think its a nod to Cowboys vs Aliens

Quoted from epthegeek:

That cowboy must have gotten hold of some alien technology. Or maybe soaked his rope in smashed lightning bugs?

5 months later
#1177 4 years ago

While you can do this yourself, my buddy contacted epthegeek and he hooked him up with a complete factory looking install with small backbox mounted computer, mounting bracket, LCD and configured software. All he had to do was order the p-roc board separately from pinballcontrollers.com and install the parts. I think it included a small power board to shutdown the PC safely when the pinball was turned off.

It's really a nice service provided by the creator of CCC. Now he just fires up the cactus canyon without even knowing there is anything different controlling it.

Quoted from dmesserly:

do I need an external computer like laptop or something specific that is mounted inside the backbox?

2 months later
#1202 4 years ago

I am curious if you are running CCC in color or with DMD with the rpi3? We have seen similar single board computers (cubietruck, etc) running CCC but never a rpi3 running it in color lcd. (my friend tested it with rpi, rpi2 and odroid without success If I recall correctly)

What is the current boot time to the CCC graphic screen when you turn on the PC? My friends test was about a minute boot time to the graphics screen. We'd like to get that down to 15 seconds if possible.

What distro are you running for linux?

Lastly, how do you prevent yaml corruption when you turn the power off? For PCs there is a shutdown controller by Scott D, but these don't work with SBCs. We have an non-elegant approach that works fine, but I'd like to hear yours

Quoted from NoMonkey:

I wanted to share that I have a custom version of CCC that I run in my machine. As a game programmer by profession, I was intrigued by the fact that I had the source code to an entire pinball game and of course wanted to play around with it!
Now from this point forward I want it to be clear that I am in no way taking credit for any of Eric's hard work nor is this an advertisement to sell or even give away the work I've done. I often see Andre posting that he has a fix for any short comings of the CCC code to apparently peddle his own work and it's annoying to watch. This is just to make it known that I have done some work that might be worth sharing if condoned by Eric. Otherwise, this is just to tell you about the fun stuff I've done! I will NOT give any of this away without Eric's consent so please do not message me asking for any of this. I also know that Eric has never claimed to be a programmer and the work I've done is not to show him up or anything of the sort. What Eric has achieved is amazing, especially for a non-programmer, however the current code structure has it's short comings and I've spent some time to see if I can help with that. Whether anyone ends up caring is no different to me, and it's likely this has all been done before, but doing all of this work for only me to enjoy seems silly so I thought I'd share!
This is some work I did 8 months or so ago and isn't quite finished as I still have a few bugs of my own to sort out. I only put things on hold as I was utterly consumed by this project and my wife is all needy and stuff.
I'll be going from memory here so there are likely things I'm leaving out.
One of the main things I wanted was to remove the need for a Windows machine and instead be able to boot directly into CCC much like a standard pinball machine would with proprietary hardware. Could this be done on a PC? Sure, but I wanted a more integrated feel that was mounted in the back box and the PC my machine came with was bulky and wayyy overkill. I decided to try and get things running on a raspberry pi 3 for it's form factor and simply to see how it performed running the game. After a bit of work I had the game running on Linux and starting up on launch. This coming from a non-linux user took way longer than it should have! I had some issues where the dmd layers weren't rendering properly and had to mimic some of the C code from within python as well as fix up a few bits where directories didn't play nicely with Linux but other than that things worked without much else needed.
My plan was to create a custom boot loader that would boot directly into a stripped down version of Linux that loads super fast and only ever show CCC as if it we're loading from a rom.
I also was running the audio through a small form-factor amp.
I had planned to mount this all to a sheet of something-or-other that fit nicely in the stock mounting locations of the back-box.
I started out just fixing a few bugs but the further I got into it, the more I started to organize the code and began making general improvements.
At this point I've rewritten all modes, asset management, and the main game loop/resetting functionality to be more reliable and easier to work on when adding future updates/modes. I've added a logging system that makes the game easier to debug and have added a good amount of logging for failed modes, etc.. I've also made some general updates such as the HSTD DMD images scrolling in reverse when hitting the left flipper, the long hang that can occur when leaving service mode, as well as a few other odds and ends that I can't recall.
None of my work changed the general design nor flow of what Eric had setup as that wasn't the intent. I love the game as is. I did, however make it fairly easy to add new modes as I wanted to try my hand at adding something fun like cowboys vs aliens (brilliant btw!).
A few other features I wanted to add included automatic updates via WiFi, error reports that would upload to a server to make tracking down issues easier, and some general telemetry (e.g. Average/Percentage of mode completion, switch hits, etc.)
As mentioned before, my work is unfinished however I do plan to get back to it soon!
And to reiterate, this is just a project I've been working on for my own sake; Not to advertise or sell. I take no credit for the gameplay itself and want to thank Eric for taking the initiative and bringing such a great game to life!

1 month later
#1271 4 years ago

I think you should specify Raspberry Pi3, not the older Raspberry Pi. You're the first to confirm the Rpi3 works, whereas the Rpi I believe was too slow to run CCC.

Quoted from Mik-ReadingUK:

I'll just mention that I have kept notes on the process of using a Raspberry Pi for running the P-ROC code,
in case anyone else is looking at doing it in the future. Just drop me a note...
Next up - Making my own beer mug lighting and getting some more backbox LEDs up and running using the GPIO on the Pi

3 months later
#1283 4 years ago

Its normal for a long boot time for CCC since all assets are loaded before the game starts. Is your game working now?

Quoted from Crispin:

Hi everyone, I'm experiencing a usb connector issue when trying to boot up. I recently had my P-ROC 3.0 board for the cactus canyon not see my computer when I turned the game on. I had a friend take a look and he told me the board is not seeing the computer and that I had an IOError and that the ID Chip failed. Here's the error screen he received;
I reached out to Gerry at Multimorphic and he told me that the I/O Error and failure to read the Chip ID is the standard error message when the USB isn't connected. Please double-check my connections and maybe try a different USB port in the host computer.
I was working on replacing the pop bumper skirts earlier in the day so I figured maybe I dislodged the connector from the P-ROC board when pulling up the playfield. I'm running CCC on an Azulle computer in the coin box area. I lifted the playfield and checked the cable running up into the head. I then checked to see if it was seated in the board correctly. It would have been great if it was hanging out disconnected but it was seated properly. I booted up and watched the leds on the P-ROC and 4 leds are cycling counterclockwise as they should. After about 90 seconds the D43 led that confirms usb connectivity turns on and then all the leds are on.
Gerry suggested I ask the forum since the D43 led is turning on and the P-ROC is establishing communications with computer. He suggested that sometimes a few errors pop up as it's starting to try to communicate, but they're meaningless if communication gets established. I guess that's why it takes 90 seconds for the game to boot up when it was normally working. Does everyone have lag time when they turn on their game or does your CCC boot up immediately? Other than trying another usb cable to rule out the cable I don't know what else to do other than strip CCC from the computer and reload it?

#1287 4 years ago

Oh, are you still getting the io error? Did you try a different use port on your computer? If you get an different error when you try another port take a screenshot and reply

Quoted from Crispin:

Thanks for the response luvthatapex2. Probably should have started the thread in the evening. Had a couple of errands and have to leave in an hour again. I'm going to get another cable to rule that out.

#1289 4 years ago

Your computer is hooked to the pinball with a single usb cable that is 6 ft or less correct? No extenders or anything?

Quoted from Crispin:

Hmm I can't tell because my pin is on the other side of the room from the tv monitor. My friend was remotely accessing the unit from his house and took a screen shot. He had me switch to all 3 different usb ports and still the same result. I just shot him a text to see if he happened to remember if the error was the same with all 3 ports.

#1291 4 years ago

What OS are you using and are you getting any device errors on the hardware if using Windows?

Quoted from Crispin:

Yes single cable, direct with no connectors, at 6 ft long.

#1293 4 years ago

If you are still getting the io error, it's probably your USB port. No errors in device manager? If you have front panel USB maybe you can try connecting to the front.

Quoted from Crispin:

Running windows 10. When you 1st boot up there is a quick error message that cactus canyon cant be found but then the yaml files load up and that box disappears. This happened exactly the same when it was working. If I removed the system from the game and hooked up to my monitor when the game booted up the dmd display would come on once booted up. I notice I'm not getting that now so I'm guessing the yaml files aren't loading properly for the proc board to see them?

#1297 4 years ago

I would think the pc would throw an error when hooking it up to the tv since the pinball hardware isn't present. You can run the game in a fake mode without hardware but that's not the config you'd have. You need to keep the pc connected to the game and check device manager for any exclamation points on hardware it doesn't recognize. If device manager is error free and proc is connected then tell us what error you get on the console. If you still get the io error,that doesn't t make sense.

#1299 4 years ago

Well that's bad. If the game can't find its config.yaml, it has no idea where the assets are to load them along with game settings and other stuff.

You should get messages like this:
Loading game data.
Found settings. All good.
Loading game settings.
Setting initial offset
setting initial volume
party setting
custom message
difficulty set to
making window playing regular lamp show
resetting train, etc....

Looks like at least one file is missing in your game (config.yaml). I would imagine others might be corrupted too.
You might want to recreate the config.yaml (not sure where you have the game installed but it should be in the same folder as game.py and cc.py
You should also have a \config folder for the other yaml files.
check this out and see what you have.

Yaml files can sometimes get wiped out if the game is turned off abnormally. I think Eric uses the Danesi Shutdown controller hooked to the PC to do a safe shutdown so this doesn't happen. Anyway, let us know what you find.

Quoted from Crispin:

The only error I can catch with my eye is: game.config - WARNING - pyprocgame configuration not found at ./config.yaml. Checking C:\Users\cdest/.pyprocgame/cofig.yaml.
Then the heading: Standard Desktop appears and underneath it a series of Flushing Read Buffer: 0 bytes trashed
Verify Chip Id took too long to receive data
Verification of chip ID failed. Flushing read buffer
and re-verifying chip ID. Over and over until the last line IO Error and the screen disappears too fast to take a pic at the end.
This same warning came up before startup when the game was working. Once the screen with the verification checks ran out. the game would boot up. In device manager under devices connected there are no error codes.

#1303 4 years ago

The way I understand it d43 is lit when the p-roc is connected with USB. Seem you fixed your gamecode so it runs now with the corrected yaml file but for some reason the p-roc isn't sensing connection. Is the main power hooked up to the computer and the the P-ROC on the pinball or do you have 2 power supplies? I think the order of boot up matters. I think the p-roc has to boot first and then the computer a few seconds later. if you boot the computer before the p-roc and then the p-roc tries to connect to usb I've seen it fail. Might be time to email Gerry again. Its weird that it worked perfectly one time and then the next boot the p-roc didn't connect to the pc.

Quoted from Crispin:

Wish my update was as successful as yours,
my friend found the same thing late last night. 0 bytes in the config.yaml so he deleted and loaded up the back up. The computer was hooked up to the pin and the monitor and the game booted right up turning on the pin. He was probably so relieved, and said goodnight. I powered the computer down and moved the cable back into the game and re hooked the usb cable and audio wire up and powered on. The game booted up on the computer in it's usual minute and a half. I heard the tumbleweed noise and that's usually when the pin turns on but the proc still hadn't made connection yet. I waited at least 15 minutes for the proc's d43 led to go on but it will not make a connection. I moved the computer out of the game and re hooked up back to the monitor to see if there was an IO error line in the code. The program started up in a minute and a half with the dmd display on the screen and the code of the light show in attract mode constantly cycling. The code continues to cycle every minute and a half with no IO error. but the proc will not connect.
When the computer was in the pin I could hear the tumbleweed noise through the speakers but the proc couldn't see the program. The 4 leds on the proc are constantly cycling counterclockwise but the d43 led doesn't turn on. AHHHHH Is there any type of procedure to reset the board?

#1305 4 years ago

if the p-roc doesn't initialize upon boot up, it will never initialize. It has to initialize in the first few seconds.

Try this. Can you hook up a keyboard/mouse to the pc in the pinball machine? If so, turn on the pinball machine and make sure that CCC runs, you'll see the display. then, instead of turning off the pinball machine, reboot the PC (start, windows, reboot) and see if the p-roc connects the second time it sees the boot up of the PC. You can watch the p-roc led lights.

Quoted from Crispin:

Yes I contacted Gerry and he was running to catch a plane for the holiday weekend but was nice enough to respond before he left. He asked me to make sure I was powering the pin down each time I moved the computer. I let him know that yes every time I moved the computer I powered down the pin and Proc but no matter how long I leave it on now the led for connection doesn't come on. My friend wasn't here last night, he worked on the computer remotely with team viewer. The pin was already hooked up with the proc connected when he got the code to run for the 1st time. Once I disconnected I haven't been able to have the proc see the computer. The computer sees the proc connected in device manager and if I shut off the pin the monitor makes a disconnection sound. The code for the program on the monitor constantly runs the light show directives but no Io error code pops up. I accepted defeat and will put the old board back in so she can run for the bbq this weekend. I'll let you know what Gerry says next week. Thanks for the continuous help luvthatapex2!

#1308 4 years ago

old board? what old board? p-roc board or dmd?

Quoted from Crispin:

Thanks Mocean and luvthatapex2 , I gave up yesterday and swapped the old board back in but I would love to get it up and running before this weekend. I'll have to take another look today.

#1310 4 years ago

So this proves the USB is getting initialized after the game boots which is too late and the game fails when it tries to initialize the p-roc immediately. By running the fakepinproc, this tells the game to run without the p-roc for testing/development. When you hit escape and re-run the game without the fakepinproc, you are getting it to run since the usb was finally initialized and then connected right up to the p-roc.

I'd try what mocean suggests in post 1306. It sounds like you have a bad device driver that is slowing down the usb initialization. It should be very easy to revert back to the older usb driver and try it normally. Thee good news is you know that it works.


Before doing anything you could put a 10 second delay in the first line of your batch file before it runs cc.py
That should give it plenty of time for the usb to be ready to connect to the p-roc (you won't need to run the fakepinproc step or escape)

batch file would look like this:
sleep 10
python C:\ccc\cactuscanyon\cc.py

PS the Danesi board has nothing to do with your problem here. Scotts power board will perform a normal shutdown and allow the yaml files to close properly instead of just killing the power like you're doing now. It will protect yaml file corruption which happened to you before.

Quoted from Crispin:

sorry for the delay it was a great weekend.

The original mpu board was what I reinstalled but my friend called Sat night and told me he figured a way around the problem. I reinstalled the proc board and he ran his batch file and the program works. I asked him for an explanation for the forum and this is what he sent me.
For the forum I would post:
After a fresh install I'm only able to initialize the pin by first adding the fakepinproc variable after cc.py then running, escaping out then running cc.py with nothing following.
My Current steps to make it work each time.
python C:\ccc\cactuscanyon\cc.py fakepinproc
** Press ESC **
python C:\ccc\cactuscanyon\cc.py
** Then everything works **
I have a batch file running but what does fakepinproc do and is there anyway to eliminate this step?
I'm guessing the answer is to just get the Danesi board.

4 months later
#1316 3 years ago

If I recall this is how Drunk Multiball works:

You get a 20 second ball save to start and all balls are fired out.
When you are down to 1 ball you get another 8 second ball save.
Mode ends when you drain all balls.

Quoted from Nepi23:

My CCC seems to play quite well now and I managed to sort out the humming/static issue in the loudspeakers as well.
But when playing the game today, again after Drunk Multiball, after ca. million balls had been shot to the playfield and all the balls had drained, the game did not understand to quit. Instead it kept searching for balls that were already in the ballthough. This is my problem currently with the game, but apparently other people do not have this problem? Any clues on how to sort this out would be great to get!
EDIT: just to check - is it correct that in Drunk Multiball the game keeps firing new balls on the playfield for quite a long time? They all drain at some point, but the mode lasts for quite a long time.

1 week later
#1328 3 years ago

There are more files. Here is a listing with the sizes in case you have a 0 byte file.

Quoted from Nepi23:

Oh damn, I think I unpacked all that I had. Should the file be called hitBetty.wav? I checked and I have ccc_sounds_20160314.zip, and its the latest I've got, but there is no such file in it.
I have:

Capture (resized).JPG

3 years later
#1455 4 months ago

15 inch LCD monitors are cheap, curious why you want to revert back to the DMD and lose all those colorful animations?
You have to install a new PC anyway, install CCC and just connect the LCD to the PC and you're in business.

Quoted from MightyGrave:

Thats my question... The original AV-Board is installed and the "ripped" CCC Deluxe Station from Banderas is installed with a DMD. And it worked with the version from Banderas. But now the PC is broken and i want to replace the whole thing with the orignal CCC with a new PC.... and drive it with the original DMD.... So in my mind I don't have to change the DMD or any boards - and it should work by setting the right things in the software.

3 weeks later
#1464 3 months ago

free play only

Quoted from The_Pump_House:

Can this take quarters or is it free play only

1 month later
#1468 70 days ago

Regarding your flaky HDMI port, if it turns out you can't fix it, you could probably use a vga to DVI cable to that display board. it looks like you have both HDMI and VGA ports on the shuttle pc. We use these sometimes when one of the other display ports is busted on our workstations.

#1483 67 days ago

Scotts startup/shutdown controller doesn't work with single board computers that are less than 12v (manual says it can go down to 7v) so it won't work with any rpi (5v).

Quoted from aeneas:

They're not made to be suddenly shutdown and the memory disk can become corrupted if you do it..
There are a few ways to gracefully let it shut down before powering off.
I've added a shutdown button to my CC and configured it.
Here it's all explained: https://www.flippers.be/rpi_shutdown.html
Online there are some scripts that do a loop/wait and see if a button is pressed and then do a shutdown, but that's not an optimal way to do it, as it's already built in the OS to listen on certain pins to trigger a shutdown.
I don't know the details but it should be possible to hook up a danesi shutdown board to it, instead of using the button like I did.

#1486 67 days ago

Thanks for the correction.

Quoted from epthegeek:

The CSSC doesn't take power from the computer. In CCC setups I power it with the 12v unregulated from the power driver board. That voltage is what tells the CSSC to do it's thing. The PC connection is just a power switch and a USB to detect if it's on/off.

You're currently viewing posts by Pinsider luvthatapex2.
Click here to go back to viewing the entire thread.

Hey there! Got a moment?

Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside