Myślałem o tym. Problem z ZX81 polega na tym, że wyświetlanie ekranu w nim robione jest wyjątkowo genialnym trikiem - ekran jest de-facto wykonywany przez procesor dzięki czemu ULA dostaje wszystkie potrzebne sygnały do synchronizacji całego procesu. Problem w tym, że przy wykonywaniu ekranu ULA oszukuje procesor i zamienia mu cały odczyt danych poza kodem 118 (czyli HALT, który jest odpowiednikiem końca linii w ZX81) na 0 (czyli NOP) a sama pobiera dane na podstawie własnych liczników plus tego co jej wychodzi z procesora i te dane wyświetla. Żeby coś takiego odtworzyć trzeba mieć albo odpowiednio mocny procesor, który będzie emulował całość procesu - 20MHz Atmegi (która jest zasadniczo ośmiobitowa) nie wystarczy. Można pomyśleć nad dorzuceniem do takiej konstrukcji prawdziwego procesora, ale obawiam się, że logika spinająca Atmegę z procesorem byłaby na tyle skomplikowana, że cała sprawa okazałaby się nie warta świeczki i prościej byłoby to zrobić "jak należy".
A "jak należy" w tym wypadku to procesor, kawałek RAMu, kawałek CPLD i Atmega. Procesor oczywiście robi swoje działając dokładnie tak, jak w oryginalnym ZX81. CPLD reimplementuje logikę ULA przekazując stosowne informacje wyjściowe do Atmegi, która zajmuje się wyświetlaniem ekranu a do tego obsługuje klawiaturę i kartę przekazując dane z powrotem do CPLD i dalej do procesora.
Bardziej "wypasiona" ale mniej hard-core'owa wersja to użycie któregoś z mniejszych FPGA i pozbycie się procesora w zamian za to używając core'a T80 dla FPGA. A stąd już tylko krok do większego FPGA i implementacji dodatkowego hardware'u (AY, ZXpand itp.). A drugi krok to wymiana Atmegi na Arma i... mamy Speccy 2010
Wracając zaś do koncepcji Atmega+CPLD+Z80 - nie sądzę, żeby cała konstrukcja była bardzo skomplikowana, ale nie bawiłem się w projektowanie elektroniki od czasu technikum (czyli 20 lat) a na takim poziomie to w ogóle nigdy więc raczej nie podjąłbym się zrobienia całości. Mógłbym co najwyżej przyjrzeć się tematowi i służyć projektantowi informacjami a potem ewentualnie pomóc w dostosowaniu programu dla Atmegi do reszty rozwiązania.