This message is from the T13 list server.
Oh, also I checked ... Here in Win XP before SP1, consciously misaligning the virtual
data address seemingly does not substitute PIO for DMA, as it does elsewhere. Even
with a misaligned address, we still lose the last byte of an odd count.
D:\msvc\plscsi\Release>plscsi \\.\E: -v -x "12 0 0 0 05 0" -i 5 -d x10 -a x3FF x400
x 00000000 12 00:00:00 05 00 .. .. .. .. .. .. .. .. .. .. "R@@@E@"
// Data at: x329FFF
x 00000000 AE:AE:AE:AE AE:AE:AE:AE AE:AE:AE:AE AE:AE:AE:AE "................"
x 00000000 05:80:00:31 AE:AE:AE:AE AE:AE:AE:AE AE:AE:AE:AE "E@@1............"
// 0 = plscsi.main exit int
D:\msvc\plscsi\Release>
Pat LaVarre
P.S. In passing I noticed:
1) The syntax shown in the short form of plscsi -a help should, but as yet in the web
release doesn't, agree with the correct long form of plscsi -a help:
--align $offset [ $length ] // else 4 KiB
2) Combining --verbose with --align should, but as yet in the web release doesn't,
trace the virtual data address.
-----Original Message-----
From: Pat LaVarre
Sent: Wed 2/5/2003 7:28 AM
To: [EMAIL PROTECTED]
Cc:
Subject: RE: [t13] Atapi odd H = C = D breaks
This message is from the T13 list server.
> > what is it about the T13 texts that fails to get
> > 'the H = C = D should work' message across to
> > Microsoft?
In one of those famous "offline replies", just now someone kindly explained
how to switch Win XP between PIO and DMA. So here now we can show trivially
With Microsoft's Win XP, Pio works, and Dma doesn't, some of the time.
Specifically, I visited "Device Manager" --> "IDE ATA/ATAPI controllers" -->
"Secondary IDE Channel" --> "Properties" --> "Advanced Settings". There I changed to
"Transfer Mode" = "PIO Only" from "Transfer Mode" = "DMA if available".
With DMA, I saw:
D:\>plscsi \\.\E: -v -x "12 0 0 0 05 0" -i 5
x 00000000 12 00:00:00 05 00 .. .. .. .. .. .. .. .. .. .. "R@@@E@"
x 00000000 05:80:00:31 AE .. .. .. .. .. .. .. .. .. .. .. "E@@1."
// 0 = plscsi.main exit int
D:\>
That xAE was left unchanged from how it began (which I could show more
explicitly, if no less cryptically, if I added an option like -d x10.)
But with PIO, I saw the correct data:
D:\>plscsi \\.\E: -v -x "12 0 0 0 05 0" -i 5
x 00000000 12 00:00:00 05 00 .. .. .. .. .. .. .. .. .. .. "R@@@E@"
x 00000000 05:80:00:31 5B .. .. .. .. .. .. .. .. .. .. .. "E@@1["
// 0 = plscsi.main exit int
When I again switched back to DMA, I again saw Win XP IOCTL_SCSI_PASS_THROUGH
lose the last data byte without complaint, whoops.
> ...
By the way, I don't know how to persuade Win XP to disclose whether \\.\E: is
on the Secondary IDE Channel or not, other than with experiments like this. I think I
remember persuading Win '9X to report the legacy i/o ports assigned to a drive: if I
saw x170..177:376 there,
Hope this helps, thanks again, Pat LaVarre