EvoTools (ROM)

ZX evolution software and hardware

Postby deathsoft » 08 Oct 2010, 16:09

breeze wrote:возможно, но может это будет какое-то универсальное число?

Да это может быть хоть 1,2,3 главное чтобы драйвер мог понять какая именно версия структуры юзается в софте и включить режим совместимости со старыми версиями (если конечно такой функционал нужен).

Если такой функционал не нужен, то надо детально продумать что в структуре держать, ну и еще несколько резервных полей сделать на прозапас.
User avatar
deathsoft
 
Posts: 357
Joined: 07 Apr 2007, 01:58
Group: Registered users

Postby breeze » 08 Oct 2010, 16:09

Кроме того, вот опять, смотри я хочу прочитать файл из каталога, в котором 1000 файлов, мой файл по счёту 999й, для того что бы найти мой файл, системе надо куда-то прочитать каталог (частями?) и найти дескриптор моего файла. Отсюда вопрос, сколько же для Struct должно быть выделено места, что бы это было не сильно грамозко и не сильно тормознуто, из-за малого размера ?
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby DimkaM » 08 Oct 2010, 16:10

Нужно определится со списком переменных в дескрипторе.
ZX-Evo rev C, ZXNetUsb rev С
DimkaM
 
Posts: 1290
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby breeze » 08 Oct 2010, 16:12

deathsoft wrote:Вынимать ничего не хочу, но вот вышла новая прошивка, и формат структуры поменялся...


а вот тут уже я начинаю плыть, я так понял, что struct это буфер, который процедура из ROM использует для своих нужд, как-то временные переменные, буфер для чтения итд. Ты же говоришь, что через struct мы передаём какие-то данные для процедуры, внимание вопрос!? что же всё-таки лежить в struct ?
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby breeze » 08 Oct 2010, 16:19

что бы хоть от чего-то оттолкнуться, в struct вижу следующие данные:

+#00 53 54 52 - сигнатура STR, что бы система знала, что к ней пришол реально блок данных, а не случайный мусор
+#03 01 00 - два байта версия структуры (0001)
+#05 XX XX - собственно размер данных struct(?)
+#07 00 01 - ID устройства (0001 - floppy, 0002 - hdd (nemo ide), 0003 - cdrom(nemo ide), 0004 - SD (Z), 0005 - SD (NGS), 0006 - hdd (SMUC), 0007 - cdrom(SMUC) итд
+#09 00 - подкласс устройства (например для для floppy это будет 00 - A, 01-B, для HDD/CD 00 - master, 01 - slave, для SD всегда - 00
+#0A 00 C0 - адрес под буфер для чтения
+#0C 01 00 - размер буфера
+#0E ??

какую страницу памяти использовать для буфера? я думаю программа должна сама всё подготовить, процедура из ROM (как мы и условились) ничего не дёргает и никакие банки не переключает!

что ещё должно быть в структуре Struct ?
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby DimkaM » 08 Oct 2010, 16:40

что ещё должно быть в структуре
Struct ?

описатель раздела
и номер драйвера каким юзать данный носитель
ZX-Evo rev C, ZXNetUsb rev С
DimkaM
 
Posts: 1290
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby DimkaM » 08 Oct 2010, 16:44

1байт номер драйвера
4байта первый сектор с данными
4байта первый сектор с таблицей кластеров
2байта(по моему) секторов в класт
ре
это минимум для фат32
ZX-Evo rev C, ZXNetUsb rev С
DimkaM
 
Posts: 1290
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

Postby breeze » 08 Oct 2010, 16:48

DimkaM wrote:номер драйвера каким юзать данный носитель


не не не девид блейн! не не не! программе абсолютно побоку какая там фс, драйвер итд, для этого мы процедуры и пишем. система сама знает какой ей нужен драйвер устройства и драйвер фс, для программы же её вызвавший - всё должно быть прозрачно!
Last edited by breeze on 08 Oct 2010, 16:49, edited 1 time in total.
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby breeze » 08 Oct 2010, 16:49

DimkaM wrote:это минимум для фат32


ну это уже данные, которые собственно и могут храниться в временном буфере, который мы выделим.
User avatar
breeze
 
Posts: 761
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby DimkaM » 08 Oct 2010, 16:50

4байта ноМер первого кластера с теКущИм каталогом
ZX-Evo rev C, ZXNetUsb rev С
DimkaM
 
Posts: 1290
Joined: 24 Mar 2010, 13:42
Location: джунгли Амазонки
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron