Archiv verlassen und diese Seite im Standarddesign anzeigen : Project D-MON (Comprehensive MAME solution for use with soft 15khz)

26-11-2011, 01:56
Project D-MON (comprehensive solution for MAME builders)

First of all, sorr for the English lingo, I don't speak german, but seeing the relevancy of this project to soft15khz I felt it needed to be posted here.

I've been building mame cabinets for a while now, and always had to resort to some awkward solutions in one area or another. To circumvent all the hassles and make everything seamlessly integrated, I've been working on an idea for a while, and have finally finished my first prototype a few days ago.

I'd like to introduce the result of my efforts, dubbed D-MON V1!

What is D-MON? It is a circuit board aimed at seamlessly integrating a PC into an arcade cabinet, using soft15khz!

-One-button power on for all 240v devices in the cabinet
-Monitor delay circuit for simple use with soft15khz "Neat-boot"
-2x10W amplifier circuit for driving cabinet speakers from the pc
-Headphone jack option
-Optional connection for computer controlled switching of any added circuitry (lights, fans, whatever you want)

The design is fairly simple, and I will make the schematics of the prototype public for anyone who wants to give building it himself a shot. (Production version has been improved quite a bit in several aspects, but the basic principle's the same and the prototype will work just fine.)

D-MON in detail:

The circuit operates entirely from your PC's powersupply, so no wallwarts or extra powersupplies are necessary.
You can virtually throw out everything from your cabinet aside from the most basic things needed for a mame setup.

Amplifier section:
It has been laid out to accept input from a soundcard's output. Volume is adjustable with separate trimmer pots on the pcb for each channel. There is a volume/headphone header on the board aswell, that can be wired up to the front of your machine with a switched jack socket (properly wired, plugging a jack in will mute the amplifier), or to a stereo potentiometer. It can also be entirely bypassed by setting a jumper for each channel. This is for those who either wish to use volume control from the PC and no headphones.
Amplified output is 2x10Watts RMS.

One button power on:
There is a 240V input header on the board, and four switched output headers.
Since D-MON is powered by the PC power supply, it comes on when the pc does. Based on this, I've added circuitry to support line operated device switching. When the pc is powered on, a delay timer will start counting down. After the delay countdown is over, the circuit enables line voltage to the output headers, thus activating any 240v devices you have connected. Delay time is adjustable from 10ns, to ~10 seconds with a trimmer pot on the pcb. There is also a jumper to disable the delay circuit and provide power to any device as soon as the computer is turned on. (This is mainly for diagnostic purposes though, as 10ns is so short, you should not even notice it, but I decided to leave it in just in case.)

Monitor delay "Neat boot":
There are headers for RGB in and output on the board, and a header for connecting to your pc via a parallel port (USB to parallel converters should work after proper setup). Routing your monitor input through the RGB headers on the D-MON board will enable you to keep the video output from damaging your arcade monitor during POST, with the added bonus of hiding the ugly distorted screens that a j-pac will get you.
How this function works:
You route monitor power through the board via the switched line output headers. There is a second timer circuit on the board. Once the power countdown has ended and your monitor is switched on, this will also power the second timer/trigger circuit. Upon bootup, your computer (WinXP) should set the data pins of the parallel port high, which is the trigger signal to start the second timer (adjustable from 10ns to 10sec delay). Once the countdown ends, the RGB outputs on the board are connected with the RGB inputs, and your monitor will thus only get nice 15khz from your computer. There is a jumper to bypass this timer as well.
D-MON's layout is such that you can use it for dual-monitor setups aswell, however this is an optional feature and unless requested, components will not be installed by default. (Running head to head racers from a single computer, you can route both monitor outputs through the board.)
This is virtually the above function. In short, with D-MON your cabinet will boot neatly into your front end without any garbage, windows or linux boot screens, for a neat, professional look.

Optional computer controlled switching:
It is quite possible to switch up to 4 additional circuits via the PC. These can be anything from leds, to 240v neon lights. The basic board has an expansion header that forwards an additional 4 data lines from the parallel port. Small, optocoupled relay expansion boards can be hooked up to this header for switching any sort of equipment via software. Without the expansion boards, you must leave this port unconnected. With some creative thought, it's possible to use these for computer controlled chaselight programs or any purpose you wish.


Q: What operating system does this require?
A: It does not matter. The board can be operated independent of software, though the computer controlled switching aspects are currently windows only.

Q: How does the monitor switching work under linux or other operating systems that might behave different with regards to the parallel port?
A: I am uncertain if windows xp behaves the same way on all computers regarding the parallel port, thus a small command line program (GPL license) is available for windows and dos to make sure the required data pins are set high on your parallel port. If anyone involved in programming can help me with this, it will be available for other OSs too.

Q: But without support for linux the timer will never start to count down for the monitor switching?
A: There is a jumper you can set to enable the timer even without the trigger signal from the parallel port, however in this case the accuracy of switched timing will depend on how reliable your software is with starting times.

Q: Can I use this with a Jpac to get rid of the boot screens?
A: Of course you can!

Q: I already have my cabinet set up and I would like to get rid of the boot screen, but I would not like to pay full price for all the extra features I will not be using. Do you have a solution?
A: If there is enough interest, I will make a separate version that is just to time the monitor signal.

Q: I am building a dual-monitor setup that I would like to control from a single PC. Can your board accomodate two monitors?
A: The D-MON PCB is be made so that it can, but by default the circuitry required will not be installed. This option will cost 4EUR extra.

Q: What if I want to bypass an aspect of the system or only use certain parts?
A: There are jumpers on the board to bypass virtually any function.

Q: How does this interface with my computer's port/powersupply?
A: You will get every connector necessary for use, however you will have to do your own crimping and wiring as I can not estimate what arrangement your cabinet has, and how long cables you will need. There -is- a bit of soldering involved for the VGA and parallel port connectors. If this will be commonly requested, I will include the vga and parallel port connectors pre-wired. You will need to find a suitable vent-hole, or remove one of the pci slot back plates to route the cables for power through, and connect to a floppy power connector.

Q: Can I hook up a distribution grid to the line voltage outputs and hook up hundreds of lightbulbs?
A: You can but the board will not be happy with it. The relay switching mains is rated for 5Amps continous current. Any higher then that, and the relay contacts will burn. Also the output headers are rated 2.5Amps each, thus they would also suffer. Mind you, 5 amps AC is a -lot- of current for simple appliances. To give you an idea, you could hook up four 25" arcade monitors and that would be fine.

Q: I would like to add lit buttons. Can I hook the leds up to your PCB?
A: If you want to keep them lit solid, you can tap the power cable between the PC and the board. Mind you you must make sure your leds can take 12 volts or have proper resistors before each of them. If you want something fancy, you could hook them up with a small resistor on each to the switched mains expansion header for controlled lighting, like making a start button blink. In this case, you do not need the expansion relay circuits, but be warned, you have to make sure your LEDs power consumption is low enough (40mA per data line), as this way your pc's parallel port will be driving the LEDs directly. Any more then 40mA, and you will need to use added circuitry or risk frying your parallel port! (A fancy design would be to hook up leds to the player start buttons, one for each line, and all 1P buttons to a third, all 2P buttons to the fourth. You could make the buttons blink / stay lit on the buttons 'in play'!)

Q: How big are the D-MON boards going to be?
A: The current design will fit comfotably in a 9x18cm area.

Q: How much will this cost?
A: Not all that much! 50 Eur for the complete kit! The only other things you will need are your arcade cabinet and a key encoder :)

Q: But I could just go out and buy controlled distirbution strips and some junk pc speakers and rig those up.
A: You could... but as far as I'm aware you will be spending more and you still need to solve your monitor problems.

Q: What do I get for the price?
A: You will get an assembled circuit board ready for use, one female plug for every single connector header with crimp-on terminals, connectors for your parallel and VGA ports, a users manual, and a copy of any necessary software for the use via email. Remember I am not selling the software, I am forwarding it free of charge as a single package so you won't have to dig them each up on your own from the bowels of the internet.

Q: What about warranty?
A: I am doing this virtually from the kindness of my heart, I am not a company of any sort, thus I cannot give you any 'official' warranty. HOWEVER... If you fry something, I will still replace any possible failed boards at no cost other then shipping, even if the fault is admittedly because of user error! (Or if you wish to spare the hassle of postage, I will tell you what you killed and need to replace. The boards are sturdy, thus even novices can safely solder them, and they can take a lot of abuse.)

Q: Can you provide a PCB layout drawing so that I can make my own PCB?
A: No. The overall layout and design are my own hard work, I would not like to see cheap knockoffs. (I know I will anyways but at least they won't be the exact same thing.) If you wish to make your board yourself, you should have the know-how of turning a schematic into a layout anyways.

Q: Are you in this just for the profit?
A: No. I'm making the first version schematics public exactly because of that. However this has taken a lot of time and effort (learning to use CAD software took up quite a bit of time in itself...), and I would not like to just hand it all out free of charge.

Q: How can I buy one?
A: See below.

I will be making them as they are ordered, so I will be requesting money-down, via paypal.
The purchase price is 50EUR, of which I will be asking 20EUR in advance upon the placement of your order, and the remainder right before the board is ready to ship. Depending on my free time, the assembly of a board will typically only take a single workday.
I will be asking for 20 EUR in advance, and the remainder right before shipment.

Comments? Questions? Go ahead and ask!

29-11-2011, 07:42

Interesting. Is there a picture? I can't see one but it might be blocked here at work (picturehosters)

I have not finished reading yet but I already have a comment: why do the solution with the timed monitor switch?? Two connectors (VGA-in and VGA-out) with a simple circuit to check the frequency and let only 15kHz pass would do the job much better. Or did I get something wrong here??

29-11-2011, 08:51
why do the solution with the timed monitor switch??

yep, seems two solutions for one issue.

What is D-MON? It is a circuit board aimed at seamlessly integrating a PC into an arcade cabinet, using soft15khz!

Have in mind that most PC MAME encoders have this filter onboard. So I don't get the point here. Why using only frequency filter, when you get a fully featured keyboard encoder with freq filter on board?

29-11-2011, 09:08
That's actually something I have considered, but the timed-triggering was chosen, because this way switching will happen exactly when -you- want it, not when the driver loads.

A simple frequency monitor could work, but the problem is that windows does not load graphic drivers consistently with the same loading times. This way, you can set up your command line software to hold the relevant LPT data pin low, thus leaving your monitor blank, then set it high right the moment you want it to. This means that you can set it up so that the first thing you will see on the monitor will be your front end's intro video or loading screen, whatever you want.

Oh yes and there will be pictures. I'm installing the wiring into my mame cab right now and will have pics and a small video of it up hopefully by the evening.

29-11-2011, 09:11
Have in mind that most PC MAME encoders have this filter onboard. So I don't get the point here. Why using only frequency filter, when you get a fully featured keyboard encoder with freq filter on board?

From what I have seen, the J-pac does not actually cut the monitor signal, just filters out half of the sync frequency so your monitor doesn't fry. Which leaves you with a garbled mess while the PC POSTs. This way you just get a nice blank screen. Also see my post above.

As for why use it?
Maybe you're on a budget and you don't want to buy an arcade vga, a J-pac, a master-controlled connector strip, a set of pc speakers to rip apart, and you don't want to waste days getting what you need out of those items. With this and a keyboard encoder you have -everything- taken care of that you need for a mame cab, -and- it will be a more pleasant sight while booting.

29-11-2011, 15:46
hmm, sounds good. I think I got it.

For the LPT port there is possible a better solution. PCs with LPT Port are difficult to get these days.

29-11-2011, 15:47
Alright I'm done with the wiring, just waiting for some cleaned surfaces to dry before I fire it up to make a little demo vid.
Meanwhile here's some pictures of my prototype installed.
Your entire mame cab can be solved with this little wiring. Half of the connectors go to the PC right below, and the rest go to the neon lights, speakers etc.
Here's where the assorted connectors go, and you can also see the timing pots.

Mind you this is the prototype, the finished product will be smaller, neater, and also have some small helpful changes compared to this. I will assemble one of the final board designs tomorrow and snap a pic of them aswell.

29-11-2011, 16:01
USB-parallel converters should also work. (though untested at this point)

You can get IBM or Dell PIV systems fairly cheap and they all have parallel ports, and they should be more then adequate for pretty much any emulation.

29-11-2011, 21:01
To make things fun, the PC I used decided to act up. Do NOT buy an IBM for any purpose... the security 'dongles' on the motherboard can apparently die from simply moving the pc from one position to another and there seems to be no cure. I did manage to get it booting with error messages, but it takes twice as long for it to boot now...

Anyways, here's a video of D-MON in action. Amplified audio, lights/monitor switching, monitor delay, everything's handled by the prototype board.

30-11-2011, 09:10
I understand the reason why you use the switch-solution....but if - for any reason - there will be a longer delay in loading the soft15kHz-driver you might get a problem. Adding a filter would be very reasonable (IMHO).

You should consider to use screw terminals instead of those connectors. Most people don't have the tools (and/or skill) to crimp the cables.

30-11-2011, 10:10
I understand the reason why you use the switch-solution....but if - for any reason - there will be a longer delay in loading the soft15kHz-driver you might get a problem. Adding a filter would be very reasonable (IMHO).

You should consider to use screw terminals instead of those connectors. Most people don't have the tools (and/or skill) to crimp the cables.

If you set it up properly, that should not be an issue. You're supposed to set it up with the command line progs so that the trigger signal is sent just before the front-end starts. If the front-end starts, your graphics drivers will already be loaded.
Soft15khz is basically a modification of the drivers, so even if you rely on XP setting the pins high, when that happens, graphics drivers are already loaded.
Thusly that is not really an issue.

The screw terminals are a good idea! Personally, I Just solder the crimp pins to the wires. Much better then actually crimping. And I do like how easy it is to plug and unplug these plugs.
What if I used plugs that were not crimp-on style, but you had screw terminals in the plug itself? Not sure what that will do to price though.

30-11-2011, 23:20
WELL TIMED VIDEO: http://www.youtube.com/watch?v=T1BGY4XMnPk

I've adjusted the timing. The pc still has issues, but you get the point. With a properly set-up tinyXP, the entire boot process should be 30 seconds or so.