CV Gus #1 Posted March 6, 2010 Having designed and built a 5200 lightgun prototype, I'm now working on a CV one. It too uses an NES lightgun, although you wouldn't recognize the insides. The trick is that the CV does not have analog readings, as do the 2600, 5200, and 7800. Or the Commodore computers. So far, the second prototype does work- but too well. The problem is "stored current" in the gun. Even disconnecting all capacitors does not help. The problem is by 1/2 second to 1 second. Among some ideas I'm going to try is an LED to "eat up" the excess current. The gun, as with the 1970s light guns, works directly on dark/light tests, so the problems I've heard about with modern televisions should not exist here. The dark/light test would be used in any games this would use; otherwise, pointing the gun at a lamp or reflection would count as a hit- just like some of those pre-programmable games of the 1970s. What's holding me up is a total lack of money, and a lack of materials. I literally have to use some junk I have lying around. And to test the gun's readings, I might use Ghostblaster on pause, or Choplifter!- after hitting the RESET button quickly, so the white chopper is all that's left. Quote Share this post Link to post Share on other sites
CV Gus #2 Posted March 10, 2010 Got it- well, by at least 95%. Probably part of the problem is that it is just a mess of wires, alligator clips, and twisted-together wires. And merely touching the base of a transistor can trigger a current. But it does now work. I'm going to go to a second-hand place up on the "other hill" to see if they still have the old Vic-20s. I can properly test the gun with one of those, since I did used to program on Commodore computers. Question: If this thing does ultimately work as it should...are there any CV programmers interested in programming lightgun games for it? P.S.- The new design should make it work all the better for a 5200, too. Much more so. Quote Share this post Link to post Share on other sites
newcoleco #3 Posted March 10, 2010 It's pretty easy to make a test with one white square target moving around. But first, I suggest a simple test with debug values on screen indicating what is recorded by the console while using the lightgun. If you've something like an Atarimax Coleco cartridge, you'll be able to try your lightgun. Quote Share this post Link to post Share on other sites
CV Gus #4 Posted March 10, 2010 (edited) It's pretty easy to make a test with one white square target moving around. But first, I suggest a simple test with debug values on screen indicating what is recorded by the console while using the lightgun. If you've something like an Atarimax Coleco cartridge, you'll be able to try your lightgun. The white square part would be the "1970s" phase of the actual test. At first, it would merely be to see if you can "shoot" it, but- as with those 1970s games- pointing the gun at ANY light source will do it. That is why it would be just be the initial phase. The second part would use the "dark/light" phase, much like an NES light gun game. The screen would go black for a split-second, then the square would show up where it was- if the game reads "nothing" and then "hit" in that quick time, then it can assume that you were actually pointing the gun at the target. If both conditions are NOT met (such as pointing the gun at a light bulb), then it will not count. The third part will be like the NES games. Fancy background, etc...But did you ever PAUSE an NES game like Duck Hunt at just the right instant? What happens? All you see is a white block. Then (in two-target mode) the same cycle again as it tests for the second target. For all of the sound and graphics, at heart it's very much like the 1970s games! So far, because a CV does not have analog, I set it up so that it is digital, using the directional contacts. If the gun is pointing at a light source, it is as if you are pushing UP on the joystick. The actual trigger mechanism would be as if you are pushing a FIRE button; this tells the game to go into the part that checks for a hit. So I am testing to see what the game is reading...by using Gateway to Apshai. The 5200 version would likely simply use an analog comparison- does the value drop and then rise? Easy enough to check for this on a Vic-20; the values can be placed in a corner on the screen. Oh, get this: Part of the test involved clipping the wires from the gun to a multitester...and shining a spot of light on the wall, and then the television, with a white LED flashlight. Don't you folks just love my ultra-sophisticated testing methods? Edited March 10, 2010 by CV Gus Quote Share this post Link to post Share on other sites
retroillucid #5 Posted March 11, 2010 ...are there any CV programmers interested in programming lightgun games for it? I could be... Could be interesting to port the Arcade game Chiller to Colecovision Quote Share this post Link to post Share on other sites
Retro Rogue #6 Posted March 11, 2010 The gun, as with the 1970s light guns, works directly on dark/light tests, so the problems I've heard about with modern televisions should not exist here. In concept yes. However, the refresh rates are different for modern TV's, i.e. LCD refreshes the entire screen at once. That's why the NES gun games and other guns that use the same concept, still don't work on modern TV's. Now if you're coding a game from scratch for the CV, there is a chance you can get the right timing working, and I'd be very interested to know if you do. Quote Share this post Link to post Share on other sites
CV Gus #7 Posted March 12, 2010 (edited) The gun, as with the 1970s light guns, works directly on dark/light tests, so the problems I've heard about with modern televisions should not exist here. In concept yes. However, the refresh rates are different for modern TV's, i.e. LCD refreshes the entire screen at once. That's why the NES gun games and other guns that use the same concept, still don't work on modern TV's. Now if you're coding a game from scratch for the CV, there is a chance you can get the right timing working, and I'd be very interested to know if you do. That is one reason I'm keeping it simple. Logically, a programmer could allow the option of asking what kind of television you are using. Press 1 or 2. Then key parts of the program would reflect this, maybe a couple of numbers. Remember that my gun does NOT go by scan rate; only by whether or not it's pointing at a light source- or not. The heart of the gun is as simple as a 1970s gun. If the screen goes dark for a split second and then shows a white square- and this is based on the game program (1/10 of a second is 1/10 of a second no matter what), then it should work. Would HOW the images are presented matter, as long as the timings are the same? But until I get a Vic-20, I cannot give it the final test and fine-tuning. Edited March 12, 2010 by CV Gus Quote Share this post Link to post Share on other sites
Retro Rogue #8 Posted March 12, 2010 (edited) Remember that my gun does NOT go by scan rate; I didn't say scan rate or scanline rate. Refresh rate has to do with the LCD (or Plasma) tv itself and how often a second the crystal display itself is refreshing - which is different then a raster scanline rate. LCD and Plasma interpret raster video signals, but that's separate from the physical LCD components, which have their own electrical refresh rate. I.E. the frames sent to the lcd itself still refresh at the rate of the signal, but the LCD itself refreshes at it's own rate. Remember, it has nothing to do with a beam, it's synch/refresh has to do with charges. In your 70's gun method (and the polling method enhancement also done by later guns), on a raster display both of those have to wait for a full raster frame to be drawn before they can trigger themselves to detect the white blocks on the black background - because of course you can't detect for something that hasn't been drawn yet. On an LCD, the wait time is far less - the entire frame is drawn at once. Hence the guns become out of sync on LCD. only by whether or not it's pointing at a light source- or not. The heart of the gun is as simple as a 1970s gun. If the screen goes dark for a split second and then shows a white square- and this is based on the game program (1/10 of a second is 1/10 of a second no matter what), No, 1/10 of a second *started polling* at a specific trigger is different on a raster vs. LCD display. See above. This is again why guns that use that method do not currently work on an LCD tv. They're polling for 1/10 of a second based on the timing of display of a full screen of a raster display vs. an LCD display. They're different. then it should work. Would HOW the images are presented matter, as long as the timings are the same? See above. You're most likely going to have to do different internal timing mechanisms in the program for use on raster vs. LCD. Edited March 13, 2010 by wgungfu Quote Share this post Link to post Share on other sites
+5-11under #9 Posted March 13, 2010 I think if run it for 1/10 of a second, it should be just fine. Of course, once you've got your program running, you can test all of these things, and see for yourself. Add some tolerance for slower/faster TVs, and try a few out. Good luck. It sounds like fun. 5-11under Quote Share this post Link to post Share on other sites
CV Gus #10 Posted March 17, 2010 What I don't get is this- if I make the screen go dark for 1/10th of a second- however you'd do that on a CV- and then show the block for 1/10th of a second- and again, it may be something other than that, this is just an example- wouldn't an LCD television reflect this? I know how older televisions work, but wouldn't an LCD be even faster? Otherwise, could any older system work at all? What about flickering and the like? In any case, it wouldn't be a big deal: just figure what timing adjustments have to be made for both kinds of televisions, and incorporate that into the program. Then, at the title screen, simply ask what kind of television is being used, and then use the numbers for that. I hope? Quote Share this post Link to post Share on other sites
+5-11under #11 Posted March 17, 2010 (edited) What I don't get is this- if I make the screen go dark for 1/10th of a second- however you'd do that on a CV- and then show the block for 1/10th of a second- and again, it may be something other than that, this is just an example- wouldn't an LCD television reflect this? I know how older televisions work, but wouldn't an LCD be even faster? Otherwise, could any older system work at all? What about flickering and the like? In any case, it wouldn't be a big deal: just figure what timing adjustments have to be made for both kinds of televisions, and incorporate that into the program. Then, at the title screen, simply ask what kind of television is being used, and then use the numbers for that. I hope? This could work well, I think, with any TV. It actually sounds like a very good idea. I'm guessing you'll be able to go faster than 1/10 second per flash... maybe flash a few times to make sure it's not an error... you'd need some logic, of course. How did you do this for the 5200? Edit: I found an older thread that helped explain this. Thanks, 5-11under Edited March 17, 2010 by 5-11under Quote Share this post Link to post Share on other sites
Yurkie #12 Posted May 5, 2010 Could be very interesting if you got the lightgun working and some homebrewer hacked Escape from the Mindmaster and made Doom for the ColecoVision. Quote Share this post Link to post Share on other sites
CV Gus #13 Posted May 13, 2010 (edited) I'm afraid my projects are on hold for the time being. For one thing, Radio Shack is not what it was, and I have to find and order things on-line. For example, my "active" 9-Pin to 5200 module- that also allowed use of paddle controllers for games like Super Breakout, right down to the paddle FIRE button working for the 5200 (passively, no less), has stalled because I need two Normally Closed relay switches- guess what I can't get around here, unlike some years ago? Since the only port on my 5200 is broken, I might as well order a 15-wire/pin cable from the same place as ports. (The problem with the "passive" design was twofold: if a controller did not have "perfect" or near-perfect contacts, control was unstable, and it did not work with CV controllers, since the common for a 5200 is negative and the common for a CV positive, and CV controllers use diodes. So I'm going to first build the "active" module.) Edited May 13, 2010 by CV Gus Quote Share this post Link to post Share on other sites