diff --git a/slrboot.bin b/slrboot.bin index 6f6c217..67baf54 100644 Binary files a/slrboot.bin and b/slrboot.bin differ diff --git a/slrboot.nasm b/slrboot.nasm index 19f844a..b0ade1e 100644 --- a/slrboot.nasm +++ b/slrboot.nasm @@ -81,6 +81,7 @@ int 0x16 boot_partition: ; IMPORTANT bx, has to hold the value 1-4 for the partiotion that wanted to be booted. +mov bx, 1 mov ax, partition_1 .loop: cmp bx, 1 @@ -90,6 +91,7 @@ mov ax, partition_1 jmp .loop break: + add ax, 8 ; This is the offset to fetch the LBA start adress of the partition record mov bx, ax xor ax, ax @@ -108,7 +110,7 @@ xor ax, ax mov ah, 0x42 ; READ mov dl, [disk_identifier] int 0x13 - +;call dumpax jc endcarrycheck ; An error ocurred when reading from disk. ; If no error then jump to volume boot record @@ -182,7 +184,6 @@ error_str db 'Error', 0 boot_this_partition: dw 0 disk_identifier db 0 - DAPACK: .dap_Size: db 0x10 ; This is always 16 bytes (0x10) .rev_byte: db 0x0 ; reserved byte, should always be zero @@ -203,12 +204,13 @@ partition_1: .start_LBA db 0x10, 0x00, 0x00, 0x00 .size db 0x00, 0xC8, 0x03, 0x00 +; sector number for 2.nd SingOS -> 16480 partition_2: -.active_partition db 0x00 +.active_partition db 0x80 .start_CHS db 0x8C, 0x3E, 0x0F .disk_type db 0x83 .end_CHS db 0xFF, 0xFF, 0xFF -.start_LBA db 0x00, 0xD0, 0x03, 0x00 +.start_LBA db 0x61, 0x40, 0x00, 0x00 ;0x00, 0xD0, 0x03, 0x00 .size db 0x00, 0x28, 0x1C, 0x03 partition_3: