Changes

Atari-ST mouse adapter

1,647 bytes added, 18:59, 20 October 2015
/* Timings */
This adapter allows to connect Atari ST mouse and trackball.
 
== Schematic ==
 
[[File:Atari-ST mouse adapter.gif]]
The schematic was released in german German magazine "Schneider Magazin, 07/1988", apparently using 5 diodes and a 4.5V battery.
Aside from Atari-ST mice, the circuit should also work for Amiga mice, which are basically the same, but with XA/XB/YA/YB connected to other pins, which could be resolved at software side (or at hardware side).
CPC Joy Port Atari-ST Mouse Amiga Mouse
Batt4.5V (+) ------------------ Pin7 +5V Pin7 +5V
=== CPC Plus Compatibility === The circuit reportedly doesn't work on CPC Plus computers. There are additional diodes in the CPC Plus which do cause problems in this case. == Timings == The Atari/Amiga mice do output low-level XA/XB/YA/YB signal must be watched by signals, directly coming from the motion sensors. Ideally, software (should check the signals ''more than 500 times per second''. FutureOS does that, but not the firmware. Using the CPCs 300Hz interrupt to check the signals might be a bit slow; it would work, but may miss some signals when the mouse is probably moved too slow to sense fast motions. Reading the mouse more often than 300 times per second would be better, so therebut it's little chance to have d require more CPU load since it can't be done via interrupts. Possibly best solution would be combination of IRQ and non-IRQ handling: Always check the mouse driver running in background)on 300Hz interrupts, and - if the program isn't busy with other tasks - additionally check it via polling.
== CPC Plus Compatibility Motion Signals ==
The circuit reportedly doesn't work on CPC Plus computers. Probably simply because of the missing Fire3 XA/XB indicate horizontal motion (and YA/YB vertical motion), like so: One Direction Opposite Direction XA _______----____ _____----______ XB _____----______ _______----____The signal timings depend on how fast the joystick port of mouse is moved (ie. if the CPC Plusmouse is not moved, then it may stop anywhere in the above diagram, eg. There while XA and XB are also additional diodes in both high, both low, or one high and one low).The simpliest approach is to wait for raising edge on XA, and then to check XB (either XB is already high, or XB is still low) and increase/decrease the CPC Plussoftware's mickey counter accordingly. In situations where the direction changes, which it may drop be also recommended to handle "half mickeys" on falling edges on XA, eg.: One Direction Stop Opposite Direction XA _______---------------------------______ XB _____-------------------------------____In the voltages a littleabove case, but probably do not cause problems checking only raising XA would miss the direction change on falling XA (if that happens repeatedly, then the mouse would disappear towards the screen border, eg. if the mouse is in this casean unstable position, without actually being moved).
== Software supporting the ST-Mouse ==
* G-Paint 2.0 (Günter Radestock)
* [[FutureOS]]
* [[G-Paint]] 2.0 (Günter Radestock)
[[Category:HardwareDIY]] [[Category:PeripheralsFutureOS]] [[Category:DIYInput Device]] [[Category:Peripherals]]
2,002
edits