Сначала всё шло подозрительно гладко, пишет Хабр. Несколько моделей провели ревью друг друга, спроектировали архитектуру, перенесли процессор Z80, видеоконтроллер ULA и клавиатуру — и уже через пару часов эмулятор ZX Spectrum выдавал корректную картинку.
Проблемы начались на дисковых контроллерах. Документация есть, готовые реализации тоже, написанные моделями тесты проходят. Но часть игр всё равно не запускается.
Разбираться пришлось вручную: подключать образы дисков, сверяться с другими эмуляторами, гонять код пошагово и разбирать поведение старого железа по тактам — включая механизмы защиты от копирования.
Именно на этом этапе, отмечает автор, проявилась разница между умением написать код и умением понять, почему он не работает. Тесты, придуманные самими моделями, не ловят расхождения с реальным железом: они проверяют то, что модели уже считают правильным.
Источник: Telegram: Хабр





Комментарии 6