Чтобы поиграть в старые игры для Commodore 64, эмуляторы найдутся почти под любую платформу — но почти все они высокоуровневые и предназначены именно для этого: для игр. У разработчика antirez в проекте c64-hw-sim цель иная. Это низкоуровневая симуляция, которая воспроизводит каждую микросхему и каждое соединение на материнской плате ASSY 250407 — вместе со всеми установленными на ней чипами. Всегда хотелось узнать, что будет, если какого-то чипа не окажется на месте, а случайный вывод замкнуть на землю или подать на него высокий уровень? Теперь всё это можно проделать программно, без риска повредить раритетное железо.
Для определённого сорта любителей электроники это само по себе увлекательное занятие, но настоящая польза — в возможности изучать устройство платы как в теории, так и для ремонта реального экземпляра. Зная, как ведёт себя «железо», проще искать неисправность.
Правда, есть нюанс: многие разные поломки дают один и тот же эффект — вывод изображения, например, способно «уронить» множество причин. И всё же, воспроизведя дефект в программе, можно затем проверить предполагаемый узел на настоящей плате — при условии, что симуляция вообще охватывает ваш случай.
Точная эмуляция микросхем
За потактовую эмуляцию процессора, микросхем CIA, звукового SID и видеоконтроллера VIC-II отвечает код Андре Вайсфлога (известного как flooh). А вот аналоговые цепи в видео-, аудио- и силовой частях не моделируются, так что воспроизвести удастся далеко не каждую неисправность.
И всё же инструмент получился любопытный — просто не стоит запускать на нём игры: даже на мощном современном компьютере симуляция идёт примерно на трети реальной скорости. Для диагностики этого достаточно, а вот для Maniac Mansion, не говоря уже об Elite, — уже нет.
Кстати, об Elite
Раз уж речь зашла об Elite: исходный код — как самого порта, так и оригинала — доступен с комментариями. А если нужен эмулятор, на котором действительно можно играть, его можно запустить на чём угодно — от микроконтроллеров вроде Teensy до обычного ПК.
Так что c64-hw-sim — это не замена игровым эмуляторам, а скорее учебный стенд и диагностический инструмент: способ разобраться в архитектуре легендарной 8-битной машины и аккуратно подступиться к ремонту старой платы, ничем при этом не рискуя.












