The controller shouldn’t cause problems, because the interface is largely backwards-compatible — so unless you have a drive which doesn’t quite adhere to the “spec”, it should be able to talk to the controller. (There wasn’t really a spec for the first IDE drives, so take that with a pinch of salt...)
What will cause problems in anything vaguely recent (Pentium 4 or later), when trying to connect old drives, is that your system’s BIOS will probably expect to retrieve information about the drive from the drive itself. Drives older than ~1994 don’t support this, and need to be configured manually in the BIOS (this is where drive type 47 and such like comes in, along with the information written on the drive itself). I know for example that my P4P800 system doesn’t even boot if an old IDE drive is attached to it, and its BIOS setup doesn’t support any manual configuration of drive characteristics.
You shouldn’t need to go as far back as a 386 to be able to read from the drives though; a Pentium, Pentium Pro or even Pentium II should be old enough to have the appropriate support in the BIOS. That way you can run a recent-ish Linux distribution (and avoid having to use an insanely slow system...).
ddrescue
and run it on the disks as soon as possible, preferably writing to a large, fast, modern disk.ddrescue
and I are old friends. :)