Main > Main Forum

Q*Bert Knocker writeup, correct me on parts

(1/8) > >>

SirPoonga:
Right now the q*bert knocker isn't finished as I still need a solenoid.

BUT I've been getting alot of questions about it so I'm going to do a summary.  A better writeup with pics will be on my website ONCE I get my cab done (technically, my cab will never be done:))

OK.
Two things you need, hardware and software.

Hardware:
I am hooking the knocker up to the parallel port.
Building it can be found here:
http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html
I hooked up the relay to the 1st data pin.  That's why in software I only output "0x01", only need to output to that pin.
I'm using the safe new design half way down the page.
Someone with electronics expertise can you tell me if I need I to ground to the parallel port as in the schematic I see two grounds.  I know that isn't the best thing.  Since I am hooking up to my 5v line on my computer I should just be able to hook up to just that ground and only have one pin in use on the lpt port.
I assume I hook up the PC's 5v line to the Vcc and the ground to the ground in the schematic.


Software
gottlieb_knocker is found in "src\sndhrdw\gottlieb.c"

Here's the original function
void gottlieb_knocker(void)
{
     if (Machine->samples)
     {
           if (!strcmp(Machine->gamedrv->name,"reactor"))      /* reactor */
           {
           }
           else      /* qbert */
                 sample_start(0,44,0);

     }
}

Assuming VCMame (Visual C++ Mame) I will change too

#include <conio.h>

...

void gottlieb_knocker(void)
{
     if (Machine->samples)
     {
           if (!strcmp(Machine->gamedrv->name,"reactor"))      /* reactor */
           {
           }
           else
                               {      /* qbert */
                          //sample_start(0,44,0);
                                             _outp(0x378,0x01);
                                            //use _outp(0x378,0xFF); to be safe and output to all 8 pins
                               }

     }
}

A couple of things.
If you still want the sample to be played uncomment the sample line.
I'm not sure how _outp() works yet.  I don;t know it if permanently turns the knocker on or if I have to do a _outp(0x378,0x00); in there too.  Won't know until I have hardware:)  With that said the above code is untested.

I will reply here if I get the solenoid and have it working with anything new I've learned.

In my cabinet I plan on mounting a strong bord, like oak, to the interior where the solenoid hits.  I'm sure it isn;t a powerful solenoid, BUT MDF dents easily so after awhile it might hurt the cab to the poit the solenoid doesn't hit the cab.  Of course, that's only if I do mad q*berting.  Just a thought,  I might for now just hit the inside of the cab, if it becomes a problem then deal with it:)


Note: Check out the rest of that guys site, lots of electronic schematics to do cool stuff, like one people here might be interested, a vga to tv converter.
http://www.hut.fi/Misc/Electronics/circuits/vga2tv/vga2palntsc.html
I'm not going to try that, I'l like to though...

Beley:

--- Quote ---I'm using the safe new design half way down the page.
Someone with electronics expertise can you tell me if I need I to ground to the parallel port as in the schematic I see two grounds.
--- End quote ---

SirPoonga:
But isn't the ground on the lpt port AND the ground formt he power cord going to the same ground in the computer anyway?

1UP:
Ah, finally, the beginnings of force feedback in Mame!  As soon as I get my illuminated buttons working, my next project is to finish the driver circuit fo my T2 guns.  Dave Widel has the software halfway there, maybe once I publish the circuitry, he'll get the second gun supported!  ;D

Now, if only someone could cleverly hook up DirectX support for all the force feedback steering wheels out there, maybe we can get a proper Outrun going!

Billabong:

--- Quote ---Right now the q*bert knocker isn't finished as I still need a solenoid.

A couple of things.
If you still want the sample to be played uncomment the sample line.
I'm not sure how _outp() works yet.
--- End quote ---

Navigation

[0] Message Index

[#] Next page

Go to full version