Вот спектрум, с точки зрения эмулятора: стандартный Z80, читай/пиши память (прямая адресация), при запросе опкода 0xDB читаются порты (например, джойстик if((port&0x00E0)==0){return kempston;} - вообще всего-то один байт надо вернуть и джойстик готов), далее рисуй экранную память, загружай ром - все, можно играть. Устроено все крайне просто. Вот тут я выложил нечто подобное: http://zx.pk.ru/showthread.php?p=274485, что даже не тормозит на телефонах - код самого "спектрума" всего 5кб, в то время как процессор занимает 56кб.
А вот вопрос: насколько сложнее устроены MSX? Интересны MSX2, как более продвинутые по части графических возможностей, насколько сложно будет переделать эмулятор спектрума в MSX? Я хочу запускать как минимум SymbOS и UZIX. Ну и от хорошей документации не откажусь.
Если такое лучше спрашивать на msx.org - спрошу там.