Difference between revisions of "Amstrad Magnum Phaser"
Cpcmaniaco (Talk | contribs) |
Cpcmaniaco (Talk | contribs) (→Links) |
||
(25 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
It came supplied with a cassette and a disk, both containing six games. | It came supplied with a cassette and a disk, both containing six games. | ||
+ | |||
+ | 464 version plugs into FLOPPY DISC socket, whereas 6128 plugs into the EXPANSION socket. | ||
The main reason to buy this gun was for the excellent Amstrad conversion of Operation Wolf. Playing this with a light gun on your Arnold was the arcade experience people relished but rarely got back in the 80's. | The main reason to buy this gun was for the excellent Amstrad conversion of Operation Wolf. Playing this with a light gun on your Arnold was the arcade experience people relished but rarely got back in the 80's. | ||
The other supplied games were fun for a while, but by far the high point was Operation Wolf. | The other supplied games were fun for a while, but by far the high point was Operation Wolf. | ||
+ | |||
+ | == Using the gun == | ||
+ | |||
+ | You should position yourself 1.2m from the monitor. Make sure there are no reflections on your monitor from other sources otherwise the gun will detect this and give false results. A dark room is best. | ||
== Technical == | == Technical == | ||
− | Connects to expansion port 50pin edge connector. | + | The gun senses light intensity. When it detects light it will generate an edge on the LPEN input of the CRTC. This causes the CRTC to remember the current address. |
− | pins: VCC, GND, LPEN, D7. | + | |
− | /IORQ lines | + | Most games will blank the screen to black and put white rectangles on the targets on the screen. This is done to make sure the gun detects these regions and not other bright pixels on the screen. This can be quite distracting while playing the game. |
+ | |||
+ | The accuracy is 1 CRTC character (R9 lines in height - normally 8) and 2 bytes horizontally. This is due to the way the CRTC outputs are mapped to memory addresses. | ||
+ | |||
+ | Connects to expansion port 50pin edge connector. It uses only 4 | ||
+ | pins: VCC, GND, LPEN, D7. It doesn't decode any address lines or | ||
+ | /IORQ lines. | ||
Trigger Button ---> Request via output to Port FBFEh, then check CRTC input | Trigger Button ---> Request via output to Port FBFEh, then check CRTC input | ||
Light Sensor ---> CRTC Light Pen Input | Light Sensor ---> CRTC Light Pen Input | ||
+ | |||
+ | When the Trigger button is not pressed, D7 is connected to LPEN. As D7 is always evolving, it generates edges to the LPEN input of the CRTC. So the CRTC is constantly refreshing its registers R16 and R17. | ||
+ | |||
+ | When the Trigger button is pressed, LPEN is connected to the photo-diode of the lightgun. That means that an edge is produced only once per frame in this case. | ||
+ | |||
+ | Retreving the status of the Trigger button is done by changing the D7 value, trying to generate an edge on LPEN, and then checking if the CRTC has refreshed its R16/R17 registers. | ||
+ | |||
To read the Trigger button (to be done during vblank): | To read the Trigger button (to be done during vblank): | ||
Port[BCxxh]=11h ;select CRTC register 11h | Port[BCxxh]=11h ;select CRTC register 11h | ||
Line 20: | Line 39: | ||
Port[FBFEh]=80h ;/(depending on whether button is pressed or not) | Port[FBFEh]=80h ;/(depending on whether button is pressed or not) | ||
new=Port[BFxxh] ;-get new value | new=Port[BFxxh] ;-get new value | ||
− | if old=new then ... else ... | + | if old=new then ; The Trigger button is pressed |
+ | ... | ||
+ | else ; The Trigger button is not pressed | ||
+ | ... | ||
+ | |||
+ | Now, thanks to Jose Leandro, the hardware specialist of the spectrum, with his famous page : | ||
+ | |||
+ | http://trastero.speccy.org/cosas/JL/JL.htm | ||
+ | |||
+ | We can know more about this hardware. | ||
+ | |||
+ | == How to build a Trojan Phazer light gun from an Amstrad Magnum == | ||
+ | |||
+ | In English : | ||
+ | |||
+ | http://zonadepruebas.org/deepfb/ordenadores/amstrad/trojan_en.htm | ||
+ | |||
+ | In Spanish : | ||
+ | |||
+ | http://zonadepruebas.org/deepfb/ordenadores/amstrad/trojan.htm | ||
== Supported Games == | == Supported Games == | ||
Line 60: | Line 98: | ||
Image:Magnum-drawing.jpg|Drawing | Image:Magnum-drawing.jpg|Drawing | ||
Image:Magnum-package.jpg|Package | Image:Magnum-package.jpg|Package | ||
− | + | image:Magnum inside plug.jpg|expansion port socket | |
+ | |||
+ | </gallery> | ||
+ | |||
+ | <gallery caption="Magnum Light Phaser Layout, thanks to Jose Leandro"> | ||
+ | |||
+ | File:Magnum - pistola.jpg|Magnum - Gun | ||
+ | File:Magnum - pistola-abierta.jpg|Magnum - Open Gun | ||
+ | File:Magnum - cara_componentes.jpg|Magnum - Components | ||
+ | File:Magnum - cara_pistas.jpg|Magnum - Tracks | ||
+ | File:Magnum - interface.jpg|Magnum - Interface | ||
+ | File:Magnum - bus_cpc.png|Magnum - Bus CPC | ||
+ | File:Magnum - placa.png|Magnum - PCB | ||
+ | File:Magnum - esquema.png|Magnum - Layout | ||
</gallery> | </gallery> | ||
Line 69: | Line 120: | ||
* [[Media:Magnum Light Phaser Games (FR) Instructions.pdf|Magnum Light Phaser Games Instructions]] {{FR}} {{PDF}} | * [[Media:Magnum Light Phaser Games (FR) Instructions.pdf|Magnum Light Phaser Games Instructions]] {{FR}} {{PDF}} | ||
* [[Media:Magnum Light Phaser Instructions.pdf|Magnum Light Phaser Instructions]] {{ES}} {{DE}} {{FR}} {{EN}} {{PDF}} | * [[Media:Magnum Light Phaser Instructions.pdf|Magnum Light Phaser Instructions]] {{ES}} {{DE}} {{FR}} {{EN}} {{PDF}} | ||
+ | |||
+ | == Download == | ||
+ | |||
+ | * [[Media:Magnum (Eagle).zip|Magnum (Eagle).zip]] (Magnum files for Eagle) | ||
+ | * [[Media:Magnum.zip|Magnum Light Phaser Games Disc (English)]] [http://www.jonathanen.com/pages/Computers/Amstrad/CPC6128/Magnum.zip] (zipped .DSK files) | ||
== Links == | == Links == | ||
* {{CPCPower|3825}} | * {{CPCPower|3825}} | ||
+ | * [https://cpcrulez.fr/hardware-pistolet-magnum_light_phaser.htm Magnum Light Phaser at CPCRULEZ] | ||
+ | * [http://hardware.speccy.org/temp/Amstrad-Magnum.html ''Magnum Light Phaser'' from hardware.speccy.org] | ||
+ | * [https://cpcrulez.fr/GamesTest/compilation-megaplay_volume_2.htm Megaplay volume 2 compilation at CPCRULEZ] | ||
+ | |||
[[Category:Input Device]] [[Category:Amstrad Products]][[Category:Manual]] | [[Category:Input Device]] [[Category:Amstrad Products]][[Category:Manual]] |
Latest revision as of 05:25, 19 September 2020
The Magnum Light Phaser was released later on in the Amstrads' life, and retailed for £24.99 in the UK.
It came supplied with a cassette and a disk, both containing six games.
464 version plugs into FLOPPY DISC socket, whereas 6128 plugs into the EXPANSION socket.
The main reason to buy this gun was for the excellent Amstrad conversion of Operation Wolf. Playing this with a light gun on your Arnold was the arcade experience people relished but rarely got back in the 80's.
The other supplied games were fun for a while, but by far the high point was Operation Wolf.
Contents
Using the gun
You should position yourself 1.2m from the monitor. Make sure there are no reflections on your monitor from other sources otherwise the gun will detect this and give false results. A dark room is best.
Technical
The gun senses light intensity. When it detects light it will generate an edge on the LPEN input of the CRTC. This causes the CRTC to remember the current address.
Most games will blank the screen to black and put white rectangles on the targets on the screen. This is done to make sure the gun detects these regions and not other bright pixels on the screen. This can be quite distracting while playing the game.
The accuracy is 1 CRTC character (R9 lines in height - normally 8) and 2 bytes horizontally. This is due to the way the CRTC outputs are mapped to memory addresses.
Connects to expansion port 50pin edge connector. It uses only 4 pins: VCC, GND, LPEN, D7. It doesn't decode any address lines or /IORQ lines.
Trigger Button ---> Request via output to Port FBFEh, then check CRTC input Light Sensor ---> CRTC Light Pen Input
When the Trigger button is not pressed, D7 is connected to LPEN. As D7 is always evolving, it generates edges to the LPEN input of the CRTC. So the CRTC is constantly refreshing its registers R16 and R17.
When the Trigger button is pressed, LPEN is connected to the photo-diode of the lightgun. That means that an edge is produced only once per frame in this case.
Retreving the status of the Trigger button is done by changing the D7 value, trying to generate an edge on LPEN, and then checking if the CRTC has refreshed its R16/R17 registers.
To read the Trigger button (to be done during vblank):
Port[BCxxh]=11h ;select CRTC register 11h old=Port[BFxxh] ;-get old value Port[FBFEh]=7Fh ;\force an edge on the lpen input Port[FBFEh]=80h ;/(depending on whether button is pressed or not) new=Port[BFxxh] ;-get new value if old=new then ; The Trigger button is pressed ... else ; The Trigger button is not pressed ...
Now, thanks to Jose Leandro, the hardware specialist of the spectrum, with his famous page :
http://trastero.speccy.org/cosas/JL/JL.htm
We can know more about this hardware.
How to build a Trojan Phazer light gun from an Amstrad Magnum
In English :
http://zonadepruebas.org/deepfb/ordenadores/amstrad/trojan_en.htm
In Spanish :
http://zonadepruebas.org/deepfb/ordenadores/amstrad/trojan.htm
Supported Games
Mastertronic released some more games with Magnum Light Phaser support, but they were mostly budget-type Spectrum ports.
All five releases were also available on the Megaplay 2 compilation.
Disc
Pictures
Manuals
- Magnum Light Phaser Games Instructions
- Magnum Light Phaser Games Instructions
- Magnum Light Phaser Instructions
Download
- Magnum (Eagle).zip (Magnum files for Eagle)
- Magnum Light Phaser Games Disc (English) [1] (zipped .DSK files)