• Please review our updated Terms and Rules here

XT-FDC project level of interest

Do you see those four lines when the XT-FDC card is removed? If you do, then I'd say that something went wrong during the burning of the EPROMs for U18 and U19.

Nope. the error only comes up when the jumper is installed at JP1. If I remove JP1, then it boots normally to A: as long as it's a 360k drive. If I leave the drive door open, it goes to ROM BASIC as expected, so the eproms seem Ok. I'll try later to see if I can figure out how to dump the contents of the eeprom on the XT-FDC. Any help with Debug, would be appreciated.

Edit:
There might be something wonky with this older motherboard. I remember having issues with a No-Slot-Clock in this board in the past. When the clock was placed in one socket, the software would respond as if it were in the other. Is it possible that some of the address lines are switched around, but they don't come into play for most things? I've always been a little suspicious of this motherboard. Its the one that came with my 5155 when I bought it new back in the 80's. When I did the 640K mod shortly thereafter, I noticed some jumper wires on the board that must have been installed at the factory to correct a problem with the board. I wonder it they were not done right or if there is another fault that wasn't caught at the factory. Boy, this project is kickin' my BUTT!! Like I said previously, I think I need to take a break from it for a few days. Thanks Modem7 for your continued support. Please be patient with me.
 
Last edited:
OK I did that and still can't get it to work as a 1.44M drive. However, if I hook up two 3.5 drives to the internal header, I can configure drive 0 as 720K and drive 1 as 1.44M and it will boot from a 720K disk in drive 0 and will format disks in either drive. But, it won't boot from a 1.44M disk if physical and/or logical drive 0 is set as a 1.44M drive. The cable for the internal drives is in perfect condition, so I'm ruling that out as a problem. I've just now finished thoroughly cleaning the board and reflowing every solder joint on the board, after removing all the chips of coarse. So, now I'll put it back together to see if it gets better. What should I look for that will affect 1.44M operation? Could I have a bad Crystal or other component? Can I test the crystal without a scope?

I'd guess that if your board is able to read/write/format *some* kind of disks, the hardware part is OK.
What happens if you configure the Drive 0 as 1.44 MB and then try to boot from 720 KB disk? Does it work?

I have a guess why booting from 1.44 MB or 1.2 MB media won't work. Floppy BIOS assumes that these drives have media change detection, and on the first boot attempt (when trying to read the boot sector) the Floppy BIOS might return "disk changed" error, which would confuse the system BIOS, and it will fail floppy boot and call Int 18h / load ROM BASIC. The solution might be relatively simple - updating the Floppy BIOS Int 19h handler, and including code that will handle "disk changed" error gracefully. I'll try to implement that in a coming few days... stay tuned.

P.S. Sorry for slow response. I have too busy life (work/family/etc), so hobby projects are not the first priority...
 
Last edited:
I'd guess that if your board is able to read/write/format *some* kind of disks, the hardware part is OK.
What happens if you configure the Drive 0 as 1.44 MB and then try to boot from 720 KB disk? Does it work?

I have a guess why booting from 1.44 MB or 1.2 MB media won't work. Floppy BIOS assumes that these drives have media change detection, and on the first boot attempt (when trying to read the boot sector) the Floppy BIOS might return "disk changed" error, which would confuse the system BIOS, and it will fail floppy boot and call Int 18h / load ROM BASIC. The solution might be relatively simple - updating the Floppy BIOS Int 19h handler, and including code that will handle "disk changed" error gracefully. I'll try to implement that in a coming few days... stay tuned.

P.S. Sorry for slow response. I have too busy life (work/family/etc), so hobby projects is not the first priority...

I,m trying to remember. I think the only way I could get the 3.5 drive to boot was to configure drive 0 as 720K and of course use 720K media. I'll run the test again when I get back to it. I should keep a log of all the test results. Believe me, I understand busy. Take as long as you need. Your work is greatly appreciated here!! I think my family wishes I would take a break from this project for a while.

PS
Your "disk change" theory sounds reasonable to me. Hope it works. I'd really like to be able to boot from 1.44 media. especially on an external drive since I don't want to permanently put an internal 3.5" drive in my 5155. They are just to ugly.
 
Hey Sergey,

I tried your new bios just now. It still won't boot to a 144K disk with IBM motherboard Bios. It comes up with the message "Boot failed, press B for ROM BASIC or any key to try again...". If I press any other key, the message comes back up. However, I found last night, that if I use PLASMA's "Super PC/Turbo XT BIOS 2.5", (Available here http://www.phatcode.net/downloads.php?id=101 ) that it will boot to a 144K floppy with your bios version 2.0. I was even able to boot to a 144k floppy attached to the external connector, but only if the 360K internal floppy cable was left disconnected. With 360k drives attached to the internal connector it will only boot to an external 3.5 drive if it is configured as 720k. So, it seems that your bios and the IBM bios don't play well together. Maybe there is a clue to what is going on in Plasma's Bios.
 
In case it helps, here's my set-up: IBM 5155 with 640K ram, May 1986 Bios, NEC V-20, Intel 8087 NPU, ATI EGA Wonder. I found that with a CGA card, The message that comes up during boot for the FDC Bios was scrambled, but it displays fine with the EGA Wonder. It seems like the CGA is not initialized when the FDC Bios comes up and the characters are not displayed properly. With the EGA Wonder, It's Bios message is displayed before the FDC Bios Comes up.
I brought my IBM 5160 gear out of storage.
I have duplicated the 'scambled video' problem. Experimentation revealed:

* Seen on my 5160's but not on my XT clone.
* IBM 5160: POST generated text is fine - XTFDC generated text is not.
* MDA and CGA cards affected, IBM or clone ones. (Didn't try EGA.)
* Happens on my early 5160 as well (11/08/82 BIOS).
* Seen using Sergy's BIOS version of 2.0, but not using 1.0b1

I compared the source code of version 1.0b1 to version 2.0 and could see that the PRINT subroutine had been changed. I put the PRINT subroutine of version 1.0b1 into the version 2.0 source code, compiled a BIN file, adjusted its checksum. Problem gone.

So, Sergy, please reinstate the PRINT subroutine from version 1.0b1
 
I brought my IBM 5160 gear out of storage.
I have duplicated the 'scambled video' problem. Experimentation revealed:

* Seen on my 5160's but not on my XT clone.
* IBM 5160: POST generated text is fine - XTFDC generated text is not.
* MDA and CGA cards affected, IBM or clone ones. (Didn't try EGA.)
* Happens on my early 5160 as well (11/08/82 BIOS).
* Seen using Sergy's BIOS version of 2.0, but not using 1.0b1

I compared the source code of version 1.0b1 to version 2.0 and could see that the PRINT subroutine had been changed. I put the PRINT subroutine of version 1.0b1 into the version 2.0 source code, compiled a BIN file, adjusted its checksum. Problem gone.

So, Sergy, please reinstate the PRINT subroutine from version 1.0b1

Guys, thank you for testing.

That is weird... So INT 10h/AH=0Eh destroys some registers it shouldn't destroy (AX and BX particularly).

Here is what different in print subroutine:

The original one (1.0b1):

cld​
.1:
lodsb
or al,al
jz .exit
mov ah,0Eh
mov bl,0Fh
int 10h
jmp .1​
.exit:

Note that it doesn't set BH before INT 10h which could be a bug, since BH holds the page number for text modes (does it really do? Ralph Brown says so, but Techhelp doesn't).

Modified code (2.0):

mov ah,0Eh ; INT 10 function 0Eh - teletype output
mov bx,0007h ; page number + color (for graphic mode)
cld​
.1:
lodsb
or al,al
jz .exit
int 10h
jmp .1​
.exit:

Note: AH and BX are set before the loop, assuming that INT 10h won't modify them.
 
Last edited:
With 360k drives attached to the internal connector it will only boot to an external 3.5 drive if it is configured as 720k.

This doesn't make much sense. How exactly the configuration of the internal drive should affect the external drive.
I am wondering if you have terminator resistors installed on 360 KB drive, and if so what is their resistance.
(360 KB drives normally have removable 150 ohm terminators, while 1.44 MB drives have non-removable 1 Kohm terminators. These terminals might not play together well...)
 
Hi all. I have just finished two XT-FDC boards. They work fine in my TurboXT taiwanese board with Super Turbo 2.5 Plasma's BIOS. I have a problem though. It might be XT-IDE BIOS related (I am using V2,Beta2)? Since I wanted three drives A: 1.44MB, B:1.2MB and ?: 360kB I attached the first two drives to primary connector and 360kB drive to secondary connector. Now when I configure Sergey's BIOS to use any two of the three drives it works fine. As soon as I configure third logical drive, the XT-IDE BIOS will not boot from IDE devices. It will write:
Booting
C>>A
and the third FD drive's LED gets on. My obvious question is, can I have three drives and still boot from what used to be C: drive before ?
 
Last edited:
This doesn't make much sense. How exactly the configuration of the internal drive should affect the external drive.
I am wondering if you have terminator resistors installed on 360 KB drive, and if so what is their resistance.
(360 KB drives normally have removable 150 ohm terminators, while 1.44 MB drives have non-removable 1 Kohm terminators. These terminals might not play together well...)
I tried with and without the 150ohm resistor pack on the last 360k drive on the internal cable. No Change. Also tried with 3.5" drive on the end of internal cable and a 360k drive on the middle connector (no resistor) and got the same results. It won't boot to a 1.44K drive if there is a 360k drive anywhere in the mix, with or without the resistor. I also tried with Plasma's Bios and a 3.5 drive on internal and a 3.5 drive external and found that both drives worked perfectly. I could boot to either one configured as 1.44k or 720k.
 
Hi all. I have just finished two XT-FDC boards. They work fine in my TurboXT taiwanese board with Super Turbo 2.5 Plasma's BIOS. I have a problem though. It might be XT-IDE BIOS related (I am using V2,Beta2)? Since I wanted three drives A: 1.44MB, B:1.2MB and ?: 360kB I attached the first two drives to primary connector and 360kB drive to secondary connector. Now when I configure Sergey's BIOS to use any two of the three drives it works fine. As soon as I configure third logical drive, the XT-IDE BIOS will not boot from IDE devices. It will write:
Booting
C>>A
and the third FD drive's LED gets on. My obvious question is, can I have three drives and still boot from what used to be C: drive before ?

It could be a bug in XT-IDE BIOS and it picks the third floppy drive (drive number 02h) instead of the hard drive (drive number 80h).
 
I'm busy with other projects presently and so can only afford small pockets of time to the XT-FDC presently.

I want to see if I can replicate the issues that others are seeing.

One issue that took no time at all was something seen by ibmapc on his early IBM 5160. That was the POST errors of:
F6600 ROM
F8600 ROM
FA600 ROM
FC600 ROM

Interesting. I'll investigate more later on.

I uploaded an updated image - version 2.1b. It has the fixed print subroutine implementation. Please give it a try...
Will do. Thanks Sergey.
 
Hi

Thanks for all the XT-FDC debugging.

It seems to be mostly BIOS related at this point.

Have any specific hardware related problems been identified?

Thanks and have a nice day!

Andrew Lynch
 
quote_icon.png
Originally Posted by modem7
F6600 ROM
F8600 ROM
FA600 ROM
FC600 ROM

Interesting. I'll investigate more later on.

Do you remember the version of floppy BIOS? Was the floppy BIOS initialized in this case? Interesting to see if you get similar errors with the new BIOS.
This error still comes up with your Version 2.1d floppy BIOS. But note that it only occurs when using IBM's 1982 PC/XT BIOS. When using the May 1986 IBM PC/XT BIOS the error does not come up. If you refer back to my post #399, you'll see a picture showing my monitor displaying the error.
 
Hi Sergey
I think the builder will have to select either internal secondary floppy drives or external secondary floppy drives. I don't think you can do both since the connectors share the same PCB area.

I think we can just wait until the BIOS issues sort themselves out. I would like to know what the issue is with the 82077A. Eventually the hardware issues will be apparent and we can fix as needed.

Thanks!

Andrew Lynch
 
Hi Sergey
I think the builder will have to select either internal secondary floppy drives or external secondary floppy drives. I don't think you can do both since the connectors share the same PCB area.

I think we can just wait until the BIOS issues sort themselves out. I would like to know what the issue is with the 82077A. Eventually the hardware issues will be apparent and we can fix as needed.

Thanks!

Andrew Lynch

The issue is not the connectors. It seems that no matter where I put it my 360k drive, it prevents the 3.5" drive from using 1.44M media. In other words, if a 360k drive is connected anywhere, and a 3.5" drive is connected, either on the same cable or the other, then it must be configured as 720k. If only 3.5" drives are connected, they work in either mode.
 
I am having all three types configured as they really are (A:1.44, B:1.2, F:360kB). I can boot from A:1.44MB and B:1.2. I can format floppies in all three drives and they are properly recognized. That means my 360kB drive is harmless. But I can not boot from C: drive :-(
 
I am having all three types configured as they really are (A:1.44, B:1.2, F:360kB). I can boot from A:1.44MB and B:1.2. I can format floppies in all three drives and they are properly recognized. That means my 360kB drive is harmless. But I can not boot from C: drive :-(
I think it might be a symptom of my particular 360k drive. I will try a different type later.
 
Back
Top