Tomorrow the third MSX user meeting of MSX Club Groningen will be held in Wijkcentrum de Karre, Groningen. During this meeting a quite rare piece of MSX equipment will be demonstrated: the ASCII Plus-X Terminator Laser gun. This gun can be used to control games on any MSX computer. If you always wanted to have a look at how this actually works, perhaps you could visit the meeting tomorrow.

Furthermore, a prototype of the upcoming One Chip MSX will be on display as well, while MSX Club Groningen also plan to organize a short mystery tournament.

Relevant link: MSX Club Groningen

Comments (16)

By BiFi

Enlighted (4348)

BiFi's picture

20-11-2005, 06:47

behold, another one-liner contest? Wink

By Meits

Scribe (6446)

Meits's picture

20-11-2005, 11:02

Don't start that stuff before 13:00 pleeeeeze Tongue

By pitpan

Prophet (3145)

pitpan's picture

20-11-2005, 18:55

Mmmm... Still waiting for some Terminator Plus-X development info!

Anyway, if anyone comes to the Karoshi Corporation stand at the Barcelona meeting you will be able to play DUCK HUNT (2P mode!). We will be using Sega's Lightphasers and/or MHT's Gunsticks.

I'd gladly program a Terminator version if I could get some lucky beta-testers around!

By Haohmaru

Paladin (773)

Haohmaru's picture

20-11-2005, 19:29

Yay! Duck Hunt! Big smileBig smileBig smile

Wink

By BiFi

Enlighted (4348)

BiFi's picture

20-11-2005, 20:41

There's an article about that ASCII gun implementation in a dutch magazine IIRC... anyone recall which issue that is so it can be scanned, translated and provided to robsy?

By Meits

Scribe (6446)

Meits's picture

20-11-2005, 20:47

Was in mcm... probably the one with the gun on the front with the fragged pacman Smile

By arnold_m

Master (173)

arnold_m's picture

20-11-2005, 22:20

mcm issue 43 has a test, and issue 48 has an explanation of how it works and an example program in basic

By SLotman

Paragon (1238)

SLotman's picture

21-11-2005, 03:53

Please! someone get that info on the X-Terminator, so it can be emulated!!! TongueTongueTongue

By viejo_archivero

Paragon (1395)

viejo_archivero's picture

21-11-2005, 13:54

It would be cool if someone can send us that info. That Plus-X Terminator compatibility would be the perfect excuse for a 16KB Duck hunt (including musics)!

By Sonic_aka_T

Enlighted (4130)

Sonic_aka_T's picture

21-11-2005, 15:47

There's not much info there, really... All the lightgun does is generate a pulse on trigger one if it detects a flash. You have to do the rest yourself. There's a small BASIC listing in the article iirc, that waits for the user to press trigger two (fire) and then flashes two sprites while checking trigger one. If trigger one goes high when either of the sprites is being 'flashed', it prolly means the lightgun was aimed there. If it helps I could dig up the BASIC listing, but it's pretty much what I just described. What you really need is one of those lightguns to test with.

By NYYRIKKI

Enlighted (5880)

NYYRIKKI's picture

21-11-2005, 17:48

This is really simple device. IIRC STRIG(1)=0 = Gun is pointing to bright spot, STRIG(1)=-1 Gun is pointing to non bright spot. Targeting point diameter is about 28 pixels in 14" monitor. Any color equal or brighter than COLOR=(X,3,3,3) is detected by lightgun when monitor brightness is on "normal" level. You can assume, that when light spot is detected the signal is active whole 28 lines. X-axis retrace does not cause "blinking" on the signal. This means, that you can't detect X-axis, but you can calculate Y-axis by using horizontal retrace. You can use this method: R=(End line-Start line) / 2: Y= Start line + R or Y= End line - R depending of position on screen. Typically R is about 14. Using this method you can detect also if gun is pointing near to monitor edge outside monitor area.

Best way to use this device is however just to draw white blocks to places where there is something to shoot and detect the status of trigger 1 during screen refresh. Joystick button 2 = STRIG(3) is the fire button. Works as usual.

Remember... this was IIRC... I can check this later, if needed.

By pitpan

Prophet (3145)

pitpan's picture

21-11-2005, 20:07

Ok. Then my guess was right: it is like a gunstick or lightphaser but with different pinouts and inverse logic. Not difficult to make a version then.

By arnold_m

Master (173)

arnold_m's picture

21-11-2005, 20:28

I've checked the above with the listinbg from mcm #48, and NYYRIKKI is right about the meaning of STRIG(1) and STRIG(3). The program in the mcm shows a bright block for one frame period and continually checks STRIG(1) during this time.
The program does not reveal much about the length and timing of the pulse, the only things I can derive from it are that the pulse lasts long enough to detect using basic, but short enough to cause a need to store STRIG(1) in a variable. Colour 15 (white) is detected as bright and colours 4 (dark blue) and 6 (dark red) are not.

By NYYRIKKI

Enlighted (5880)

NYYRIKKI's picture

21-11-2005, 21:21

Yes, this is very close to Gunstick. I've converted some gunstick games to Plus-X and it was not more than few bit changes and XOR.

By NYYRIKKI

Enlighted (5880)

NYYRIKKI's picture

21-11-2005, 23:50

Ok, I did some checking, and it seems, that some values need adjusting...

Correct distance to use Plus-X terminator laser seems to be about 120cm from 14" screen (traditional CM 8833 , old version was used to test). At this distance the aiming is correct and light detection diameter is about 32 pixels. If we decrease the distance to 60cm the diameter will be 28 pixels and aiming will be 14 pixels too high. Because these values are linear, other possibilitys should not be hard to calculate from this.

As you may notice, this is not very accurate and there is no much software for this device... I have anyway found few possible uses for this device:

Because lack of accuracy, you may use this for detecting movement direction. If you rotate your monitor 90 degrees, you are able to detect direction of movement of vertically moving obstacle (human, dog, cat etc.) that passes the ray path. MSX 60Hz refresh rate anyway limits the maximum speed of obstacle to about 0.5m/sec. To get better results, you can try to change distances or use reading glasses in front of Plus-X. By using stronger magnifying glass, you can also use this device to read TV-remote controller. Tongue

To emulate this device, I suggest to check brightness of pixel pointed by mouse and return that as trigger 1 value. 1st mouse button should be trigger 2. This is not perfect at all, but I think this is enough for all the games out there.

By dvik

Prophet (2200)

dvik's picture

14-06-2006, 06:13

I'm trying to emulate the ASCII Plus-X Terminator light gun in blueMSX and I have some problem getting it to work. I only have one game to test with and its not really working that well. It does work somewhat but when running dungeon hunter I don't always hit the correct items when fiering the gun.
I have the gunstick emulated too and that one works well in several games, like duck hunt, cosmic sheriff and mike gunner so I'm not sure what's wrong with Plus-X Terminator emulation. If someone has any other games or test programs to share it would be great.