New Life Games Tech Forums

**Reel Slots** Gaming Machines => IGT S and S-plus Reel Games. => Topic started by: russdx on October 24, 2010, 04:28:02 PM



Title: Custom slot machine controller
Post by: russdx on October 24, 2010, 04:28:02 PM
building my own slot machine using a custom slot machine controller i designed and a old IGT S cabinet i stripped out :), thought a few people may be interested :)

below is a few pictures and videos of the progress so far

TODO list
FPGA + ARM reel drivers
DMD board + drivers(half done)
artwork
audio board + audio drivers

(http://i52.tinypic.com/2mzcv3o.jpg) (http://russdx.frankster200.com/slot/DSC03930.JPG)

(http://i55.tinypic.com/k422b.jpg) (http://russdx.frankster200.com/slot/DSC03926.JPG)

(http://i54.tinypic.com/34tb9sl.jpg) (http://russdx.frankster200.com/slot/DSC03927.JPG)

(http://i51.tinypic.com/vfh2yq.jpg) (http://russdx.frankster200.com/slot/DSC03928.JPG)

(http://i56.tinypic.com/fs404.jpg) (http://russdx.frankster200.com/slot/DSC03929.JPG)

video showing the coin comparator counting the coin in and the hopper paying the coins out.
FPGA is controlling the credit display board, hopper and coin mech. whilst communicating with the ARM processor via a memory map.
http://www.youtube.com/v/Oi3T4zTPDfw?fs=1&hl=en_GB (http://www.youtube.com/v/Oi3T4zTPDfw?fs=1&hl=en_GB)


currently working on my reel code, hopefully have reels running end of next week :)
next on my list is getting the prototype audio board working so i can design the proper pcb and have that sent off and made (be nice to have some audio (ill be using the Williams payout dings and reel spin samples as i LOVE them lol))
then ill finish off the DMD display, it just needs all the image processing and animating code written for it, and a pcb made up

ill add videos and pictures as i progress :)

ah heres a video of the fgpa controlling the DMD, contract is a bit cack need to work on that (looks better in person)
this is when it was hooked to the pc gettings it frames streamed over USB. it now has its own arm micro controller sending it the frames. (for when its installed into the slot)
http://www.youtube.com/watch?v=1By1rnYYWrE&NR=1 (http://www.youtube.com/watch?v=1By1rnYYWrE&NR=1)





edited to change pictures to smaller file sizes


Title: Re: Custom slot machine controller
Post by: CaptainHappy on October 24, 2010, 07:15:05 PM
Cool!!! Thanks for sharing your project progress, K+. :244- :244- :244-


Title: Re: Custom slot machine controller
Post by: knagl on October 24, 2010, 07:47:27 PM
Very neat!  Is that a pinball animation in your DMD?

How are you writing your custom software/controller?  This looks neat -- thanks for sharing pictures of your work in progress!

I edited your post to put smaller in file size pictures in, with links to your original pictures.  Each of your original pictures was over 2MB, causing this post to take forever to load, even on my decently fast Internet connection.  :71-


Title: Re: Custom slot machine controller
Post by: StatFreak on October 24, 2010, 08:05:41 PM
Your project looks fascinating. I look forward to reading about and viewing your progress. K+  :3- :3- :71- :71-


Stat :31-


Title: Re: Custom slot machine controller
Post by: russdx on October 24, 2010, 10:07:15 PM
Quote
Very neat!  Is that a pinball animation in your DMD
yup its from India Jones pinball (dont think it ever made the machine though)

Quote
I edited your post to put smaller in file size pictures in, with links to your original pictures.
thanks :)


i started off with a red white and blue IGT s slot machine, completely stripped it hehe. I then designed a controller board to run most of the original hardware ie credit display, coin comparator, hopper, buttons. I swapped the reels out to some uk fruit machine reels as i have the documentation for them + they had back lit reels which the IGT dint come with. I also added the 192x64 DMD display to the top glass as i Absolutely LOVE the Williams dotmation machines! so had to have a dmd (they aint that hard to drive just need a fecking fast processor to bit bang all the dot data in hundreds of times a second hehe, in my case another FPGA)

below is some details of the board i designed, its like most modern slot machines. a processor running game code hooked up to a big FPGA taking care of the hardware talking to each other via a memory map on the FPGA.

my memory map has 64 address each being 8bits wide (1 byte). each address or addresses are mapped to different hardware. (lamps get 1 address each, reels get 3 address each and so on). the arm processor can read and write bytes to each address. so if it wants a lamp lit it would say write 00000001 to address 0 to turn lamp 0 on (all the other bits in the byte control brightness and flash speed). for hardware like the coin mech the arm processor will read memory locations to see how many coins have been entered.

heres a link to my memory map incase any ones interested in it (beware its very messy! but works hehe)
http://russdx.frankster200.com/slot/memoryMap.xls (http://russdx.frankster200.com/slot/memoryMap.xls)

the board supports:
3 reels
22 lamps (7 flash speeds, 7 brightnesses)
8 switch inputs
IGT 7seg credit board
aux input (in my case controls the hopper and coin mech)
DMD bus, talks to the DMD board
audio bus, talks to the audio board

most of it is coded up, just need to finish off the reel, dmd and audio code

below is some pictures of the board
(http://i51.tinypic.com/saxova.jpg) (http://russdx.frankster200.com/slot/diagram.png)
(http://i56.tinypic.com/2l9ibme.jpg) (http://russdx.frankster200.com/slot/pcb.png)

heres the PCB design top/bottom copper (made a few little mistakes hehe, nothing major will fix for next release)
(http://i55.tinypic.com/2zybyjb.jpg) (http://russdx.frankster200.com/slot/pcbDesign.PNG)



all the code on the FPGA (handles the hardware) is written in verilog (strange language but i like it hehe)
all the code written on the ARM processor (runs the game code / updates/reads the FPGA memory map and also tells the DMD ARM processor what to do) is written in standard c (which is nice :) no assembler here! haha)

shouldn't be 2 long before the reels are running correctly then i can start on the fun bit game code and DMD animations.


ill keep taking photos and videos of any progress i make :)
feel free to ask any questions :)


Title: Re: Custom slot machine controller
Post by: rickhunter on October 25, 2010, 06:07:54 PM
That is cool!!!


Title: Re: Custom slot machine controller
Post by: stayouttadabunker on October 25, 2010, 06:19:34 PM
The MPU just about fits in your hand...that's amazing!
Electronic slot machines can be down-sized to about the size of a bread box...lol
Hey! Didn't Jennings do that about 50 years ago?


Title: Re: Custom slot machine controller
Post by: CommTech on October 26, 2010, 12:22:39 AM
Very Impressive work!  :131- :131- :131-
I will also be interested in seeing your progress on this very cool project!

K+ and thanks for sharing!

Joe


Title: Re: Custom slot machine controller
Post by: russdx on October 26, 2010, 07:18:22 AM
i want to design a pure smd version as well without the fpga/arm extender boards, it would literately be 2.5x2.5inches big LOL. the idc connectors would actually take up more room then the control chips


Title: Re: Custom slot machine controller
Post by: russdx on January 17, 2011, 06:23:51 PM
heres the dot matrix display controller (havent plugged in the micro controller yet)

its a very simple board that basically consists of an arm6 processor that stores all the DMD images and control programs (also talks to the main slot controller). and a little FPGA that bit bangs the image out to the plasma DMD display VERY VERY quickly.


will hopefully have it installed in the slot this weekend and talking to my main board :)


sorry for the crappy picture (took using phone) will take a better one at the weekend
(http://russdx.frankster200.com/slot/IMG_20110117_195424.jpg)


Title: Re: Custom slot machine controller
Post by: stayouttadabunker on January 17, 2011, 10:49:00 PM
Did you etch the board yourself?


Title: Re: Custom slot machine controller
Post by: jdkmunch on January 17, 2011, 10:57:57 PM
What a great project............ 


GO GO GO GO!!

Please Keep Us Posted


Title: Re: Custom slot machine controller
Post by: FORDSBS on January 17, 2011, 11:01:20 PM
russdx, keep up the good work. I wish I was as talented as you.
Ford


Title: Re: Custom slot machine controller
Post by: reho33 on January 17, 2011, 11:07:22 PM
I see an open source "kit" with the code to boot. Now you could have a "home slot piggy bank" that can be customized to your liking. How about a web interface so that options could be adjusted over your home computer or play a progressive (fake of course) over the Web. As a matter of fact this was the subject of my very first post when people asked what you would like to see in a slot if you could create it. I think that this is cool because it could give most of the slot manufacturers a run for their money. What a better way to humble them than to create a board with code that not only plays better but also can be far more customized than their system. Now all you need is an open source player tracking and accounting system and it might just relegate SAS to the trash heap of history. Better, Faster, and Cheaper would turn the industry on it's side! Think it's far fetched? Just give it some thought.


Title: Re: Custom slot machine controller
Post by: russdx on January 18, 2011, 07:43:07 AM
thanks guys

boards where made using ww.BATCHPCB.com
turn around is around 2/3weeks but im in no rush and is VERY cheap :)

will post a video of the dmd working this weekend :)
reels are almost doen as well just need to finish off the FPGA module, so hopefully they will be spinning soon!
got all the parts for the audio on my desk so will be designing that board very soon as well :)
also need to get all my glass printed + reel bands :)


@reho33

i did look into making a board with the same connector as the original IGT machine, so in theory you would just unplug your slots control board and plug a little custom one in. it would have all the same interfaces as the original board so could talk to all the hardware. also be attached to the pc using usb for programming / tournaments / progressive pot data

would be a fun project! :)





Title: Re: Custom slot machine controller
Post by: russdx on January 23, 2011, 08:42:26 PM
dint get round to doing much this weekend had girl friend over and had to entertain her lol. (deffo free next weekend though hehe)

did manage to install the board into its new home hehe. and quickly test the FPGA and Micro controller to make sure they are ok and that i had actually designed the pcb correctly (which after successfully programming both devices and having the dmd display a test screen) confirmed i had!

will take some images of it running next weekend :) maybe some videos of animation :) (no images yet not written any image code :()

heres a little picture of it mounted in the slot :) (ignore the red pcb thats just the FTDI board i used to program the ARM micro controller. it wont be there when the slot is complete)
(http://russdx.frankster200.com/slot/IMG_20110123_222159.jpg)


Title: Re: Custom slot machine controller
Post by: russdx on February 07, 2011, 04:22:03 PM
heres a little video of the machine initializing with the dmd

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

the DMD and main controller and now talking to each other nicely :) (using a similar memory map system that the main controller uses with the FPGA)


just need to write all graphics/animation/transitions handling now :). then i can get started on the game play


also still developing the sound board (decided to go down the surface mount route on this project with some vs1053 mp3 decoders, should be fun!).
And just need to finish off the FPGA reel code :)


machine glass is just printed off from printer atm, willl have proper glass made at some point :)
its slowly getting there :)


Title: Re: Custom slot machine controller
Post by: russdx on February 19, 2011, 08:12:57 PM
finally finished the reel driver today :)

frame rate on camera is to slow to see that in the first test that alternate reels are actually spinning backwards hehe

reels support backward + forward and half stepping for slow reel spin (which it does when the machine initializes to find the reel optos)

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


audio board next :)


Title: Re: Custom slot machine controller
Post by: StatFreak on February 20, 2011, 03:36:10 AM
It looks like you're making progress.  :79-   Good work.  :3- :3-


Title: Re: Custom slot machine controller
Post by: stayouttadabunker on February 20, 2011, 03:51:37 AM
That is awesome russ!  :3-
How are you coming up with the reel stops?


Title: Re: Custom slot machine controller
Post by: russdx on February 20, 2011, 02:49:39 PM
reel stops are completely random in that demo.

int t1 = (random(24)*2)+48;
int t2 = t1+(random(24)*2);
int t3 = t2+(random(24)*2);
printf("%d %d %d\r",t1,t2,t3);
spinAllReelsNoStops(0,0,0,0,0,0,t1,t2,t3);

when i get round to coding the game, (need to work out all the odds for the band layout) it will pick a random symbol on the band then spin to that symbol. then the next reel will do the same but making sure it has spun at least as many symbols as the previous reel


all the graphics at the moment is printed onto paper lol, ill get it properly glass printed when all the hardware is done :)


Title: Re: Custom slot machine controller
Post by: jay on February 20, 2011, 06:08:38 PM
I am very impressed with all the effort put into this project thus far and I am sure you have learned tons about the inner workings of these machines...
... however this seems like a boat load of work assuming the goal is to get the one reel to spin backwards......
I am a keep it simple type of guy ...... Why not just put the stepper motor on the opposite side of the reel basket and print up a custom strip in reverse order.
The reel stops will all work with existing firmware.

It reminds me of the story where the US spent 14mm dollars to invent a pen that would write in outerspace while the russians used a pencil......







Title: Re: Custom slot machine controller
Post by: a69mopar on February 20, 2011, 06:23:18 PM
He did say that the reels support forward and backwards spins.  I believe he just prefers the backwards spin.  The creation of a custom slot, with a DMD, is interesting to follow.

Thanks,
Wayne


Title: Re: Custom slot machine controller
Post by: stayouttadabunker on February 20, 2011, 08:56:06 PM
Forgive me but I'm dumb...what's a "DMD"?  :128-


Title: Re: Custom slot machine controller
Post by: a69mopar on February 20, 2011, 09:26:43 PM
Dot Matrix(Mation) Display


Title: Re: Custom slot machine controller
Post by: stayouttadabunker on February 20, 2011, 09:43:33 PM
Thanks Mopar!  :89-
I feel a little smarter now!  :72-


Title: Re: Custom slot machine controller
Post by: russdx on February 20, 2011, 10:14:52 PM
:)

the slot it self will not use backward reels (but as iv coded the reel driver my self from scratch its nice to have that option :), i might use it on other projects :))

adding support for backwards reels was very easy just a few extra lines on code + 1 extra bit in the reel param byte in the mem map :)

ah yes as said above dmd is dot matrix display, one of my fav things in the world :)


am currently writing an adobe air app that imports gif/swf files and exports them as C byte arrays so i can include them in the dmd code to display images and animations :). hopefully be working on the dmd again real soon, this is where the real fun/imagination is :)


Title: Re: Custom slot machine controller
Post by: russdx on February 26, 2011, 02:51:32 PM
finnaly writen the adobe air app, it works very well.

I can import any flash swfs/gifs and convert them to the c byte arrays my dmd code needs to display images on the dmd. takes seconds to convert and export and add to my dmd project :)

(http://russdx.frankster200.com/slot/imageConvert.PNG)

each frame is split into three arrays, the high buffer and low buffer + transparency buffer.
to get the 4 colours (off,low,mid,bright) you need just 2 sub frames. when u combine them you get the full 4 colour image
the third sub frame describes the transparency (which bits to actually draw to the display)



Title: Re: Custom slot machine controller
Post by: reho33 on May 08, 2011, 04:23:01 PM
More posts, please, what happened??


Title: Re: Custom slot machine controller
Post by: russdx on May 08, 2011, 05:46:18 PM
hey,

not really touched the project recently due to some other crap coming up. but i will get back into it very soon!!!

I was last working on my custom audio board im designing. im gonna build it from scratch using 2 mp3 decoders with a 2gig nandflash.
currently bread boarding it and have it 90% working (it will have two channels so i can play two audio samples at once!). i definitely wanted two channels so i could play like feature music in the back ground and have all the count dings/effect samples playing over the top

creating two or more channel audio at hardware level is extremely hard! (well to do it correctly!)

This board will be cool as its gonna be completely built from scratch, no stuck on break out boards. gonna be pure smd!!! :)


once i have my audio board working ill start working on the DMD controller library some more then can start work on the actual game it self!


audio board so far!
http://russdx.frankster200.com/slot/Job2.PDF (http://russdx.frankster200.com/slot/Job2.PDF)

this is a very early pcb layout! need to adjust a few trace sizes (like the power rail) and sort some other stuff out


Title: Re: Custom slot machine controller
Post by: reho33 on May 08, 2011, 06:13:48 PM
Thanks for the updates Russ and keep at it. We are really intrested in your progress. I would not go commercial with it as the "giants" would see to it that you would never get off the ground. But selling kits to hobbyist home users would give you a good market as lots of people like kits and building things. You could retain the license on the design and then sell the board kits either complete or as parts and board. All people would have to do is provide a cabinet of their choice and complete it


Title: Re: Custom slot machine controller
Post by: russdx on May 08, 2011, 10:25:39 PM
hehe, its just a little home project. im to lazy to 'sell' it :)
this tech is NO were near as good as the current slot tech (which is pretty much just a pc these days lol)

would be fun to maybe make conversions kits like a sort of plug and play for the old igt machines so people could program there own games. id redesign the whole lot from scratch into one board that is a direct replacement of the current control board in these games.

would be a cool little project :).   maybe once this project is done ill look into doing that :)
not sure how many people would be interested in programming there own machines though / would have the programming skills?


Title: Re: Custom slot machine controller
Post by: reho33 on May 08, 2011, 11:35:18 PM
Maybe you could add an Ethernet port so that the board could get an IP address and build in a web interface so that all the tests/controls could be done with a browser


Title: Re: Custom slot machine controller
Post by: russdx on May 09, 2011, 06:48:10 AM
id definitely add a ethernet port, probably wouldnt be used for programming / control this would be done using usb (much easier). ethernet would be used for tournament modes and shared progressive pots with other machines / some server :)


Title: Re: Custom slot machine controller
Post by: reho33 on May 09, 2011, 10:41:34 AM
But a web based interface would a person to control all his machines based on TCP/IP and to gather stats, do IO testing, etc. But USB is good as well


Title: Re: Custom slot machine controller
Post by: russdx on August 10, 2011, 04:15:31 PM
been a while but i am back working on this project :)

will be working on the dmd code alot more :)
and need to finish off the audio board :)

more updates to come!!!