summaryrefslogtreecommitdiff
path: root/disk.asm
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2017-12-03 11:49:02 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2017-12-03 11:49:02 -0500
commit11a24bb062911ede0fb9fed0ef536bdfcef92cc1 (patch)
tree096ebb6b1cfa0a429e098f83d71393a2c0332fec /disk.asm
parent81f223e619ed3837253f2fad45367a33876c86e5 (diff)
downloadminos-11a24bb062911ede0fb9fed0ef536bdfcef92cc1.tar.gz
Add disk_info
Diffstat (limited to 'disk.asm')
-rw-r--r--disk.asm29
1 files changed, 29 insertions, 0 deletions
diff --git a/disk.asm b/disk.asm
index 2a10b35..bc588f6 100644
--- a/disk.asm
+++ b/disk.asm
@@ -1,6 +1,35 @@
%ifndef _DISK_ASM
%define _DISK_ASM
+%include "stdio.asm"
+
+disk_info:
+ push bp
+ mov bp, sp
+
+ xor dx, dx
+ mov ah, 41h
+ mov bx, 55aah
+ mov dl, [bp + 4] ; drive number {80h..ffh}
+ int 13h
+ jc .return
+
+ shr ax, 8
+ push dx
+ push cx
+ push ax
+ push disk_info_fmt
+ call printf
+ add sp, 6
+.return:
+ mov sp, bp
+ pop bp
+ ret
+
+
+disk_info_fmt: db 'HDD(%c): INT 13h Ext: %x (%x)', CR, 0
+
+
disk_lba_chs:
push bp
mov bp, sp