To jest dość delikatne zagadnienie. Wewnętrzne sprawy Lynxa są bardzo mało poznane. W sumie główna nadzieja, że ktoś dotrze do RJ Micala i dostanie od niego jakieś papiery jak to zostało zaprojektowane. Podstawowe dwa zagadnienia, jakie składają się na nieprecyzyjną prędkość to:
1. Cykl 6502 (czyli cykl dostępu do szyny) może trwać 4 ticki zegara albo 5. 5 Trwa jeśli pamięć jest adresowana w pełni, a 4 jeśli adresujemy wewnątrz aktualnej strony. Mikey ma zaszytą jakąś logikę, które decyduje kiedy jak adresować. No oczywiście dokumentacja mówi, że zrobili to jakoś tak żeby było fajnie. Osobiście podejrzewam, że to radosna twórczość i już nikt nie pamięta jak. Żeby to odtworzyć, trzeba napisać serię testów, które sprawdzają ile trwa cykl dostępu do szyny w różnych scenariuszach. Póki co Felix ma to zrobione "mniej więcej" na zasadzie, że jeśli adresujemy po sobie dwa kolejne adresy, to wtedy 4, a jak jest "random access" to 5 (tak jak robi to w sumie ARM).
2. Prędkość blitowania sprajtów to prawdziwa niewiadomo. Ja oparłem swoje timingi na założeniu, że logika Suzy "nic nie trwa" a trwają tylko dostępy do pamięci. Podejrzewam, że emuluję to trochę za szybko. Ale znowu - bez napisania testów i pomiarów nie wiadomo ile to powinno trwać. A wpisywanie opóźnień z palca, żeby się mniej więcej zgadzało nie chcę. Nie wiadomo też jak jest z przerywaniem działania Suzy (przerwanie CPU potrafi przerwać rysowanie sprajta, które można później kontynuować). Hady nie miał przerywania wcale (tam cały sprajt rysował się w całości, stąd rysowanie sprajtów tam jest dużo szybsze niż w rzeczywistości), ja zaprogramowałem przerywanie przy dowolnym dostępie do pamięci, prawda jest gdzieś po środku, a gdzie, to nie wiadomo.
Reasumując nie robiłem jeszcze porównań prędkości działania. Prędkość CPU powinna być dość wierna, Suzy mniej wierna, ale możliwe, że całość jest sumarycznie bardziej wierna niż Handy. Ale to tylko moje przypuszczenia i mogę się mylić.