I read an article that people were using various means of user input in their Amiga 500 computers as an alternative to joystick. Most notable, Sega Mega Drive, Sega Master System, CD32 / Competition Pro CD32. What other controllers are compatible with Amiga 500 (or any) excluding Joysticks altogether, no adapters (sorry Nintendo)
The Amiga 9-pin joystick port is compatible with:
- Atari 800/VCS joysticks and paddles;
- Atari ST joysticks;
- Commodore Vic-20, C64, C64GS and C128 joysticks;
- Commodore Amiga computer joysticks and joypads; and
- Amiga CD32 joypads.
This table from Wikipedia's page on the Atari Joystick Port showing the pin assignments of various systems using a 9-pin input port will be of use:
Broadly speaking: Atari and Commodore form one compatible group, Sega Master System and Mega Drive (Genesis) form a second group, and everything else is mutually incompatible.
Using a Sega Master System dumb two-button joypad on the Amiga may work - I believe they're simply UDLR and Buttons 1+2 as N.O. switches to ground, like an Amiga two-button joystick. However, I wouldn't want to try it unless I'd seen the PCB for myself just in case there's a surprise inside a later revision.
Sega Mega Drive controllers definitely contain active chips and using an MD pad on an Amiga may be dangerous. E.g. This 1998 article by Doug Cotton (a hardware engineer producing third party C64 products) describes the mechanism where a Sega controller can damage the C64's CIA chip.
"But be warned: There are rumours that SEGA-Pads can destroy your CIA! If you look at the pin-connections, it might be possible, though I don't know of such a case."
This is because joysticks (which the game ports were intended to support) either pull the lines low (when active) or are an open connection (when inactive). This latter condition allows the lines to be pulled low by other sources (they keyboard for example). Sega gamepads, on the other hand, pull inactive lines HIGH. Now if you press a key on the keyboard with one of these devices plugged in, one source is pulling the line high while another I/O line (cross-connected through the keyboard) is trying to drag it down. This can put an extra strain on the CIA chip, as the circuit wasn't designed to deal with this kind of situation.
It depends on what you call "compatible". On any DB9 joystick, the directions and at least 1 button will work
If you're aiming 1 button joystick, then you can pick any controller you'll find a button that works.
Now if you need 2 buttons, only sega controllers have a chance to work, but the buttons that work aren't the most naturally located. I have a SGFighter quickshot for sega, and only 2 buttons work(ed), but not the trigger button (too bad for a quickshot) (I know of a routine which is able to read more buttons from a sega controller but of course it's not used in games, so it's of little interest. Besides the important part would be to detect this joystick against a "standard" CD32 joypad)
If you need more than 2 buttons, your best bet is a standard CD32 controller, Honeybee, or KTRL CD32 (confidential batch made by some talented guy at EAB), or also Monster Joysticks (http://eab.abime.net/showthread.php?t=102797)
CD32 joypads are your best bet now. They are reported not to work on some motherboards, but it was because of a timing error on the lowlevel.library. Fixing the timing allows the joypads to work. This fix is present in most whdload patches that are published nowadays (and which support 2/3 buttons + pause + shoulders).
Besides, one could argue that diagonals are hard to pull on joypads, but more and more games get a "second button for jump" option now (through whdload) so it's less a concern now for platformers (and with some training, diagonals are pretty doable).
Note: I wasn't able to exploit anything useful from Atari paddles on the amiga (my plan was to adapt Arkanoid-style games to it). Maybe one day...
This shop on Tindie sells modified Chinese NES64 controller rip-offs that connect directly to any 9-pin joystick connectors. The mod is available as a kit or fully assembled and ready to plug into your game port.