/kernel/trunk/sec_loader/trunk/boot/after_win/build.bat |
---|
0,0 → 1,2 |
@fasm -m 65535 kordldr.win.asm kordldr.win |
@pause |
/kernel/trunk/sec_loader/trunk/boot/build.bat |
---|
0,0 → 1,16 |
echo off |
cls |
echo ** bulding after win loader ** |
@fasm -m 65535 after_win/kordldr.win.asm after_win/kordldr.win |
echo ============================== |
echo ** building first loader for cd/dvd ** |
@fasm -m 65535 cdfs/bootsect.asm cdfs/bootsect.bin |
echo ============================== |
echo ** building first loader for fat12/fat16 ** |
@fasm -m 65535 fat1x/bootsect.asm fat1x/bootsect.bin |
@fasm -m 65535 fat1x/kordldr.f1x.asm fat1x/kordldr.f1x |
echo ============================== |
echo ** building firs loader for fat32 ** |
@fasm -m 65535 fat32/bootsect.asm fat32/bootsect.bin |
@fasm -m 65535 fat32/kordldr.f1x.asm fat32/kordldr.f1x |
@pause |
/kernel/trunk/sec_loader/trunk/boot/cdfs/bootsect.asm |
---|
42,11 → 42,11 |
mov bx, 55AAh |
int 13h |
mov si, aNoLBA |
jc err |
jc err_ |
cmp bx, 0AA55h |
jnz err |
jnz err_ |
test cl, 1 |
jz err |
jz err_ |
; get file system information |
; scan for Primary Volume Descriptor |
db 66h |
60,7 → 60,7 |
jnc @f |
fatal_read_err: |
mov si, aReadError |
err: |
err_: |
call out_string |
mov si, aPressAnyKey |
call out_string |
84,7 → 84,7 |
jnz pvd_scan_loop |
; Volume Descriptor Set Terminator reached, no PVD found - fatal error |
mov si, no_pvd |
jmp err |
jmp err_ |
pvd_found: |
add bx, 80h |
mov ax, [bx] |
103,7 → 103,7 |
int 12h |
mov si, nomem_str |
cmp ax, 71000h / 400h |
jb err |
jb err_ |
shr ax, 1 |
sub ax, 60000h / 800h |
mov [size_rest], ax |
159,7 → 159,7 |
noloader: |
mov si, aKernelNotFound |
jmp err |
jmp err_ |
read_sectors: |
; es:bx = pointer to data |
/kernel/trunk/sec_loader/trunk/boot/cdfs/build.bat |
---|
0,0 → 1,2 |
@fasm -m 65535 bootsect.asm bootsect.bin |
@pause |
/kernel/trunk/sec_loader/trunk/boot/fat1x/bootsect.asm |
---|
68,11 → 68,11 |
mov bx, 55AAh |
int 13h |
mov si, aNoLBA |
jc err |
jc err_ |
cmp bx, 0AA55h |
jnz err |
jnz err_ |
test cx, 1 |
jz err |
jz err_ |
else |
mov ah, 8 |
int 13h |
122,7 → 122,7 |
jz kordldr_ok |
noloader: |
mov si, aLoaderNotFound |
err: |
err_: |
call out_string |
mov si, aPressAnyKey |
call out_string |
185,7 → 185,7 |
mov ah, 42h |
int 13h |
mov si, aReadError |
jc err |
jc err_ |
; restore stack |
add sp, 10h |
; increase current sector & buffer; decrease number of sectors |
257,7 → 257,7 |
dec si |
jnz @b |
mov si, aReadError |
jmp err |
jmp err_ |
@@: |
pop ax |
mov ax, es |
389,4 → 389,4 |
display 13,10 |
} |
show read_sectors, read_sectors2, lookup_in_root_dir, scan_for_filename, err, noloader |
show read_sectors, read_sectors2, lookup_in_root_dir, scan_for_filename, err_, noloader |
/kernel/trunk/sec_loader/trunk/boot/fat1x/build.bat |
---|
0,0 → 1,3 |
@fasm -m 65535 bootsect.asm bootsect.bin |
@fasm -m 65535 kordldr.f1x.asm kordldr.f1x |
@pause |
/kernel/trunk/sec_loader/trunk/boot/fat1x/kordldr.f1x.asm |
---|
53,7 → 53,7 |
read_sectors2 dw ? |
lookup_in_root_dir dw ? |
scan_for_filename dw ? |
err dw ? |
err_ dw ? |
noloader dw ? |
cachelimit dw ? |
filesize: ; will be used to save file size |
116,7 → 116,7 |
jae @f |
nomem: |
mov si, nomem_str |
jmp [err] |
jmp [err_] |
@@: |
shr ax, 3 |
mov [cachelimit], ax ; size of cache - 1 |
182,7 → 182,7 |
mov di, secondary_loader_info |
call load_file |
test bx, bx |
mov bx, [err] |
mov bx, [err_] |
jz @f |
mov si, aKernelNotFound |
jmp bx |
/kernel/trunk/sec_loader/trunk/boot/fat32/bootsect.asm |
---|
73,11 → 73,11 |
mov bx, 55AAh |
int 13h |
mov si, aNoLBA |
jc err |
jc err_ |
cmp bx, 0AA55h |
jnz err |
jnz err_ |
test cl, 1 |
jz err |
jz err_ |
else |
mov ah, 8 |
int 13h |
106,7 → 106,7 |
jnc kordldr_ok |
noloader: |
mov si, aLoaderNotFound |
err: |
err_: |
call out_string |
mov si, aPressAnyKey |
call out_string |
170,7 → 170,7 |
mov ah, 42h |
int 13h |
mov si, aReadError |
jc err |
jc err_ |
; restore stack |
add sp, 10h |
; increase current sector & buffer; decrease number of sectors |
236,7 → 236,7 |
dec si |
jnz @b |
mov si, aReadError |
jmp err |
jmp err_ |
@@: |
pop ax |
mov ax, es |
355,4 → 355,4 |
display 13,10 |
} |
show read_sectors32, read_sectors2, err, noloader |
show read_sectors32, read_sectors2, err_, noloader |
/kernel/trunk/sec_loader/trunk/boot/fat32/build.bat |
---|
0,0 → 1,3 |
@fasm -m 65535 bootsect.asm bootsect.bin |
@fasm -m 65535 kordldr.f32.asm kordldr.f32 |
@pause |
/kernel/trunk/sec_loader/trunk/boot/fat32/kordldr.f32.asm |
---|
59,7 → 59,7 |
; rb 5 ; BS_FilSysType, first 5 bytes |
read_sectors32 dw ? |
read_sectors2 dw ? |
err dw ? |
err_ dw ? |
noloader dw ? |
cachelimit dw ? |
fatcachehead rw 2 |
87,12 → 87,12 |
; determine version of bootsector (LBA vs CHS) |
mov [read_sectors2], chs_read_sectors2 |
mov bx, chs_err |
mov [err], bx |
mov [err_], bx |
; mov [noloader], chs_noloader |
cmp byte [bx], 0xE8 ; [chs_err] = 0xE8 for CHS version, 0x14 for LBA version |
jz @f |
add [read_sectors2], lba_read_sectors2 - chs_read_sectors2 |
add [err], lba_err - chs_err |
add [err_], lba_err - chs_err |
; mov [noloader], lba_noloader |
@@: |
xor bx, bx |
102,7 → 102,7 |
jae @f |
nomem: |
mov si, nomem_str |
jmp [err] |
jmp [err_] |
@@: |
shr ax, 3 |
mov [cachelimit], ax ; size of cache - 1 |
141,7 → 141,7 |
call get_next_cluster |
jc @f |
; jmp [noloader] |
mov ax, [err] |
mov ax, [err_] |
sub ax, 3 |
jmp ax |
@@: |
173,7 → 173,7 |
mov di, secondary_loader_info |
call load_file |
test bx, bx |
mov bx, [err] |
mov bx, [err_] |
jz @f |
mov si, aKernelNotFound |
jmp bx |