As I said, you can have both APIs and hardware level compatibility.
In Windows NT, there are only two I/O privilege levels used i.e. level 0 & level 3. Usermode programs runs in privilege level 3. All usermode programs should talk to a device driver that arbitrates access i.e. to minimise conflicts.
For PCs, that's a big problem nowadays.
Define this "big problem nowadays." in terms of numbers. One could write a kernel mode driver for I/O level 0 access. Most PC games talks to DirectInput or xInput APIs i.e. userland programmers do not have worry about specific implementations i.e. makes development easier.
Refer to ease of development with Xbox 360 vs PS3's "design to be hard development".
IF STI(CELL) has been proper GPU vendor, they would have abstracted SPEs and RSX in similar ways to Direct3D9’s split vertex (a type of stream processor) and pixel shader (a type of stream processor).
IF you notice with PC GPU(a type of stream co-processor array) market, they annually change their micro-architecture i.e. they went from SIMD(Geforce 4 TI), VLIW (Geforce FX), SIMD (Geforce 6/7), SIMT(Geforce

, MIMT**(Geforce GT300). “Hitting the metal” requires userland software rewrites.
**Rumoured to be MIMT.
>Most console-to-PC game ports(e.g. Games For Windows) includes support for the Xbox 360 controller.
Which port are you referring to as the "console-to-PC" game port?
Mostly from Xbox 360 targets (i.e. games installed on my laptop) for example, Fallout3, Devil May Cry, Dynasty Warriors 6, Burnout Paradise IUB, Far Cry2, GRID Race Driver, Gears Of War, Mirror's Edge, Tom Clancy's H.A.W.X., The Last Remnant, Two Worlds (V1.5), Assassin's Creed, Dead Space, Lost Planet, Turning Point (Fall Of Liberty). Any console/PC games that supports XInput API (i.e. Games For Windows and Xbox 360).
>I recall Street Fighter II Amiga port didn't capture the arcade feeling i.e. the 1 button joystick standard is one of these issues.
Majority of games don't require the analogicity (can be done with digital joysticks) and don't require 10+ buttons. They just have to be programmed to use one or two buttons. Amiga joystick port can handle up to 3 buttons if you use the POTs as buttons as well, but it's easier to use a game with lesser buttons.
The Xbox 360 controller assumes lack of PC keyboard access. Note that, the mouse is one form of analogue control.
On Xbox 360 controller
LS = analogue direction e.g. I use it in Grid, Burnout Paradise, H.A.W.X.
RS = analogue POV (changes user's view) e.g. I use it in Grid, Burnout Paradise, H.A.W.K. digital PAD = digital direction
LT = analogue trigger e.g. deceleration.
RT = analogue trigger e.g. acceleration.
LB = digital trigger e.g. E-Brake.
RB = digital trigger.
Y,X,B,A = digital buttons.
Start = start game button.
Back = back button.
In real world controls, analogue controls reigns supreme.
Anyway, AmigaOne, SAM and Peg supports USB type devices.