Przyszło mi do głowy - już dość dawno temu zresztą - że można byłoby spróbować w atarynce, oprócz szybkiej pamięci powyżej pierwszych 64k, dać też 64k RAM-u taktowanego 7 albo 14 MHz i mirrorującego pierwsze 64k na następującej zasadzie:
1) z obszaru $0000-$C000, wszystkie zapisy do normalnego RAM-u z prędkością 1,79 MHz, oraz do mirrora.
2) z tegoż obszaru wszystkie odczyty tylko z mirrora z prędkością 7 albo 14 MHz;
3) a obszar $C000-$FFFF tradycyjnie, bez mirroringu, albo w zależności od stanu PORTB (w przypadku BASIC-a to niezbędne), albo coś... tu jest największa zagwozdka.
Innymi słowy, chodzi o 48k szybkiego cache'u wstawionego pomiędzy CPU a pamięć. Zapisy generowane przez CPU byłyby wolne i szłyby "na wskroś" (write-through) przez cache do głównej pamięci, odczyty natomiast byłyby szybkie i szłyby tylko z cache'u.
Ponieważ procesor więcej czyta niż zapisuje, więc nawet stare programy dostałyby wymiernego kopa. Przy czym cache "na wskroś" jest odporny na numery typu samomodyfikującego się kodu, kompatybilność byłaby więc wysoka. Oczywiście, jak zwykle potrzebny byłby pstryczek wyłączający to ustrojstwo do puszczania programów wycyklowanych (dem, gier).
Pytanie, czy to jest w ogóle wykonalne?
? HEX$(6670358)