Ну, я почти нулевой "железячник" и вряд ли сильный программист.
Но для меня не существует термина "аппаратная эмуляция". Потому как любые российские схемы Спектрумов 90-ых - тоже путь замены оригинальной схемотехники наличествующими аналогами. Ревизий той же лицензионной Sega Mega Drive II из 90-ых - куча от самой Sega. И в них несколько разнятся компоненты, элементная база. Все ревизии, кроме первой, эмуляторы?
Однозначно определить как "эмуляцию" можно только программную эмуляцию.
Если я правильно помню из курса электроники - тот же процессор является, по сути, схемой из транзисторов. Только транзисторов микроскопических. До процессоров были отдельные схемы из транзисторов: сумматоров и другой арифметики, компараторов (устройств для сравнения величин), регистров различной разрядности (для хранения величин). Потом всё это включила в себя схемотехника процессоров.
При развитии рынка PC появилась уйма аудио- и видеокарт. Если во времена MS DOS каждая видяха поддерживалась игрой отдельно, и был файл Set Up, где можно было выставить параметры своих аудио- и видеокарт, то потом появились Open GL и DirectX.
Дело в том, что в системе с раз и навсегда определённой схемой видеопамяти (например, бытовые компы 80-ых) определённый бит в одном из мест этой памяти определял точку на экране, другой бит в другом месте - цвет этой точки и т.п. В целом так. Отдельными процедурами ПЗУ в некоторых компах и приставках могли быть поддержаны (или не поддержаны) аппаратный вертикальный и/или горизонтальный скроллинг, вывод готовых символов и строк, геометрических фигур, тайлов и спрайтов. Но это отдельные тонкости.
Когда на PC видеоадаптеров стала куча - они стали плохосовместимы или даже не совместимы между собой. Появились Windows, Linux - куча уровней абстракции над оборудованием.
Ты уже не определял бит в конкретной схеме видеопамяти, ставя точку на экране.
Возьмём простой и классический случай: у тебя, например, Windows, на, например, x86-совместимой архитектуре. Процессор твоего PC имеет определённую схему из микроскопических транзисторов, определённые регистры, арифметику, логику и т.п., все имеющие свою схему.
У тебя есть какие-то из тысяч аудио- и видеоадаптеров. Они поддержаны через дрова DirectX'ом. И когда пишут для тебя игру, пишут через эту абстракцию в виде DirectX, не имея в принципе самой возможности знать устройство видеопамяти твоей видеокарты.
Также пишут и эмуляторы. Они крутятся на транзисторных схемах x86-совместимых процессоров, используют те же DirectX, Open GL или что там. Они интерпретируют код для NES, Спектрума или Мегадрайва и заставляют твой комп (через уровни абстракции и библиотеки) ПРИТВОРЯТЬСЯ, что он NES, Спектрум или Мегадрайв.
Такова эмуляция на PC, Mac, Android, Raspberry Pi. Программная эмуляция. Истинная эмуляция.
-----------------------
Теперь, если мы говорим о ПЛИС (Программируемые Логические Интегральные Схемы), FPGA (Программируемая Пользователем Вентильная Матрица).
Да, они тоже программируются. Языками типа Verilog и типа того.
Но это языки описания схем. У тебя на этом устройстве шьётся реальная схема из реальных транзисторов. Это не другое устройство программно изображает из себя Sega Mega Drive или ZX Spectrum. Оно реально СТАНОВИТСЯ Sega Mega Drive или ZX Spectrum.
Там реальный тот же самый p-n переход в том же самом транзисторе и в нём точно так же сидит электрон.
Другое дело, что на FPGA можно навертеть дополнительные аудио- и видеоустройства для того же Спектрума. Увеличить частоту процессора. Но это делали и на клонах на "рассыпухе" в 90-ых.
А реальный Z80... А что такое "реальный Z80"? Тоже были различные версии и клоны. В том числе - позднесоветские и ранне-российские. Почему меня должно греть, что мой Спектрум криво спаян паяльником из г*вна? Ведь даже оригинальный британский Спектрум содержал ULA, включающую львиную долю схемы без всякой советской "рассыпухи".
И я решительно против термина "эмуляция" в отношении прошиваемых схем
Добавлено позже:
Нет понятия "аппаратная эмуляция".
Есть программная эмуляция. Когда нет возможности реализовать схему или иметь законченное устройство - и ты программно ИНТЕРПРЕТИРУЕШЬ код с недоступного устройства.
Если ты РЕАЛИЗУЕШЬ СХЕМУ... Где, блин, тут эмуляция? Встретите Витю Карасёва и услышите от него "аппаратная эмуляция" - смело огрейте его по башке букварём.))))))))))))))
Дисклеймер: команда SaNchez'а, делающая эту игру, к предложению выше по поводу Карасёва ответственности не несёт. Я не из команды SaNchez'а.