An Amiga Mouse, The Modern Way

When we recently featured an Amiga upgrade project, [EmberHeavyIndustries ] was prompted to share one of their own, an adapter to allow a modern USB HID mouse to be used with the Commodore quadrature mouse port.

The first mice simply transferred the rotation of the ball through rollers to switches or optical sensors which passed pulse trains to the host computer. From the relative phase of these pulse trains the computer could work out what direction the mouse was going, as well as how far it had moved through counting the pulses. Since this was the simplest mouse interface, many of the 16-bit era machines used these signals. The PC meanwhile lacked such a port, so companies such as Microsoft had to place a microcontroller in the mouse to do the position sensing, and send the result over a serial interface. This evolved over time into the USB HID mouse interface you are probably using today.

Unfortunately for owners of quadrature mouse driven machines, real quadrature mice are a little thin on the ground these days, thus the adapter is a seriously useful device. At its heart is an STM32 microcontroller, and it’s been through a few updates and now supports mouse wheels. Your Amiga has been waiting for this!

There are quite a few other treats for Amiga enthusiasts in the EmberHeavyIndustries GitHub account, meanwhile here’s the video upgrade which caused us to receive the tip.

27 thoughts on “An Amiga Mouse, The Modern Way

  1. That’s cool and all, but what point is it if we replace all components by cheap PC parts? At one point, why not just use an emulator? It’s even more authentic given CRT emulation. Or let’s go make replicas of Amiga/Atari/C64 ball mice. With replicating the square chassis, of course. Or, at least, make replicas of those chassis. Optical mice are primitive. Just add a hole on bottom and install a modern mouse PC with hot glue. If there’s room left, just install an USB converter board like this.

    1. Well, this platforms are great if you want to learn some hardware, they are flexible and old enough that DIY hardware let you tinker with it.

      I have a kitted out 500 and I don’t use it much but it’s something I like to tinker with when I’m bored :)

    2. Pretty sure someone did create a modern copy of the Amiga ‘tank’ mouse and was selling it late last or early this year?

      Personally I think the soul of the machine is inside the case, not the peripherals but I get there’s a level of enjoyment to having as authentic an experience as possible and yeah, where I could I’d use the originals.

    3. This (or equivalent) would still be needed for an optical conversion. The quadrature is generated directly by the ball rolling a wheel which windows two sequential sensors. To do this with optical you’d end up creating the quadrature in software – which is what this does.

      It seems an odd thing to get attached to. If someone put this inside a modern mouse, so the modern mouse had a db9 cable to the amiga, would it get the same reaction? And if not, what’s the actual difference?

      1. I’m curious too. The eerily precise hand-eye-onscreen-motion of the Amiga and its mouse has, so far as I know, never been matched. I’d like to know why the Amiga mouse and pointer track our expected hand-eye expectations so well.

        I have read the Amiga Hardware Reference Manual front to back. Wonderful college education in a single book, if you have some background in electronics already. The one part I never ever understood was their mouse quadrature.

        1. That seems relatively straightforward to explain – there’s nothing magical about the mouse control on the Amiga except it doesn’t have acceleration.

          That’s fine on a low-res display, but try it on a modern display and you will be quickly frustrated, either when trying to get from one side of the screen to another when sensitivity is low, or in accurately selecting a desired point when sensitivity is high.

          1. Have you read the AHRM on the mouse? You say it lacks acceleration but that seems doubtful since that’s just change in speed over time. And using it on 1528×525 display circa 1990, never had a problem.

          2. That explains it – if you were convinced that the Amiga mouse handling was somehow “magical”, you wouldn’t have bothered to consider that maybe the PC mouse handling is deliberate, and being deliberate, can be *changed to suit your preferences*.

            Mouse acceleration is as much “change in speed over time” as a computer mouse is “a small mammal of the order Rodentia”. It’s a dynamic scaling of mouse sensitivity based on the instantaneous speed of the mouse movement. Move it a distance slowly, and the pointer will move a certain amount. Move the same distance quickly and the pointer will move much farther. Which is exactly what you were complaining about – the pointer movement not being perfectly proportional to the mouse movement.

            And yes, it can be disabled!

  2. There’s always been something inexplicably pleasing about the Amiga mouse’s pointer on Amigas. The way they tracked together, the way the mouse pointer moved onscreen was just so much in sync with natural hand-brain-eye coordination.

    Nearly 35 years later, I’ve yet to encounter a machine and/or mouse that has just as accurate a representation of hand speed, motion, direction, with corresponding pointer movement onscreen etc. I have even tried mice meant for Wintel gaming and for Photoshop use. Variable resolution mice, you name it.

    I don’t know if it’s the Amiga mouse quadrature and it’s chipset, or the OSes handling, or the relationship to the aspect ratio or what.

    Other people have commented on their inability to replicate that buttery smooth and totally natural Amiga mouse/pointer sync.

    I wish somebody would go full science mode and finally quantify what it is that makes the Amiga mouse pointer and mouse relationship feel SO GOOD.

      1. Try googling “how to disable mouse acceleration”. It’s not due to hardware, it’s a deliberate modification to the response done entirely in software, and it’s always been configurable.

      2. Yessssss!

        I had a Trident VGA card (9400CXi perhaps?) with “virtual screen” mode, which would tell Windows you had a larger screen, say, 1280×1024, and the GUI would draw into that. But the RAMDAC would only render a viewport out to your cheap CRT, say 800×600 of it, and the viewport would pan around to follow the mouse pointer.

        But the panning was done at a super low level, I think it directly hooked the mouse interrupt or something. It had _freakishly_ low latency — even at the time I remember being startled by how responsive it was. Windows could be busy displaying an hourglass pointer, but as long as the pointer still moved, the viewport still panned, with no reduction in responsiveness.

        1. Rather a different topic from mice and mousepointers, but yes, loved that too! I had a Pentium /// with an ATI card that gave me a scrolling desktop at least 4x the resolution of the giant raster display I had. I loved it but Windows users often hated it, even reporting “making me seasick”. The desktop would instantly slide about, panning as the mousepointer pushed up against the edge of the screen. This was on Windows XP. More on that in a sec….

          It was so fast, it was almost Amiga-like. I assume the technology was very much inspired by the Amiga: you define a super-bitmap and your display DMA Start and DMA Stop have a modulo setting, and the driver changes DMA Start And Stop so as to give you hardware based panning (not blitting). The modulo is based on the max width of your display device. So are the # of lines. The mouse control was still crappy Windows, but this was a huge boon for productivity, having a giant desktop without need for a $3,000 display. And it was fast! Well as fast the the Windows pointer could be anyway.

          As pathetic as Windows is/was, I loved that feature- which of course was only available if you had certain gfx cards. It seemed to me that ALL video cards ought be this way 15 years after the first Amiga, but noooooooo. But in the XP era, a LOT of gfx systems could do this. Thanks to XP and drivers that actually were clever: they took advantage of the hardware’s abilities.

          It was a simple thing to activate IF you even knew about it (and that was 99.9% of the battle). There was a checkbox in Display/Settings . Under the Monitor tab you uncheck “Hide modes this monitor cannot display”.
          Then under Adapter (tab) you click [List All Modes]. Select the maximum resolution and BOOM, you have a monitor “viewport” onto a giant scrolling desktop. If your gfx card and driver could handle such things. So Amiga-like, or at least as close as Wintel boxes could come.

          Then the shitbags at Microsoft disabled the ability to uncheck “Hide modes this monitor cannot display”. But they leave it there ghosted, to taunt you. Same with Win 7 and later.

          Clowns would say “Well you can download programs that give you multiple desktops”. Not even remotely the same thing, though. They’re a crock really.

    1. Science calls this effect: nostalgia

      It has been experienced in several fields like: CD vs Vinyl records, solid state vs tube amplifiers, real Xmas trees vs imitation and soon ICM cars vs electric. Although in the case of the mouse behavior and modern PC’s… maybe it’s time to clean and/or upgrade your PC.

      1. The smoothness of the Amiga mouse pointer in comparison with Windows was already a talking point during the mid 90s even before I got my A500. I had used Win3.11 for a couple of years before getting my hands on an Amiga, and the difference was very noticeable

      2. > Science calls this effect: nostalgia

        Piffle and whippetshit. The movement of Amiga windows on a 7MHz first edition Amiga however. is underwhelming (Sliding screens, still awesome however).

        Maybe you should actually try an real Amiga and real Amiga mouse.

  3. I have a few of these adapters.
    The problem is they add a lot of lag. Because USB HID delta movements need to be converted to equivalent number of mickey pulses.
    I have yet to try laser conversion kit for Amiga mice, but they are permanently out of stock.

  4. Do you have any measured evidence for that ?
    USB HID delta movements are transferred each 20msec, conversion to quadrature pulses took less than a msec, then the quadrature pulse train is exposed to the hardware as if it were generated by an original optical encoder’s hw.

    So, worst theoretical case ever would be a lag of 20+1 = 21 msec maximum, if you managed to move the mouse exactly after the end of previous 20msec slot.

    Now, most studies credits the fastest human reaction time in the range 100msec – 200msec, which is from 5 to 10 times greater.

    In conclusion, there’s no chance at all you can actually experience a lag (provided the adapter’s firmware isn’t bugged somewhere), and your feelings about that are biased by your mindset.

    1. Reaction time is mostly irrelevant to motion lag perception. Most humans can tell the difference between 25 fps and 30fps video.

      I had an Amiga 500 and 2000, and agree that modern hardware does not have the same effect. I believe it is a combination of the lower latency and direct hardware control of the mouse cursor. Using an interlaced display may also play a part due to the motion-blur effect of updating the even/odd lines.

    2. All adapters I have used so far have horrible lag, and if I keep moving mouse fast it takes noticeable time for the mouse to catch up. I think there is a limit on how fast your can clock the quadrature.
      The original tank mouse is immediate. It translates movements right away.
      Also, mouse position registers on Amiga are not updated on vsync, they are immediate as far as I know.

  5. The HID2AMI is an awesome bit of kit and I can assure you there is no lag.

    I’ve owned many Amiga mouse adapters over the years and this is by far the best.

    An Amiga ball mouse is okay if using low native resolutions, but if you run in high resolution’s (I use 1920 x 1200 on my Radeon 9250/mediator/A4000 setup) then you need to be using a faster/optical mouse.

    Another bonus is you can use game pads such as a Dual Shock 3 on the Amiga if you want to play a game or two…

  6. Maybe someone can tell the difference between 25 fps and 30 fps, but surely no one can’t tell the timing difference between events occurring at the same time ….

    You see, if the maximum theoretical lag due to the conversion from delta move to quadrature is 21msec, it means that the average lag is 10msec (random linear probability to fall in the range 0-21).
    Better, it means that mostly (almost all) lag events fall in the range 1-20 msec (1 msec is teh costants conversion time from detla to quadrature).

    Given that, it means that ALL quadrature movements take place in the same video frame shown by (PAL) Amiga.

    So it implies, that if you compare side-to-side to Amiga, one with his original mouse and one with the adapter, move both mice at the same time and look what happens, you’ll see the pointer in both screen start moving IN THE SAME VIDEO FRAME.

    So please convince me now anyone can “feel” the difference, as it simply phisically does not takes place.

Leave a Reply to 0xDEADBEEFCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.