New Life Games Tech Forums

Progressive Controllers, Displays and Slot Toppers => IGT Stand alone Progressive Systems. => Topic started by: poppo on November 09, 2010, 01:40:39 AM



Title: Home-brew progressive display
Post by: poppo on November 09, 2010, 01:40:39 AM
I hope this is in the right section.

For anyone interested, I am going to describe how I built my home-brew progressive display for my Haywire Deluxe. Please be aware most of these pictures were taken a few years ago when I first built it.

First, the items that will be needed.

1. A IGT slot machine.
2. A Basic Stamp, Basic Atom or other PIC type of controller.
3. A serial port equipped BetaBrite display (look on e-bay, but make sure it has serial input)
4. A RS51-SPR-BETA BetaBrite(Classic) Protocol Converter

Note: if you are a programmer and can figure out the BetaBrite protocol, you can probably eliminate #4. However, it would be simpler to just buy the converter.

For my project I chose a Basic Atom since I was used to programming it and it can be found with a nice little carrier board with a serial port input for programming. The programming software is free on the basicmicro website http://www.basicmicro.com/Downloads_ep_43.html  There are various versions of prototype boards, but they all will do the same thing. You will only be using a few of the I/O pins, so the simpler, the better. I found my board on e-bay for about $15.

The BetaBrite protocol converter can be found here.
http://www.industrologic.com/rs51bdes.htm (http://www.industrologic.com/rs51bdes.htm)

Basically what we will do is use the Basic Atom to monitor the slot machine’s backplane J12 P3 & P4 (progressive out and ground). The basic atom will then do the math and send the data to the protocol converter which in turn will send the appropriate display information to the BetaBrite. The protocol converter uses a serial data input and the basic atom is capable of sending serial data out any pin. So interfacing the two is simple.

Here is what the Basic Atom prototype board and the BetaBrite protocol converter look like when connected. The serial port on the Basic Atom board is used to program the Atom and the output serial port on the protocol converter goes to the BetaBrite. Nothing needs to be done with the protocol converter except power it up. I used a wall wart plugged into the outlet in the bottom of the machine for that. It also powers the Basic Atom

(http://www.marks-home-theater.com/stuff/slots7.jpg)

I have attached the code for the basic atom (it's at the end of the post). I tried to make comments on most of the code so it should not be too hard to figure out what I was doing. The code is also set up to display on the serial LCD I have on the front of the machine, so some of it can be left out. Or it can be left in as it will still run fine even without a LCD connected. It’s a one way serial stream.

Total cost was about $150.00
(http://www.marks-home-theater.com/stuff/slots8.jpg)

I have the display set up to display various messages with various effect. This is what I currently have:
Welcome
Mark's Game Room
Starburst
FUN FOR ALL
Try your luck
Be a winner!
Bursting bomb
progressive display

Note: Playing credits always updates the progressive amount and displays that immediately regardless of where in the display cycle it is. A pretty handy feature.

(http://www.marks-home-theater.com/stuff/slots9.jpg)

Hard to take a picture when it's scrolling.
(http://www.marks-home-theater.com/stuff/slots10.jpg)

The busting bomb looks really cool as it explodes just before the progressive ammount is displayed.
(http://www.marks-home-theater.com/stuff/slots11.jpg)


Title: Re: Home-brew progressive display
Post by: knagl on November 10, 2010, 07:44:25 PM
Wow, that's awesome.  Does it talk to the machine if/when the jackpot is hit to relay the amount to the machine and also then get reset back to a base amount when the JP reset key is turned?


Title: Re: Home-brew progressive display
Post by: poppo on November 10, 2010, 07:53:40 PM
Wow, that's awesome.  Does it talk to the machine if/when the jackpot is hit to relay the amount to the machine and also then get reset back to a base amount when the JP reset key is turned?

Thanks.

No, there is no talking back to the machine. So IF the jackpot is hit, since it would be a manual payout anyway, one can just look at the display. Also, I have that LCD on the front of the unit that also displays the amount.

As for resetting, I did put some code in there for a manual reset switch (momentary contact) which could be mounted somewhere inside. I never wired it up though since a jackpot is so rare and I can just connect the computer to the serial port and reset it that way.

So there are a few, but minor limitations.


Title: Re: Home-brew progressive display
Post by: Foster on November 10, 2010, 10:18:56 PM
The machine signals a jackpot by closing coin in for 3 seconds.
The next coin in would reset the jack pot


Title: Re: Home-brew progressive display
Post by: StatFreak on November 10, 2010, 10:20:50 PM
...
I never wired it up though since a jackpot is so rare and I can just connect the computer to the serial port and reset it that way.
...

Actually, the odds for an S+ HD are only 21,845:1. That's better than most cm (coin multiplier) S+ games, except a few of the oldies with low jackpots.

If you play 750 pulls an hour, you could expect to hit it every 29 hours in the long run. Typically, you wouldn't go more than 60-90 hours between jackpots. If you play like a tournament player (about 1000-1100 pulls an hour), you'll hit it even more often, although the haywires will slow you down a bit.

HD was the first S+ machine I bought. I hit the jackpot shortly after I got it, but it also turned out to be the only cm S+ top prize I would win for years, mostly because I went on to play games with much longer odds.

I finally hit Double Dollars a few months ago. I decided to play it aggressively until I hit, and did so. It also has low odds: only 32,768:1.

The S+ games with higher top prizes typically have odds of 262.144:1 (64 stops with 1 combo) or 373,248:1 (72 stops with 1 combo). After hitting the top prize on my HD, I put in Five Times Pay and left it in for a long time (over 100,000 pulls). The odds of hitting the top prize on that game with my SS chip were 729,000:1 so it's not surprising that I never hit it.


Stat :31-


Title: Re: Home-brew progressive display
Post by: StatFreak on November 10, 2010, 10:29:20 PM
The machine signals a jackpot by closing coin in for 3 seconds.
The next coin in would reset the jack pot


Good point Foster. Poppo, have you considered programming your device to look for the longer signal to trigger another sub-program?

You wouldn't want to simply reset the progressive. You would want to write some code that would display the current amount as a winner, and then drop into another subroutine that would reset the amount upon receiving the next regular coin-in pulse. You would also want that pulse to then increment the newly reset amount by one unit.

You might also have to deal with the fact that you might receive multiple coin pulses immediately after the jackpot, so you would want the code in your subroutine to ensure that all of the received pulses were passed on to the increment routine. You would then exit the subroutine and return to normal operation.


Title: Re: Home-brew progressive display
Post by: poppo on November 10, 2010, 11:27:46 PM
Good point Foster. Poppo, have you considered programming your device to look for the longer signal to trigger another sub-program?

You wouldn't want to simply reset the progressive. You would want to write some code that would display the current amount as a winner, and then drop into another subroutine that would reset the amount upon receiving the next regular coin-in pulse. You would also want that pulse to then increment the newly reset amount by one unit.

You might also have to deal with the fact that you might receive multiple coin pulses immediately after the jackpot, so you would want the code in your subroutine to ensure that all of the received pulses were passed on to the increment routine. You would then exit the subroutine and return to normal operation.

I was not aware of the 3 second thing. But as already noted, when the machine hits the jackpot it pretty much stays put until reset (with the key) and the winning amount is already displayed. It would be simpler to just open the door and press a button to reset the display amount and then reset the machine. In all of the time I've had the machine, I've only hit the jackpot once. So it's not like it's a really common event.


Title: Re: Home-brew progressive display
Post by: StatFreak on November 10, 2010, 11:31:12 PM
...In all of the time I've had the machine, I've only hit the jackpot once. So it's not like it's a really common event.

Well there's your problem!  :214-  You're not playing it enough. :30- :30- :200-


Title: Re: Home-brew progressive display
Post by: poppo on November 10, 2010, 11:37:36 PM

Well there's your problem!  :214-  You're not playing it enough. :30- :30- :200-

Well, it's not like I am going to pay myself either.  :96-


Title: Re: Home-brew progressive display
Post by: Foster on November 10, 2010, 11:59:56 PM
The Cham II+ when it gets a jackpot I assume other work similarly.
When a Jackpot is hit the Cham II+ shows 4 things in order
JACKPOT
the jackpot amount
CURRENT
the current amount, which is the same as the reset value.
it repeats the 4 items until the next coin in pulse which I believe the machine sends one when you turn the jp key after a jackpot has locked up the machine.


.




Title: Re: Home-brew progressive display
Post by: poppo on November 13, 2010, 01:54:17 AM
LOL. After finally taking the time to look through all of the forum sections, I found that my original thread on this project had been pretty much salvaged from the old forum. Nothing like reinventing the wheel.  :25-

http://newlifegames.net/nlg/index.php?topic=460.0 (http://newlifegames.net/nlg/index.php?topic=460.0)


Title: Re: Home-brew progressive display
Post by: StatFreak on November 13, 2010, 02:34:40 AM
LOL. After finally taking the time to look through all of the forum sections, I found that my original thread on this project had been pretty much salvaged from the old forum. Nothing like reinventing the wheel.  :25-

http://newlifegames.net/nlg/index.php?topic=460.0 (http://newlifegames.net/nlg/index.php?topic=460.0)

It looks like I gave you a karma then, and I gave you a karma now.  :71-  I figured the old one was stale. :200-
It's been almost four years (gulp).  :8- :8-  Where's my walker? :128- :30- :208- :208- :208-

SF :31-


Title: Re: Home-brew progressive display
Post by: poppo on December 06, 2010, 06:33:00 PM
I tried to take a video of this in action with my iPod Touch. Play back quality is terrible as I needed to compress it enough to be able to attach but you should get the idea. In any case it starts out showing the progressive amount and then cycles though some graphics and text and then repeats. But if you play credits, it automatically displays the updated progressive amount immediately (shown near the end).

<edit> The attachment was not working. I need to try and fix it.


Title: Re: Home-brew progressive display
Post by: knagl on December 06, 2010, 07:02:09 PM
If you can upload the video to Youtube, then you can post the Youtube URL here to have it automagically add the video to your post.


Title: Re: Home-brew progressive display
Post by: poppo on December 06, 2010, 07:39:28 PM
If you can upload the video to Youtube, then you can post the Youtube URL here to have it automagically add the video to your post.

Yeah, it looks like I had to go that route.

http://www.youtube.com/watch?v=g4MgOmH4TjI (http://www.youtube.com/watch?v=g4MgOmH4TjI)


Title: Re: Home-brew progressive display
Post by: poppo on January 13, 2011, 03:23:10 AM
Just a minor update. After I got my other machine up and running, I thought about tying them together to the progressive. All it took was one line of code change to the Atom software to monitor another input line and just just running two wires (I used a phone cord) over to the other machine. Now they both update the progressive.


Title: Re: Home-brew progressive display
Post by: StatFreak on January 13, 2011, 05:47:20 AM
Just a minor update. After I got my other machine up and running, I thought about tying them together to the progressive. All it took was one line of code change to the Atom software to monitor another input line and just just running two wires (I used a phone cord) over to the other machine. Now they both update the progressive.

Very cool. :3- :3-


Title: Re: Home-brew progressive display
Post by: poppo on March 18, 2011, 05:26:10 PM
Latest update.

Since I tied the new machine into the controller, I decided to go ahead and put a display on the new machine too. All I had to do is add another line of code to drive that LCD (serial). I just used some phone cord to send the +5V, gnd, and serial data to it from the first machine that houses the controller.


Title: Re: Home-brew progressive display
Post by: knagl on March 18, 2011, 09:38:08 PM
Awesome, poppo.  K+ for posting.  :89-


Title: Re: Home-brew progressive display
Post by: poppo on June 15, 2011, 10:58:08 AM
My last update consisted of connecting my second machine to the progressive. That has been working fine. I picked up another BetaBrite. I have not decided just what i want to do with it yet, but I was figuring I would need to buy another 'protocol converter' in order to display anything on it with one of my microcontrollers. As I noted earlier in the thread, the converter makes it easy to send commands to the display. For example this simple line:

serout p9,I9600,[27,"C9","$1,000.00",0D]

sends the text '$1,000.00' to the unit. There are only 3  comands. the 27 is the ESC command that preceeds a message, the C9 tells it to dsiplay the text in rainbow color, and the 0D is a carriage return to end the message. So it's pretty simple. 

However, not wanting to spend $60 for another converter, I decided to play around with the native BetBrite protocol. Oddly, the same people who make the converter, have a document on their web site explaining exactly how to do it.

http://www.industrologic.com/betabrite.pdf (http://www.industrologic.com/betabrite.pdf)

Using the info in that doc, I was able to put together the native command to do the same thing. So to display the same $1,000.00 text, you would use this command:

serout p9,IE9600,[0,0,0,0,0,0,0,0,0,0,1,"Z00",2,"AA",27," ","b",28,"9","$1,000.00",04]

As you can see, the command structure is a little more complicated, but it's really not that bad. And for this project you use the same command every time, only with the updated progressive amount.

So, the bottom line is that this allows me to eliminate the protocol converter and drive the display with just the Atom module.  :79-


Title: Re: Home-brew progressive display
Post by: poppo on December 30, 2011, 09:36:01 PM
Here is the latest version of the Basic Atom code for eliminating the protocol converter and connecting a second (or more) machine. Much of the code is for the LCDs that I also have mounted on the slots. Nothing needs to be changed if not using them since it's just outputting serial data to them, and not looking for any response. Alternatively, it can also be used as is with only LCDs and no Beta Brite.

One issue. Basic Micro now uses software called Basic Micro Studio (free) for programming the Atom. They have eliminated the 'data' command that preloads the EEPROM. There are other ways to do it, but I did not change the code. The older IDE software is still available (but now unsupported) and will work fine.

I'm sure there may be more efficient ways to write the code using floating point, but it works. The biggest hurdle was displaying the comma and decimal point in the dollar amount (i.e. $1,234.56). There is no easy way to display them directly (without using floating point), so I do a lot of routines to 'dissect' the number to display it properly. It's one of those 'if it isn't broke, don't fix it' things.