Вообще, этот пост не про IDE жёсткие диски, а про MFM/RLL/ESDI контроллеры, но так как создавать для этого отдельную тему мне неохота, а по регистрам они родственны IDE, напишу здесь.
Итак,
экспериментировал я с починкой советского MFM жёсткого диска, организовав тестовый стенд на контроллере
Adaptec ACB-2312
И, перечитывая
описание его перемычек, нашёл интересный момент:
» Serial monitor mode disabled JP9 - 4 open
Serial monitor mode enabled JP9 - 4 closed
Изучил содержимое микрокода - и правда есть какие-то текстовые строки! Поискал, куда же выводится этот самый терминал - и нашёл его! Он выведен на незапаянный джампер J8 (вот он уже впаянный):
Назначение контактов:
1 - TxD
2 - GND
3 - RxD
Уровни 5В ТТЛ, битрейт 4800 бит/с.
При включении в него выводится дамп каких-то регистров:
Чтобы перейти в диалоговый режим, нажмите ESC:
Код: Выделить всё
------------------------------------------------
-- ACB 231X Serial Debug Monitor --
Code Version 1.00A
----------------------------------------------
(Press ? for list of commands)
Cmd?
Команды односимвольные. Список команд - ?:
Код: Выделить всё
Cmd? ?
--- List of Commands ---
A Read Auto Configuration from drive (Recal)
B Disk buffer display (512 bytes)
D Display AT/drive/buffer registers
E Edit internal RAM
F Display/change controller Flags
I Internal CPU RAM display
M Modify external Memory
N Select New drive
P Display CPU Ports (P1 & P3)
S SERDES map
T Read track IDs into disk buffer 0
X Exit debug monitor
? Display list of commands
Cmd?
Если установлена перемычка JP9-5 самодиагностики, выводит в цикле:
и коротко вымаргивает светодиодом подключенного жёсткого диска.
Аналогичный терминал есть у ESDI контроллера
ACB-2320/22 (найден в дампе ПЗУ) и у RLL контроллера
ACB-2370 (в ревизиях
B,
C возможно, изъят. А возможно, и нет...)
Прочая информация по этому контроллеру
Installation guide(TXT)
Installation guide (PDF)
Format utility for the ACB-2310/12
Дамп прошивки
Построен он на следующих микросхемах:
AIC-560AL - интерфейсный адаптер AT шины, 16 байт FIFO, скорость до 4 Мбайт/с
AIC-610L - контроллер жёсткого диска ST-412/506/ESDI/SMD, поддержка всех видов кодирования, программируемые коды коррекции ошибок, скорость до 15 Мбит, кэш-буфер до 256 кбайт.
UM6116M-3 - статическое ОЗУ буфера, ёмкость 2 кб, время доступа 90 нс. На плате разведено место под микросхему 6164 (8 кб), вопрос увеличения дискового кэша изучу позже.
ACB-2072 - масочный микроконтроллер (с внешним ПЗУ типа 27C128), по всей видимости, копия i8051
AIC-250FL - кодер/декодер NRZ в MFM с предкомпенсацией и детектором адресных меток
AIC-6225AL-10 - сепаратор данных
Флоппи-контроллерная часть построена на микросхеме Intel 82072 (отсутствует в версии ACB-2310) и ничего особенного не представляет.
Распиновки других незапаянных джамперов:
J11 - 8 пин, отладка MFM декодера AIC-250FL
1 - GND
2 - NRZ
3 - ACK
4 - REQ
5 - NC
6 - WG
7 - INDEX
8 - RG
J12 - 10 пин, отладка микроконтроллера
1 - RESET
2 - RD
3 - /INT1
4 - A15
5 - не определено
6 - A14
7 - WR
8 - A13
9 - GND
10 - /PSEN