summaryrefslogtreecommitdiff
path: root/drive/drive.ha
diff options
context:
space:
mode:
Diffstat (limited to 'drive/drive.ha')
-rw-r--r--drive/drive.ha19
1 files changed, 10 insertions, 9 deletions
diff --git a/drive/drive.ha b/drive/drive.ha
index 42cef43..259e7f5 100644
--- a/drive/drive.ha
+++ b/drive/drive.ha
@@ -2,19 +2,20 @@ use bios;
use bios::drive;
fn lba_to_chs(lba: u16) (u16, u16, u16) = {
- let temp = lba / bios::drive::drive_spt;
- let sector = (lba % bios::drive::drive_spt) + 1;
- let head = temp % bios::drive::drive_heads;
- let cylinder = temp / bios::drive::drive_heads;
+ //let temp = lba / bios::drive::drive_spt;
+ //let sector = (lba % bios::drive::drive_spt) + 1;
+ //let head = temp % bios::drive::drive_heads;
+ //let cylinder = temp / bios::drive::drive_heads;
- return (cylinder, head, sector);
+ //return (cylinder, head, sector);
+ return (0, 0, 0);
};
export fn read(sector: u16, dest: uintptr) void = {
let chs = lba_to_chs(sector);
- bios::regs.eax = 1 | 0x2 << 8;
- bios::regs.ebx = ws;
- bios::regs.ecx = chs.2 | chs.0 << 8;
- bios::regs.edx = bios::drive::drive_no | chs.1 << 8;
+ //bios::regs.eax = 1 | 0x2 << 8;
+ //bios::regs.ebx = ws;
+ //bios::regs.ecx = chs.2 | chs.0 << 8;
+ //bios::regs.edx = bios::drive::drive_no | chs.1 << 8;
};