Difference between revisions of "AMX Mouse"
(→Added pictures) |
|||
(67 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Image:Amx mouse 10.jpg|right|thumb|250px|The original mouse with red buttons and a logo]] | ||
+ | |||
A mouse by the British company [[Advanced Memory Systems]]. | A mouse by the British company [[Advanced Memory Systems]]. | ||
The mouse was connected to the joystick port of the CPC. | The mouse was connected to the joystick port of the CPC. | ||
+ | An additional lead plugged between the 5V power connector coming from the monitor and the 5V-socket of the CPC. | ||
+ | |||
+ | There were three versions in all. | ||
+ | |||
+ | The tape software is : [[AMX Art]]. | ||
+ | |||
+ | == Technical == | ||
+ | |||
+ | The AMX Art software uses the CPC's 300Hz interrupt to read joystick port 0 (at least it tries to do that, while moving the mouse pointer, the software accidently disables IRQs, and so, misses some interrupts). This is giving it a relative low resolution of max 300 mickeys per second (or actually less, due to the missed IRQs). | ||
+ | |||
+ | The AMX Interface hardware basically converts the incoming mouse signals to joystick 0 signals, issuing LOW pulses on the corresponding direction lines. The interface doesn't report anything for joystick 1 when connected to the CPC's joystick port (which provides both joystick 0 and joystick 1 input). | ||
+ | |||
+ | In addition the AMX mouse doesn't appear to clash with the keyboard. | ||
+ | |||
+ | The protocol is thus very simple (unlike modern RS232 and PS/2 mice, the hardware doesn't contain any motion counters). | ||
+ | |||
+ | Row9.Bit0 Joy1up LOW for 1 mickey, when mouse moved up | ||
+ | Row9.Bit1 Joy1down LOW for 1 mickey, when mouse moved down | ||
+ | Row9.Bit2 Joy1left LOW for 1 mickey, when mouse moved left | ||
+ | Row9.Bit3 Joy1right LOW for 1 mickey, when mouse moved right | ||
+ | Row9.Bit5 Joy1fire1 LOW when Right mouse button pressed | ||
+ | Row9.Bit4 Joy1fire2 LOW when Left mouse button pressed | ||
+ | Row9.Bit6 Joy1fire3 LOW when Middle mouse button pressed | ||
+ | |||
+ | Note: The exact hardware timings are '''unknown''', the values "1/300s" in the above description assume that the AMX '''hardware''' timings were designed to match up with the 300Hz AMX '''software''' timings. | ||
+ | |||
+ | Note II: Looking at the photos, it seems that /joystick1 (keyb row 9 select) is wired to the multivibrator, so the mickey timings may be software controlled; accordingly, software would be required to deselect keyboard row 9 between each read. | ||
+ | |||
+ | Confirmed: Software will select keyboard row 9 to read the mouse, but then MUST deselect it to read the mouse correctly. | ||
+ | |||
+ | For example, the loop here doesn't work: | ||
+ | |||
+ | ld bc,&f40e ;; PSG register 14 (keyboard) | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f6c0 | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f600 | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f792 ;; PPI port A input | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f649 ;; select keyboard row 9 (joystick 0) | ||
+ | out (c),c | ||
+ | |||
+ | update_loop: | ||
+ | ld b,&f4 | ||
+ | in a,(c) | ||
+ | jp update_loop | ||
+ | |||
+ | whereas the following does work: | ||
+ | |||
+ | ld bc,&f40e ;; PSG register 14 (keyboard) | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f6c0 | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f600 | ||
+ | out (c),c | ||
+ | |||
+ | ld bc,&f792 ;; PPI port A input | ||
+ | out (c),c | ||
+ | |||
+ | update_loop: | ||
+ | |||
+ | ld bc,&f649 ;; select keyboard row 9 (joystick 0) | ||
+ | out (c),c | ||
+ | |||
+ | ld b,&f4 | ||
+ | in a,(c) | ||
+ | |||
+ | ld bc,&f640 ;; deselect keyboard row 9 (by selecting keyboard row 0) | ||
+ | out (c),c | ||
+ | |||
+ | jp update_loop | ||
+ | |||
+ | Selecting the joystick for longer doesn't appear to change the value. The value is updated when the joystick is deselected. | ||
+ | |||
+ | Contains the following ICs: | ||
+ | * 1x CD4047BE - Low Power Monostable/Astable Multivibrator | ||
+ | * 2x MC14013B - Dual Type D Flip-Flops | ||
+ | * 1x SN74LS244N - Octal Buffers And Line Drivers With 3-State Outputs | ||
+ | |||
+ | The mouse used on the Amstrad appears to be the same as the mouse used on the BBC. But this is not confirmed. | ||
+ | The connection to the interface is essentially the same. | ||
+ | |||
+ | == AMX Mouse Hardware Clones == | ||
+ | |||
+ | * [[AMX Kit]] (discontinued french project) | ||
+ | * [[PS2Mouse]] (DIY by Bryce) | ||
+ | |||
+ | == Compatible mice/Interfaces == | ||
+ | |||
+ | The [[Dk'tronics Mouse Interface]] is compatible with the AMX in that it uses joystick directions for the mouse and joystick fire for the buttons. The mice are not interchangeable; the Dk'tronics mouse interface uses a mouse with a standard joystick connector. As confirmed by user Spookspring on 29.9.14, only a single mouse button is supported by the Dk'tronics interface. | ||
== Other ways to connect a mouse to the CPC == | == Other ways to connect a mouse to the CPC == | ||
− | [[ | + | See [[Peripherals]] |
− | + | == Covers == | |
− | + | <gallery caption="AMX Mouse"> | |
− | + | Image:AMX Mouse Left Box.jpg|Left Cover | |
+ | Image:AMX Mouse Back Box.jpg|Back Cover | ||
+ | Image:AMX Mouse Right Box.jpg|Right Cover | ||
+ | Image:AMX Mouse Front Box.jpg|Front Cover | ||
− | + | </gallery> | |
+ | == Covertape == | ||
+ | |||
+ | <gallery caption="AMX Art"> | ||
+ | |||
+ | Image:AMX Mouse Covertape.jpg|Covertape | ||
+ | |||
+ | </gallery> | ||
+ | |||
+ | == Disc & Tape == | ||
+ | |||
+ | <gallery caption="AMX Mouse (AMX Art, AMX Control, Icon/Pattern Designer)"> | ||
+ | |||
+ | Image:AMX Mouse Disc - side A.jpg|Disc, side A | ||
+ | Image:AMX Mouse Disc - side B.jpg|Disc, side B | ||
+ | Image:AMX Mouse Tape - side A.jpg|Tape, side A | ||
+ | Image:AMX Mouse Tape - side B.jpg|Tape, side B | ||
+ | |||
+ | </gallery> | ||
+ | |||
+ | == Pictures == | ||
+ | |||
<gallery caption="AMX Mouse"> | <gallery caption="AMX Mouse"> | ||
+ | |||
Image:Amx mouse 1.jpg|The mouse | Image:Amx mouse 1.jpg|The mouse | ||
− | Image:Amx mouse 2.jpg|The interface | + | Image:Amx mouse 2.jpg|The interface is connected to the joystick port |
Image:Amx mouse 3.jpg| | Image:Amx mouse 3.jpg| | ||
+ | Image:Amx mouse 4.jpg| | ||
+ | Image:Amx_Mouse1.jpg|The mouse | ||
+ | Image:Amx_Mouse2.jpg|Under the mouse | ||
+ | Image:Amx_Mouse3.jpg|Inside Mouse interface (top) | ||
+ | Image:Amx_Mouse4.jpg|Inside Mouse interface (bottom) | ||
+ | Image:Amx_Mouse5.jpg|Interface showing mouse connection (blue connector at front), connector for CPC joystick port (at right) and connections for CPC power. | ||
+ | Image:Amx_Mouse6.jpg|Interface power connections | ||
+ | Image:Amx_Mouse7.jpg|Inside AMX Mouse (1) | ||
+ | Image:Amx_Mouse8.jpg|Inside AMX Mouse (2) | ||
+ | Image:AMX Mouse Connection Guide (photo by jrp king).jpg|Connection Guide | ||
+ | Image:ACU8510-105.jpg|Advert (ACU Oct 1985) | ||
+ | </gallery> | ||
+ | |||
+ | <gallery> | ||
+ | Amx mouse img1.jpg|Package | ||
+ | Amx mouse img3.jpg|Top view | ||
+ | Amx mouse img2.jpg|Mouse | ||
</gallery> | </gallery> | ||
== Software == | == Software == | ||
− | [[AMX Art]] | + | * [[AMX 3D Zicon]] |
+ | * [[AMX Art]] | ||
+ | * [[FutureOS]] | ||
+ | * [[Max desktop]] | ||
+ | * [[MicroDesign]] ([[Siren Software]]/Hogsoft/[[Campursoft]]) (see advert in ACU Jul 1988, page 30) | ||
+ | * [[Stop Press]] (aka AMX Pagemaker) | ||
+ | * [[The Advanced OCP Art Studio]] | ||
+ | * [[Cosmos|Cosmos]] | ||
+ | * [[On File]] | ||
+ | |||
+ | == Download == | ||
+ | |||
+ | * [[Media:AMX Mouse (tape).zip|AMX Art (tape).zip]] (CDT for Emulators) | ||
+ | * [[Media:AMX Mouse (disc).zip|AMX Mouse (disc).zip]] (DSK for Emulators) | ||
+ | |||
+ | == Manuals == | ||
+ | |||
+ | * [http://www.cpcwiki.eu/manuals/AMX%20Mouse%20Manual%20(english).rar AMX Mouse Manual (english).rar] | ||
+ | * [http://www.cpcwiki.eu/manuals/AMX%20Mouse%20Manual%20(french).rar AMX Mouse Manual (french).rar] | ||
+ | |||
+ | == Reviews == | ||
+ | |||
+ | * [[CPC Schneider International]], issue 8-1985, page 87 (german) | ||
+ | |||
+ | == Links == | ||
+ | |||
+ | * [http://www.cpc-power.com/index.php?page=detail&num=4286 CPC game base from CPC Power] | ||
− | [[Category:Peripherals]] | + | [[Category:Input Device]] [[Category:Peripherals]] [[Category:Manual]][[Category:Amstrad Products]] |
Latest revision as of 05:38, 8 June 2024
A mouse by the British company Advanced Memory Systems.
The mouse was connected to the joystick port of the CPC.
An additional lead plugged between the 5V power connector coming from the monitor and the 5V-socket of the CPC.
There were three versions in all.
The tape software is : AMX Art.
Contents
Technical
The AMX Art software uses the CPC's 300Hz interrupt to read joystick port 0 (at least it tries to do that, while moving the mouse pointer, the software accidently disables IRQs, and so, misses some interrupts). This is giving it a relative low resolution of max 300 mickeys per second (or actually less, due to the missed IRQs).
The AMX Interface hardware basically converts the incoming mouse signals to joystick 0 signals, issuing LOW pulses on the corresponding direction lines. The interface doesn't report anything for joystick 1 when connected to the CPC's joystick port (which provides both joystick 0 and joystick 1 input).
In addition the AMX mouse doesn't appear to clash with the keyboard.
The protocol is thus very simple (unlike modern RS232 and PS/2 mice, the hardware doesn't contain any motion counters).
Row9.Bit0 Joy1up LOW for 1 mickey, when mouse moved up Row9.Bit1 Joy1down LOW for 1 mickey, when mouse moved down Row9.Bit2 Joy1left LOW for 1 mickey, when mouse moved left Row9.Bit3 Joy1right LOW for 1 mickey, when mouse moved right Row9.Bit5 Joy1fire1 LOW when Right mouse button pressed Row9.Bit4 Joy1fire2 LOW when Left mouse button pressed Row9.Bit6 Joy1fire3 LOW when Middle mouse button pressed
Note: The exact hardware timings are unknown, the values "1/300s" in the above description assume that the AMX hardware timings were designed to match up with the 300Hz AMX software timings.
Note II: Looking at the photos, it seems that /joystick1 (keyb row 9 select) is wired to the multivibrator, so the mickey timings may be software controlled; accordingly, software would be required to deselect keyboard row 9 between each read.
Confirmed: Software will select keyboard row 9 to read the mouse, but then MUST deselect it to read the mouse correctly.
For example, the loop here doesn't work:
ld bc,&f40e ;; PSG register 14 (keyboard) out (c),c ld bc,&f6c0 out (c),c ld bc,&f600 out (c),c ld bc,&f792 ;; PPI port A input out (c),c ld bc,&f649 ;; select keyboard row 9 (joystick 0) out (c),c update_loop: ld b,&f4 in a,(c) jp update_loop
whereas the following does work:
ld bc,&f40e ;; PSG register 14 (keyboard) out (c),c ld bc,&f6c0 out (c),c ld bc,&f600 out (c),c ld bc,&f792 ;; PPI port A input out (c),c update_loop: ld bc,&f649 ;; select keyboard row 9 (joystick 0) out (c),c ld b,&f4 in a,(c) ld bc,&f640 ;; deselect keyboard row 9 (by selecting keyboard row 0) out (c),c jp update_loop
Selecting the joystick for longer doesn't appear to change the value. The value is updated when the joystick is deselected.
Contains the following ICs:
- 1x CD4047BE - Low Power Monostable/Astable Multivibrator
- 2x MC14013B - Dual Type D Flip-Flops
- 1x SN74LS244N - Octal Buffers And Line Drivers With 3-State Outputs
The mouse used on the Amstrad appears to be the same as the mouse used on the BBC. But this is not confirmed. The connection to the interface is essentially the same.
AMX Mouse Hardware Clones
Compatible mice/Interfaces
The Dk'tronics Mouse Interface is compatible with the AMX in that it uses joystick directions for the mouse and joystick fire for the buttons. The mice are not interchangeable; the Dk'tronics mouse interface uses a mouse with a standard joystick connector. As confirmed by user Spookspring on 29.9.14, only a single mouse button is supported by the Dk'tronics interface.
Other ways to connect a mouse to the CPC
See Peripherals
Covers
Covertape
Disc & Tape
Pictures
Software
- AMX 3D Zicon
- AMX Art
- FutureOS
- Max desktop
- MicroDesign (Siren Software/Hogsoft/Campursoft) (see advert in ACU Jul 1988, page 30)
- Stop Press (aka AMX Pagemaker)
- The Advanced OCP Art Studio
- Cosmos
- On File
Download
- AMX Art (tape).zip (CDT for Emulators)
- AMX Mouse (disc).zip (DSK for Emulators)
Manuals
Reviews
- CPC Schneider International, issue 8-1985, page 87 (german)