58 функция
-
Может ли кто-нибудь сказать мне полное описание этой функции на данный момент. К сожалению в sysfuncr.txt не описаны, например, возращаемые значения.
Ну от версии 0.74 вот:
Code: Select all
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+ ошибка
Ну про это все знают.
Однако я заглядывал, кажется, в FAT32.INC, там есть код для дополнительных подфункций типа File append, Create directory. Если они работают, это мог бы быть праздник. Надо будет потестить по свободе.
Однако я заглядывал, кажется, в FAT32.INC, там есть код для дополнительных подфункций типа File append, Create directory. Если они работают, это мог бы быть праздник. Надо будет потестить по свободе.
willow
Они-то, может быть, и работают, но только для FAT32 (или для FAT16 тоже?). А вот для FAT12 (рам-диск) их вроде бы нет... А надо!
Они-то, может быть, и работают, но только для FAT32 (или для FAT16 тоже?). А вот для FAT12 (рам-диск) их вроде бы нет... А надо!
Ну, все равно на RD много не загонишь, да и "менее перманентны" там изменения. Конечно, хотелось бы для все типов дисков такие возможности...
Who is online
Users browsing this forum: No registered users and 9 guests