Page 1 of 1

HDD - ошибка в описании или я неправ?

Posted: Wed Mar 08, 2006 1:03 pm
by EXIS
после выполнения функции чтения с HD функция помещает в eax значение результата работы:

в sysfuncr.txt написано типа 0 или 5 - все нормально
имеется в виду:
0 - часть фаила считана
5 - считана последняя часть фаила.

так вот на практике 6 - означает что считана последняя часть фаила
а 5 это помоему фаил не найден.

Хотелось бы отметить что в фаиле browser.asm Вилли умышленно или случайно допустил ошибку:

db ' DO YOU REALLY WANT TO DELETE ' ;0
db ' THE OS DON"T SUPPORT HDD DELETING ' ;41
db 'NO HD BASE AND/OR FAT32 PARTITION DEFINED' ;82
db ' INVALID PARTITION AND/OR HD BASE ' ;123
db ' THIS FS DOESNT SUPPORTS YET ' ;205
db ' UNKNOWN FS ' ;246
db ' END OF FILE ' ;287
db ' FILE NOT FOUND ' ;328

после ;123 вобщето должно идти ;164 а не ;205 т.к. 123+41=164!
так что одна строка выпадает... если описание было сотавлено по этому примеру, то возможно оно не правильное.
Что касается x-tree там тоже 5 - означает конец фаила... но работает он опять же неправильно...

Posted: Wed Mar 08, 2006 1:27 pm
by mike.dld
eax = 0 : read ok
eax = 1 : no fd base and/or partition defined
eax = 2 : yet unsupported FS
eax = 3 : unknown FS
eax = 4 : partition not defined at hd
eax = 5 : file not found
eax = 6 : end of file
eax = 7 : memory pointer not in application area
eax = 8 : disk full
eax = 9 : fat table corrupted
eax = 10 : access denied

Posted: Wed Mar 08, 2006 7:24 pm
by Mario79
EXIS
С тех пор уже много воды утекло и в текущей версии ядра Колибри применяется драйвер от ATV. Соответственно некоторые параметры запросов и возвращаемых кодов переписаны.
Вот выдержка из fs.inc

file_system:
; IN:
;
; eax = 0 ; read file /RamDisk/First 6 /HardDisk/First 30
; eax = 1 ; write file /RamDisk/First 33 /HardDisk/First 56
; eax = 2 ; delete file /RamDisk/First 32 /HardDisk/First 57
; eax = 3 ; append to a file /RamDisk/First ?? /HardDisk/First ??
; eax = 4 ; makedir
; eax = 5 ; rename file/directory
; eax = 8 ; lba read
; eax = 12 ; get_filesize
; eax = 13 ; get_fileattr
; eax = 14 ; get_filedate
; eax = 15 ; get_disk_info
; eax = 16 ; start application
;
; OUT:
;
; eax = 0 : read ok
; eax = 1 : no fd base and/or partition defined
; eax = 2 : yet unsupported FS
; eax = 3 : unknown FS
; eax = 4 : partition not defined at hd
; eax = 5 : file not found
; eax = 6 : end of file
; eax = 7 : memory pointer not in application area
; eax = 8 : disk full
; eax = 9 : fat table corrupted
; eax = 10 : access denied
;
; ebx = size

Я, конечно, не могу претендовать на исчерпывающую полноту ответов, так как просто не было времени и желания сидеть и экспериментально проверять.

Posted: Wed Mar 08, 2006 7:52 pm
by EXIS
eax = 6 : end of file

Спасибо! Все что мне и требовалось.

Posted: Thu Mar 09, 2006 11:12 am
by willow
Mario79, внеси раз и навсегда исправления в sysfuncr.txt. Пожалуйста. Народ все время путается.

Posted: Thu Mar 09, 2006 9:50 pm
by Mario79
willow
Ладно, постараюсь не забыть поправить. Не так то это просто тащить проект на себе знаете ли. Иногда и забываешь некоторые вещи, я ведь человек, а не компьютер.

Posted: Fri Mar 10, 2006 11:19 am
by willow
Заранее благодарны!

Posted: Fri Mar 10, 2006 5:54 pm
by mistifi(ator
Может-быть сделать кого-то ответсвенным за доки (можно и меня если хотите), ему будут присылать все изменения, он будет это всё подабающе оформлять.
Да и вообще со времён Silos'a помоему особо доками никто не занимался.

Можно оформлять ввиде pdf/txt/rtf/chm форматах.

Если я что-то не то сказал можете пинать :)

Posted: Fri Mar 10, 2006 6:41 pm
by Mario79
mistifi(ator
Да я буду только рад если кто нибудь вообще займется этим, пока дальше стонов никто не пошел к сожалению.
Даже я. ;-)

Posted: Fri Mar 10, 2006 7:52 pm
by mistifi(ator
Mario79 - ты можешь дать адрес своей почты, ну или послать пустое письмо на bendik@bk.ru :)
А то я его не смог найти :)

Posted: Fri Mar 10, 2006 8:33 pm
by Mario79
mistifi(ator
Я его и не скрывал он обычных людей (не спамеров)
mario79[dog]bk[dot]ru - надеюсь разберешься с шифровкой, а тебе не рекомендую выставлять в обычном виде свое мыло,так как спамеры не дремлют. :-)