flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Floppy problem - How to read FDD in PM mode? |
Author |
|
cod3b453 27 Sep 2012, 18:59
The BIOS int 0x13 ah=2 reads to es:bx so you can load up to 1MB if you increment es by 0x1000 every time bx wraps to 0x0000 (and align your reads to this boundary). For protected mode BIOS calls are not available so you have to write a- (or load an existing-) driver for it. Normally, it easiest to start with a PIO driver to control floppy/hdd as this is both small and relatively simple - ATA HDD more so than floppy.
|
|||
27 Sep 2012, 18:59 |
|
BAiC 27 Sep 2012, 20:27
you would use segment registers to access more than 64k. in Real Mode BIOS Services accept
ES:BX = 20-bit Pointer to data. simply increment ES each iteration rather than BX (setting BX to zero each iteration). _________________ byte me. |
|||
27 Sep 2012, 20:27 |
|
BAiC 27 Sep 2012, 20:29
there are alternatives if you want efficiency. namely unrolling (multiple sectors per BIOS call). however they get complicated due to alignment with the boundary.
|
|||
27 Sep 2012, 20:29 |
|
Dex4u 28 Sep 2012, 18:22
Just code a PM fdd driver, or read/write one sector at a time going back and forth to realmode only about 10% slower than doing it full in realmode, its simple.
Last edited by Dex4u on 28 Sep 2012, 20:46; edited 1 time in total |
|||
28 Sep 2012, 18:22 |
|
A$M 28 Sep 2012, 19:11
I am now studying floppy controllers. I will to construct a driver for it in a few days. Wait me and see...
|
|||
28 Sep 2012, 19:11 |
|
Dex4u 28 Sep 2012, 20:45
A$M wrote: I am now studying floppy controllers. I will to construct a driver for it in a few days. Wait me and see... Two days, it took two hours
|
|||||||||||
28 Sep 2012, 20:45 |
|
A$M 29 Sep 2012, 00:30
Thanks for this code, but, how I already says, I am studying the floppy controller. I will see this code after I write my own code.
|
|||
29 Sep 2012, 00:30 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.