flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > BIOS get drive parameters int 0x13 ah=0x48 |
Author |
|
cod3b453 29 Jul 2010, 10:14
Last night I rediscovered these extensions to int 0x13 and realised they're potentially more useful than I had first thought. They appear to allow any boot sector to work out which device it was booted from by the BIOS - this is especially useful for CD,USB or HDD boots since it can eliminate the need for scanning all possible drives.
Having tested the installation check (int 0x13 ah=0x41) on QEMU and VirtualBox, they appear to handle all functions (cx=0x0007) but when I tried the get parameters function (int 0x13 ah=0x48) it simply failed (CF=1). I should point out both VirtualBox and QEMU returns values over 0x80 for the CD I'm trying to boot and so all the values I've given appear to be correct. Has anyone here managed to get these to work? Thanks! I've attached a snapshot of my test build.
|
|||||||||||
29 Jul 2010, 10:14 |
|
Mac2004 29 Jul 2010, 13:00
You might have a stub bios implemention of extended read/write functions. That may be one cause to you problems.
Checking the magic number is not enough. You'll also need to check those bits as well (look at the bottom of the linked document) http://lrs.uni-passau.de/support/doc/interrupt-57/RB-0668.HTM regards Mac2004 |
|||
29 Jul 2010, 13:00 |
|
cod3b453 29 Jul 2010, 13:51
OK I found the problem - I missed that the word at ds:si (size) must be set to the max size expected!
All now appears to work |
|||
29 Jul 2010, 13:51 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.