|
|
@ -1,7 +1,7 @@ |
|
|
|
ORG 0x7c00 |
|
|
|
BITS 16 |
|
|
|
%define DISK_SERVICE 0x0050:0x0000 |
|
|
|
%define KERNEL 0x2500:0x0000 ;0x0050:0x0512 |
|
|
|
%define KERNEL 0x0150:0x0000 ;0x0050:0x0512 |
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
; Volume Boot Record |
|
|
|
; This will start SingOS from the disk |
|
|
@ -120,8 +120,15 @@ ext_disk_supported: |
|
|
|
mov dl, [global_disk_identifier] |
|
|
|
int 0x13 |
|
|
|
|
|
|
|
|
|
|
|
mov cx, [vbr_LBA_FSCI] |
|
|
|
mov WORD [Parameter_Struct.buffer_segment], 0x7e0 |
|
|
|
mov WORD [Parameter_Struct.buffer_address], 0x2200 ; Heap memory start adresses for the file system |
|
|
|
mov WORD [Parameter_Struct.buffer_size], 0xFFFF ; End address for the heap |
|
|
|
mov WORD [Parameter_Struct.data_length], cx |
|
|
|
|
|
|
|
mov bx, ds |
|
|
|
mov cx, Parameter_Struct |
|
|
|
mov ax, 0x1 |
|
|
|
push cx |
|
|
|
push bx |
|
|
@ -161,7 +168,7 @@ ext_disk_supported: |
|
|
|
; Set the Parameter_Struct |
|
|
|
mov ax, kernel_path |
|
|
|
mov [Parameter_Struct.path], ax |
|
|
|
mov WORD [Parameter_Struct.buffer_segment], 0x2500 |
|
|
|
mov WORD [Parameter_Struct.buffer_segment], 0x0150 |
|
|
|
mov WORD [Parameter_Struct.buffer_address], 0x00 |
|
|
|
mov WORD [Parameter_Struct.buffer_size], 0xFFFF |
|
|
|
mov WORD [Parameter_Struct.byte_offset_into_file], 0x00 |
|
|
|