Полный список: C, D, E, H, O, P, Q, S, T, U, V, Z, k, s, G, J, M, R, W, X, Y, f, g, m, p, q
Уровень 4 - команды настройки сервосистемы. Нужны преимущественно для нужд селфскана. Отдельно выделим команды:
ex - калибровка и принудительное переключение MDW/HDW (точная расшифровка этих аббревиатур мне неизвестна). Параметр x:
0 - произвести калибровку, автовыбор MDW/HDW
1 - печать таблицы радиальных смещений MDW, не проводя калибровку
2 - установить тип диска MDW
3 - установить тип диска HDW
Ручное переключение 4>e3 и 4>e2 применяется для устранения некоторых "затыков" при старте селфскана.
Прочие команды: 4, D, E, H, K, O, P, R, S, X, d, e, i, r, t, u, x, y, z, B, C, G, I, M, N, T, U, W, Y, Z, a, c, f, g, j, k, l, n, o, p, q, s, v, w,
Уровень 5 у коннергейтов - работа с памятью основного управляющего микроконтроллера. Подробнее см. в главе по Conner. По барракудам инфы нет.
Уровень 6 - запуск/просмотр/редактирование пакетных файлов задания (batch files). Теоретически, представляют собой мощный инструмент по автоматизации совершаемых с винтом действий, практически - с ними мало кто умеет работать.
B - запустить командный файл
Dx - отобразить командный файл x. Доступны три возможных файла с номерами от 0 до 2.
E - ввести командный файл
Внутри командных файлов применяются:
* - специальные функции для командных файлов:
*1 - приостановить выполнение до ввода
*2,x - задержка в x миллисекунд
*3,x - переход к метке x
*4,x - увеличить head (?) и переход к метке x
*5 - очистить дисплей
*6 - останов при ошибке
*7,x - инициализировать счётчик циала значением x
*8,x - декремент счётчика цкла, переход к метке x если не 0.
@x - метка. x - единственная цифра.
| - прервать выполнение командного файла.
Уровень 7 - работа с адаптивами канала чтения. Их настройка может использоваться для восстановления информации, но это к ремонту не относится. Нужны преимущественно для нужд селфскана. Может пригодиться:
Dx - отобразить показания термодатчика. Вывод в формате YYZZ, где YY - температура, при которой проводился селфскан (для которой составлены таблицы адаптивов), ZZ - текущая температура.
x - если введено, "обмануть" винт, заставив думать, что селфскан проводился при температуре x.
Другие команды: G, N, O, T, Q, b, e, f, i, n, o, p, u, y, z, 9, d, C, D, M, O, I, V, g, c, l, q, t, x, 7, B, E, F, H, P, R, S, U, W, Y, Z, r, s, w
У коннеров уровень 7 был работой с поверхностью по CHS (чтение, запись, операции с буферами). Позже его команды были перенесены на уровни 2> и A>.
Уровень 8 - команды серворайтера. Используются при записи серворазметки и немного процедурой селфскана, пользователю не нужны и даже опасны.
Уровень A - команды чтения/записи по LBA. Теоретически, могут быть использованы для вычитывания пользовательской информации через терминал, практически - это крайне медленно.
Полезнные команды:
P - перенос Alt-list в Slip-list. Проверено на GALAXY, на более ранних не факт что есть.
Полный список команд: C, c, D, d, l, Q, R, S, W, M, E, Y
Уровень C - отладочные команды селфскана
D - отобразить последовательность прохождения тестов из Cert table.
Код: Выделить всё
C>D
02,83,84,03,06,07,90,93,98,9C,AA,81,09,74,E3,0F,82,94,56,99,
10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,2A,DA,DC,D6,D7,
D8,D9,7C,B9,7D,78,58,23,8F,40,47,31,AB,32,AB,33,AB,34,AB,A5,
AB,A6,AB,36,A8,37,3A,8A,3B,3C,3D,3E,A9,3F,20,77,9D,74,E0,87,
88,41,4B,44,48,49,53,4A,4D,8B,61,28,62,29,63,59,85,35,6F,4E,
00
Уровень D - команды отладки SeaDex script. Работать с ним никто не умеет.
Полный список: I, E, D, S, T, b, c, l, p, s, t, v, v
Уровень E - команды зонного распределения и форматирования. Используются селфсканом. Теоретически, могут быть использованы для вырезания зон, практически никто на это не заморачивается. Самая важная команда:
vx - настройка желаемой плотности (TARGET_CAPACITY) для пикера (Picker) - процедуры подбора адаптивного зонного распределения, которая подбирает оптимальную плотность дорожек на дюйм (TPI) и бит на дюйм вдоль дорожки (BPI). Параметр x может плавно меняться примерно от 1,1000 до 0,5900 (точно не знаю), нормальная - 1,0000, в качестве пониженной обычно используют 0,7500. Недопустимое значение выдаёт ответ Illegal Value. Сброс к исходному значению - vFF. Команда используется для понижения плотности при невозможности пройти селфскан из-за слишком низкого качества магнитного слоя (ошибка FAIL_CAPACITY). Команда появляется начиная с семейства 7200.8.
Также есть команды: a, b
Уровень F - команды, доступные из загрузочного ПЗУ. У старых винтов этот уровень отсутствовал, вместо него служил урезанный T>. Перейти на него командой / невозможно, для выхода на F> необходимо прервать загрузку микрокода, послав ^Z сразу после старта накопителя. Выйти из него возможно, только загрузив App.
Доступные на нём онлайн-команды: ^C, ^D, ^L, ^N, ^O, ^], ^Z, !, %, апостроф, точка, точка с запятой, <, >.
Команды:
+, =, - - чтение/запись байт памяти, см. описание общих команд
Bx,y, Cx,y,z, Dx,y,z, Px,y,zzww - работа с буферами, см. описание соответствующих команд на уровне T>
Rx - чтение информации из системного сектора
x - битовая карта того, что читать:
1 - дефект-лист системных дорожек
2 - бут-адаптивы
4 - Application code (апп). Код автоматически не стартует, запустить можно командой F>j
Без параметров - читать всё.
U - раскрутить шпиндель
V - нет сведений [F>V1,2,400 Memory mismatch = 00000400, Src = 0C2D, Dest = 70FE]
Возможно, сравнение содержимого флешки и буфера в ОЗУ. Желательно бы проверить.
Y - нет сведений [F>YFF,44,66 (Y flags,data,write)]
Z - остановить шпиндель
bx,y - установка битрейта. См. описание команды T>B. Обратите внимание - это один из немногих случаев, когда одна и та же команда на двух разных уровнях имеет разные регистры!
dx,y - загрузка данных в буферы по SDLD. См. описание T>d.
ex,y,z,w - операции с последовательным ПЗУ.
x - команда:
0 - показать тип и размер ПЗУ
1 - записать байт z в сегмент w по смещению y
2 - считать байт по смещению y из сегмента z и вывести на экран.
3 - страничная запись всей ПЗУ. y - число страниц, z - страница Window C, w - смещение байт.
Примеры записи ПЗУ на уровне F> будут ниже.
4 - читать ПЗУ в буфер, параметры те же.
5 - инициализировать пины для работы с последовательным ПЗУ. Выполнять первым делом.
6 - отключить эти пины
9 - стереть ПЗУ
a - переход на свежезаписанное ПЗУ, не передёргивая питание
FF - генерировать тестовые сигналы на пинах микроконтроллера для связи с последовательным ПЗУ.
f - нет сведений [SFlashWork(Simular[ex,y,z,w]Include Opt "v")???]
jx,y - JMP на код по адресу XXXX:YYYY. Без параметров - запуск App.
r - аналогично 2>r
s - аналогично 2>s
tx,y,z - запись в последовательное устройство:
x - адрес регистра
y - данные
z - выбор устройства:
- 00 - PREAMP
- 01 - CHANNEL
- 02 - SERVO_CHIP
- 03 - SATA