BolenB
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору To_ALL fix4 Очередной фикс багов скрипта a.trx динозавра. http://forum.ru-board.com/topic.cgi?forum=84&topic=5433&start=7700#2 Цитата: Переменная c нигде не используется, | Все-таки используется, это внутренняя переменная динозавра, для отображения цилиндров. Вернул назад. Главный баг fix-а 3: при запуске SFON и выборе 0 = Auto Select Family или просто при нажатии Enter, для некоторых семейств идет переход на ARCO. Фикс: удалить строчку delet30;ireset;waitb;vscon;vscid в 6-ти местах скрипта. Баги с отрисовкой индикаторов: отрисовка индикаторов идет в цикле и показания индикаторов отстают на один цикл от реальных, пофиксил и упростил процедуру (убрал лишнее). Иногда (на DF2_PL4K) проскакивают 8-ми значные значения индикатора цилиндра вместо 6-ти значных и один сегмент рамки портится, сделал костылик. Некорректная работа со стеком переменных (на функционирование скрипта не влияет, но некрасиво, пофиксил). Отвязал ARCO от PST. Раньше после ARCO заполнялся и записывался модуль 28, подавалась команда setpstmode 1 и винт был готов к сельфскану своими силами на отдельном блоке питания. Теперь setpstmode 1 не подается. Можно сразу запускать SelfTest SELFSCAN (SFON) или SelfTest PST (PST), если хотите как было раньше. Добавил reset перед SFON для защиты (вдруг PST перед этим запускали). Добавил коды ошибок в errcode.def (привел в соответствие с errcase.trx). Выкинул: diu.trx, diy.trx, kill.trx, pckfw.trx (для работы скрипта они не нужны). Отдельно добавил ещё 9 пакетов (как дополнение к предыдущим раздачам). Добавил экспериментальную версию скрипта fix5_beta. Логику взял из скрипта 127. При выборе "Capacity select: 0 = normal",при ошибке, пытаемся один раз понизить плотность, если после понижения плотности опять выскакивает ошибка, рубим головы. "Capacity select: 1 = reduction", при ошибке, рубим головы без попытки понижения плотности. Capacity select: 2 = reduction and dan, при ошибке, пытаемся один раз понизить плотность, если после понижения плотности опять выскакивает ошибка, рубим головы. Логику оригинального a.trx я понять не могу (головы рубятся без разбору, почти при любой ошибке.) Будет ли работать логика, не знаю, надеюсь будет. (Может там функционал не дописан, перенес как есть, если не будет, то скрипт сделает один лишний круг для 0 и 2, перед рубкой голов.) А может это и была "нормальная" логика, а автор a.trx нахеровертил, непонятно. Лежать будет 1 неделю, потом самоудалится. Распаковывать WinRar-ом 5-ой или выше версией. Пароль на архив стандартный. https://dropmefiles.com/Kjil3 Добавлено: Лайфхак. О двух интересных командах скрипта. command cutcap - если дефектов много и не влезаем в требуемое количество LBA (ошибка 0x3c0a "FMT_ERR_CAPACITY"), то уменьшаем в паспорте количество LBA на 7830000 (7830000*512/1024/1024/1024 = 3.73 GB). Почему не кратно (1*16*63=1008) не понятно. command relist - быстрый формат по количеству LBA в паспорте. Если вместились в нужный размер то хорошо, если нет скрипт повторяет cutcap и relist до 3х - 4х раз. Вот с этим числом или с количеством повторений можно поиграться. Править естественно в скрипте и не запускать команды вручную (если не знаете что делаете). | Всего записей: 670 | Зарегистр. 22-12-2003 | Отправлено: 07:15 28-11-2022 | Исправлено: BolenB, 13:38 28-11-2022 |
|