Give me back my light gun!
With the end of the CRT screen era, the good ol’ light guns no longer work.
CRT and LCD/Led/Oled/xxx screens are so technically different that there is no way to make a LCD screen reacts like a CRT and make it ‘compatible’ with light guns.
Like a fan of these shooting games, I think it’s a shame, I really miss them.
Next generations of video game systems tried to revive them with solutions like the Wiimote, the PSMove, etc.. but accuracy is not there, and so they suck.
While some personal projects attempted to fix this issue, they are dead, on hold or hard to find.
So I resurrect this project, started in 2010 (yes 10 years later!) with, I hope, if not a solution at least enough information for someone else to succeed.
Because, yes, this ‘project’ is another move on the hardware side, far from my sphere of knowledge. So I doubt I’ll be able to produce a final product...but I’ll try, for sure!
Please note that, for now, I’ll focus on the Megadrive light guns.
Because I know the system, it will help me focus on the light gun and not the protocol or controller (so yes, I don’t know a thing about the Zapper for now).
I’ll be more than happy to add more details on others systems but not for now.
If you don’t know yet of work/worked a light gun before LCD, you should read the Wikipedia page about it, especially this part which is exactly how a light gun worked with CRT screen :
https://en.wikipedia.org/wiki/Light_gun#Cathode_ray_timing
For more details, Nemesis explained it well also on this Spritesmind post
https://gendev.spritesmind.net/forum/viewtopic.php?p=12522#p12522
So a CRT screen doesn’t ‘blit’ the picture to the screen, it draw it point by point, line by line
It’s so fast that our eyes see nothing but the full picture.
Hopefully, it’s note the case for the light gun light sensor.
When the electron beam / the point currently drawn on the screen is right on the light gun field of view, it gives this status back to the system it is connected to.
The system knows exactly where it’s currently drawing a point and so converts it to a pixel coordinate.
It is the most important part of the process : the light gun DOESN’T know where it is aiming at on the screen. It’s the main system which knows it.
Knowing that, you may understand how speed is important.
If the light gun triggers to late, main system will think you’re aiming more on the right or is worst case more on the bottom
The same problem arises if the main system has the information too late, it is already drawing somewhere else on the screen.
Based on how I understand a lightgun works, I’m looking for ways to resolve these 3 problems
An optional point I’d like to add : OSD for calibration, debug or cheating
<todo : fixed coordinate vs percent coordinate>
<TODO : wiimote>
Samco
https://www.hackster.io/samco/samco-arduino-powered-ir-light-gun-mouse-05d110
<todo>
Light gun and method for determining shot position
http://www.freepatentsonline.com/9039537.html
Finding distance of rectangle with known aspect ratio in OpenCV
<todo : rate, connexion issue, available ICs>
<todo : rate, connexion issue, available ICs>
<todo : rate, connexion issue, available ICs>
<todo : rate, connexion issue, available ICs>
<todo : rate, connexion issue, protocol>
<todo: composite signal vs rgb/scart>
<todo: Horizontal porch>
<todo: Vertical porch/VBI>
<todo: PAL/NSTC/…>
<todo: LM1881>
<todo: LMH1980>
http://www.ti.com/lit/an/snla097a/snla097a.pdf
<todo: ADVxxxx>
<todo:MAX7456>
<todo: X coordinate>
<todo: Y coordinate>
<todo: passthrough cart, problem with 32x>
<todo: external connector>
https://danialchitnis.com/fpga/index.html
https://nootropicdesign.com/video-experimenter/
MAX7456
https://www.tinyosshop.com/arduino-osd-shield
https://fr.hobbytronics.co.uk/max7456-on-screen-display
https://www.hobbytronics.co.uk/max7456-osd-breakout
Awesome Eke’s Light Gun document explains how the 2 main light gun works.
https://gendev.spritesmind.net/mirrors/eke/gen_lightgun.pdf
Cleaning & Restoring: Konami Justifier
https://www.youtube.com/watch?v=3nXHzAuo8Yk
Details
http://www.emu-land.net/forum/index.php?topic=13239.0
What photodiode or phototransistor does the Konami Justifier use?
Blue to Pink
http://www.emu-land.net/forum/index.php/topic,57847.0.html
http://www.markwylie.ca/2015/02/sega-konami-justifier-hack-convert.html?m=1
The RED hater
Menacer Patent
https://segaretro.org/Menacer#Patents
Phaser to Megadrive Menacer
http://www.benryves.com/journal/tags/Light_guns
While it’s not really a Megadrive light gun and no megadrive game was made to support it, the SMS light phaser could clearly be used on Megadrive to play SMS games.
I also made some Megadrive demo using it and I could tell you it’s a shame Sega didn’t ask to support it to Konami : its accuracy is almost perfect!
A To SNES Bazooka
https://leandre.hexeo.be/2015/11/18/namco-npc-103-teardown/
(focus on traditional light gun, not IR Light gun like http://solid-orange.com/1611)
Obsiously the best alternative is to keep a CRT screen, if your gaming room is big enough.
For now, you could find some for few bucks if not free.
But for how long ? They’ll soon become rare or no longer working.
In some years, I bet it will be interesting to fix them but for now...
Using MAME or any other emulators, you can emulate the light gun through a mouse drive.
Several “mouse gun” exist, most of them are listed on
http://light-gun.blogspot.com/p/list-of-light-guns.html
The most known are the EMS Top Gun and Aim Track.
http://www.arcadeguns.com/index.php?main_page=product_info&products_id=278
The Sinden Lightgun is an alternative everyone is waiting for.
Why ? Because it doesn’t use the IR method but the Rectangular positioning method.
So, in theory, it could work with any system.
https://www.sindenlightgun.com/
https://hackaday.com/2018/06/28/a-lightgun-for-lcds-thanks-to-maths/
This one is interesting because it handles the problem of transferring coordinate another way :
It lets the original gun do it.
It computes the coordinate and lights on a led glued to the light gun at the right moment, emulating the electron beam.
Too bad it makes use of a wiimote / IR so accuracy isn’t there...but I like the idea!
http://www.lightgunverter.com/
https://en.wikipedia.org/wiki/Light_gun#Positional_guns