Чтобы поиграть в старые игры для Commodore 64, эмуляторы найдутся почти под любую платформу — но почти все они высокоуровневые и предназначены именно для этого: для игр. У разработчика antirez в проекте c64-hw-sim цель иная. Это низкоуровневая симуляция, которая воспроизводит каждую микросхему и каждое соединение на материнской плате ASSY 250407 — вместе со всеми установленными на ней чипами. Всегда хотелось узнать, что будет, если какого-то чипа не окажется на месте, а случайный вывод замкнуть на землю или подать на него высокий уровень? Теперь всё это можно проделать программно, без риска повредить раритетное железо.

Материнская плата Commodore 64 ASSY 250407 с микросхемами

Для определённого сорта любителей электроники это само по себе увлекательное занятие, но настоящая польза — в возможности изучать устройство платы как в теории, так и для ремонта реального экземпляра. Зная, как ведёт себя «железо», проще искать неисправность.

реклама кормит Уточку 🦆

Правда, есть нюанс: многие разные поломки дают один и тот же эффект — вывод изображения, например, способно «уронить» множество причин. И всё же, воспроизведя дефект в программе, можно затем проверить предполагаемый узел на настоящей плате — при условии, что симуляция вообще охватывает ваш случай.

Точная эмуляция микросхем

За потактовую эмуляцию процессора, микросхем CIA, звукового SID и видеоконтроллера VIC-II отвечает код Андре Вайсфлога (известного как flooh). А вот аналоговые цепи в видео-, аудио- и силовой частях не моделируются, так что воспроизвести удастся далеко не каждую неисправность.

реклама кормит Уточку 🦆

И всё же инструмент получился любопытный — просто не стоит запускать на нём игры: даже на мощном современном компьютере симуляция идёт примерно на трети реальной скорости. Для диагностики этого достаточно, а вот для Maniac Mansion, не говоря уже об Elite, — уже нет.

Кстати, об Elite

Раз уж речь зашла об Elite: исходный код — как самого порта, так и оригинала — доступен с комментариями. А если нужен эмулятор, на котором действительно можно играть, его можно запустить на чём угодно — от микроконтроллеров вроде Teensy до обычного ПК.

реклама кормит Уточку 🦆

Так что c64-hw-sim — это не замена игровым эмуляторам, а скорее учебный стенд и диагностический инструмент: способ разобраться в архитектуре легендарной 8-битной машины и аккуратно подступиться к ремонту старой платы, ничем при этом не рискуя.