BIOS call speed?

S

Sonny

Hello, I'm just new to the hard disk technology and just wondering what
is the default access mode INT 13 extensions run. By mode, I mean PIO,
MWDMA, DMA 0, ..., etc. We have a diagnostic program that access hard
disk through Task File Register (bypassing the BIOS) and changes mode.
Now I'm developing a program that uses BIOS calls especially INT 13
extensions and "seems" like it is slower than DMA, and "maybe" it is in
PIO mode. If that is the case, could I also change the setting through
a program? Any comments/suggestions/corrections? A reference would be
appreciated.
 
A

Arno Wagner

Previously Sonny said:
Hello, I'm just new to the hard disk technology and just wondering what
is the default access mode INT 13 extensions run. By mode, I mean PIO,
MWDMA, DMA 0, ..., etc. We have a diagnostic program that access hard
disk through Task File Register (bypassing the BIOS) and changes mode.
Now I'm developing a program that uses BIOS calls especially INT 13
extensions and "seems" like it is slower than DMA, and "maybe" it is in
PIO mode. If that is the case, could I also change the setting through
a program? Any comments/suggestions/corrections? A reference would be
appreciated.

I am not sure, but I think INT 13 does only PIO mode. The
speed would be whatever was set for the hardware.

Arno
 
F

Folkert Rienstra

Int 13/AH=48h INT 13 Extensions - GET DRIVE PARAMETERS
should answer that. Or Int 13/AH=25h - Identify Drive

ref: http://www.ctyme.com/intr/int-13.htm or
http://hdebruijn.soo.dto.tudelft.nl/newpage/interupt/INT-13.HTM

Like a 'PUT DRIVE PARAMETERS', you mean?

Haven't seen it but this may help:
Set hardware configuration Int 13/AH=4Eh
http://hdebruijn.soo.dto.tudelft.nl/newpage/interupt/out-0700.htm#0665
"The purpose of this function is to allow non-hardware-specific soft-
ware to configure host adapter and devices for optimal operation. "

Looks like what Bios setup may already use.

http://www.t13.org/Documents/Default.aspx?DocumentType=4

d1226r7-Enhanced-BIOS.pdf
or d1572r3-EDD3.pdf

d1410r3b-ATA-ATAPI-6.pdf (last single volume draft)
I am not sure, but I think

Think huh?
That can be difficult when the body wants to shutdown due to total sleep deprevation.
INT 13 does only PIO mode.

Right, and obviously no time to look it up, with only 24 hours per day in this newsgroup.
Why shutup if you must be the first to give a clueless answer at all cost, right, babblehead?
The speed would be whatever was set for the hardware.

So obviously the bios uses the mode that it put the drives in at bios initiali-
zation/POST according to the parameters that were specified in BIOS setup.
 
S

Sonny

Ayon kay Folkert Rienstra:
Like a 'PUT DRIVE PARAMETERS', you mean?
not exactly PUT DRIVE PARAMETERS but change the transfer mode from PIO
to DMA
Haven't seen it but this may help:
Set hardware configuration Int 13/AH=4Eh
http://hdebruijn.soo.dto.tudelft.nl/newpage/interupt/out-0700.htm#0665
"The purpose of this function is to allow non-hardware-specific soft-
ware to configure host adapter and devices for optimal operation. "

Looks like what Bios setup may already use.
Tnx for the info. I tried it with my drives but it failed. I checked
the Extended INT 13 version number and it was 2.1, but the site says
IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION, so it
should v2.1+ to be able to work, i guess..

So obviously the bios uses the mode that it put the drives in at bios initiali-
zation/POST according to the parameters that were specified in BIOS setup.
the BIOS was setup with DMA enabled (AUTO) but when I'm running the
BIOS calls, it was still running in PIO. Again we have a program that
can changes/sets mode to the fastest transfer mode supported. The
drives I tested supports DMA, and was able to run in DMA mode with our
current program(one that bypasses BIOS calls). Anyway, thanks for the
great help. If there are still additional info you want to share,
please do so.
 
F

Folkert Rienstra

Sonny said:
Ayon kay Folkert Rienstra:
not exactly PUT DRIVE PARAMETERS but
change the transfer mode from PIO to DMA
Tnx for the info. I tried it with my drives but it failed.

Failed how?
I checked the Extended INT 13 version number and it was 2.1, but the site says
IBM/MS INT 13 Extensions v2.1+ - SET HARDWARE CONFIGURATION,
so it should be v2.1+ to be able to work, i guess..
the BIOS was setup with DMA enabled (AUTO) but when
I'm running the BIOS calls, it was still running in PIO.

Suggesting a bios problem if this happens with several drives.
As I said before, the bios setup/POST probably uses the same call already.
If bios setup ****s up then it's likely the call ****ing up, so running the same
call won't help any unless the problem was in setting up the call incorrectly.
You sure you setup the call correctly, as explained in d1226r7-Enhanced-BIOS
or d1572r3-EDD3?
Again, we have a program that changes/sets mode to the fastest transfer
mode supported.

If your bios ****s up you may have to write your own version of Int 13/
AH=4Eh that does that too and execute it as part of the startup procedure.
(Of course if you are writing a test program you would use this to report
a failure mode in your bios because if you don't and the drive tests out to
be OK you will be reporting a false positive as the drive will still perform
slow without the test being run).
Or find out if the the Int 13/AH=4Eh call is calling a more obscure call
that does the actual settings on the drive and use/rewrite that.
The drives I tested support DMA,

Heh, try and find one that doesn't and isn't more than 10-15 years old.
and was able to run in DMA mode with our current program
(one that bypasses BIOS calls).

And presumably is giving you a false positive on the overall result.
It shouldn't mess with the modes unless it is checking all the available
speeds as part of the test run.
Anyway, thanks for the great help.
If there are still additional info you want to share, please do so.

I had the same problem with CDroms and fixed that by using a CDrom driver.
I don't use IDE diskdrives so I never had to look for an other option.
Maybe an Int13 extensions drive overlay may fix the (BIOS) problem?
I'm suspecting though that these only replace the higher level calls and
not the hardware specific ones.
So depending on what level the problem is in, that may still fail.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top