• Please review our updated Terms and Rules here

ZFDC help needed with 3" drive

atl

New Member
Joined
Nov 1, 2022
Messages
5
I could use some guidance on getting my ZFDC up and running. System consists of John's 286, 16Mb RAM, MSDOS (v2) and dual IDE. In running BIOS sequential read test, drive (Teac 235HF) appears active but always the same error: Floppy sector read error: 3FH; Error reading from 5" floppy. I didn't find this error (3F) listed in the 8086 monitor listing (10.33). I am also confused by the second message as I am not trying to access a 5" disk.

Any help in sorting this out would be much appreciated.
Anthony
 
Anthony, I have John's ZFDC board and from my experiance it would be best to get it working with an 8" drive if possible. As
mentioned in John's write-up, 5" drives and 3.5" drives can be modified to make them look like 8" drives to your system and this
is the route I took to get the board working. By modified, he means changing the drive rotational speed, the "RDY" signal and
the "DS0" signal on the 3.5"/5" drive to match that of an 8" drive. The 3.5" drive used must have the ability to rotate at
360RPM and work with 135TPI. I was never able to modify the Teac 235F as there were too many versions in the wild and the PCB is
not clearly labeled. I used the Samsung SFD-321B which has a special 1.6MB mode (360RPM) and works with HD disks (135TPI) making
the Samsung look like an 8" drive. You will also need a connector conversion board (34P to 50P). I used the "NF6X FD50TO34”
Adapter purchased from OSHPark. Dave Dunfield has information on modification to a 5.25" drive that you may want to reference.

There may be someone else on the forum that has been able to get the Teac 3.5" drive to work.
- Charles

Samsung_SFD-321B.jpg
 
Thanks for this insight. For MSDOS, one needs to maintain 18spt/80tk formatting. Does this modification detract from that? According to the specs, these Teac drives can manage 500kHz data rate as is common with 8" drives.
 
Last edited:
If you're trying to get an FD235HF to spin at 360 RPM, it can be done with some drives. I'll need to see a detailed shot of the drive PCB, however--there are many versions of it.
 
Anthony, if I understand your question, yes, the Teac FD235HF will work as a modified 8" Disk Drive if you can identify the required pads on the Teac Drive (most are not marked nor is there information on doing this). Once modified, the drive will not work for a IBM MS-DOS system as the drive select, and RDY signal between S100 and IBM is not compatible. You would have to modify it back to the original configuration.
- Charles
 

Attachments

  • Pic1.jpg
    Pic1.jpg
    159.1 KB · Views: 5
  • Pic2.jpg
    Pic2.jpg
    157 KB · Views: 5
  • Pic3.jpg
    Pic3.jpg
    140.7 KB · Views: 4
  • Pic4.jpg
    Pic4.jpg
    123.5 KB · Views: 5
I could use some guidance on getting my ZFDC up and running. System consists of John's 286, 16Mb RAM, MSDOS (v2) and dual IDE. In running BIOS sequential read test, drive (Teac 235HF) appears active but always the same error: Floppy sector read error: 3FH; Error reading from 5" floppy. I didn't find this error (3F) listed in the 8086 monitor listing (10.33). I am also confused by the second message as I am not trying to access a 5" disk.

Any help in sorting this out would be much appreciated.
Anthony
The responses above discuss modification of a 3.5" drive so that it is functionally equivalent to an 8" drive. That is a nice solution when you are running an 8080/Z80 CPM/80 system with a BIOS designed for use with 8" drives - but that discussion is not relevant to solving your problem.

Your S100 system setup consists of the following "John Monahan" designed boards:
- 80286 CPU
- 16MB static RAM
- dual CF/IDE
- ZFDC floppy controller board
... and you are booting MSDOS v2, presumably from the CF/IDE board.
You are trying to read/write to a Teac 235HF 3.5" HD floppy drive from MSDOS.

As you correctly pointed out you do not want (or need) to perform any modifications to your floppy drive. I have a hardware configuration absolutely identical to yours including the same model of unmodified floppy drive, the only difference is that I am using MSDOS 4.1. I can verify that yes - you can read/write 3.5" 1.44MB MSDOS format floppy disks while running MSDOS when MSDOS 4.1 is booted on this system.
For a start, I suggest you use MSDOS 4.1 instead of what you said you are currently using which is MSDOS 2.0. MSDOS 2.0 does not have native support for the 3.5" floppy format, which may explain the error messages you are seeing. The BIOS John has written for his x86 boards has been designed to work with MSDOS 4.1, and that is what he recommends you use.

Incidentally, the best place to obtain support for John's S100 boards is in the "S100Computers" Google Groups discussion forum.
 
Anthony,

If indeed (as Charles has stated) it is easier to get the ZFDC working with 8" drives, you might want to substitute a 5.25" HD drive instead. I'm told that they are electrically very similar to 8" drives. I don't have a ZFDC (at least not one that is working), but I've had great success with 5.25" HD drives substituted for 8" drives. The biggest issue is READY. I just ground READY on the controller.

If you are really set on using 3.5" drives, there is a detailed description on-line of the modifications required for a particular 3.5" drive. It was in Marcus' archive that was openly available. But he moved it into GitHub and restricted access to it. Maybe you can find it on the Way Back machine? I think I have one of those drives, but I don't remember the vendor or model number off-hand. I can search around to get the info. if you want.

Roger
 
Anthony,

If indeed (as Charles has stated) it is easier to get the ZFDC working with 8" drives, you might want to substitute a 5.25" HD drive instead. I'm told that they are electrically very similar to 8" drives. I don't have a ZFDC (at least not one that is working), but I've had great success with 5.25" HD drives substituted for 8" drives. The biggest issue is READY. I just ground READY on the controller.

If you are really set on using 3.5" drives, there is a detailed description on-line of the modifications required for a particular 3.5" drive. It was in Marcus' archive that was openly available. But he moved it into GitHub and restricted access to it. Maybe you can find it on the Way Back machine? I think I have one of those drives, but I don't remember the vendor or model number off-hand. I can search around to get the info. if you want.

Roger
As I pointed out above... Anthony's system is running standard MSDOS. He needs to get the ZFDC controller to work with either a 5.25" or 3.5" drive, which is natively supported by the x86 ROM BIOS for his 80286 board. Getting an 8" drive (or a 3.5"/5.25" drive emulating an 8" drive) connected to the ZFDC controller is not going to make it easier for him to solve his problem.

My experience - it is no less easy (or difficult) to get a 5.25" or 3.5" drive working with the ZFDC as compared to an 8" drive. It is simply a matter of getting the correct jumper configuration for the drive select and motor on signals to the 5.25"/3.5" drive. Once that is done, it simply just works.
 
For a start, I suggest you use MSDOS 4.1 instead of what you said you are currently using which is MSDOS 2.0. MSDOS 2.0 does not have native support for the 3.5" floppy format, which may explain the error messages you are seeing. The BIOS John has written for his x86 boards has been designed to work with MSDOS 4.1, and that is what he recommends you use.

Incidentally, the best place to obtain support for John's S100 boards is in the "S100Computers" Google Groups discussion forum.
I think a while back I read somewhere that the first version of MSDOS that supported the 3.5" drive was V3.3 (or possibly V3.1). I came across this when I modified my IBM5155 computer. I replaced one of the floppy drives with a dual 3.5/5.25 unit and fitted a Seagate HDD to the other bay. I had to buy and load DOS v3.3 to get the 3.5" drive support working, and it did. So this may be along similar lines of the problem here.
 
I think a while back I read somewhere that the first version of MSDOS that supported the 3.5" drive was V3.3 (or possibly V3.1). I came across this when I modified my IBM5155 computer. I replaced one of the floppy drives with a dual 3.5/5.25 unit and fitted a Seagate HDD to the other bay. I had to buy and load DOS v3.3 to get the 3.5" drive support working, and it did. So this may be along similar lines of the problem here.
PC-DOS 2.1 was the version that supported the JX's 3.5" drives. MSDOS 2.11 shipped with the early Toshiba 3.5" floppy laptops. DOS 3.2 was the first general purpose version with support for 720K floppies while 3.3 (which shipped alongside the PS/2 line) had support for 1.44MB.
 
The responses above discuss modification of a 3.5" drive so that it is functionally equivalent to an 8" drive. That is a nice solution when you are running an 8080/Z80 CPM/80 system with a BIOS designed for use with 8" drives - but that discussion is not relevant to solving your problem.

Your S100 system setup consists of the following "John Monahan" designed boards:
- 80286 CPU
- 16MB static RAM
- dual CF/IDE
- ZFDC floppy controller board
... and you are booting MSDOS v2, presumably from the CF/IDE board.
You are trying to read/write to a Teac 235HF 3.5" HD floppy drive from MSDOS.

As you correctly pointed out you do not want (or need) to perform any modifications to your floppy drive. I have a hardware configuration absolutely identical to yours including the same model of unmodified floppy drive, the only difference is that I am using MSDOS 4.1. I can verify that yes - you can read/write 3.5" 1.44MB MSDOS format floppy disks while running MSDOS when MSDOS 4.1 is booted on this system.
For a start, I suggest you use MSDOS 4.1 instead of what you said you are currently using which is MSDOS 2.0. MSDOS 2.0 does not have native support for the 3.5" floppy format, which may explain the error messages you are seeing. The BIOS John has written for his x86 boards has been designed to work with MSDOS 4.1, and that is what he recommends you use.

Incidentally, the best place to obtain support for John's S100 boards is in the "S100Computers" Google Groups discussion forum.
Thank you for the additional insight. You have the correct interpretation of my goal here: stick with MSDOS. I haven't yet gotten to the point of trying to boot DOS. I will be happy to get through the sequential floppy read test successfully. Additional probing indicates that I'm still having problems with strapping on the ZFDC. I will come back with a progress update once I get the drive responding correctly.

ATL
 
PC-DOS 2.1 was the version that supported the JX's 3.5" drives. MSDOS 2.11 shipped with the early Toshiba 3.5" floppy laptops. DOS 3.2 was the first general purpose version with support for 720K floppies while 3.3 (which shipped alongside the PS/2 line) had support for 1.44MB.
Yes, I should have said v3.3 was the first one that supported 1.44MB drives.
 
Thank you for the additional insight. You have the correct interpretation of my goal here: stick with MSDOS. I haven't yet gotten to the point of trying to boot DOS. I will be happy to get through the sequential floppy read test successfully. Additional probing indicates that I'm still having problems with strapping on the ZFDC. I will come back with a progress update once I get the drive responding correctly.

ATL
I will check the ZFDC jumper settings I am using and post them here.

It sounds like you are running the floppy drive diagnostics provided within the "IBM PC BIOS TEST MENU" provided within the v10.33 monitor ROM. Have you previously used your ZFDC board with CP/M, and run the 8-bit ZFDCDIAG.COM utility to check out the board?

With regard to running MSDOS on your system:

Although you did not mention it, I assume you also have John Monahan's S100 "MSDOS Support Board" in your system - in addition to the boards you listed this board is required to be able to boot and run MSDOS.

The quickest and most reliable way to get you system up and running is to use a PC and a CF card reader to copy a bootable image of MSDOS 4.01 to a CF card. You can then boot MSDOS from that CF card (installed in the Drive B slot of the dual CF/IDE board) from the x86 monitor. You can find the CF card image file near the bottom of this page, and instructions for copying that file to a CF card are found near the top of this page:


As I mentioned previously, the ROM BIOS (included in the v10.33 monitor you are already using) is designed to support the ZFDC floppy controller.
 
I will check the ZFDC jumper settings I am using and post them here.

It sounds like you are running the floppy drive diagnostics provided within the "IBM PC BIOS TEST MENU" provided within the v10.33 monitor ROM. Have you previously used your ZFDC board with CP/M, and run the 8-bit ZFDCDIAG.COM utility to check out the board?

With regard to running MSDOS on your system:

Although you did not mention it, I assume you also have John Monahan's S100 "MSDOS Support Board" in your system - in addition to the boards you listed this board is required to be able to boot and run MSDOS.

The quickest and most reliable way to get you system up and running is to use a PC and a CF card reader to copy a bootable image of MSDOS 4.01 to a CF card. You can then boot MSDOS from that CF card (installed in the Drive B slot of the dual CF/IDE board) from the x86 monitor. You can find the CF card image file near the bottom of this page, and instructions for copying that file to a CF card are found near the top of this page:


As I mentioned previously, the ROM BIOS (included in the v10.33 monitor you are already using) is designed to support the ZFDC floppy controller.
Jumpers required to use a single 3.5" floppy drive connected to the ZFDC for use with the x86 ROM monitor and BIOS:

P80, P81 : no jumpers necessary, only applicable to 8" drives

JP12 : this forces RDY line on the floppy drive to be active when DRIVE D is selected by controller

P78:
Jumper 1 to 2 (use jumper block): /DENSITY from controller drives DENSITY_SELECT line on the floppy drive cable
Jumper 8 to 13 (will need to use a jumper wire): DRIVE D from controller drives MOTOR_A enable on the floppy drive cable
Jumper 12 to 13 (will need to use a jumper wire): DRIVE D from controller drives DRIVE_A_SELECT on the floppy drive cable

P79: jumper 7 to 8 (suggested in John Monahan's notes, but shouldn't be necessary)

The above configuration uses a standard 3.5" floppy drive as sold out-of-the-box for a PC. It is plugged into the ZFDC using a standard PC floppy drive cable, with the drive plugged into the connector "past the twist" just as you would do for DRIVE A on a PC. The x86 ROM BIOS assigns the single floppy as DRIVE A, even though that drive is physically assigned as DRIVE D on the ZFDC.
 
Last edited:
Jumpers required to use a single 3.5" floppy drive connected to the ZFDC for use with the x86 ROM monitor and BIOS:

P80, P81 : no jumpers necessary, only applicable to 8" drives

JP12 : this forces RDY line on the floppy drive to be active when DRIVE D is selected by controller

P78:
Jumper 1 to 2 (use jumper block): /DENSITY from controller drives DENSITY_SELECT line on the floppy drive cable
Jumper 8 to 13 (will need to use a jumper wire): DRIVE D from controller drives MOTOR_A enable on the floppy drive cable
Jumper 12 to 13 (will need to use a jumper wire): DRIVE D from controller drives DRIVE_A_SELECT on the floppy drive cable

P79: jumper 7 to 8 (suggested in John Monahan's notes, but shouldn't be necessary)

The above configuration uses a standard 3.5" floppy drive as sold out-of-the-box for a PC. It is plugged into the ZFDC using a standard PC floppy drive cable, with the drive plugged into the connector "past the twist" just as you would do for DRIVE A on a PC. The x86 ROM BIOS assigns the single floppy as DRIVE A, even though that drive is physically assigned as DRIVE D on the ZFDC.
Thanks again. Yes, I am using the MSDOS Support v3.

I configured as stated above - still no dice! Following is the dialogue:

>T
Sequentially read sectors from 3" Floppy disk
ZFDC Board Initialize OK

Read from Side A or Side B (A/B) A
Enter Starting Track number (xxH) - 00H
Starting sector number (xxH) - 01H
Number of sectors to R/W (xxH) - 12H

Floppy Sector Read Error. Error returned = 21H
Error reading sectors from 5" Floppy

Now I have to sort out error 21h as this is not listed in the INT13 code. BTW, side, starting track, etc. always yields the same result. The motor/drive select LED are always on.

ATL
 
Thanks again. Yes, I am using the MSDOS Support v3.

I configured as stated above - still no dice! Following is the dialogue:

>T
Sequentially read sectors from 3" Floppy disk
ZFDC Board Initialize OK

Read from Side A or Side B (A/B) A
Enter Starting Track number (xxH) - 00H
Starting sector number (xxH) - 01H
Number of sectors to R/W (xxH) - 12H

Floppy Sector Read Error. Error returned = 21H
Error reading sectors from 5" Floppy

Now I have to sort out error 21h as this is not listed in the INT13 code. BTW, side, starting track, etc. always yields the same result. The motor/drive select LED are always on.

ATL
If you have John's Z80 board and are able to run CP/M, it is best to run the ZFDCDIAG utility to test the ZFDC board - it provides a far more comprehensive list of testing routines for the ZFDC than those few available in the x86 ROM monitor/BIOS.

The "error returned" code is probably the ZFDC's controller's own error code and not one generated by the PC BIOS - but I have not been able to locate a description for code 21H.

Is your ZFDC a brand-new build, never previously tested under CP/M and/or with another drive prior to using it with your 80286 system? Were you able to perform the clock frequency adjustments on the ZFDC board per John's build instructions? Do you know the 3.5" drive is "known working" on a PC? It's been a while since I've done this so I cannot be certain it is necessary, but are you running these sequential sector read tests on a known-good pre-formatted floppy disk?
 
If you have John's Z80 board and are able to run CP/M, it is best to run the ZFDCDIAG utility to test the ZFDC board - it provides a far more comprehensive list of testing routines for the ZFDC than those few available in the x86 ROM monitor/BIOS.

The "error returned" code is probably the ZFDC's controller's own error code and not one generated by the PC BIOS - but I have not been able to locate a description for code 21H.

Is your ZFDC a brand-new build, never previously tested under CP/M and/or with another drive prior to using it with your 80286 system? Were you able to perform the clock frequency adjustments on the ZFDC board per John's build instructions? Do you know the 3.5" drive is "known working" on a PC? It's been a while since I've done this so I cannot be certain it is necessary, but are you running these sequential sector read tests on a known-good pre-formatted floppy disk?
All good questions. New board built by me. TG43 and Pin16 set per John's instructions.

3.5" drive works without issues in Win98 test bed. I will take your suggestion and refer to the Z80 ROM code for clues on the error. On a related subject, is there an x86 version of ZFDCDIAG? I would rather not have to build a Z80 board just to get this one working. If no, maybe that is something I can contribute to this forum.

atl
 
Last edited:
On a related subject, is there an x86 version of ZFDCDIAG? I would rather not have to build a Z80 board just to get this one working. If no, maybe that is something I can contribute to this forum.
There is no x86 version of ZFDCDIAG. There is a CPM-86 diagnostic app for the ZFDC (see the CPM-86 software section of the S100Computers web site) but it does nothing more than the sequential sector read/write test already available in the x86 monitor ROM.
 
Back
Top