/kernel/trunk/blkdev/rdsave.inc |
---|
1,27 → 1,22 |
iglobal |
saverd_fileinfo: |
dd 2 ; subfunction: write |
dd 0 ; (reserved) |
dd 0 ; (reserved) |
dd 1440*1024 ; size 1440 Kb |
dd 0x100000 - std_application_base_address ; base address |
db 0 |
.name: |
dd ? |
endg |
sysfn_saveramdisk: ; 18.6 = SAVE FLOPPY IMAGE (HD version only) |
cmp ebx,1 |
jnz img_save_hd_1 |
mov edx,bootpath ; path = '/KOLIBRI ' |
jmp img_save_hd_3 |
img_save_hd_1: |
cmp ebx,2 |
jnz img_save_hd_2 |
mov edx,bootpath2 ; path = 0 (root dir) |
jmp img_save_hd_3 |
img_save_hd_2: |
cmp ebx,3 |
jnz exit_for_anyone |
mov edx,[0x3010] |
mov edx,[edx+TASKDATA.mem_start] |
add edx,ecx |
img_save_hd_3: |
call reserve_hd1 |
call reserve_hd_channel |
call restorefatchain ; restore FAT !!! |
mov eax,image_save |
mov ebx,1440*1024 ; size 1440 Kb |
mov ecx,0x100000 ; address of image |
call file_write |
call free_hd_channel |
call restorefatchain |
mov eax, saverd_fileinfo - std_application_base_address |
mov [saverd_fileinfo.name], ebx |
pushad |
push eax |
call file_system_lfn |
pop eax |
popad |
mov [esp+36],eax |
ret |
/kernel/trunk/docs/sysfuncr.txt |
---|
676,19 → 676,12 |
à ¬¥âàë: |
* eax = 18 - ®¬¥à äãªæ¨¨ |
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ |
* ecx ®¯à¥¤¥«ï¥â ¯ãâì ª ä ©«ã: |
* 1 = ¢ ¯ ¯ª¥ "/KOLIBRI" |
* 2 = ¢ ª®à¥¢®¬ ª â «®£¥ |
* 3 = edx 㪠§ë¢ ¥â ¯ãâì (¨¬¥ ¯ ¯®ª ¢ ä®à¬ ⥠8+3, |
à §¤¥«ñë¥ '/') |
* ecx = 㪠§ ⥫ì áâபã á ¯®«ë¬ ¨¬¥¥¬ ä ©« |
( ¯à¨¬¥à, "/hd0/1/kolibri/kolibri.img") |
®§¢à é ¥¬®¥ § 票¥: |
* eax = 0 - ãá¯¥è® |
* ¨ ç¥ eax = ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë |
¬¥ç ¨ï: |
* ¬ï ä ©« 䨪á¨à®¢ ®, "kolibri.img" (£«®¡ «ì ï ¯¥à¥¬¥ ï ï¤à |
image_save ¨§ preboot.inc) |
* ª ª®¬ à §¤¥«¥ ª ª®£® ¤¨áª ä ©« ¡ã¤¥â á®åà ñ, ®¯à¥¤¥«ï¥âáï |
¯®¤äãªæ¨¥© 7 ¨ ¯®¤äãªæ¨¥© 8 äãªæ¨¨ 21. |
* ᥠ¯ ¯ª¨ ¢ 㪠§ ®¬ ¯ã⨠¤®«¦ë áãé¥á⢮¢ âì, ¨ ç¥ ¢¥àñâáï |
§ 票¥ 5, "ä ©« ¥ ©¤¥". |
/kernel/trunk/docs/sysfuncs.txt |
---|
671,19 → 671,12 |
Parameters: |
* eax = 18 - function number |
* ebx = 6 - subfunction number |
* ecx defines path to the file: |
* 1 = in the folder "/KOLIBRI" |
* 2 = in the root folder |
* 3 = edx points to the path (names of folders in the format 8+3, |
divided by '/') |
* ecx = pointer to the full path to file |
(for example, "/hd0/1/kolibri/kolibri.img") |
Returned value: |
* eax = 0 - success |
* else eax = error code of the file system |
Çàìå÷àíèÿ: |
* Filename is fixed, "kolibri.img" (global kernel variable |
'image_save' from 'preboot.inc') |
* Drive and partition are defined by subfunction 7 |
and subfunction 8 of function 21. |
Remarks: |
* All folders in the given path must exist, otherwise function |
returns value 5, "file not found". |