• Please review our updated Terms and Rules here

XT-FDC project level of interest

Hi
The XT-FDC PCB continues to optimize. It is at 137 vias and has been there for quite a while. It is on the second of two passes so I thinking it is going to finish (hopefully) soon.

I have not heard any new, additional hardware issues in a while so I take it the PCB is ready to go once the trace route optimization finishes.

Once it completes I'll post an updated set of schematic and PCB layout files for everyone to look over one last time and then we can discuss getting a batch of PCBs.

For planning sake, I am thinking we do a small batch of PCBs first like 10-20 or so. Send those to the builders for build and test checkout and if not further problems get a larger batch.

Basically the same parameters as the XT-IDE V2 which I've tried to follow as closely as possible.

Thanks and have a nice day!

Andrew Lynch
 
You mean as in violation of the DMCA? You'll have to ask a lawyer, but firms have been sued for less.

"Paraphrasing" the code, of course, would probably be a bit more kosher.

Just my .02.
 
OK, I take it that's a "no".

Has anyone looked at the above code to determine if it is free/open source or is it assumed to be encumbered IP?

Thanks!

Andrew Lynch
 
Hi

Well some good news. The XT-FDC PCB has completed trace route optimization and is ready for production.

The schematic and PCB layout files are here for anyone's inspection.

http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder&param=XT-FDC

Presuming this project is still alive, I think it is ready to go for PCB manufacturing.

The last I recall we were holding off on another batch of PCBs until the BIOS development completed.

I am not sure where we are with the BIOS development but at least the hardware is ready.

Standing by for any developments...

Thanks and have a nice day!

Andrew Lynch
 
Presuming this project is still alive, I think it is ready to go for PCB manufacturing.
The last I recall we were holding off on another batch of PCBs until the BIOS development completed.
I am not sure where we are with the BIOS development but at least the hardware is ready.
Standing by for any developments...
I started testing Sergey's new BIOS on my prototype XT-FDC card (BIOS flashed into card's EEPROM) about 10 days ago.
I thought I would have been finished by now, but such is a busy life.
I've certainly done basic tests on an XT clone and on an IBM 5150: booting; formatting; copying; CRC'ing files over entire sufaces.
360K, 1.2M and 1.44M drives used.

And a testing via CheckIt works.
The ability to change the configuration via the F2 key at boot, and then save the changed configuration back to the XT-FDC's EEPROM, is great.
Well done Sergey.

One thing I discovered early is that if the PC or XT computer has a hard disk controller, the address of the BIOS chip in that controller needs to be lower than the address of the BIOS chip in the XT-FDC (so that the hard drive controller BIOS is called first).

I want to do some more testing (e.g. 2.88M drive), but presently, I don't see any reason to hold off on production of the next batch of PCBs.
 
Thanks modem7! That's great news on Sergey's BIOS! Thanks Sergey! You saved the day (again)!

This first batch of boards is always going to be a bit "sporty" so I wonder if there are enough brave first adopters to warrant a small batch (20 PCBs)? Please recognize the risk of an initial btach of boards is that there may be some problems. Since we've already done a prototype board and the modifications were fairly minor I think the risk is manageable. Most likely any problems would be handled with minor cuts and jumpers. I don't think there is any real risk of a completely dead board since we've already proven the basic concept is sound.

I can make an order and have 20 PCBs in about three weeks. If you are interested please reply in this thread. If there seems to be enough interest then I'll post additional steps on how to get PCBs. The first batch should probably be those with build and test experience though. If anyone is a bit wobbly with a soldering iron or hesitant to cut a trace then I would wait until the production boards are finished. It is entirely possible that these PCBs *are* the production boards but there is always a risk of a bug creeping in.

Thanks and have a nice day!

Andrew Lynch
 
Hi Anrew I tested Sergey's BIOS as well both with his FDC board and with an 16bit FDC card. I can confirm what modem7 says about order of BIOS extension ROMs. That's only issue. Everything else just works fine.

I would be interested in the first batch.
 
I started testing Sergey's new BIOS on my prototype XT-FDC card

Thanks!

One thing I discovered early is that if the PC or XT computer has a hard disk controller, the address of the BIOS chip in that controller needs to be lower than the address of the BIOS chip in the XT-FDC (so that the hard drive controller BIOS is called first).

Well, this is due to the deficiencies in BIOS's handling of extension ROM initialization.

By default (this could be changed), the Multi-Floppy BIOS extension is initialized as follows:
1. BIOS POST does the extension ROM scan and calls Multi-Floppy BIOS extension's initialization procedure.
2. The initialization procedure:
- Prints the copyright message
- Prints the current configuration
- Sets floppy bits the BIOS equipment word according to the number of configured floppy drives.
- Hooks up to the following interrupts:
* Int 13h or Int 40h depending on the presence of the hard drive BIOS. (Int 40h if hard drive BIOS is installed, Int 13h otherwise). The previous vector (hopefully the BIOS floppy disk service) is overwritten and won't be ever called again during this session.
* IRQ6 (Int 0Eh) - hardware interrupt used by the primary FDC
* IRQx (Int 08h + x) - hardware interrupt configured for the secondary FDC (only if secondary FDC is configured)
* INT 8 (IRQ0 - timer) (only if secondary FDC is configured). This is needed to turn of motors of the drives on the secondary FDC (system's INT 8 should be taking care of the primary FDC drives). The previous vector is stored, and Multi-Floppy BIOS basically chains to it.
* INT 19h - boot. BIOS calls this interrupt to boot the system. Multi-Floppy BIOS doesn't use it to boot the system (yet, but perhaps it should, or at least it might be a configuration option in the future). See INT 19h ISR below. The initial vector is preserved...
- Unmask IRQ6 and IRQX (one for the secondary FDC) on 8259 PIC.
3. BIOS continues with the BIOS extension scan and other initialization stuff
4. BIOS calls Int 19h to boot the system
5. Multi Floppy BIOS extension Int 19h handler does the following:
- Displays the configuration prompt (press F2...)
- If F2 is pressed - runs the configuration utility
- Sets floppy bits the BIOS equipment word according to the number of configured floppy drives (again)
- Control is passed to the previous (before Multi-Floppy BIOS) Int 19h vector, which finally boots the system.

It is possible to configure BIOS (not from the configuration utility, but by hacking config bits) so it will be showing the configuration prompt and update the equipment word either during the BIOS extension initialization (step 2), in Int 19h (step 5), or in both cases. The current configuration is a tradeoff that works on 3 systems I tested the BIOS on (an XT clone, an 386 AT clone, Xi 8088).

Initially I didn't use Int 19h at all, and the configuration prompt was shown during the BIOS extension scan. Unfortunately my XT clone BIOS has two issues with this:
1. Keyboard is not enabled (and looking at an XT clone BIOS listing, it is not even configured). So while the prompt is displayed, nothing happens then F2 is pressed (well, not exactly nothing - you get a keyboard error later)
2. It overwrites the floppy equipment bits probably according to the jumpers settings on the motherboard.

The problem with hard drive BIOS extension / Multi-Floppy BIOS extension address order happens because if the hard drive BIOS extension is initialized after the Multi-Floppy BIOS, it will hook up to the Int 19h, and will not call the original vector (Multi-Floppy BIOS Int19 ISR). Still the floppy BIOS should be working. It just the configuration utility can't be accessed in this case.

I want to do some more testing (e.g. 2.88M drive), but presently, I don't see any reason to hold off on production of the next batch of PCBs.

I tested the BIOS with IBM PS/2 2.88M drives, the only weird thing that I've noticed is that disk change detection seems not to work with them.
 
Last edited:
Something else to note.
If you connect four drives rather than two:

Boot from DOS 4 or earlier: Floppy drives are assigned A:/B:/C:/D: with hard drive becoming E:
Boot from DOS 5 or later: Floppy drives are assigned A:/B:/D:/E: with hard drive becoming C:
 
Boot from DOS 5 or later: Floppy drives are assigned A:/B:/D:/E: with hard drive becoming C:

I think if the computer has more than one partition and/or more than one hard drive, additional hard drive letters will follow C: (D:, E:, F:, etc...) and the floppy drives will come after that.

Also by default DOS limits the number of floppy drives to 4. It is possible to have more floppy drives, but it is needed to configure them using DRIVER.SYS.
 
Hi

Well there seems to be at least some interest in getting a small batch of the XT-FDC boards. Please note these will be the initial batch of boards and have changed a bit since the first prototype round. There is a potential, albeit a small one, for new problems. However based on the results with the initial prototype I think it is largely mitigated. Most likely any problems would be handled with minor cuts and jumpers. I don't think there is any real risk of a completely dead board since we've already proven the basic concept is sound.

I think what we should do is do what we've done with other PCBs that are in a kind of marginal situation. Let the "first adopters" take a chance to see how it turns out. Probably it will work fine. However, I recommend this first batch should probably be those with build and test experience. If anyone is a bit wobbly with a soldering iron or hesitant to cut a trace then I would wait until the production boards are finished. It is entirely possible that these PCBs *are* the production boards but there is always a risk of a bug or two creeping in.

If you want one or more XT-FDC PCB (knowing the caveats above) I will gather up some funds for an order. The PCBs are $12 each plus $2 shipping in the US and $5 elsewhere just like the XT-IDE V2 project. Please send a PayPal to LYNCHAJ@YAHOO.COM with "XT-FDC" in the subject. When enough build up for a batch of 20 I will place the order. There will be a delay until the orders pile up and once I place the order then a 3 week lag time until the PCBs arrive. If we don't get to 20 PCBs in a "reasonable time" about 2 months or so depending, I will refund PayPals to their senders or individually on request.

Does that sound fair? Thanks and have a nice day!

Andrew Lynch
 
Back
Top