Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт дек 13, 2018 9:14 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 5 сообщений ] 
Автор Сообщение
 Заголовок сообщения: 58 функция
СообщениеДобавлено: Сб фев 05, 2005 4:31 pm 
Может ли кто-нибудь сказать мне полное описание этой функции на данный момент. К сожалению в sysfuncr.txt не описаны, например, возращаемые значения.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Вс фев 13, 2005 5:44 pm 
Не в сети

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 92
Ну от версии 0.74 вот:

Код:
58 = ДОСТУП К ФАЙЛОВОЙ СИСТЕМЕ
        SYSTEM TREE ACCESS

     ebx    указатель на блок fileinfo

     примеры путей к файлам:

     '/RAMDISK/FIRST/KERNEL.ASM',0
     '/RD/1/KERNEL.ASM',0

     '/HARDDISK/FIRST/KERNEL.ASM',0
     '/HD/1/KERNEL.ASM',0
     '/HARDDISK/FIRST/MENUET/PICS/TANZANIA.BMP',0

     fileinfo:

     dd   0            ; 0 = ЧТЕНИЕ ФАЙЛА (2 удалить / 3 дописывать)
     dd   0x0          ; номер блока (512 байт, нумерация начинается с нуля)
     dd   0x1          ; сколько блоков считывать
                       ; (/байтов записывать/дописывать в конец файла)
     dd   0x20000      ; куда считывать
     dd   0x10000      ; память для работы ОС - 16384 байта

     db   '/RAMDISK/FIRST/KERNEL.ASM',0
     ; строка с путем к файлу, заканчивается нулем (ASCIIZ)

     или

     fileinfo:

     dd   1            ; 1 = ЗАПИСЬ НОВОГО ФАЙЛА
     dd   0x0          ; не используется
     dd   10000        ; сколько байтов записывать
     dd   0x20000      ; откуда записывать
     dd   0x10000      ; память для работы ОС - 16384 байта

     db   '/RAMDISK/FIRST/KERNEL.ASM',0
     ; строка с путем к файлу, заканчивается нулем (ASCIIZ)


     или

     ; LBA

     fileinfo:

     dd   8            ; 8 = чтение LBA (/9 = запись LBA)
     dd   0x0          ; номер блока для чтения/записи
     dd   0x1          ; всегда 1
     dd   0x20000      ; куда записывать
     dd   0x10000      ; память для работы ОС - 16384 байта

     dd   '/HARDDISK/SECOND',0
     ; физическое устройство (ASCIIZ)

     NOTE: В этом контексте строка указывает не на логическое,
           а на физическое устройство.
   для жесткого диска: first=pri.master, second=pri.slave
                       third=sec.master, fourth=sec.slave
     или

     fileinfo:

     dd   16           ; 16 = ЗАПУСТИТЬ ПРОГРАММУ
     dd   0x0          ; не используется
     dd   param        ; 0 или указатель на строку с параметрами (max 256 байт)
     dd   0x0          ; не используется
     dd   0x10000      ; память для работы ОС - 16384 байта

     db   '/HD/1/MENUET/APPS/FIRE',0
     ; строка с путем к файлу, заканчивается нулем (ASCIIZ)

     результат: eax = pid или 0xfffffff0+ ошибка


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср май 25, 2005 8:57 am 
Не в сети

Зарегистрирован: Ср май 25, 2005 8:52 am
Сообщения: 147
Ну про это все знают.
Однако я заглядывал, кажется, в FAT32.INC, там есть код для дополнительных подфункций типа File append, Create directory. Если они работают, это мог бы быть праздник. Надо будет потестить по свободе.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср май 25, 2005 1:11 pm 
Не в сети
Site Founder
Аватара пользователя

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 689
willow
Они-то, может быть, и работают, но только для FAT32 (или для FAT16 тоже?). А вот для FAT12 (рам-диск) их вроде бы нет... А надо!


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт май 26, 2005 1:16 pm 
Не в сети

Зарегистрирован: Ср май 25, 2005 8:52 am
Сообщения: 147
Ну, все равно на RD много не загонишь, да и "менее перманентны" там изменения. Конечно, хотелось бы для все типов дисков такие возможности...


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 5 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB