Эмуляция NES Famicom Dendy на веб технологиях

Это выступление о подходе, который позволяет эмулировать компьютерные системы с использованием веб-технологий (TypeScript, Сanvas, web audio). Расскажу, как устроена архитектура компьютеров на примере NES — процессор, программа, периферийные устройства, отображение io на память.
Мой доклад можно разделить на три части. В первой поговорим, как устроен процессор 6502 и как его эмулировать, используя JavaScript. Во второй — как работает устройство вывода графики и как игры хранят свои ресурсы. В третьей — как синтезируется звук с использованием веб аудио и как это дело параллелится на два потока с помощью аудиоворклета. Поделюсь советами об оптимизации.