Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: DIY Skeeball  (Read 205537 times)

0 Members and 1 Guest are viewing this topic.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:April 26, 2023, 07:34:43 pm
Re: DIY Skeeball
« Reply #80 on: January 12, 2005, 07:21:55 am »
Looks great.   Nice work.

I was wondering whether you have trouble with the balls hitting the marquee when then roll up from the curved rolling surface and become airbourne?  Also, when you fabricate the netting cage, I am assuming the netting will be below the marquee so will there be enough room fo the ball to arc enough to make it into the 50 holes without hitting the netting on top?


Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #81 on: January 12, 2005, 11:52:37 am »
I've only had it hit the marquee one time, and that was when I chunked it too fast. The netting will solve that problem, and there is still plenty of room for it to hit the 50.

Brad

walls83

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1146
  • Last login:July 10, 2017, 02:58:45 pm
  • beer is good
Re: DIY Skeeball
« Reply #82 on: January 12, 2005, 01:11:14 pm »
Your going to paint the cork?  I dont think I would do that.  Dont the skee ball machines have felt pulled over the ramp?  Maybe not but I thought that they had like pool table felt pulled over the cork.
"A true warrior enters the arena with all his powers at the ready." ~ Gouki

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #83 on: January 12, 2005, 01:34:09 pm »
No, it is really dense cork. You can order the cork covering from skeeball, but it will set you back $150. Long as the paint is waterbased it will do fine.

Brad

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #84 on: January 15, 2005, 04:48:29 am »
After looking at several pics I decided to go with black for the color of the ramp, scoreboard covering, and back guard. The scoring rings will be white. In the pics below, the cork doesn't look as bad as it shows up here, the flash seems to show all the flaws. It will still need another coat of touchup paint however.

The stainless steel end covers are from an original skeeball machine, and they fit perfectly over my endpieces. Only modification I did was to drill two screw holes in the "Tokens Only" one so that it would not open on its own. I didn't feel like purchasing a new lock/key and contructing a locking mech for something that won't be taking coins in the first place.


This is the ball counter lit with LED's controlled by my counting circuit.



Brad
« Last Edit: August 17, 2007, 02:41:32 pm by saint »

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #85 on: January 15, 2005, 09:46:27 pm »
Latest update. I have a working circuit!!! The counting circuit works just great and operates the original skeeball displays. I am using LED's instead of lights, just for ease of use and lower power consumption. I also got in my skeeball score rings. One thing about these is the larger rings have a 1" high STEEL ring around the base to keep it in shape, and instead of rubber bumpers to slow the balls down, they are V shaped pieces of metal. I will probably swap these out for rubber just to prevent wear. This set has metal plates with the numbers on them, which are over the old original ones, which faded and were blue as well. I haven't decided if I want to keep it this way or go with traditional black lettering.

I hooked everything up to my main computer using RandyT's KeyWiz and program and played a simple game of dropping the balls into the scoreboard while it sat by the computer here. Only thing Randy will need to add is a counter for a gutter ball. Right now, it counts only scored balls, so if you gutter a ball it won't count it as being thrown.

I wired my score ring switches as individual per score ring, instead of just being 10 points each. They are hit when the ball comes through the hole, and when the ball rolls down the ramp it goes underneath the remaining switches. For one, this will eliminate alot of wear on the switches as only the one scored will be depressed, instead of multiple switches in the case of hitting a 50.

Well, here are the pics - enjoy! I have to program my interface to work now :)


Main Score LED driver circuit (TTL Driven).










Closeup of V-shaped metal slowdown and steel base ring.

Brad
« Last Edit: August 17, 2007, 02:48:55 pm by saint »

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #86 on: January 18, 2005, 06:32:29 am »
I played my first game(s) of skeeball last night for a couple of hours. I wrote a simple program to run the score and make sound effects, and with some more tweaking it should work well. Only problems I had were that if a ball went down the hole slow, like if it spiraled around the edge like water down the drain, sometimes it would hold the switch down too long and cause the game to double register. Most of it tends to be with the 10 ring, occasionally the 20. This is because with the other rings, the ball pretty much drops straight in.

This would not be a problem if you ran the switches so that each hit counted as 10 points, then it would hit them while rolling down. Mine are right underneath the hole, and hit them as they drop through. This allows for me to set individual sound effects per ring if I chose to.

It was a real blast to play, now I just need to add the final touches on it, tweak my software, and add on the netting cage which is being built (thanks to my dad who is a welder).


The reason the lights are dim/out on the right number is because I accidently toasted them while testing the circuit out on my PC. Since it always displays a 0, I wired them straight to the power... but forgot to add in the resistor to keep them from getting blown... OOPPS!! I now have 15 on order, so I will have a good bit extra in case one goes out.

Brad
« Last Edit: August 17, 2007, 02:49:11 pm by saint »

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #87 on: January 18, 2005, 10:46:38 am »
Only problems I had were that if a ball went down the hole slow, like if it spiraled around the edge like water down the drain, sometimes it would hold the switch down too long and cause the game to double register. Most of it tends to be with the 10 ring, occasionally the 20. This is because with the other rings, the ball pretty much drops straight in.
Write a debounce into the code... once a switch registers, ignore it for the next 3 seconds or so.

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #88 on: January 18, 2005, 01:06:37 pm »
Yeah, it was late last night when I was working on it, so I wasn't in the right frame of mind to start modding the code too much. I just need it to ignore any other hits at least till the ball drops through, which is about the time limit it takes it to play the sound and send the TTL pulses to the score display.

BTW, are there any free C/C++ compilers for DOS ? I've got Borland's but it wants the executable to run under windows (could be the parallel port driver I am using since it pulls on that DLL file). I'd love to fit everything on a floppy/flash drive, but Windows is just a bit much for as simple of a program as this is. I run a mud and code there using the C++ compiler built into Linux to handle all my coding, so I'm not familar with what is out there for the dos/windows environment. I could possibly do it in Qbasic, but the last basic I touched still had line numbers, and that was back around 1986.

Brad

RayB

  • I'm not wearing pants! HA!
  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11279
  • Last login:March 31, 2024, 12:42:45 am
  • There's my post
    • RayB.com
Re: DIY Skeeball
« Reply #89 on: January 18, 2005, 04:12:37 pm »
Write a debounce into the code... once a switch registers, ignore it for the next 3 seconds or so.

The proper way to handle this is to wait for the switch to turn off. Right now, he's treating the button as a Flag rather than a toggle. His code sees the Flag is "true" and proceeds to award another score again. The code should be waiting for the Flag to clear (false) before going back to waiting for "true".
NO MORE!!

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #90 on: January 18, 2005, 04:15:46 pm »
BTW, are there any free C/C++ compilers for DOS ?
DJGPP.
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #91 on: January 18, 2005, 04:17:38 pm »
Write a debounce into the code... once a switch registers, ignore it for the next 3 seconds or so.

The proper way to handle this is to wait for the switch to turn off. Right now, he's treating the button as a Flag rather than a toggle. His code sees the Flag is "true" and proceeds to award another score again. The code should be waiting for the Flag to clear (false) before going back to waiting for "true".

Unless the switch is indeed bouncing.  Ignoring inputs for a couple of seconds will solve both problems.
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RayB

  • I'm not wearing pants! HA!
  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11279
  • Last login:March 31, 2024, 12:42:45 am
  • There's my post
    • RayB.com
Re: DIY Skeeball
« Reply #92 on: January 18, 2005, 04:23:03 pm »
Unless the switch is indeed bouncing.
NO MORE!!

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #93 on: January 18, 2005, 05:03:25 pm »
Its not bouncing, its that the ball takes a bit to go down, so it is holding down the button for longer than it needs to be, same thing if you held it down on the keyboard.

I saw online someone had posted about clearing the keyboard buffer out before going further, so mine would look something like..

if(kbhit){
   ch=getch();
   while(getch() != ch)
   switch(ch)
      case 'a': printf("10 point ring.").....etc etc.
 
Gonna try that to get it to prevent extended runs, and thanks for the pointer on the gnuc++ style C compiler.

Brad

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #94 on: January 18, 2005, 05:07:01 pm »
Its not bouncing, its that the ball takes a bit to go down, so it is holding down the button for longer than it needs to be, same thing if you held it down on the keyboard.
RayB 1, Chris 0.  ;D
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RayB

  • I'm not wearing pants! HA!
  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11279
  • Last login:March 31, 2024, 12:42:45 am
  • There's my post
    • RayB.com
Re: DIY Skeeball
« Reply #95 on: January 18, 2005, 07:55:57 pm »
Its not bouncing, its that the ball takes a bit to go down, so it is holding down the button for longer than it needs to be, same thing if you held it down on the keyboard.
RayB 1, Chris 0.
NO MORE!!

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #96 on: January 18, 2005, 11:00:01 pm »
I'll give Chris the extra 5 point bonus  ;D

I downloaded DJGPP and Allegro, and converted the code over from some of the silly Borland items. Allegro is the real key, with it being able to control the keyboard. I was able to tell it to ignore repeated keys and then I cleared the buffer just for grins. I could leave a weight on the button now and it wouldn't repeat. Thanks so much both of you for putting me on the right track. I have the WAV files playing now as well as my keyboard issue fixed.

My LED's and some other parts are coming in tomorrow, so this weekend I will probably finish it up save for the netting cage. My dad can't finish it before he has surgery on Friday, so it will get finished when he gets back on his feet.  I'll just have to aim well. The other parts should let me automate the ball release by adding in a solnoid to pull the release lever down, so then you would just push the front button, the score would reset and the balls release.

Here's what that code piece looks like now..


install_keyboard();
set_keyboard_rate(0,0);
/--- trim ---/
roll = readkey();
switch(roll)
{
     case 353: printf("         Ring 10\n");
                     SndFx = load_wav("10ring.wav");
                     play_sample(SndFx, 255, 128, 1000, 0);
                     (outportb)(0x378,0x01); //Score Count
                     (outportb)(0x378,0x00);
                     skbscore += 10;
                     clear_keybuf();
                     break;


Brad
« Last Edit: January 18, 2005, 11:02:23 pm by Ixliam »

Pyro

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 75
  • Last login:November 15, 2007, 02:10:57 pm
Re: DIY Skeeball
« Reply #97 on: January 19, 2005, 01:12:18 am »
This project just keeps looking better and better. Great job!

I was looking at the latest picture you posted and got to thinking that some tee moulding would look great on the inside of the holes of the target. The only thing that would prevent that from working would be if there wasn't enough clearance for the balls to pass through after the addition of the tee moulding.

Anyway, congrats on a job well done.

Pyro

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #98 on: January 19, 2005, 11:37:02 am »
T-molding on the holes... not a bad idea. It would have no problem fitting, as those are 4" holes and the skeeballs are 3" diameter.

Brad

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #99 on: January 19, 2005, 12:33:18 pm »
I'll give Chris the extra 5 point bonus
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

toadman

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 7
  • Last login:May 16, 2006, 04:20:13 pm
Re: DIY Skeeball
« Reply #100 on: January 19, 2005, 03:42:33 pm »
Its not bouncing, its that the ball takes a bit to go down, so it is holding down the button for longer than it needs to be, same thing if you held it down on the keyboard.

Isn't that what a momentary contact switch is for? Would that fix your problem without having to have a code hack?

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: DIY Skeeball
« Reply #101 on: January 19, 2005, 04:00:42 pm »
Its not bouncing, its that the ball takes a bit to go down, so it is holding down the button for longer than it needs to be, same thing if you held it down on the keyboard.

Isn't that what a momentary contact switch is for? Would that fix your problem without having to have a code hack?
"Momentary contact" means that once the pressure on the switch is released, the switch opens, as opposed to a toggle switch which is pressed once to activate and again to release.  But as long as the switch is held down, the circuit is closed and Windows' key repeat kicks in.

Now that he's using Allegro, though, he can use the key[] array to read keys which does not use the key repeat feature.  It also has the benefit of being able to read multiple keys at once in case two balls are thrown and trip two different switches at the same time.
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #102 on: January 19, 2005, 06:05:52 pm »
Momentary contact is like your arcade buttons. Long as you hold it down, it makes contact. Normal contact is like a lightswitch, you put it in a certain position, it stays there till you switch it to something else.

Had I used transistors connected to the switches then directly to the TTL circuit, there would not be a problem, since in order to count the "pulse" must be +5V then 0V. Since I wanted an easy way to handle sound and programming, I'm using an old Pentium (1) 180mhz machine with 16mb ram to handle it. Allegro handles it very well, and the program is very simple when you think about it. At the basic stage it takes a keypress, sends out the pulses to run the score or ballcount circuits, then plays a sound according to the ring you hit. There are no graphics or anything like that at all, but if you wanted that to use with a pc monitor RandyT's Keywiz and associated program will do all of that.

I'm just waiting on RandyT to start building a skeeball.

Chris - Mine really isn't an encoder as it is a parallel port interface circuit. Two data lines run the ballcount and score, which leave 10 others available to run anything else. Some will run relays to fire off the ball release mechanism, lights, flashers, etc. Plenty to work with there.

Brad
« Last Edit: January 19, 2005, 06:10:44 pm by Ixliam »

jfunk

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 625
  • Last login:October 24, 2018, 04:36:39 pm
  • BYOAC Wannabe
    • JFunk's Arcade
Re: DIY Skeeball
« Reply #103 on: January 21, 2005, 08:43:41 am »
You are going to post some video (with sound) of this in action when all is said and done, right??  :)

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #104 on: January 21, 2005, 08:58:13 am »
No video camera.. I'm kinda like Peale, I never watch TV.. live in the dark ages.

I ended up having to make some adjustments to it with the switch issue. Part of the problem was the held contact, part of it was a bounce. Both of those occured more on the "slow" balls down towards the bottom (prob why skeeball went to all optical switches). I rearranged the switches to work in a cascade, and put a screw that the spring trip wire hits on return to stop some of the bouncing. But what worked best was careful positioning of the switch so that the ball hit it, but didn't hit it 100%. You wanted the balls to contact it enough to trigger the switch, but not pull the switch all the way down. Mine are now arranged like the ones in typical machines, where each is worth 10 points. Not as ideal as I would have liked it, but that is what works (maybe that is why skeeball put theirs that way). I will probably make them all optical at some point, but not right now.

In any case, it is playing and scoring correctly now. The program size is VERY small now, but works great. I converted the front switch which just reset the score (by disconnecting the reset chip line from ground) to a 12v DPDT relay. With this now, the switch throws 12V to the relay, which resets the scoreboard and eventyally will open the ball release. Looks like I will end up using a hobby motor and a sprocket/chain pull down the ball release, I think that will be the best method.

Brad

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 6883
  • Last login:April 15, 2024, 04:06:30 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: DIY Skeeball
« Reply #105 on: January 21, 2005, 10:57:29 am »
Momentary contact is like your arcade buttons. Long as you hold it down, it makes contact. Normal contact is like a lightswitch, you put it in a certain position, it stays there till you switch it to something else.

Had I used transistors connected to the switches then directly to the TTL circuit, there would not be a problem, since in order to count the "pulse" must be +5V then 0V. Since I wanted an easy way to handle sound and programming, I'm using an old Pentium (1) 180mhz machine with 16mb ram to handle it. Allegro handles it very well, and the program is very simple when you think about it. At the basic stage it takes a keypress, sends out the pulses to run the score or ballcount circuits, then plays a sound according to the ring you hit. There are no graphics or anything like that at all, but if you wanted that to use with a pc monitor RandyT's Keywiz and associated program will do all of that.


The machine looks great, Brad!  So did you end up using the KeyWiz to send the keypresses to your software or hack a keyboard? 

Just wanted to make a couple of comments on your bounce issue:

The most probable reason Skeeball went to optical sensors is maintenance.  Microswitches are mechanical devices and like all things mechanical, they wear out.  When you consider the original arrangement of the switches where when a 50 point ring was hit, each of the switches were hit  to count the score up, it's not hard to guess the failure rate.  In fact, you can pretty much guarantee that the the ball counter, 10 and 20 switches would be the first to fail, as these would get the most action.

The key, I believe, is going to lie in finding a method to restrict the balls' motion to one plane of movement.  Some things that might help would be speed reducing/guiding baffles, tight channels (like the V-groove used by Skeeball) or even PVC pipe that is slightly larger than the ball diameter.  Once you achieve smooth movement of the balls, it should be simple to tweak the microswitches so they do what you want.

You might also want to consider a switch with a stiffer actuation style...perhaps more of a "roller" or even the "blade" actuator like the ones used on a "Super" or X-arcade joystick, rather than the very sensitive ones used for coin switches.


Quote
I'm just waiting on RandyT to start building a skeeball.

Heh.  I always have a lot of "irons in the fire", but I actually have a 10' long,  "knock-down" or "flat-pack" style machine currently at about 90% completion in CAD.  My goal won't be to duplicate the appearance of the original (hopefully that can be improved on a little for a home game-room), only the playing experience....and also the ability to be built from a kit or simple plans.  The problem is, a machine that large gets very heavy very quickly, even when every possible optimization is considered, so even a parts kit would need to be palletized and delivered by freight truck.

But, I expect to build at least one for my own use,  even if not until Spring hits. :)

RandyT
« Last Edit: January 21, 2005, 12:35:27 pm by RandyT »

JackTucky

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1613
  • Last login:January 04, 2021, 12:00:58 pm
  • Soon I will post that I am a triathalete
Re: DIY Skeeball
« Reply #106 on: January 21, 2005, 01:32:40 pm »
Ixliam:

How does the play "feel"?  Could you play this constantly at home for a year, then go out to the arcade and kill 'em dead with tickets?  Get tons of free spider rings and erasers?

Art
Well, that's where we go a-ridin' into town, a whampin' and whompin' every livin' thing that moves within an inch of its life. Except the women folks, of course.

bioart

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 90
  • Last login:November 28, 2006, 11:38:14 pm
    • The ArtCade
Re: DIY Skeeball
« Reply #107 on: January 21, 2005, 02:12:00 pm »
Oh, my wife would let me move and build one just for her... now we just need to save enough to move :)

Art

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #108 on: January 21, 2005, 06:01:19 pm »
RandyT: I am using the Keywiz encoder on the machine. I do understand the whole weight issue, it is pretty heavy. I am able to move both pieces myself, but I would put the weight at around 300lbs or so. That's just a guess.  A home version that did not want to duplicate the machine could be done a good bit easier. A simple under the ramp ball return via PVC pipe or straight ramp would be easier than an automated ball return/release like I am working on. Main thing is the ramp and the targets, and depending on what the person wanted, a skeeball-like appearance. Even if the weight was minor, you still have a large amount of space eat up with one of these.  I did think about the roller style switches, but went with what I saw on the older skeeball machines. But, eventually I will go to an optical circuit.

I don't know how much of a market there would be for a kit, since the shipping would be almost the same as shipping an entire arcade game, which would then drive up the cost to almost what a used skeeball would run. Plans would be better, and I do plan on putting mine online along with a website, possibly even selling the scoreboard circuit if someone wanted to go that route. In either case, those things still take up some significant floorspace.

Art: Play-wise, it feels like the real thing. Only thing better will be when I finsgh up the ball-release mechanism to be a one button thing. Right now I push a button to reset the score, and pull a lever to release the balls. This is similar to some of the old ones I played, but I'd rather have a one button system. I think you could get your skill level up then go to an arcade and smoke them. Each machine will play a slight bit different just due to wear and quirks in it, but I would bet after a few rolls you could get it nailed down and walk away with some nice prizes. I play just as well on mine as I do on the real one (i.e.l I kinda suck) but I do have alot of fun at it.

Brad

Ixliam

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:December 01, 2018, 01:23:31 pm
  • DIY Skee-Ball Man
Re: DIY Skeeball
« Reply #109 on: August 06, 2005, 06:38:09 am »
Here is the source code for the program just for the record

Code: [Select]
/* Roller-Ball PC Interface
 * compiled with Borland C++ version 5.22 under Windows XP Pro
 * Copyright (c) 2005 by Brad P. Wilson, Austell GA - USA
 */

#include <stdio.h>
#include <pc.h>
#include <bios.h>
#include <conio.h>
#include <unistd.h>
#include <allegro.h>

#define DELAY  3000000 // Increase to slow down score counting

void delay(void);

int main(void)
{

if (allegro_init()) {
    allegro_message("Cannot initalize Allegro.\n");
    return 1;
  }

install_timer();

if(install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL)) {
  allegro_message("Sound Error: %s", allegro_error);
  return 1;
}

set_volume(255, 255); //digital and music to max levels

install_keyboard();
set_keyboard_rate(0,0);

    int roll;
    int ball=0;
    int skbscore=0;

    printf("------------------------------------------\n");
    printf("- Brad Wilson's Roller Ball PC Interface -\n");
    printf("------------------------------------------\n");

/*Initialize Skeeball**/

//   0x00 ALL OFF
//   0x01 DS0 ON
//   0x04 DS2 ON
//   0x05 DS0 & DS2 ON

    (outportb)(0x378,0x00); //Everything off

    bool score1 = false;
    bool score2 = false;
    bool score3 = false;
    int bkey=0;
    SAMPLE *SndFx;

    do
    {
        roll = readkey();
printf("Key - %d\n",roll);
        switch(roll)
            {
            case 353: printf("         Ring 10\n");
SndFx = load_wav("10ring.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
skbscore += 10;
                                        clear_keybuf();
            break;

            case 4979: printf("         Ring 20\n");
SndFx = load_wav("20ring.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
skbscore += 20;
            break;

            case 4465: printf("         Ring 30\n");
SndFx = load_wav("30ring.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);     (outportb)(0x378,0x00);
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
skbscore += 30;
            break;

            case 6007: printf("         Ring 40\n");
SndFx = load_wav("40ring.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);     (outportb)(0x378,0x00);
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
skbscore += 40;
            break;

            case 2409: printf("         Ring 50\n");
SndFx = load_wav("50ring.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
delay();
    (outportb)(0x378,0x01); //Score Count
    (outportb)(0x378,0x00);
skbscore += 50;
            break;

            case 2666: printf("         Ball Count\n");
    // PlaySound("gutter.wav", NULL, SND_ASYNC);
    (outportb)(0x378,0x04); //Ball Count
    (outportb)(0x378,0x00);
ball +=1;
            break;

            case 5750: printf("Program Exit.\n");
            break;

            default: break;
            }

if(skbscore >= 240 && score1 == false)
{
//PlaySound("240score.wav", NULL, SND_ASYNC);
SndFx = load_wav("240score.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);
score1 = true;
}
if(skbscore >= 450 && score2 == false)
{
SndFx = load_wav("450score.wav"); // or .voc
play_sample(SndFx, 255, 128, 1000, 0);
score2 = true;
}
if(skbscore >= 900 && score3 == false)
{
//PlaySound("900score.wav", NULL, SND_ASYNC);
score3 = true;
}
if(ball == 9)
{
// PlaySound("gameover.wav", NULL, SND_ASYNC);
ball = 1;
skbscore = 0;
score1 = false;
score2 = false;
score3 = false;
        }

printf("Score: %d", skbscore);
printf("     Ball: %d\n", ball);
    }
    while(roll != 5750); // Key M is EXIT - Switch to start later.

    (outportb)(0x378,0x00);
    destroy_sample(SndFx);
    remove_keyboard();
    allegro_exit();
    return 0;
}

void delay( void )
{
     long x;
     for ( x = 0; x < DELAY; x++ );
}

Brad

Bumblebounces

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:January 26, 2016, 07:57:28 pm
  • I ever tell ya 'bout Bumbles? Bumbles...BOUNCE!
    • Starbase 74
Re: DIY Skeeball
« Reply #110 on: October 27, 2005, 02:41:02 pm »
Wanted to give your thread a bump and ask some questions.  I followed your progress in January with great intrest as I have a love for Skee Ball.  Unfortunately, I don't really have room for one in my game room but I am always hopeful that I will someday have a place (if I can just get the air hockey that no one uses out of here, I could do it). 

Anyway, I have the wood working skills and tools to accomplish the goal of building but I am a little short on the code writing and circuit building you did in your project for the scoring.  Was wondering if you would share a little more detail on how you implemented the code you posted and if you plan to let the circuit out as you hinted below?

I do plan on putting mine online along with a website, possibly even selling the scoreboard circuit if someone wanted to go that route.

At this point, this is just a research venture to see if it's a project that is feasable for me to complete.  I know I could do the wood and cab parts of it and I am pretty handy with wiring and even a little bit of simple electronic circuits but the code is a total mystery. 

Also, I was wondering how the net came out and have you ever gotten your "one button start" solenoid/pullchain ball release going?  Some pics of the totally finished project would be great.

Thanks

Bumble


Onji

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 169
  • Last login:March 11, 2022, 02:50:23 pm
Re: DIY Skeeball
« Reply #111 on: September 08, 2006, 12:49:13 pm »
How the heck did this project end? updates just stopped :(

lwkett

  • Trade Count: (0)
  • Newbie
  • *
  • Offline Offline
  • Posts: 1
  • Last login:August 07, 2023, 03:50:57 pm
Re: DIY Skeeball
« Reply #112 on: March 29, 2007, 12:32:25 am »
Sorry to necro this thread, but does anyone have that .zip file that has brad's original files in them?

I'm looking for dimensions to build my own skeeball this summer, and was hoping to start from somewhere other than the local arcade..

thanks!

Lance

Virgil Tracy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 36
  • Last login:October 27, 2008, 04:53:20 am
  • I want to build my own arcade controls!
    • www.virgil.tk
Re: DIY Skeeball
« Reply #113 on: March 29, 2007, 06:29:45 am »
Sorry to necro this thread, but does anyone have that .zip file that has brad's original files in them?

I'm looking for dimensions to build my own skeeball this summer, and was hoping to start from somewhere other than the local arcade..

thanks!

Lance

A copy for me too please

missioncontrol

  • MC-Retro says Wot!
  • Trade Count: (+13)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7855
  • Last login:May 23, 2021, 12:53:30 pm
Re: DIY Skeeball
« Reply #114 on: August 14, 2007, 01:00:31 pm »
ahhh man the photos are all gone. I was planning on showing this to a friend who is considering building a skeeball....

shardian

  • Saint is the evil mastermind
  • Trade Count: (+23)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9218
  • Last login:August 21, 2015, 03:11:31 pm
  • Friends don't let friends build frankenpanels...
Re: DIY Skeeball
« Reply #115 on: August 14, 2007, 02:12:08 pm »
...and that is why you are supposed to upload the photos to the site... ::)

This thread did kick ass. Too bad all of the pics are gone.

missioncontrol

  • MC-Retro says Wot!
  • Trade Count: (+13)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7855
  • Last login:May 23, 2021, 12:53:30 pm
Re: DIY Skeeball
« Reply #116 on: August 17, 2007, 10:58:31 am »
temp holding cell of what pictures I have obtained so far. There are still a few I'm trying to get via the wayback machine.

http://s105.photobucket.com/albums/m221/lost_toolz/test/?start=0

hopefully we can get them into the proper order of the thread somehow....
« Last Edit: August 17, 2007, 11:00:51 am by missioncontrol »

saint

  • turned to the Dark Side
  • Supreme Chancellor
  • Trade Count: (+6)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6144
  • Last login:March 17, 2024, 07:49:54 am
  • I only work in cyberspace...
    • Build Your Own Arcade Controls
Re: DIY Skeeball
« Reply #117 on: August 17, 2007, 02:51:07 pm »
Thread fixed.  A few missing still sadly, and no .zip file.

edit - thanks to MissionControl for hunting down the pix!
« Last Edit: August 17, 2007, 02:54:33 pm by saint »
--- John St.Clair
     Build Your Own Arcade Controls FAQ
     http://www.arcadecontrols.com/
     Project Arcade 2!
     http://www.projectarcade2.com/
     saint@arcadecontrols.com

norax

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:September 04, 2007, 12:45:01 pm
  • I want to build my own arcade controls!
Re: DIY Skeeball
« Reply #118 on: September 04, 2007, 12:43:59 pm »
Anyone have the dimensions or plans for this project? Sadly the zip file in the first post seems to be missing. If anyone has a copy of the zip I'd be glad to host it.

ARTIFACT

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 754
  • Last login:May 30, 2018, 12:32:23 am
    • ARTIFACT - my scratch designed & built arcade cabinet
Re: DIY Skeeball
« Reply #119 on: September 05, 2007, 10:42:14 am »
This is AMAZING! wow...