Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1156 → Rev 1155

/kernel/trunk/sec_loader/trunk/loader.lst
File deleted
/kernel/trunk/sec_loader/trunk/debug_msg.inc
57,17 → 57,11
firstDataSect_msg db ' -first data sector, offset to data in sectors',0
size_root_dir_msg db ' -size root dir in sectrors',0
DataClasters_msg db ' -size data in Clasters',0
first_entry_in_fat db ' -data segment in FIRST entry FAT',0
check_root_fat_ db ' : _______________',0
check_name_fat_msg_y db 'Name is present that is BAD',0
check_name_fat_msg_n db 'Name is not present that is GOOD',0
name_of_seg_get_64 db ' -name of seg where we get 64 Kb of data',0
convertion_file_name_msg_y db 'Destination name of file is GOOD',0
convertion_file_name_msg_n db 'Destination name of file is BAD',0
start_making_FAT12_msg db '>>>>>> Begin make a RAMDISK and FS after 1 Mb <<<<<<<',0
check_name_fat_msg db ' -if -1 name is present, else 0 then not present name',0
convertion_file_name_msg db ' -if -1, then destination name of file is bad',0
start_making_FAT12_msg db '>>>>>> Begin making fat12 FS on RAMDISK <<<<<<<',0
make_fat12_RFS_msg db '-Make FAT12 Ram FS',0
get_type_FS_msg db '-End make RamDisk',0
seg_where_get_data db ' - Segment where we get data for move up file',0
return_code_af_move db ' -return code after 0x87 int 0x15, move block',0
return_code_af_fat_m db ' -return code after 0x87 int 0x15, move fat struc',0
 
/kernel/trunk/sec_loader/trunk/loader.asm
275,10 → 275,10
.BS_VolLab db 'RAM DISK FS' ;11 ñèìâîëîâ
.BS_FilSysType db 'FAT12 ' ;8 ñèìâîëîâ
;62 áàéòà ñòðóêòóðà fat12.
db (512-($-fat12_buffer))dup(0x90)
 
 
 
 
;ñòðóêòóðà äëÿ äèððåêòîðèè fat
struc FAT_32_entry ;Byte Directory Entry Structure
{
301,13 → 301,10
;;;
;timer
shot_name_fat rb 11 ;âðåìåííûé áóôåð äëÿ fat12, â íåì õðàíÿòüñÿ èìåíà ôàéëîâ ïðèâåäåííûå ê ïðàâèëàì FAT /* âäàëüíåéøåì ïåðåíåñòè â ñòýê
 
if DEBUG
rb 1 ;íóæåí äëÿ îòëàäêè è âûâîäà èìåíè ôàéëà ïîñëå ïðåîáðàçîâàíèÿ
dest_name_fat db 24 dup('_');12
db 0x0
dest_name_fat rb 12
end if
 
value_timeout rw 1 ;value to timeout
old_timer rd 1 ;ñòàðîå çíà÷åíèå âåêòîðà òàéìåðà
start_timer rd 1 ;çíà÷åíèå òàéìåðà
/kernel/trunk/sec_loader/trunk/parse_def_sect.inc
1088,7 → 1088,8
;ìû åå ìîäèôèöèðóåì äî òàêîãî ñîñòîÿíèÿ dw,dw,db'@menu',0 êîíå÷íî ñîõðàíèâ òå çíà÷åíèÿ êîòîðûå ìû çàìåíÿåì
;ñîõðàíèëè ïåâûå 2 word
 
;
;//ïðîâåðêà íàëè÷èÿ òàêîãî æå èìåíè â ðóò äèð
 
@@: mov al,byte [es:di]
cmp al,',' ; ò.å. èùåì ðàçäåëèòåëü
jz .found_end_str
1134,21 → 1135,6
 
mov di,point_to_dest_file_name
 
if DEBUG
pushad
; mov ax,di
mov cx,0x0a
mov di,name_of_seg_get_64
mov dword[ds:di],' '
mov word[ds:di+4],' '
call decode
;Show size
mov si,name_of_seg_get_64
call printplain
 
popad
end if
 
push word [es:di]
push cx
xor ax,ax
1198,7 → 1184,7
 
if DEBUG
pushad
pusha
mov cx,0x0a
mov di,RamdiskFile_msg
mov dword[ds:di],' '
1207,7 → 1193,7
mov si,RamdiskFile_msg
call printplain
 
popad
popa
end if
 
 
1288,8 → 1274,8
 
}
 
macro use_BPB_RAM ;çàêèíóòü ñàìûå ïåðâûå 512 áàéò çà 1-é ìá
;äàííûé ìàêðîñ çàêèäûâàåò BPB ñòðóêòóðó ò.å. ïåðâûå 512 áàéò, ïîêà òîëüêî ôàò12 çà 1 ìá
macro use_BPB_RAM
;äàííûé ìàêðîñ çàêèäûâàåò BPB ñòðóêòóðó, ïîêà òîëüêî ôàò12 çà 1 ìá
{
mov ax,fat12_buffer
mov si,table_15_87
1297,7 → 1283,7
push es
push ds
pop es
mov cx,256 ;áóò ñåêòîð óêëàäûâàåòñÿ â 512 áàéò 512/2=256
mov cx,31 ;ôàò12 óêëàäûâàåòñÿ â 62 áàéòà 62/2=31
mov ah, 0x87
int 0x15
pop es
1329,35 → 1315,12
 
mov di,info_real_mode_size
add di,0x1000
 
if DEBUG
pushad
 
mov ax,info_real_mode_size
add ax,0x1000
; mov ax,ds
mov cx,0xa
mov di,first_entry_in_fat
mov dword [di],' '
mov word [di+4],' '
call decode
;Show size
mov si,first_entry_in_fat
call printplain
 
xor ax,ax
int 0x16
popad
end if
 
 
push di ; push word info_real_mode_size+0x1000 ;cëåäóþùèé ñåãìåíò çà çàãðóæåííûì ó÷àñòêîì
xor di,di
mov point_to_free_root,di ;çíà÷åíèå ñìåùåíèÿ =0 â êîðíåâîé ôàò òàáëèöå îïèñàíèÿ
 
 
pop ds ; çàãðóæåí ñëåäóþùèé ñåãìåíò ò.å. ïóñòîé ñåãìåíò
 
mov byte [di],al
1365,6 → 1328,8
inc di
mov word [di],ax
 
 
 
pop ds
mov point_next_fat_str,3
 
1406,26 → 1371,6
shl di,9 ;imul 512
add di,point_to_free_root ;ñìåùåíèå â óæå çàïèñàííûõ 32-õ ñòðóêòóðàõ.
;íåîáõîäèìî âíåñòè çíà÷åíèå â ðóò äèð ò.å. 32 áàéòà
if DEBUG
pushad
; mov ax,point_default
; mov ax,
mov cx,0x0a
mov di,show_db2
mov dword[ds:di],' '
mov word [ds:di+4],' '
call decode
;Show size
mov si,show_db2
call printplain
;
; xor ax,ax
; int 0x16
popad
end if
 
 
 
;gs:di - óêàçàòåëü äëÿ âíåñåíèÿ èíôîðàöèè â ðóò îáëàñòü ôàò òàáëèöû èíîðìàöèè î ôàéëå.
mov si,shot_name_fat
mov cx,11
1543,11 → 1488,8
shl di,9 ;imul 512
add di,point_to_free_root ;ñìåùåíèå â óæå çàïèñàííûõ 32-õ ñòðóêòóðàõ.
 
push di
 
mov si,dest_name_fat
mov cx,11
 
;çàïèøåì â ñòðóêòóðó èìÿ
@@: mov al,byte [es:di]
inc di
1555,12 → 1497,8
inc si
loop @b
mov di,si
inc di
pop ax
mov cx,0xa
call decode
 
xor ax,ax
mov byte [si],al
mov si,dest_name_fat
call printplain
popad
1655,10 → 1593,9
{
local .no_equal
local .exit
local .loop_size_root_dir
;âû÷èñëèì äëèííó ñòðî÷êè èìåíè íàçíà÷åíèÿ, êîòîðóþ áóäåì ñðàâíèâàòü ñ óæå çàïèñàííûìè äàííûìè.
;ïðåîáðàçóåì â àíàëîã ôàò çàïèñè ñòî÷êó ñ èìåíåì íàçíà÷åíèÿ
convertion_file_name ; ïðåîáðàçîâàëè èìÿ ïî íóæíûì ïðàâèëàì
convertion_file_name
test ax,ax
jnz .exit
 
1668,11 → 1605,17
mov di,firstDataSect
sub di,size_root_dir
;òåïåðü â ax ðàçìåð â ñåêòîðàõ íà÷àëà ðóò äèð
 
 
shl di,9 ;imul 512
;di= Ýòî ñìåùåíèå îò íà÷àëà áóôåðà äî ðóò äèðåêòîðèè. â ïðåäåëàõ 64 êá.
 
 
 
 
;di= Ýòî ñìåùåíèå îò íà÷àëà áóôåðà äî ðóò äèðåêòîðèè.
;çàãðóçèì çíà÷åíèå - ò.å. êîë-âî ýëåìåíòîâ, êîòîðûå ìû ìîæåì ïðîñìàòðèâàòü.
mov dx,root_dir_entry_count
mov si,point_to_dest_file_name
; mov si,point_to_dest_file_name
mov ax,info_real_mode_size
add ax,0x1000
1679,49 → 1622,30
 
 
mov gs,ax
.loop_size_root_dir:
mov cx,11 ;size of name in struct FAT
 
@@:
mov al,byte [ds:si+bx]
mov ah,byte [gs:di+bx] ;gs:di - point to name in fat struct
 
if DEBUG
; pushad
; push di
; mov eax,dword[gs:di]
; mov si,(check_root_fat_+14)
; mov dword [ds:si],'____'
; mov dword [ds:si+4],'____'
; mov dword[ds:si],eax
; mov eax,dword[gs:di+4]
; mov dword[ds:si+4],eax
;
;
; xor eax,eax
; mov ax,gs;point_next_fat_str
; mov cx,0x0a
; mov di,check_root_fat_
; mov dword [di],' '
; mov word [di+4],' '
; call decode
; xor eax,eax
; pop ax
; mov di,(check_root_fat_+7)
; mov dword [di],' '
; mov word [di+4],' '
; call decode
pushad
 
;Show size
; mov si,check_root_fat_
; call printplain
 
; xor ax,ax
; int 0x16
; popad
end if
mov cx,11
;input cx=size al=char áóäåò âûâåäåí ñèìâîë ñêîëüêî ðàç óêàçàíî â cx
@@:
mov al,byte [gs:di]
inc di
call putchar
loop @b
 
xor bx,bx
mov cx,11 ;size of name in struct FAT
xor ax,ax
int 0x16
 
@@:
mov al,byte [es:si+bx]
mov ah,byte [gs:di+bx] ;gs:di - point to name in fat struct
popad
end if
inc bx
 
cmp ah,al
1730,7 → 1654,6
; dec cx
; jnz @b
loop @b
 
;.succesfuly:
;ïå÷àëüíî, òàêîå èìÿ óæå èìååòñÿ :(
or ax,-1
1738,9 → 1661,11
 
 
.no_equal:
mov cx,11;save_cx_check_name
xor bx,bx
add di,32 ;fat struct =32 byte
dec dx
jnz .loop_size_root_dir
jnz @b
 
;.exit_check_name:
and ax,0
1748,14 → 1673,17
.exit:
 
if DEBUG
pushad
pusha
; movzx eax,ax;point_next_fat_str
mov cx,0x0a
mov di,check_name_fat_msg
mov dword [di],' '
mov word [di+4],' '
call decode
;Show size
mov si,check_name_fat_msg_n
test ax,ax
jz @f
mov si,check_name_fat_msg_y
@@: call printplain
popad
mov si,check_name_fat_msg
call printplain
popa
end if
 
}
1881,18 → 1809,19
@@:
 
if DEBUG
pushad
pusha
; mov ax,point_next_fat_str
mov cx,0x0a
mov di,convertion_file_name_msg
call decode
;Show size
mov si,convertion_file_name_msg
call printplain
mov si,convertion_file_name_msg_y
test ax,ax
jz @f
mov si,convertion_file_name_msg_n
@@: call printplain
 
mov si,shot_name_fat
mov byte [si+12],0
call printplain
popad
popa
 
end if
}
1926,18 → 1855,15
; shl eax,9 ;óìíîæèì íà 512
if DEBUG
pushad
xor eax,eax
mov ax,info_real_mode_size
pusha
; mov eax,ebx;point_next_fat_str
mov cx,0x0a
mov di,seg_where_get_data
mov dword [di],' '
mov word [di+4],' '
mov di,show_db1
call decode
;Show size
mov si,seg_where_get_data
mov si,show_db1
call printplain
popad
popa
 
end if
 
/kernel/trunk/sec_loader/trunk/sl_equ.inc
87,7 → 87,7
firstDataSect equ word [bp-82] ;ïåðâûé ñåêòîð äàííûõ â ñåòîðàõ îò 0
DataClasters equ word [bp-84] ;ðàçìåð ìàññèâà äîñòóïíîé äëÿ çàïèñè äàííûõ â êëàñòåðàõ.
point_to_free_root equ word [bp-86] ;óêàçàòåëü íà ñëåäóþùèé ïóñòóþ çàïèñü â ðóò äèð
point_to_dest_file_name equ word [bp-88] ;óêàçûâàåò íà íà÷àëî èìåíè ôàéëà íàçíà÷åíèÿ. â ôîðìàòå es:point_to_dest_file_name, ãäå es =0x2000
point_to_dest_file_name equ word [bp-88] ;óêàçûâàåò íà íà÷àëî èìåíè ôàéëà íàçíà÷åíèÿ.
data_offset equ word [bp-90] ;ñìåùåíèå â êëàñòåðàõ äëÿ çàïèñàííûõ äàííûõ ò.å ïåðåêèíóòûõ çà 1-é ìá
first_input equ word [bp-92] ;ïîëå äëÿ ôëàãîâ â ïðåîáðàçîâàíèè èìåíè.
save_di_RAMDISK equ word [bp-94] ;ñîõðàíèì di -óêàçàòåëÿ ïðè îáðàáîòêå ñåêöèè
/kernel/trunk/sec_loader/trunk/kolibri_ldm/booteng.inc
60,7 → 60,7
pros db "00"
backspace2 db 8,8,0
boot_dev db 0 ; 0=floppy, 1=hd
start_msg db "Press [abc] to change settings, press [Enter] to continue booting",13,10,0
start_msg db "Press [abcd] to change settings, press [Enter] to continue booting",13,10,0
time_msg db " or wait "
time_str db " 5 seconds"
db " before automatical continuation",13,10,0
/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootru.inc
46,7 → 46,7
pros db "00"
backspace2 db 8,8,0
boot_dev db 0
start_msg db " ¦¬¨â¥ [abc] ¤«ï ¨§¬¥­¥­¨ï ­ áâ஥ª, [Enter] ¤«ï ¯à®¤®«¦¥­¨ï § £à㧪¨",13,10,0
start_msg db " ¦¬¨â¥ [abcd] ¤«ï ¨§¬¥­¥­¨ï ­ áâ஥ª, [Enter] ¤«ï ¯à®¤®«¦¥­¨ï § £à㧪¨",13,10,0
time_msg db " ¨«¨ ¯®¤®¦¤¨â¥ "
time_str db " 5 ᥪ㭤 "
db " ¤®  ¢â®¬ â¨ç¥áª®£® ¯à®¤®«¦¥­¨ï",13,10,0
/kernel/trunk/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm
12,8 → 12,6
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
include "lang.inc"
 
macro _setcursor row,column
{
mov dx, row*256 + column
/kernel/trunk/sec_loader/trunk/startos.ini
60,7 → 60,7
[kolibri_EE]
name="KOLIBRY EXCLUSIVE EDITION"
descript="KOLIBRY EXCLUSIVE EDITION BEST OF THE BEST opetation system"
LoaderModule=kolibri/kolibri.ldm
LoaderModule=kord/kolibri.ldm
RamdiskFS=FAT
RamdiskSector=512
RamdiskCluster=1
69,7 → 69,19
RamdiskPATH=/kolibri/
RamdiskFile=@menu,@menu
RamdiskFile=@PANEL,@PANEL
RamdiskFile=@RB,@PANEL
RamdiskFile=@RB,@RB
RamdiskFile=@rcher,@rcher
RamdiskFile=@ss,@ss
RamdiskFile=ac97snd,ac97snd
RamdiskFile=animage,animage
RamdiskFile=AUTOEXEC.CMD,AUTOEXEC.CMD
RamdiskFile=AUTORUN.DAT,AUTORUN.DAT
RamdiskFile=calc,calc
RamdiskFile=calendar,calendar
RamdiskFile=progs/cdp,cdp
RamdiskFile=cmd,cmd
RamdiskFile=config.inc,config.inc
RamdiskFile=copy2,copy2
 
[legacy_kolibri]
name="KolibriOS"