Welcome, Guest. Please login or register.

Author Topic: Modifying Teac FD-235 C291 U5  (Read 8123 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« on: August 29, 2017, 07:12:22 AM »
@RiP
Instead of modifying the floppy, get a replacement flat 34-wire floppy cable (no twists) and modify the cable.
In the following instructions, "A" refers to the amiga end of the cable and "F" to the floppy end of the cable. Recall that wire #1 is the coloured (reddish or blueish) one.

Isolate wires #2 and #34 and cut each in half, this produces 4 halves: #2A, #2F, #34A and #34F

1a) Connect (solder) halves #2A and #34F together.
1b) Discard (cut off completely) half #2F, it's not needed. Solder the ANODE of an 1N914 or 1N4148 diode to half #34A.

Strip a bit of the PVC coating from wire #8 so the metal core is exposed, without cutting the wire in half.

1c) Solder the CATHODE of the diode there.

Cut in half wires #10 and #12, this produces halves #10A, #10F, 12A and #12F

1d) Connect #10A and #12F together
1e) Cut off #10F and #12A.


1a fixes diskchange signal
1b/1c fixes ready signal
1d/1e fixes DS0/DS1 swap


With this cable, practically any off-the-shelf unmodified vanilla PC drive will work as an Amiga df0: drive.
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #1 on: September 02, 2017, 08:51:13 PM »
Quote from: RiP;830323
Will it really work with any floppy drive?
Yes, all 3.5" drives have more or less similar timings which match or exceed the ones specified in the hardware manual (some oddball 3.5" floppy drive from around 1981 might not be 100% compliant, but you wouldn't likely come across one anyway).
By timings I mean parametres such as head settle delay, track-to-track steprate, write gate-to-data gap etc.

So all you need is to route the signals where the Amiga interface expects them to be, and that's what the modified cable does (the READY signal isn't really a true READY signal but rather an imitation hack, but works well enough for instances where it's required. AmigaDOS and OS-compliant software never uses READY anyway).

Quote
But I want to use the original Amiga floppy drive as DF0 too.

Just use two cables. An unmodified straight-through cable for the original Amiga drive, and a modified one for when you want to use another drive.

If, on the other hand, you want to permanently convert a random PC floppy drive into an Amiga one, just implement the cable signal changes directly onto the drive.

For ID fixing, move the DS1 jumper (0 Ohm "resistor") to the DS0 position.

For DISKCHANGE fixing, backtrack from pin#34 and see which pin of the square FDC controller chip connects to it (verify with a continuity test). This is where DISKCHANGE is produced on the controller.

Cut the traces right behind pin#34 and pin#2 (so that they connect to nothing) and solder a wire from the FDC controller pin you just found to pin#2. This routes DISKCHANGE to the otherwise isolated pin#2.

Solder a diode between pin#8 and the otherwise isolated pin#34 (cathode on pin#8, anode on pin#34). This imitates (*) READY on pin#34, and the conversion is complete (**).


(*) If you want a true READY signal, you'll have to find which pin on the square FDC controller it's produced. The READY signal will be steady at around +5 V when no disk is in the drive (motor idle) and will drop to 0 V about half a second after a disk has been inserted (motor at full speed).
Once the READY pin on the controller chip has been identified, you can connect it directly to the (otherwise isolated) pin#34 and skip the diode altogether.

(**) You can also fix the HD detection switch permanently to the DD position, so the drive behaves as a DD drive at all times.
« Last Edit: September 02, 2017, 09:17:29 PM by BLTCON0 »
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #2 on: September 03, 2017, 09:31:41 PM »
@lost_loven
Yes, AFAIK the 1010 uses a separate PCB to implement the motor flip-flop/ID mechanism, much like the majority of later Amiga external drives. So all you'd need do is replace the drive with an Amiga-converted one and find a way around the fascia differences.

OTOH the A1011 (and the identical A1411 of course) uses custom Chinon FB-354 revD drives with a 24-pin interface and integrated flip-flop/ID circuitry, so they're a different story (no interface PCB there so it has to be re-implemented if replacing with another drive).
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #3 on: September 04, 2017, 01:01:42 AM »
Quote from: RiP;830348
Thank you very much, I just connected pin 34 straight to pin 4

That would be pin 2

Quote

And it worked!

Yes and no.

It worked because pin2 was probably not connected to anything in the first place in your drive (it's normally used for DENSITY SELECT which not all drives are factory configured to support).

So now you're getting a duplicate of DISKCHANGE on pin2 too (where the amiga expects it) and still getting it on pin34, where the Amiga expects the READY signal.

Now, as I said, under AmigaDOS the READY signal is not used for its intended purpose, and trackdisk.device won't bother ID-ing a DD 3.5" drive connected as df0: (which would normally employ the READY signal), so as long as you have this half-modded drive connected as df0: and only use it under Amiga DOS, you'll get by fine (*).

But with any demo/NDOS game that uses READY, you'll have problems unless you take all the steps.

Quote

 I feel it's quite faster than A2000's floppy drive, just need to cover the HD/DD hole :laughing:

It isn't, it only feels that way because it's quieter (unless of course the original drive had a considerably dirty head and kept retrying until it got a successful reading). Otherwise the operating parameters are more or less identical.

(*) At the very extreme, a PC drive can be made to work as df0: only and under AmigaDOS with no modifications at all. Just short SEL0 and SEL1 (cancels installing an external drive) and isolate pins 2 (DISKCHANGE) and 34 (READY). As said, under AmigaDOS "ready" is not required, and DISKCHANGE can be emulated with the synonymous CLI command. The only thing to remember is having the boot disk pre-inserted upon power-up/reset and the DISKCHANGE command copied to RAM: so it's readily available for any disk (all made much easier if booting off a hard drive).
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #4 on: September 04, 2017, 06:25:26 AM »
Alright, if you don't believe what I say, re-read the guide at http://elgensrepairs.blogspot.co.uk/...5-fdd-for.html and tell me where exactly pin 4 is mentioned.

Quote from: RiP;830352
But pin2 is connected to the IC :confused:

So? If it wasn't connected to the IC, would there even be a point in saying "cut the trace" ? The very goal is totally *isolating* this pin from whatever false pin on the IC it may currently be connected to and then routing DISKCHANGE onto it.
« Last Edit: September 04, 2017, 06:30:50 AM by BLTCON0 »
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #5 on: September 04, 2017, 05:36:57 PM »
@RiP
The instructions I posted are generic and can be applied to any drive. I can't possibly know what signal is enabled by jumper S6 or S-anything on your specific drive, or what possibly obscure and non-standard connections some pins may have.

Hence the "dictator" instructions: either you follow them to the letter and ensure a specific behaviour for the drive, or you end up with a possibly unpredictable result.

To sum up:
0. ID jumper must be set for DS0
1. pins 2 and 34 must be perfectly isolated (if necessary, by cutting traces)
2. DISKCHANGE (from the IC) must be routed to pin2
3. READY (from the IC) must be routed to pin34. If no READY exists or is tough to discover, you can alternatively do the pins 8-34 diode trick to imitate it.
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #6 on: September 04, 2017, 09:23:06 PM »
Yes, if disk changes are properly autodetected in workbench then DISKCHANGE is correct.

For the READY signal you need some games/demos that require it in their trackloader.
I don't have a comprehensive list but the mod site you linked says something about X Copy (don't use X Copy TNG though).
Just test 10-20 NDOS games or demos, chances are at least a few of them will have READY-dependent trackloaders. If all load fine, your READY signal is OK too.

If I recall correctly, one such READY-dependent game is Skweek. I think that's what I used to test my first modded drives, but it's been more than 6 years since then :-)
A quick web search also shows Super Cars 2.
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #7 on: September 06, 2017, 11:08:29 AM »
Quote from: RiP;830390
Thanks, then READY signal should be connected to a pin from IC too.
And how to measure 5V? I need to know the 2nd -5V to connect multimeter.


+5V is measured against GND (ground), use any available ground point on the PCB (e.g. the odd numbered pins on the 34-pin connector typically are GND).
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #8 on: September 27, 2017, 07:16:13 PM »
Quote from: RiP;831051
Well, diode method didn't work for other versions of FD-235.
Are you sure about pin8?



Yeah, pin8 = INDEX.

The way it's shown on the pic (using the drive's SELECT signal) is not a good idea.
The typical sequence is:
1. Select the drive
2. Enable the motor
3. Wait for the RDY signal (or for 500 milliseconds) to ensure that the motor is up to full speed

Some drives may have the motor ready in as little as 300 ms, but that's about it.
So the soonest possible after Select before the drive (motor) is actually Ready is about 300 ms, and that's not even valid for all drives. 500 ms is the accepted delay.

So, if you tie RDY to SEL, you're essentially telling the Amiga that the drive is Ready as soon as it's Selected, which is obviously not true. So an RDY-based loader will read bogus data, and it all boils down to whether the loader has a recovery procedure or not. If it has, it'll retry and retry until the motor is in full speed, at which point valid data will come through and the loader will continue.
Otherwise, if it operates under the assumption that data is always correct, you'll get a nice crash.

To the contrary, the RDY signal is always a prerequisite before the drive issues an INDEX signal (even if RDY is not externally provided, the motor-readiness state is still assessed before any valid INDEX signal is issued).

So tying INDEX to RDY, you avoid the aforementioned risk.
 

Offline BLTCON0

  • Jr. Member
  • **
  • Join Date: Oct 2013
  • Posts: 91
    • Show all replies
Re: Modifying Teac FD-235 C291 U5
« Reply #9 on: October 23, 2017, 10:15:04 PM »
Quote from: RiP;832099
I feel the diode method makes loading slow =/


It could happen. The diode method is only an easy approximation of the READY signal and not a true replacement.
The INDEX signal (to which the READY signal is tied to via the diode) is only active for a brief period during each disk revolution (while a true READY signal must be active for as long as the motor spins at full speed).
Most loaders, once they've started the motor, will remain in a tight checking loop for RDY, so this doesn't present any problems.
But some peculiar loader that only checks once per frame or whatever, might take a few revolutions before it 'catches' a READY signal that way.
In extreme cases this could even never happen (if the check is in perfect sync with the disk revolution, or if the loader gives up too early).

A proper READY solution (in negative logic) would be:

READY = DELAY AND MOTOR

where DELAY is a helper signal which
a) initialises as disabled
b) gets disabled whenever MOTOR gets disabled
c) replicates MOTOR with a 500 ms delay whenever MOTOR gets enabled