Нa этих выходных решил попробовать написать эмулятор с нуля, руководствуясь накопленным опытом.
Основной задачей было поставлено написать некий универсальный движок, с помощью которого можно описать нужный процессор простым шаблоном, который развернётся в работающую модель с комплектом 3 в 1: Эмулятор, Дизассемблер, Ассемблер. При этом, не нужно было бы сурово переделывать сам js-текст.
В итоге, уложился в трое суток бессонных ночей отладки.
Получился компактный - 1500 строк и 60кб.
P.S.: Если браузерная совместимость не подведёт, эмулятор запустится сразу под рандомным мусором в его ОЗУ…
Необходимо нажать кнопку Reset, а затем - Start.
Клавиши тоже должны работать: F1-Шаг отладки, F4-Полный ход, F9-Брейк-пойнт.
Также, F7-Выбор настраиваемого параметра(FPS, IPC, IPS), F6/F8-Декремент/Инкремент параметра.
Пожалуйста, отпишитесь, у кого - какой результат.
Кстати, шаблон можно редактировать прямо в процессе (кнопка Matrix) и изменить всю систему команд на ходу (двойной клик по той же Matrix)…
(по идее, можно описать 6502. Для Z80 пока ещё не хватает поддержки префиксов, что довольно поправимо)
P.P.S.: Добавил в "движок" shuffle-поле, позволяющее комбинировать битами кода команды и переставлять их местами.
Вот как выглядит таблица команд до и после комбинирования (всегда мучался вопросом, как бы это выглядило, если бы инженеры расключили бы дешифратор чуточку иначе)

You do not have the required permissions to view the files attached to this post.