Akam1
Комса | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору [начало лоадера] 512 байт – таблица распределения №1 Оверлей №00 512 байт – таблица распределения №2 Оверлеи в порядке возрастания номеров. [конец лоадера] Первые 512 байт – таблица распределения оверлеев в файле лоадера. Ее формат следующий: 01 nn 00 00 00 00 00 00 mm mm mm mm 00 00 00 00 Где nn – номер оверлея, mm – длина его. Первая таблица, как правило, состоит из описания размещения одного-единственного оверлея – за номером 00, образа ПЗУ. Например: 01 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 ………. Остальное – нули до 512 байт. За этой таблицей идет, собственно, сам образ ПЗУ. Длина – 131072 или 0х20000 байта. После него есть еще одна таблица распределения, вторая, тоже длиной 512 байт, в которой расписаны остальные оверлеи. Структура их точно такая же, как и у первой. Только записей будет побольше. Например: 01 03 00 00 00 00 00 00 00 40 00 00 00 00 00 00 01 04 00 00 00 00 00 00 00 40 00 00 00 00 00 00 01 05 00 00 00 00 00 00 00 40 00 00 00 00 00 00 ……………………. Из нее мы видим, что оверлей номер 03 имеет длину 16 К, номер 04 – столько же, и номер 05 по размеру от них не отстал. Почему именно такая структура? Думаю, что ответ кроется в принципе загрузки лоадера в память посредством стандартной ATA команды. Или я неправ? Нужно нам, к примеру, найти оверлей за номером 05 в файле. Высчитываем адрес его начала: 512 (длина первой таблицы распределения) + длина образа ПЗУ + 512 (длина второй таблицы распределения) + сумма длин предыдущих оверлеев. Оверлеи, кстати, идут подряд, один за одним, без какого-либо перерыва. У ХРТ же оверлеи можно сохранять в виде отдельных файлов - *.CP Части отправляются так: ПЗУ - SoftReset - оверлеи - SoftReset. PC3000 умеет делать это одним нажатием или частями. При отправке универсальными программами, например HDDL, лоадер должен быть поделен на эти две части, которые посылаются одна за другой. В утилитах есть возможность частичной инициализации лоадера (если ПЗУ считалось), когда отправляются только модули. Версия лоадера должна соответствовать версии ПЗУ. В противном случае таблица модулей не читается и дальнейшая работа невозможна. Где взять лоадер? Поищите по сайтам с ресурсами HDD. Обычно его кладут в архив вместе со считанной служебкой. Лоадер содержит в себе только код, но не содержит нужных для работы со служебкой данных - транслятор служебной зоны, адаптивы записи и др. Перед тем, как делать какие-либо попытки записи в служебку, всё это должно быть вычитано с блинов. Тем не менее, лоадер новых моделей содержит в себе адаптивы чтения. Это приводит к тому, что для успешного старта придётся перебрать их немало в поисках совместимого Ещё сведения: Цитата: ВНИМАНИЕ!!!!! Некоторые Мухтары ОЧЕНЬ ТУГОДУМНЫЕ!!! К чему это я? Да к тому...что когда пустите заливать лодырь.........не все произойдет быстро.....Винт задумаеться, появиться красно голубая "любимая заставка" (PC-3000 DOS), НЕ ОБРАЩАТЬ внимание на это...А просто прислушиваться к винту......сек. через 15-30(по разному) винт рекалибруется..., затем, жмем - ESC и выходим из утиля- ОБЯЗАТЕЛЬНО!!!! Заходим по новой, еще раз, заливаем еще раз, для модулей, теперь все произойдет быстро Ну а дальше - Стандартный режим, тест записи служеб. зоны, восстановление модулей...резет по питанию!!! |
| Всего записей: 26360 | Зарегистр. 20-04-2006 | Отправлено: 08:45 07-01-2015 | Исправлено: igor me v2, 17:54 16-06-2021 |
|