• Please review our updated Terms and Rules here

Help with Sergey's 8-Bit FDC and Serial Port board.

The XT-FDC in DTK boots to start of DOS process Starting MS-DOS...

and then stops. I'm using a Gotek so that image might be faulty.
 
The xt-fdc on its own doesn't show its bios screen.
Tried {RAYXTFDC} on XT-FDC in my XT. It identifies BIOS 2.2 at D0000.
I only have a CGA with a parallel port in the DTK.
So, not presently being able to get RAYXTFDC to your DTK computer, do you see what is shown at [here] via the use of DEBUG ?

( Obviously, if your XT-FDC is at an address other than E0000, change the DEBUG commands accordingly. )
 
I pulled a backlevel source tree and built BIOS 2.2. RAYXTFDC still is unable to find it, while xiflash and OpenDOS 'mem /u' do correctly find it. Tried all possible addresses and only 0xe000 cooperates.
With version 2.2 (repeat: version 2.2) sitting at E0000, expect to see what is shown in the screen shot at [here].

That screen shot shows only two 128-byte portions of the version 2.2 BIOS. But if any those 256 bytes are different on your computer, then there is a problem right there.

If you see those same 256 bytes, then I am puzzled as to why RAYXTFDC did not report that it found the BIOS at E0000. I can see that you ran version 1.1 of RAYXTFDC, and for version 1.1 to report that it found the 'Multi-Floppy BIOS version 2.2', the only thing that needs to be in the ROM is the string of "Multi-Floppy BIOS, Version 2.2" at offset 1417 hex within the ROM space. RAYXTFDC would then report any problems such as no 55 AA at the start, bad CRC, etc.
 
With version 2.2 (repeat: version 2.2) sitting at E0000, expect to see what is shown in the screen shot at [here].

That screen shot shows only two 128-byte portions of the version 2.2 BIOS. But if any those 256 bytes are different on your computer, then there is a problem right there.

If you see those same 256 bytes, then I am puzzled as to why RAYXTFDC did not report that it found the BIOS at E0000. I can see that you ran version 1.1 of RAYXTFDC, and for version 1.1 to report that it found the 'Multi-Floppy BIOS version 2.2', the only thing that needs to be in the ROM is the string of "Multi-Floppy BIOS, Version 2.2" at offset 1417 hex within the ROM space. RAYXTFDC would then report any problems such as no 55 AA at the start, bad CRC, etc.
I see exactly the string you show in the photo, but shifted one byte higher in address. Do you have the Git hash for the version you use? Also could be due to a difference in the assembler.
 
I see exactly the string you show in the photo, but shifted one byte higher in address. Do you have the Git hash for the version you use? Also could be due to a difference in the assembler.
I think that most people building the XT-FDC would have grabbed the floppy_bios-2.2.bin file that was floating about at the time, then put that directly into the EEPROM.
There is a copy of floppy_bios-2.2.bin at [here].
 
I'm a little further along with the DTK XT clone. I put in an Xt-ide card with a cf card adapter attached to it. The DTK boots from a CF card as far as SELECT does not work on this device. I ll' try hitting F5 tomorrow.the xt-FDC STILL stops after ms-dos starting. I'll try a lower version of dos
 
Ok I used F5 and edited config.sys and autoexec.bat and DTK boots to C:>

Still to get the Gotek to boot or try a real floppy drive
 
I think that most people building the XT-FDC would have grabbed the floppy_bios-2.2.bin file that was floating about at the time, then put that directly into the EEPROM.
There is a copy of floppy_bios-2.2.bin at [here].
Thanks much! I built a "Monster FDC", which I thought was the same thing with an added secondary controller. The BIOS came from the only source I knew about which was Sergey's GitHub project. Interestingly, the GitHub source that claims to be 2.2 does not produce the same binary.
 
Last edited:
Thanks much! I built a "Monster FDC", which I thought was the same thing with an added secondary controller. The BIOS came from the only source I knew about which was Sergey's GitHub project.
The threads that I have seen here have been about the original XT-FDC, which is now about 10 years old.
About a year ago, there was someone making those and putting them on eBay.
And until your initial post, I had no idea there was such a thing as the 'Monster FDC', nor that there were later versions of Sergey's Multi-Floppy BIOS.
 
The threads that I have seen here have been about the original XT-FDC, which is now about 10 years old.
About a year ago, there was someone making those and putting them on eBay.
And until your initial post, I had no idea there was such a thing as the 'Monster FDC', nor that there were later versions of Sergey's Multi-Floppy BIOS.
Yeah, checkout:

 
"Tranquility Base here. The Eagle has Landed" Installed on the DTK. I changed the BIOS address on the XT-FDC to lower than the XT-IDE.
 
FYI: None of the commits in Sergey's floppy_bios GitHub project match the binary modem7 posted a link to, but you can get the equivalent sources by:

  1. git clone https://github.com/skiselev/floppy_bios.git
  2. cd floppy_bios
  3. git checkout f1b2234
  4. patch -p0 < floppy_bios.asm.diff
Where floppy_bios.asm.diff is:

Code:
--- floppy_bios.asm.orig    2022-10-11 08:58:27.153183774 -0400
+++ floppy_bios.asm    2022-10-11 09:02:22.063943826 -0400
@@ -1142,7 +1142,6 @@
     stosb                ; store FDC number
     mov    al,ah
     stosb                ; store drive type
-    cld                ; restore default / forward direction
     pop    ds
     pop    di
     pop    si
 
Here's what RAYXTFDC thought:

Code:
*******************************************************
*  RAYXTFDC version 1.1
*  Executed: 11/10/2022 09:08:37  (dd/mm/yyyy hh:mm:ss)
*******************************************************

 W A R N I N G  -  Version 1.x of this software. I.e. Not widely tested.
 W A R N I N G  -  Searching for version 2.2 of the Multi-Floppy BIOS only.

+--------------------------------------------------+
| Part 1 of 4 - Motherboard class                  |
+--------------------------------------------------+
CPU type           = 80386 or later
Motherboard class  = AT class (based on CPU type)

+--------------------------------------------------+
| Part 2 of 4 - ID the motherboard's BIOS ROM      |
+--------------------------------------------------+
Model byte at FFFFE   = FC        (AT or XT-286)
Date at FFFF5         = 06/06/92  (in clones, do not trust this date)
Checksum of last 8 KB = 000CCD1C  (simple byte addition)
CRC32 of last 8 KB    = 7B3C960D       
BIOS identified as    = [UNABLE TO IDENTIFY]

+--------------------------------------------------+
| Part 3 of 4 - Look for XT-FDC card's BIOS ROM    |
|               (Multi-Floppy BIOS version 2.2)    |
+--------------------------------------------------+
Searching for Multi-Floppy BIOS version 2.2 .....................................................................................................>>> Found
Base address               = E0000
Declared size              = 8 KB      (third byte is 10)
Checksum of that size      = 000BBB00  (simple byte addition)
CRC32 of that size         = 5FA1D3C7
CRC32 of first 1F80 bytes  = D09CA2A5  (must be D09CA2A5)

+--------------------------------------------------+
| Part 4 of 4 - Some IBM 5170 stuff                |
+--------------------------------------------------+
IBM BIOS for IBM 5170 ?  = No
 
FYI: None of the commits in Sergey's floppy_bios GitHub project match the binary modem7 posted a link to, but you can get the equivalent sources by:
Hmm. I was one of those involved in testing/evaluation during the XT-FDC prototype stage. So, I expect that the binary I pointed to is from that time, probably grabbed from a post within the XT-FDC development thread in these forums.

Yesterday, I quickly modified RAYXTFDC (now at version 1.2) to:
- Allow for the fact that the "Multi-Floppy BIOS, Version 2.2" string isn't necessarily at exactly offset 1417h.
- The check of the CRC32 being D09CA2A5 for the first 1F80 bytes (i.e. before where the configuration data in 2.2 is stored) is only done if the string is at offset 1417h.

Later, I will modify RAYXTFDC to detect later versions of the Multi-Floppy BIOS. I'll drop checking for particular CRC32 results, because as you wrote, different assemblers could result in different CRC32 results.
 
Hmm. I was one of those involved in testing/evaluation during the XT-FDC prototype stage. So, I expect that the binary I pointed to is from that time, probably grabbed from a post within the XT-FDC development thread in these forums.

Yesterday, I quickly modified RAYXTFDC (now at version 1.2) to:
- Allow for the fact that the "Multi-Floppy BIOS, Version 2.2" string isn't necessarily at exactly offset 1417h.
- The check of the CRC32 being D09CA2A5 for the first 1F80 bytes (i.e. before where the configuration data in 2.2 is stored) is only done if the string is at offset 1417h.

Later, I will modify RAYXTFDC to detect later versions of the Multi-Floppy BIOS. I'll drop checking for particular CRC32 results, because as you wrote, different assemblers could result in different CRC32 results.
The Multi-Floppy BIOS is pretty much work in progress... Let me know if there is a way to make it easier for RAYXTFDC to detect it (BTW, this is pretty much the first time I hear about it, and if I Google it, it only finds this forum thread)
Monster FDC is a board I've designed a year ago, it is basically the same as my Floppy + Serial, with secondary FDC chip added, and two floppy interface connectors per FDC - one is connected to DS0/DS1, another to DS2/DS3, so it allows up to 8 floppy drives :p
 
Back
Top