Difference between revisions of "Amstrad Magnum Phaser"
(→Technical) |
(→Technical) |
||
Line 18: | Line 18: | ||
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 |
Revision as of 10:56, 19 July 2013
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.
Quite irritating is the fact that each time you shoot, the whole screen has to flash on and off...
Technical
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 ...
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 Light Phaser Games Disc (English) [1] (zipped .DSK files)