84515 packages online


No screenshot available
Short:Ultimate Amiga PS/2 WheelMouseController
Author:rdc at
Uploader:rdc cyberlan mtu-net ru
Download: - View contents

Amiga PS/2 Wheel Mouse Controller - new version:

- detailed hypertext manual in HTML, in english and russian languages.
  Latest online-version of this manual you can see at my page:


- corrected yet another bug in PCB :)
  (middle mouse button was wrong connected and didn't work)
  New PCB is common for all hardware versions
- added 5-button Genius NetScroll Optical protocol support
- added horizontal scrolling by side buttons feature:
- firmware bugfixes:
  - found sulution for conflict with Scala
  - solved problem with Microsoft Wheel Mouse Optical
    (thanks to Jürgen Lachmann for bug-report)

And even you can send me your favourite mouse - and I will
add support of it to next version of my controller.

Advantages of this controller:

- full open source under GPL
  (General Public License, text of license included)
- linear movement interpolation: mouse movements will be
  ideal smooth on any screen frame rates
- MMB (Middle Mouse Button) support
- System-friendly fourth mouse button support
- Fifth mouse button support - now on Amiga too!
- detection of Amiga mouse counters overrun
  (127 pixels per frame for DblPAL 48Hz)
- full Plug'n'Play support:
  hotswap - you can change mouse «on the fly»
- mouse hangs detection: controller checks mouse every
  2 seconds and will reset it if mouse doesn't reply
- support of popular Microsoft Intellimouse wheel protocol
  (these mice work with wheel)
- support of Microsoft Intellimouse Explorer protocol
  (for example, A4Tech WOP-35 - all 5 buttons work)
- support of Genius NetScroll Optical
  (this mouse works with wheel and all 5 buttons)
- fully compatible with Amiga NewMouse wheel standard
- fully compatible with WheelBusMouse software
- you can simultaneously use mouse & 2 joysticks
- no «calibration» requirements
- wheel works in any screen mode
- horizontal scrolling even on one-wheel mouse
- very low CPU load in wheel mode
- most advanced Amiga PS/2 mouse controller :-)

More detailed info:

- detection of Amiga mouse counters overrun:

  Amiga has only one-byte signed counters for mouse, and AmigaOS
  checks them only one time per vblank.  This means that mouse may
  move only 127*VBlankFreq pixels per second (6096 pixels per
  second for default DblPAL).  If this value was overran, AmigaOS
  can't detect true movement of mouse and pointer will disorderly
  jump.  For correct this, my PS/2 controller limits movement to
  maximum 6000 pixels per second.  If mouse moves faster, movement
  will be remembered and executed at 6000 pixels per second.

  Slower movements will be always executed at real speed.

- linear movement interpolation:

  As we know, RS-232C (aka «COM») mice at PeeCee are extremely
  poor quality - mouse pointer with them doesn't move, it jumps.
  It is because generic 3-button RS-232C mouse reports about
  movement only 25 times per second.  PS/2 mice work better - all
  of them can report about state 80 times per second, and most of
  them (excluding 5-button mice) can report 200 times per second.
  But it is not an ideal because refresh rate of mouse (for
  example, 80fps of Genius NetScroll Optical) interferes with
  similar refresh rate (for example, 72Hz of Super72).  For correct
  this, my controller moves «virtual Amiga mouse» smoothly.  If
  user moves PS/2 mouse at 500 pixels per second, Amiga will get
  from my PS/2 controller true 500 counts per second, with true
  2-milliseconds intervals - you can get oscilliscope and check it.

  Most another PeeCee-mouse-controllers don't have similar feature,
  and move «virtual Amiga mouse» by «count packets» after every
  byte packet from PeeCee-mouse.  For example, if user moves 
  RS-232C mouse at 500 pixels per second, and mouse sends 25
  reports per second, Amiga will get 25 packets of 20 fast (some
  microsecond between counts) counts per second, with approx.40
  milliseconds interval between packets.  If user has 75Hz screen
  refresh rate, mouse pointer will update only every three vblank,
  and jumps of pointer (in comparison with ideally smooth Amiga
  mouse) will only incline user to suicide using mouse cord :-)

  My PS/2 controller is free from this bug.  Theoretically I can do
  even smooth RS-232C mouse controller, but is it nonsense because
  of RS-232C mice death.  Modern optical mice already don't have
  RS-232C versions, but there is no modern mice without PS/2 version.

- mouse hangs detection:

  Some Chinese mice are very cheap and very unstable.  Integrated
  to mouse controller can hang and even don't response to reset
  command.  These mice on PeeCee require reconnect (and sometimes
  reboot because of not-PnP initial nature of PeeCee).  My
  controller in case of 2-seconds silence (user doesn't touch
  mouse) asks mouse about state.  If mouse doesn't respond,
  controller will automatically take away power souce for some

  Take care: hardware reset does not work in 5-button version because
  of lack of PIC pins - you can select between 5-buttons version with
  quality mice, and 4-buttons version with bad mice.  But anyway, you
  can reset mouse by reconnect it «on the fly».  It is not a PeeCee :)

- full Plug'n'Play support:

  Because of previous feature, controller will detect mouse
  replacement.  Unlike PeeCee, wheel function (or it's absence)
  will be detected automatically.  You don't need to replace
  drivers if you change mouse «on the fly» :)

- support of popular Microsoft Intellimouse/Explorer wheel protocol

  Microsoft (for this paragraph it is a company name, not an abuse)
  instead of it's normal practice to hide all details, published
  protocol of wheel mouse.  It has two «layers»: protocol of wheel
  mouse, and protocol of 5-button wheel mouse.  There are many
  Microsoft Intellimouse compatible devices, and all of them will work
  with wheel at my controller.

  Some other mice are Intellimouse Explorer (5 buttons) compatible.
  For example, it is A4Tech WOP-35.  That mice will work with all 5
  buttons.  If you use 4-buttons version of controller, both
  additional buttons will work as one.

- support of Genius NetScroll Optical protocol

  Another mice, like of Genius NetScroll Optical, can be compatible
  with Intellimouse, but incompatible with Intellimouse Explorer.
  Genius NetScroll supports both Intellimouse and own protocols.
  In Intellimouse mode it works as 3-button wheeled mouse, and in own
  Genius-mode it works as 5-button wheeled mouse.  From version 1.5,
  ps2m supports both 5-button protocols - Genius NetScroll and MS
  Intellimouse Explorer.

  Yet some another mice, like A4Tech WOP-35, can be Intellimouse (and
  even Explorer) compatible, but have additional features like two
  wheels, feedback (Logitech iFeel), etc.  Some mice can have even
  different ideology - like Maxxtro with «joystick» between buttons.
  Additional features of these mice can't be used with current version
  of ps2m, but things have characteristic to change :-)

  If you have unsupported mice - you can send me it (or money, enough
  for buy it here) by mail, and I will do support for it.

- Fifth mouse button support - now on Amiga too!

  Up to this time there was only maximum 4-button mice support on
  Amiga.  My controller breaks this barrier - let's be more buttons,
  good and different! :)

- horizontal scrolling even on one-wheel mouse

  You can switch vertical scrolling to horizontal by qualifier
  pressing - like MMB in Mroocheck, but you can select any
  qualifier key or joystick/mouse button.  For example - I use
  left ALT.  Additional 4th and 5th mouse buttons may be used
  for this too.

- fully compatible with Amiga NewMouse wheel standard

  Amiga NewMouse standard describes an internal AmigaOS protocol
  for wheel mice.  There are some NewMouse-compatible sofware,
  MUIWheel and Directory Opus Magellan for example.  All this
  software will work with my PS/2 controller.

  Unfortunately, Amiga NewMouse standard describes only four buttons.
  But anyway, any of two additional buttons may be used as generic
  fourth button, and another - as qualifier for X-Y scroll temporary
  switching.  Both buttons can be used even as a second scroller.

- fully compatible with WheelBusMouse software

  WheelBusMouse is a software driver early released by me, that
  allows to use any wheel mouse without controller (but you must
  alter the mouse).  My PS/2 controller is fully electrically
  compatible with WBM package.  This means that you can install
  WBM driver and use altered wheel mouse instead of soldering
  PS/2 controller.  Or you even can simply plug second mouse and use
  it as a scroller :-)

- you can simultaneously use mouse & 2 joysticks

  You can use joystick(s) in parallel with mouse: pressing «Fire»
  of any joystick will disable mouse function on this port.

  If you press «Fire» on Joy1 (wheel function) - wheel will be
  reseted to initial phase (don't touch wheel during game).

  If you press «Fire» on Joy2 (mouse port) - mouse will be disabled
  at all.  For protect against probable mouse movement, mouse will
  be enabled only after any mouse button pressing.

- no «calibration» requirements

  My controller doesn't use analog inputs and doesn't require
  calibration (like Mroocheck interface from Elbox).

- wheel works in any screen mode

  Wheel works in any screen mode - you can simultaneously use
  wheeled applications on PAL, DblPAL, Super72 or any other
  screens (unlike Mroocheck with horizontal rate setting).

- very low CPU load in wheel mode

  This controller doesn't use any software emulated serial protocols
  like CD32 joypad and analog-to-digital conversions like Mroocheck.
  It reduces slow chipset reading/writing cycles number to absolute
  minimum, and this wheel solution is the fastest ever made for Amiga.

- most advanced Amiga PS/2 mouse controller.

  Do you doubt in this yet? :) ;) =)

All instructions included.  Have fun!

Contents of docs/hard/ps2m.lha
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 3978   10140  39.2% -lh5- 4a56 Jul  9  2001 ps2m.readme
[generic]                 3563    8611  41.4% -lh5- 5185 Jul  9  2001 ps2m/adv_detail.html
[generic]                 4918   10788  45.6% -lh5- 77eb Jul  9  2001 ps2m/adv_detail_ru.html
[generic]                  808    1579  51.2% -lh5- 2730 Jun 13  2001 ps2m/advantages.html
[generic]                  992    1739  57.0% -lh5- 479d Jun 13  2001 ps2m/advantages_ru.html
[generic]                  347     599  57.9% -lh5- a4bc Apr  7  2001 ps2m/ami/newmouse.h
[generic]                 1277    1956  65.3% -lh5- 0d79 Jul  2  2001 ps2m/ami/wbm
[generic]                 2221    6685  33.2% -lh5- 8511 Jul  2  2001 ps2m/ami/wbm.c
[generic]                  127     127 100.0% -lh0- 4243 Jun  5  2001 ps2m/circle.png
[generic]                 1960    4533  43.2% -lh5- 56f3 Jul  9  2001 ps2m/compatibility.html
[generic]                 3131    6483  48.3% -lh5- b37a Jul  9  2001 ps2m/compatibility_ru.html
[generic]                 1151    1959  58.8% -lh5- cef0 Jul  8  2001 ps2m/contact.html
[generic]                 1602    2429  66.0% -lh5- 8f1a Jul  8  2001 ps2m/contact_ru.html
[generic]                  409     630  64.9% -lh5- ada1 Jun 18  2001 ps2m/credits.html
[generic]                  491     668  73.5% -lh5- 1208 Jun 18  2001 ps2m/credits_ru.html
[generic]                  567    1016  55.8% -lh5- 9d2f Jun 29  2001 ps2m/future.html
[generic]                  756    1188  63.6% -lh5- 4c1b Jul  9  2001 ps2m/future_ru.html
[generic]                 5002    5071  98.6% -lh5- 1883 Jun  4  2001 ps2m/gns_1.jpeg
[generic]                 5875    6025  97.5% -lh5- b10e Jun  4  2001 ps2m/gns_2.jpeg
[generic]                 7015   18009  39.0% -lh5- e98e Mar 29  2001 ps2m/gpl.txt
[generic]                 1312    5240  25.0% -lh5- 3ff7 Jul  9  2001 ps2m/history.html
[generic]                 1556    5464  28.5% -lh5- 65a6 Jul  9  2001 ps2m/history_ru.html
[generic]                 4645   11477  40.5% -lh5- 4376 Jul  9  2001 ps2m/how2do.html
[generic]                 3554    7325  48.5% -lh5- ffa4 Jun 30  2001 ps2m/how2do_ru.html
[generic]                  493    1198  41.2% -lh5- 1306 Jul  8  2001 ps2m/index.html
[generic]                  554    1199  46.2% -lh5- b1fc Jul  8  2001 ps2m/index_ru.html
[generic]                  393     644  61.0% -lh5- 978a Jul  9  2001 ps2m/license.html
[generic]                  470     673  69.8% -lh5- 0fb4 Jul  9  2001 ps2m/license_ru.html
[generic]                 4124    4124 100.0% -lh0- 401f Jun  5  2001 ps2m/movement.png
[generic]                  832    1983  42.0% -lh5- f9e5 Jul  4  2001 ps2m/pcb.html
[generic]                16219   16717  97.0% -lh5- dc6a Jul  4  2001 ps2m/pcb/ps2m-comp-5but&2wheels.png
[generic]                16121   16639  96.9% -lh5- 329f Jul  4  2001 ps2m/pcb/ps2m-comp-5button.png
[generic]                16386   16890  97.0% -lh5- 20a1 Jul  3  2001 ps2m/pcb/ps2m-comp-mousepower.png
[generic]                 9285    9343  99.4% -lh5- 3466 Jul  4  2001 ps2m/pcb/ps2m-solderside&ground.png
[generic]                 8850    8919  99.2% -lh5- 3ec4 Jul  3  2001 ps2m/pcb/ps2m-solderside.png
[generic]                 1075    2162  49.7% -lh5- 0fdc Jul  4  2001 ps2m/pcb_ru.html
[generic]                  458    1049  43.7% -lh5- a5ba Jun  4  2000 ps2m/pic/16f876.i
[generic]                  996    4339  23.0% -lh5- 14d5 Jul  9  2000 ps2m/pic/macros.i
[generic]                 3176   10272  30.9% -lh5- db69 Jul  9  2001 ps2m/pic/ps2m.asm
[generic]                 1166    2768  42.1% -lh5- 169f Jul  8  2001 ps2m/pic/ps2m_5button.hex
[generic]                 1166    2800  41.6% -lh5- b376 Jul  9  2001 ps2m/pic/ps2m_mousepower.hex
[generic]                 5676    5676 100.0% -lh0- c4dc Jun  4  2001 ps2m/ps2.jpeg
[generic]                 4250    4297  98.9% -lh5- 8e1a Jun  3  2001 ps2m/ps2m-1.jpeg
[generic]                 4173    4223  98.8% -lh5- 5a1e Jun  3  2001 ps2m/ps2m-2.jpeg
[generic]                 5891    5933  99.3% -lh5- 45c8 Jun  3  2001 ps2m/ps2m-3.jpeg
[generic]                 2974    2974 100.0% -lh0- 7770 Jul  3  2001 ps2m/ps2m_2wheel.png
[generic]                 3050    3050 100.0% -lh0- e3d0 Jul  3  2001 ps2m/ps2m_5button.png
[generic]                 3109    3109 100.0% -lh0- 079c Jul  3  2001 ps2m/ps2m_mousepower.png
[generic]                11977   12078  99.2% -lh5- 453b Jul  8  2001 ps2m/rdc.jpeg
[generic]                  689     689 100.0% -lh0- 8c2a Jun  4  2001 ps2m/scala.png
[generic]                  130     130 100.0% -lh0- c2a3 Jun  5  2001 ps2m/triangle.png
[generic]                 1547    3484  44.4% -lh5- 4842 Jul  9  2001 ps2m/usage.html
[generic]                 1855    3835  48.4% -lh5- a97e Jul  9  2001 ps2m/usage_ru.html
[generic]                 1803    4295  42.0% -lh5- 9593 Jul  9  2001 ps2m/version.html
[generic]                 2423    5193  46.7% -lh5- 0523 Jul  9  2001 ps2m/version_ru.html
[generic]                 1996    4383  45.5% -lh5- a7f5 Jun 17  2001 ps2m/whatisit.html
[generic]                 2634    5129  51.4% -lh5- 68e5 Jun  5  2001 ps2m/whatisit_ru.html
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        57 files  193198  289938  66.6%            Jul  8  2001

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>