what would would be any way to get a second gun to work... Even if it's just a way to hack it with a special version of mame (analog mame) and windows 98.... which currently works, but the guns, when trigger pressed at the same time, will produce two shots from one player. (I'm assuming this is because they both store the screen location for the shot in the same memory location).
Been seeing this assumption a couple times. It's sort of right. I tried quickly explaining this once deep in a thread IIRC; let me try a more in depth explaination.
Mame's lightgun input screen location reads are through win32 api. Win32 api only has one mouse (the system mouse), so there is only one screen location at a given instant. All mice, trackballs, and lightguns change this data. This is a windows "feature". This is why mame/analog+ shoot at one screen location when two lightguns' triggers are pulled at the same time.
Mame's other mouse input reads are from directX directInput api. This has mouse info for the system mouse
and each usb mouse in winMe/9x. These reads are of the mouse and lightgun buttons, and the mouse (but not lightgun) movements. This is how analog+ can have two usb trackballs at the same time, and how the lightgun triggers register separately.
So it's not the lightgun drivers storing the screen location in the same memory spot, mame is reading from win32 api's one system mouse location.
FWIW: Mame is using win32 api as a hack to read lightgun locations because directInput gives different screen location (absolute mouse location) info depending on with version of windows is used (some versions get only "garbage" according to source code comments).
If I could somehow get the lightgun data through directInput instead of win32 api, you could use two lightguns just like trackballs (ie: same winMe/9x limit). WIP