В предыдущих частях мы начали дизассемблирование на основе только документации к процессору. Однако, хорошо бы посмотреть как программа управления связана с остальной аппаратурой. Для этого вооружимся тестером с пищалкой, платой WD21000, документацией на микросхемы и начнем рисовать схему электрических соединений.
Так как в данном исследовании мне хотелось бы по максимуму использовать операционную систему Linux, то рисовать схему будем в KiCad.
Исходные файлы схемы доступны на github проекта. Там же все страницы схемы в формате pdf.
Сначала, я добавил в схему все известные микросхемы. Каждую на свою отдельную страницу и объединил их всех на странице верхнего уровня вот так:
![Главная страница схемы WD21000.](https://blog.rlab.ru/wp-content/uploads/2018/12/064_1-1024x702.png)
Главная страница схемы WD21000.
Далее, самое простое и понятное — это подключение микросхем ПЗУ и ОЗУ к процессору.
![Подключение ПЗУ](https://blog.rlab.ru/wp-content/uploads/2018/12/064_2.png)
Подключение ПЗУ.
![Подключение ОЗУ.](https://blog.rlab.ru/wp-content/uploads/2018/12/064_3.png)
Подключение ОЗУ.
Как видно, ПЗУ подключено к CS0#, а ОЗУ к CS1#.
Интересно, а какие еще CS-сигналы используются?
CS2# — WD61C28C, контроллер интерфейса,
CS3# — WD61C13A,
CS4# — AD7775, серво демодулятор,
CS5# — никуда не подключен.
Теперь видно, что микросхема канала чтения SSI32P4904 не подключена через окно памяти, как остальные микросхемы… Открываем документацию и обнаруживаем, что управление каналом осуществляется через последовательный порт! Теперь видно, что единственный последовательный порт 80196NU задействован именно для связи с SSI32P4904.
С цифровой частью схемы многое прояснилось. Аналоговые микросхемы следующие на очереди для изучения. А на горизонте уже показалась схема замены цифровой части на демонстрационную плату с ARM процессором STM32. До новых встреч!