А для этого понадобятся два блока: (1)
транслятор адресов, отображающий адреса любого экрана (например, спектрумовского) в адреса нашего битмапа (при желании со сдвигом окна) и (2)
транслятор данных, выполняющий определенные операции с точками битмапа при записи в эмулируемый экран (например, для имитации Спека - групповая запись восьми пикселей соответственно значению атрибута или просто сохранение атрибута). Тут в принципе достаточно только записи, потому что прочитать комп сможет из своей памяти (запись же туда проходит, как и положено). Бордюр можно также имитировать закраской каким-то цветом, при отображении заменяемым.
Изменять режим работы этих трансляторов должно быть возможно в любой момент, оставляя старое изображение на экране. То есть, что-нибудь нарисовали в окошке Спектрума, а потом раскладку переключили и рисуем сверху векторную графику с адресами как у Специалиста. Или спрайт можем напечатать уже без клэшинга, по-другому задавая цвета для битов. И конечно, блиттер можно использовать, или даже б-гомерзкие тайлоспрайты (если уж ты кюшать без них не можешь))