Browse Source

More work on the bootloader

master
Rhodez-x 5 years ago
parent
commit
987dbcf24d
2 changed files with 6 additions and 4 deletions
  1. BIN
      slrboot.bin
  2. +6
    -4
      slrboot.nasm

BIN
slrboot.bin View File


+ 6
- 4
slrboot.nasm View File

@ -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:

Loading…
Cancel
Save