-continued from last post-
Mmm, to take it form an other angle:
A simplified original arcade was something like this:
ROM <--> CPUs <--> memory <-- input device
While mame tries to fool the ROMS that it's the same, mame's setup is more like this:
ROM <--> emulated CPUs (mame core) <--> emulated memory (mame core) <--> mame (OS specific) <--> OS API <--> input device driver <--> input device.
Depending on hardware, a flash (shown as"~~>") in an original lightgun game went, depending on the game:
gun trigger --> memory --> CPU --> ROM --> CPU --> Video --> monitor ~~> gun sensor --> memory --> CPU --> ROM
orgun trigger --> gun PCB --> video ~~> gun sensor --> gun PCB <--> memory <--> CPU <--> ROM
Actalabs lightgun is very much like the second way, except for the extra OS steps.
gun trigger --> gun Box --> monitor ~~> gun sensor --> gun Box --> USB driver --> HID mouse driver --> OS memory --> mame (OS specific) --> mame (core) --> ROM.
I thought you wanted:
gun trigger --> input driver --> OS memory --> mame (OS specific) --> output driver --> gun box ~~> gun sensor --> gun box --> USB driver --> mouse driver --> OS memory --> mame (OS specific) --> mame (core) --> ROM
Now I think you want:
gun trigger --> input driver --> OS memory --> mame (OS specific) --> mame (core) --> ROM (hacked?) --> mame (core) --> mame (OS specific) --> output driver --> gun box ~~> gun sensor --> gun box --> USB driver --> mouse driver --> OS memory --> mame (OS specific) --> mame (core) --> ROM
Notice how much longer your idea is if the ROM determines the flash. There is at least more one frame between the trigger pull and when mame gets the input than the currect actlabs setup, and I'm glossing over the ROM hack/monitor that needs to be done.
Yes, if I were to use a real arcade gun, MAME would need to do exactly this.
Not necessarily. Depends on how the gun is connected to computer, the OS, the driver the gun uses. In order to get the closest to simulating as much as possible in software, yes. But it should be done in hardware in most cases (ie: non-lightgun games such as OpWolf).
But with a hack like this, you don't need an arcade gun and special drivers. If someone wants to program it, yippee. But don't faint and call me Satan just for proposing something somewhat nontraditional.
Please don't confuse me with other people in this thread. I don't even think they see you as satan either, but *shrug* it's your veiw.
As for writing stuff, if someone else writes an output directInput or win32 API compatable driver (probably a forcefeedback joystick) to signal the box, and someone does the output wiring to the box, and someone hacks the ROMs or changes the drivers, then I'll make the input/output changes in mame. Notice: a) I take the easiest part

, b) the first two steps are out of my league, and c) hacking the ROMs and/or changing the drivers is the biggest part.