• 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 Jim, Chucks is also working I think but I'm not sure how many power-on-hours either have had. The v3 has IO (8- or 16-bits) and DMA; memory-mapped isn't an option since the 44-pin CPLD ran out of wires and in any case 286+ or V20 can use REP INSW with the same timings as REP MOVSW, whilst for the 8088 DMA is faster. The v3 does keep slot-8/ZWS modes though :)

Good enough for me!!
 
There are far more 8088s than V20s and it's a bit pointless to use an XT-IDE card in a 16-bit slot capable computer (286+). Though the BIOS is another story.

Can anyone explain why DMA is quicker than rep movsw? And by exactly how much? Is there one or two less setup clock per byte cycle? (5 or 4 vs 3+3)
 
Can anyone explain why DMA is quicker than rep movsw? And by exactly how much? Is there one or two less setup clock per byte cycle? (5 or 4 vs 3+3)

I've timed REP MOVSW from system memory to system memory on my XT as 25 CPU cycles per iteration (after eliminating interrupts, refresh cycles and pipeline state). That works out at a throughput of 373KB/s (with a 4.77MHz clock). I think DMA from a suitably constructed device should be able to approach saturating the bus - i.e. 1165KB/s - 3.125 times as fast.

As to why Intel didn't make "REP MOVSW" on the 8088 fast enough to saturate the bus, I have no idea - I guess doing so would have required too many transistors to be worth it for some reason. Perhaps it's just to do with the way these instructions are implemented by the 8088's internal microcode.
 
There are far more 8088s than V20s and it's a bit pointless to use an XT-IDE card in a 16-bit slot capable computer (286+)

I did agree, but thanks to your nod towards ZWS (B8 ), it can give useful performance given the flexibility of an externally accessible CompactFlash card. On a 12MHz 286, the card can do about 1MB/s.

Can anyone explain why DMA is quicker than rep movsw? And by exactly how much? Is there one or two less setup clock per byte cycle? (5 or 4 vs 3+3)

My implementation uses demand-mode DMA and a counter to release DRQ after 16 transfers. With this arrangement the DMA controller is transferring data directly from the IO port to system memory; that is DACK, IO{R/W} and MEM{W/R} are asserted concurrently. So one byte is delivered to system memory every 4 cycles, whereas REP MOVSW is half the speed even on a V20 since each byte travels via the CPU, that is it's read from then written to memory locations in two seperate bus cycles.

As for how much difference, there is much overhead configuring the DMA controller and raising DRQ in my implementation via port writes. 16 bytes was chosen so it doesn't affect RAM refresh. With single-sector transfer devices, like most CompactFlash cards, DMA does 340KB/s on a 4.77MHz 8088, compared to about 250KB/s with 16-bit memory-mapped IO. With a multi-sector block-mode device, some SanDisk CompactFlash cards and Microdrives mostly, the gap widens to 300KB/s for memory-mapped and can exceed 500KB/s for DMA. All these numbers are DOS file system throughput, as measured with my little disk test utility.
 
hey guys, on my IBM PC I actually already have an 8 bit ISA IDE card, got it in the 90s :) But I was thinking, if you don't have one, what you can do is get an 8 bit ISA SCSI adapter, then get a SCSI to IDE or SCSI to SATA adapter, and plug the appropriate CF adapter into that. Observe.

SCSI to SATA/IDE

CF to SCSI

8 bit ISA SCSI card with onboard BIOS so you can boot from it

:)

--Brian

And only about $200 more than an XT-IDE card and significantly more complex than it needs to be for these purposes. Also 8-bit, bootable SCSI cards are NOT cheap or plentiful, those alone are usually more than an XT-IDE card costs.

The point of the XT-IDE project is to make an affordable, plentiful, and simple 8bit card, and to have some fun designing and building it. Building my XTIDE card was half the fun ;-)
 
I've got the parts for the v3 and everything is ready - just not had the time to make and test! We could do another batch of lite PCBs I guess - will have to be self-assembly though?
 
I've got the parts for the v3 and everything is ready - just not had the time to make and test! We could do another batch of lite PCBs I guess - will have to be self-assembly though?
Self assembly is OK. Its all "Through Hole", Right? Where is the ROM address set on the "Lite". I would prefer to avoid the area between D000h and EFFFh, because that's where my UMB is.
 
Only the ROM and DIP switch is though-hole - the CF card sockets are only available in SMT and the four chips wouldn't fit except by using SOIC unfortunately. ROM address is though selectable; Sergey is thinking about doing a re-spin of the lite version with a few simplifications though.
 
Back
Top