Which is faster: MOVE.W $DFF00A,D0 or going through a serial protocol?
in c#
joystickDevice.Poll();
This is faster for a number of reasons. First of all, I didn't have to write the entire application in assembly language. So what if you can read the joystick with one mov instruction? Reading a joystick ain't hard no matter what the language and API you have to deal with. What's hard is all of the other parts of the game you have to write, especially the graphics. I don't know about you, but I don't like writing graphics code in asm. Some of the crappiest, most inefficient code I've ever seen was written in assembly language. The whole mantra of "code written in assembly is the fastest there is" is an exaggeration beyond belief.
Second, I can read the value from two analog sticks and two analog flippers more than once per frame, I can do it as fast as the HID spec allows, and there can be a lot more analog controls on the device than that! Not so on the Amiga, only can do this once per frame. So much for the superior Amiga joy port.
With the Amiga Joy port, I get one 1980's era standard boring as hell joystick. Just one per port. Imagine playing Gears of War or Crysis with such a joystick. Might as well sit on the damn thing. On the PC I can have a dozen gaming devices. Mice, keyboards, steering wheels, foot pedals, yokes, game pads, classic style joys, harddrives, video output devices, video input devices, audio output devices, audio input devices, and the list goes on and on. All on one bus. With the Amiga joy port, I get.... a joystick... an old crappy joystick whose metal contact switches tie directly to I/O pins on some bizarre custom chip that's capable of recording the full glory of raw signal bounce. Oh how superior!
USB HID devices output perfect state information to the computer. There is no need to poll it a thousand times a second as humans can't click a button more than 10 times a second. With the USB bus, one can connect 127 devices to the bus, all working simultaneously. USB 2.0 can transfer 60 megabytes a second across the bus.
All this being said, the Amiga joystick port is just another para interface hanging off a custom chip. It is unusual in that you can fetch information from it rather quickly. One thing amigaski hasn't done in his argument is actually show real code that reads the joystick port as fast as he claims. He has a product which emulates joystick devices for the amiga by bit banging the para port on the pc, but notice he hasn't claimed there are games which are unusable using his hardware emulation product, which by it's very nature has to use the supposedly inferior db15 standard legacy joystick port or a keyboard for it's input.
The only devices that i'm aware of that actually use the limits of the Amiga joyport are audio digitizers that tie in to that port. I wouldn't be surprised if others on here know of additional devices that can use the capability of this interface. There are two words that accurately describe the Amiga Joystick/Mouse port: weird and suboptimal.