View Single Post
Old 01 December 2014, 17:26   #1432
Registered User

Daedalus's Avatar
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 2,740
Originally Posted by jbenam View Post
While we know that the Megadrive/Genesis gamepads don't stricly adhere to the Commodore/Atari specs, and that there's a stray pin which works only by pure chance (SELECT I think?), is there really a danger for the Amigas? I mean, a real chance of damage, not something which could happen only in 1% of cases

I've seen loads of people use them for ages on their Amigas with no issues at all and I use one myself on all my Amigas without any issues at all... While I know that there's real danger when using them with a C64 because of something different in the pinout (can't remember now).
Jens gives some sound advice there - if there is any chance that it might damage your Amiga, why risk it?

Anyway, I've had a look at the schematics myself and they're a little... odd, really. They use pin 5 to provide power to the logic in the gamepad, not the normal pin 7. Pin 7 is used by the Megadrive as a select signal that switches between two banks of buttons, and because on the Amiga it is +5V it always only considers only one bank of buttons, meaning the A and Start buttons cannot be read by the Amiga. However they shouldn't really cause damage because they don't do anything except pull a logic input low on the multiplexer chip which is normally pulled high by a 10k resistor. My only slight concern here is that the whole thing, including the small current sinks of the buttons and their pull-up resistors, is all running off the pin 5 signal, which is held high in order to detect middle button presses on an Amiga mouse. But the impedance of this signal has to be quite high as the middle button simply shorts it to ground, so I can't imagine the extra current draw being an issue here.

What I would find concerning is that the Amiga uses pin 5 to control certain functions of the CD32 gamepad, similar to what the Megadrive does with pin 7. This is worrying because if anything calls on this function, pin 5 is drawn to ground, powering down the multiplexer which still has the full +5V applied to its select input, and to pin 5's pull-up resistor, neither of which are a good thing. Without knowing how the multiplexer and the Amiga's internals react to such a condition it's hard to say what would happen, but that could be where the damage happens.

Basically it comes down to you. If you trust software to leave pin 5 alone, you're probably pretty safe to use Megadrive pads. But you can never be sure what games might try to use a CD32 pad, or even use the lowlevel.library API to read a normal joystick. Old games are probably fine, but even then, some funky poking around in the CIA or Paula registers could cause you trouble that wouldn't show up with a proper Amiga controller.

Megadrive pads are pretty simple however, and it would be quite trivial to modify one to conform to the Amiga's requirements (and get use of all 3 buttons in the meantime). It should only take a few minutes with a soldering iron...

Edit: It appears that the C64's CIAs don't like the pull-up resistors used in the Megadrive controllers because the signals are also used for other purposes which rely on the joystick being open circuit - remember how the player 2 joystick could be used to type garbage onto the screen? As far as I know this is only the case for the Amiga in the case I described above (software looking for a CD32 controller or other non-standard joystick or peripheral on the port).

Last edited by Daedalus; 01 December 2014 at 17:38.
Daedalus is offline  
Page generated in 0.04464 seconds with 10 queries