Build Your Own Arcade Controls Forum

Main => Main Forum => Topic started by: krick on February 12, 2004, 02:15:06 am

Title: dual track balls for marble madness?
Post by: krick on February 12, 2004, 02:15:06 am
Has anybody built a control panel with 2 track balls for marble madness?

If so, what kind of interface do you use?

The mouse hack won't work unless you can use a USB mouse (only one PS/2 mouse port).
Title: Re:dual track balls for marble madness?
Post by: shmokes on February 12, 2004, 02:24:55 am
Optipac

www.oscarcontrols.com
Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 12, 2004, 04:27:08 pm
You can use the OptiPac, USB mouse hacks, or one of Oscar's preconfigured mouse hacks.

http://www.oscarcontrols.com/   - for Oscar's USB hack - check the ordering & pricing info screen

http://www.ultimarc.com/ - for the Ultimarc OptiPac

http://jstookey.com/arcade/720/720-arcadejoy.php - I've got some information here about how I did a mouse hack, and there are also a few links to the two mouse hack pages that walked me through the process.

Windows 9x and XP have support for multiple trackballs using a special version of Mame called Mame: Analog+.   Get it here:

http://urebelscum.speedhost.com/

XMame has support for multiple mice under Linux.
AdvanceMame has support for multiple trackballs under Linux.

I think that the DOS Mame can handle 2 trackballs, but it they have to be serial mice.

Marble Madness is such a great game.  I've been playing it relentlessly.  I got a friend to come by regularly - I'm trying to get him to be as good as me so we can have some intense vs. action.

1 player mode is crazy enough as it is.  With 2 players, it's a whole new game.  What fun!
Title: Re:dual track balls for marble madness?
Post by: unclet on February 12, 2004, 05:27:27 pm
I eventually plan on adding 2 more spinners to my cab (for a total of 4) so my friends and I can play 4-player Warlords...... great game.  

I am going to use Analog+ for WinXP to get them all working.
Title: Re:dual track balls for marble madness?
Post by: shmokes on February 12, 2004, 05:27:43 pm
Optipac

www.oscarcontrols.com

Heh....I left out the link to the Optipac and the description of what you'd be looking for at Oscar Controls.  I've been getting very little sleep lately between school and work  :P
Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 12, 2004, 05:32:24 pm
I eventually plan on adding 2 more spinners to my cab (for a total of 4) so my friends and I can play 4-player Warlords...... great game.  

I am going to use Analog+ for WinXP to get them all working.

For Warlords, spinners work well, but the actual game used paddles which are powered by pots (which I guess you are already familiar with - 6 Dual Strike hacks!?!?  ;D)  I think that there's a substantial improvement in controlling Warlords with a paddle, and a paddle should be cheaper and easier to make than a spinner, as well.  Unless you've got other plans for 4 spinners, it might be worth thinking about making 2 paddles and 2 spinners or something along those lines.
Title: Re:dual track balls for marble madness?
Post by: krick on February 13, 2004, 10:31:52 am
I think that the DOS Mame can handle 2 trackballs, but it they have to be serial mice.

Yeah, I've been putting a lot of thought into this.  My motherboard has 2 serial ports so I think that would be an ideal route.  However, I'm not sure about running the DOS version of MAME.  I'm currently running the Win32 version on Windows 2000.

In a DOS only system, I'd have to give up my wireless USB network adapter and I'd be unable to surf the web if necessary.

Though I suppose I could set up some kind of dual boot with DOS and Windows for that.

What's the MAME performance under DOS like?  Better or worse than under Windows?
Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 13, 2004, 10:41:26 am
From what I hear, DOS mame is probably faster for a really old/slow computer without much memory.  Windows will do a much better job of handling memory and loading from the hard disk than DOS if you have a halfway decent computer.

My preferred interface is USB.  It has the widest range of multiple trackball possibilities.

I think you already realize this, but as of right now Mame will not handle multiple trackballs under Windows 2000.
Title: Re:dual track balls for marble madness?
Post by: krick on February 13, 2004, 11:01:06 am
I think you already realize this, but as of right now Mame will not handle multiple trackballs under Windows 2000.

*SIGH*  yeah, I know.

I really want dual serial support under win2k.

I think the problem is trying to latch onto the mouse driver functionality.  It's obvious that Micro$oft doesn't want dual mice used.  How hard can it be to write a non-mouse driver that reads from the serial ports and interface it with MAME?


Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 13, 2004, 11:10:14 am
Somebody just recently did something very similar.  I played around with it a little, and it shouldn't be difficult to add it into Mame if I have time, and if there's enough interest (sounds like there is - from you, at least ). ;D

Here's a link to my progress page (not much progress yet!):

http://jstookey.com/arcade/cpnmouse/

Here's a thread from a few days ago.  I was hoping to gauge interest in adding support for multiple mice in Windows 2000, but I didn't get much of a response.

http://www.arcadecontrols.org/yabbse/index.php?board=3;action=display;threadid=15884
Title: Re:dual track balls for marble madness?
Post by: krick on February 13, 2004, 04:23:09 pm
I see that you're spending time trying to compile it with MinGW/GCC.

What is the source set up for currently?
Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 13, 2004, 04:30:13 pm
His source comes with makefiles for use with Visual C++'s "nmake" command line program, which is obviously the most straight-forward approach, but for Mame development MinGW is where it's at.

The API and the demo program compiled with MinGW.  I wouldn't need to compile or modify the driver to get Mame to work with Windows 2000.  (Oooh, I gotta update the web site - it's a little bit out of date.)
Title: Re:dual track balls for marble madness?
Post by: krick on February 13, 2004, 04:53:12 pm
His source comes with makefiles for use with Visual C++'s "nmake" command line program, which is obviously the most straight-forward approach, but for Mame development MinGW is where it's at.

ah.  I see.

The API and the demo program compiled with MinGW.  I wouldn't need to compile or modify the driver to get Mame to work with Windows 2000.  (Oooh, I gotta update the web site - it's a little bit out of date.)

What has to done to MAME to make it work?

I thought directInput was supposed to have a generic way to address game controllers, regardless of input (USB, game port, serial, parallel) why use a mouse driver at all?  It just seems to confuse windows.  Someone should just make some sort of generic "serial controller" driver for a trackball on the serial port that directInput can talk to.  In fact, they could base the driver on existing mouse code, just don't identify it as a mouse to windows.



Title: Re:dual track balls for marble madness?
Post by: jerryjanis on February 13, 2004, 05:25:38 pm
What has to done to MAME to make it work?

To add support for the CPNMouse so that Mame will work with Windows 2000 is easy enough (maybe a couple of days' work) but I'm afraid that mixing 3 different mouse control options into Mame will make it too confusing for the users.  It's already confusing as it is right now.  I'm thinking about possibly putting some extra effort into it to make it so that a variety of options are available with minimum of confusion by implementing a system of mouse input plugins.

Quote
I thought directInput was supposed to have a generic way to address game controllers, regardless of input (USB, game port, serial, parallel) why use a mouse driver at all?  It just seems to confuse windows.  Someone should just make some sort of generic "serial controller" driver for a trackball on the serial port that directInput can talk to.  In fact, they could base the driver on existing mouse code, just don't identify it as a mouse to windows.

To be honest the idea of writing a mouse driver scares the crap out of me.  I'm hoping that I can learn a little bit about it while playing with cpnmouse.  I think that limiting the mouse capabilities to serial-only isn't the best idea, when other options are available that could add support for other mouse devices.  My guess is that serial ports on computers might become scarce in the near future.  The CPNMouse solution is actually a working solution that is similar to your idea and it works with ps/2, usb, and serial devices and treats them all the same.

Your idea, rawmouse, direct input, and cpnmouse all have different advantages and disadvantages.  That's why it would be nice to have a system where they could all be easily made available.

Heck, it's possible that hidden away on the internet somewhere is a serial controller driver like the one you describe.  Hee hee, and if I ever manage to actually get the mouse input plugin idea working, then it would be a simple matter to create a new plugin when it's finally discovered (or written).

Do you know anything about writing serial device drivers?
Title: Re:dual track balls for marble madness?
Post by: krick on February 13, 2004, 06:23:18 pm
Do you know anything about writing serial device drivers?

Unfortunately I don't.  :(
I guess I could get some books and learn though.

I did work for a few years in the game industry (PC games) and the closest I got to drivers was trying to fix some buggy code in our product to support the MS Sidewinder joystick.  This was all back in the DirectX3/Directx5 days when directInput was still kinda iffy.  It's been a while since I've even programmed in C/C++.  In fact, I've been a Java programmer for the past 3 years.

I have seen a bit of code on the net where people wrote custom USB drivers to interface console controllers (PS2, gamecube, etc...) to the PC.  Maybe we should be exploring that avenue.   If we could convince windows that trackballs and spinners are just USB game controller devices, it would just look the other way and not hassle us. :)

I think you're right about (standard) serial ports though, they're gonna eventually be extinct.

If we could get something working with USB, maybe one of those serial-to-USB adapters will work.
Title: Re:dual track balls for marble madness?
Post by: XtraSmiley on February 13, 2004, 10:22:47 pm
I just went out and bought a Marble Madness machine.... no room on my MAME CP for 2 trackballs!
Title: Re:dual track balls for marble madness?
Post by: krick on February 18, 2004, 11:44:34 pm
Do you know anything about writing serial device drivers?


I found a few links that might lead to something useful...

This is a page from a guy who developed an interface and driver
to connect N64 and PSX console controllers to USB...
http://www.zen35383.zen.co.uk/stnield/usbpads.htm

to quote him...  "I realised that I didn't actually need to write a driver... Win98 comes with built in support for HID devices, and 'all' I had to do was make the report from my interface HID compliant."


This is a page that I found on the Microsoft site titled,
"Developing HID Minidrivers for Non-USB Devices for Windows 98"...
http://www.microsoft.com/whdc/hwdev/archive/driver/hidnonusb.mspx

Which leads me to this page on the USB.org website HID page...
http://www.usb.org/developers/hidpage/

...and this page that lists a bunch of microsoft HID related dev pages...
http://www.usb.org/developers/hidpage/microhid/


Maybe some of this will end up being useful.