flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > SOS Int 13h ah=08h - Drive Parameters |
Author |
|
mkriegel 18 Jul 2007, 15:08
Does nobody know a solution or can anybody try it out? For that I'll post it as ASM
|
|||||||||||
18 Jul 2007, 15:08 |
|
Mac2004 18 Jul 2007, 20:27
Have you taken into account that bios( Int 13h ah=08h - Drive Parameters) has got maximum size limitations? The infamous 504mb barrier...
regards Mac2004 |
|||
18 Jul 2007, 20:27 |
|
mkriegel 18 Jul 2007, 20:44
Yes, I thought about, but this cant be the prob, I think:
When I calculate the values manually, I get the following: Heads: 2 Tracks / Head: 335 Sectors / Track: 2 That's why it seems so, that my BIOS uses a logical CHS and translates it to a physical one. The effect of this is, that u can address more sectors if u don't use the real CHS-values. The real problem is, that the computations in this code-fragment doesnt work: mov BYTE [DriveInfo.TracksPerHead], ch shr cl, 6 and cl, 3 mov BYTE [DriveInfo.TracksPerHead+1], cl cx includes the Tracks and Sectors values from int 13h call as shown above. ch contains the 8 lower bits of the tracks value and cl <7;6> are the two upper bits of the tracks value. I want to have the track's value alone, so I copy the byte in ch as the lower one to my destination, then I shift cl 6 times right to arrange bits 8 and 9 of the tracks value, set the other bit's to all zeros and copy it to the upper byte of my destination. That's the theory, but it doesnt work as I want. There must somewhere be a little stupid mistake... MK |
|||
18 Jul 2007, 20:44 |
|
Mac2004 19 Jul 2007, 08:34
mkriegel wrote:
Partcopy by John Fine is neat tool. I use it every day to write my binary files. Just use search engines to locate it... regards, Mac2004 |
|||
19 Jul 2007, 08:34 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.