• Please review our updated Terms and Rules here

Forthcoming XT-IDE Board - Cast Your Vote

Forthcoming XT-IDE Board - Cast Your Vote

  • As original XT-IDE, with a 40-pin header only

    Votes: 4 10.5%
  • With a 44-pin header and board space to mount a 2.5" IDE HDD (i.e. a hard-card)

    Votes: 7 18.4%
  • With an optional Compact Flash socket (as master or slave) and a 40-pin header

    Votes: 26 68.4%
  • With a Compact Flash socket only

    Votes: 1 2.6%

  • Total voters
    38
  • Poll closed .
Hi Trixter,

I've not looked at the code in detail but if it were possible to make it work in 2 or 4KB lumps, DOS file system overhead (and the partial sector transfer overhead) should be reduced? Plus the transfer should hopefully fit within the video refresh window at 30fps?

Anyway, got the mem-mapped writes going now. Seems stable, write speed wise microdrive is 170KB/s, CF cards are 235KB/s. Testing so far limited to 10-pass(es of 4MB) pattern test and running 8088-corruption, in a 5155. Pattern tests ran OK in a P200 too.
 
Okay, the results using disktest with no parameters, buffers=99 and MS-DOS 5.0 on the Tandy 1000SX with the 8088 @ 4.77MHz :

Write Speed : 274.16KB/s
Read Speed : 316.05KB/s
8K random, 70% read : 9.9 IOPS
Sector random read : 14.1 IOPS

Results from my card with some tweaks to the BIOS, memory-mapped IO support, and a Seagate ST1 microdrive, in a stock IBM PC-5150 with 256KB RAM & MDA, running DOS-6.22 with a 2GB partition, and disktest 1.9:

Write Speed : 263KB/s
Read Speed : 316KB/s
8K random, 70% read : 16.5 IOPS
Sector random read : 28.6 IOPS

There's something odd with partition sizes affecting the IOPS scores in my disk tester; not sure what yet. The same hardware and software combo but with a 63MB partition yields just 3 IOPS.

With port IO the score is thus,

Write Speed : 205KB/s
Read Speed : 250KB/s
8K random, 70% read : 14.6 IOPS
Sector random read : 27.6 IOPS

I've not got this part coded yet, but the idea is that a utility will be run through autoexec.bat to set the memory-mapped IO base address if required, the card & BIOS running with port-IO otherwise.
 
Very impressive memory-mapped scores; they're just about identical to my ADP-50. Equally impressive are the port I/O scores, I would not have guessed they could get that high. I'm guessing that interrupts are completely disabled during port IO? (And I'm hoping they are not disabled for memory-mapped I/O?)
 
Thanks, "rep movsw" is 13 clocks per byte (358KB/s at 4.77MHz on an 8088 ) and "in stosw" is c.15 clocks per byte unrolled to double-qwords (about 315KB/s). So accounting for program, file system, BIOS and IDE command overheads it looks pretty good.

Re interrupts, they're enabled for everything. All I've done is slightly hack the v2-beta BIOS to suit the controller and extend the timeouts to support the ST1 microdrive. Transfer routines are here, for anyone interested.

From my side the project is pretty much finished :) Thinking about the survey results, I'm pretty sure the board could be reworked to support 40-pin and CF but at the expense of memory-mapped support. It would work as a dual-channel controller, listening on seperate port ranges for the 40-pin and CF socket (it's fiddly to do both on the same channel because the drives need certain interconnects which aren't presented by all IDE cables at the host end).
 
From my side the project is pretty much finished :) Thinking about the survey results, I'm pretty sure the board could be reworked to support 40-pin and CF but at the expense of memory-mapped support. It would work as a dual-channel controller, listening on seperate port ranges for the 40-pin and CF socket (it's fiddly to do both on the same channel because the drives need certain interconnects which aren't presented by all IDE cables at the host end).

Congratulations on this! What do you think of putting two CF ports on a future revision of the card. Maybe stacked (like this image but without the card in the middle) or the second one attached via ribbon cable to another card-blank ?

If you don't have to worry about a user-supplied cable with this arrangement, do you think you might be able to keep the memory-mapped I/O and run it as a single-channel controller, but also have the benefit of two drives / devices?

2_big.jpg
 
Thanks! An issue with multiple CF cards is that many are known not to work as slave devices. The reason that memory-mapped would be dropped if running 40-pin and CF on a single board per my current thinking is that the 40-pin would be mostly electrically isolated from the CF socket, i.e. using seperate CPLD IO pins, so pins need to be freed up (and memory-mapped IO consumes quite a few).

There is though already a card that will support two drives, the dangerous prototypes v2 (DPv2), which I hope will work with the memory-mapped CPLD code, although I've not tried it and I'd note that other CPLD memory-mapped IDE implementations have run into timing difficulties. But, the DPv2 and my board should coexist, albeit using two slots.

Probably the bigger problem is assembly since these are both fine-pitched SMT which seems to be scaring off potential buyers (despite the low price of the boards and parts).
 
"Just because" I thought I'd try the board with the alpha memory-mapped IO BIOS in an Amstrad PC2286, 286 12.5MHz AT-class machine shipped with an RLL controller and drive originally.

The original drive (on it's 16-bit controller) does about 450KB/s read. The 8-bit XT-CF card does about 700KB/s.

Obviously still considerably behind a 16-bit IDE drive, but still.
 
Trying to squeeze out the last few drops of performance (in PC/XT), with write cache enabled (in ST1 microdrive) writes increased to 300KB/s. DPv2 IDE board should give this throughput with ordinary IDE drives. The compact flash cards I have perform a little slower, 220KB/s write and 255KB/s read roughly.

Anyone want one?
 
Ummmm sorry to be a Jonny come lately here and an lazy one at that....... I searched the first 10 pages of this thread but am still stumped. Is this a product available to buy currently and if so please tell me who I would contact.

Thanks.
 
Bare PCBs are available from me for just the cost of post.

You need to source and solder the components and program the CPLD. Code sources and other info here.

I hope to get costings for a short run of finished boards at some point, but likley the project has been overtaken by development of a USB/SD-Card universal IO board anyway so limiting any demand still further.
 
Last edited:
If you mean what I posted, no it hasn't. I barely have time to breath and it will only get worse next month. And I'm not targeting a finished project.
 
What are the odds that you would build me one ? If interested would you please PM me with your requirements. Thanks.
 
@ pearce-jj

Sorry to join in late.

I could currently use 3 cards and have a long term requirement of 10. Please PM me, whenever a short run will get manufactured.
 
Thanks. So maybe there could be demand for a short run, it depends how short is short I guess.

Obviously I need some certantly the thing will work properly to commit to that, so I've arranged for some more systems compatibility testing next, meanwhile I'll continue to work on the BIOS and utilities for it.
 
Thanks. So maybe there could be demand for a short run, it depends how short is short I guess.

Obviously I need some certantly the thing will work properly to commit to that, so I've arranged for some more systems compatibility testing next, meanwhile I'll continue to work on the BIOS and utilities for it.

Thank you. I'll subscribe to this thread and keep tabs on your progress. I'd be in for 2 (a spare is always handy.) I'd offer to pitch in but am not qualified to do anything but cheer lead.


If you don't mind a few questions....

1) Since the consensus of the poll seems to include a CF card will this mean that the card can be formatted, backed up etc on a modern PC ? I have a TI IDE card that that has this capability and is most useful.

2) What is the capacity of the system as far as storage size ? Obviously 256MB is far more than most any XT ever had access too but just curious. What FAT will it use ?

3) You think maybe next Monday or do you need another week ;-).

Again thank you.
 
Thanks, in answer to your questions...

1. My board has a CF socket - only. Cards can be used interchangably between systems as you suggest. Formatting is best done with the target machine, or at least under true DOS, because...

2. ...as far as DOS is concerned it's just a hard disk, so all the normal rules apply. max 2GB per partition, FAT-12 or FAT-16, and an 8088 compatible boot sector. On one side random access on 2GB partitions is (much) faster than small partitions say 40MB, OTOH it takes longer to calculate the free space on them for example whenever you type 'DIR'.

3. Don't hold your breath!
 
Quick update as there have been various developments in various threads. I'm moving towards a V2 board with a few minor differences that I hope will widen the reach enough to get to a short-run. Specifically, the board has performance useful enough for 286 based systems. Here's the overall feature list:

  • Bootable 8-bit ISA Compact Flash Adapter for XT and AT class PCs
  • Supported by the XT-IDE Universal BIOS v2 (adapter type: "Fast XT/IDE")
  • Capacity limit >8GB (so exceeds that required in target platforms)
  • Software-configurable (and optional) memory-mapped transfer mode offers high performance - 4.77MHz 8088: 300KB/s, 4.77MHz V20: 450KB/s
  • Supports Compact Flash cards and Microdrives (330mA power budget for microdrives) and low power consumption: <2W with a microdrive, <1W with Compact-Flash
  • Can be used in slot 8 of the PC/XT (5155/5160)
  • 'Zero wait-state' (ZWS) mode for AT slots: ZWS enabled, 80286: 850KB/s @ 6MHz, 1150KB/s @ 12MHz

Overall the changes needed to the hardware are minor but the functionality improvement is, I think, significant.
 
Any answers for pricing, date of availability, kits or prebuilt? I have a half dozen or so people in my inbox who have been looking for any flavor of XTIDE, I'd like to push them here if I can...
 
Bare PCBs will be £3 or so, a complete kit with bracket maybe £20, pre-built I'm too slow to offer the service but I'm awaiting pricing from Seeed for a professionally assembled short run - but I'd need 100 firm orders, hence wanting to give the board a wider audience.

Prototype PCBs are available now from me free-of-charge, V2 PCBs should be available within a month, happy to run those as kits if there's interest...
 
Back
Top