Hi everybody, the FreeDOS kernel is seriously slower then MSDOS when doing larger copy/xcopy operations.
the cause: the disk I/O code avoids transfers that cross a 64K boundary, and splits these transfers into 3 (smaller) transfers. this was needed for floppy controllers in the 1980's, but is certainly not necessary for harddisks after the IBM XT. just skip /* avoid overflowing 64K DMA boundary */ count = DMA_max_transfer(buffer, totaltodo); for harddisks, and everything should be *much* faster (at least on rotating media in a non-emulated machine) Tom _______________________________________________ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel