Defeated 16-bit, we can now load the kernel by path
This commit is contained in:
1 parent
ec61cd8b8a
commit
a6a338c17a
11 files changed
+6065
-1049
No files matched your search
+11
-5
@@ -2,30 +2,36 @@ int data_from_disk(index, number_sectors, data_buffer, data_buffer_segment);
|
||||
int disk_service_read_data_from_disk(index, number_sectors, data_buffer, data_buffer_segment);
|
||||
|
||||
int disk_service_read_data_from_disk(index, number_sectors, data_buffer, data_buffer_segment)
|
||||
long* index;
|
||||
long index;
|
||||
long number_sectors;
|
||||
void* data_buffer;
|
||||
int data_buffer_segment;
|
||||
unsigned int data_buffer_segment;
|
||||
{
|
||||
|
||||
#asm
|
||||
#define index 4[bp]; // Note that this is a 32-bit argument.
|
||||
#define number_sectors 8[bp];
|
||||
#define data_buffer 10[bp];
|
||||
#define data_buffer_segment 12[bp];
|
||||
#define data_buffer 12[bp];
|
||||
#define data_buffer_segment 14[bp];
|
||||
|
||||
push bp
|
||||
mov bp,sp
|
||||
pusha
|
||||
|
||||
lsfs_load_data:
|
||||
mov ax, index
|
||||
call 0x0000:0x7C2A
|
||||
mov WORD [DAPACK.lba_addr_dw_low], ax
|
||||
mov bx, number_sectors
|
||||
mov ax, bx
|
||||
call 0x0000:0x7C2A
|
||||
mov WORD [DAPACK.blkcnt], bx
|
||||
mov cx, data_buffer_segment
|
||||
mov ax, cx
|
||||
call 0x0000:0x7C2A
|
||||
mov WORD [DAPACK.db_addr_segment], cx
|
||||
mov dx, data_buffer;
|
||||
mov ax, dx
|
||||
call 0x0000:0x7C2A
|
||||
mov WORD [DAPACK.db_addr_offset], dx
|
||||
mov si, #DAPACK ; address of
|
||||
mov ah, #0x42 ; READ
|
||||
|
||||
Reference in new issue
Block a user