diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-11-14 11:08:04 +0100 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-11-14 11:08:04 +0100 |
| commit | e3cc5f6c89ba9f37bf2c1edf588d0f75c1d63c57 (patch) | |
| tree | 1c43c3e9ce81f7564beb3a970b88beaa66169946 /boot0/disk_load_16.asm | |
| parent | 2761b620043ad511d9baf66d5478a463aeece77b (diff) | |
rename dirs
Diffstat (limited to 'boot0/disk_load_16.asm')
| -rw-r--r-- | boot0/disk_load_16.asm | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/boot0/disk_load_16.asm b/boot0/disk_load_16.asm deleted file mode 100644 index 76102ad..0000000 --- a/boot0/disk_load_16.asm +++ /dev/null @@ -1,102 +0,0 @@ -; -;disk_load_16 -; - -[bits 16] - -STR_LBA: - db "LBA Support Detected",0 - -STR_CHS: - db "CHS BROKEN SORRY(?)",0 - -STR_ERROR: - db "Disk Read Error",0 - -STR_DONE: - db "Stage 2 Loaded",0 - -disk_load_16: - - pusha - - ; check if LBA is supported - mov ah,0x41 - mov bx,0x55aa - int 0x13 - jnc disk_load_lba - jmp disk_load_chs - -disk_load_lba: - - mov bx, STR_LBA - call print_string - call print_nextline - - mov dl,[BOOT_DRIVE] - xor ah,ah - mov ah,0x42 - - mov bx,0 - mov ds,bx - lea si,[lba_adr] - - int 0x13 - jnc disk_load_finish - jmp disk_load_error - -disk_load_chs: - - mov bx, STR_CHS - call print_string - call print_nextline - - mov bx,0 ;target es:bx - mov es,bx - mov bx,0x7e00 - - mov al,50 ;number of sectors to read - mov ah,0x02 ;BIOS read sector func - - mov cl,2 ; sector - mov ch,0 ; cylinder - - mov dl,[BOOT_DRIVE] - mov dh,0 ;head - - int 0x13 ;bios interrupt - - jnc disk_load_finish - -disk_load_error: - - call print_nextline - mov bx, STR_ERROR - call print_string - call print_nextline - jmp $ - -disk_load_finish: - - call print_nextline - mov bx, STR_DONE - call print_string - call print_nextline - - - popa - ret - - -;; here we hold the lba addr -lba_adr: - - dw 0x10 ; size of packet ( 16 byte) - dw 16 ; number of sectors to read - - ; target is 0x7e00 - dw 0x7e00 ; target addr. offset - dw 0x0000 ; target addr. sector - - dd 1 ; first sector to read - dd 0 |
