You violated the law of physics.
Sigh.
Emulators can run ten times slower than the real thing. Yet, in the emulator environment (or so to speak 'from the emulator's point of view') it's in fact the real world that is fast and the emulator is fine. After all, if a ten-times-slower-but-cycle-accurate emulator runs code that on the real thing takes
exactly 503 cycles it will, on the emulator, also take
exactly 503 cycles. Albeit ten times slower cycles.
Likewise, in the emulated Amiga world the copper
can be used to read out the joystick port at the same resolution it can be on a real amiga.
However, (and this is where you probably got confused and felt I was telling something that was impossible), this is only true
inside the emulated environment. Obviously, since an emulator can't beat the rules of physics, doing IO outside of the emulator environment can lead to timing mismatches. Such as a PC joystick not actually being read out at 1Khz. The emulated environment still does it at 1Khz internally, but it won't get input at that rate from the 'outside world'.
It's a good thing though, because this feature (i.e. the emulator not needing to run at 100% exactly the same speed as the real thing) is in fact one of the many reasons they work at all. If an emulator needed to be cycle-accurate and speed-accurate in 100% of the cases they'd never ever work properly.
For an alternate way to think about it, just look at WinVice - its actual execution speed of C64 code varies a few percent even with speed lock active. If the emulated environment would notice this slowdown and speedup stuff like timing critical raster splits, fastloaders and other hardware-timing dependent stuff would break. Yet, because the world
inside the emulator works just like the real thing and it is only the presentation to the outside world that is not 100% accurate there is no problem: the code working (and displaying the proper effect) without crashing is proof enough that the emulator is cycle accurate.
So no, I did not break the laws of physics. I merely managed to look at this from both points of view: from the emulator and from the 'real world'.