Na wyjściu transoptorów szczelinowych jest coś co bardziej przypomina sinus niż prostokąt, dopiero komparatory formują z tego prostokąt, wyznaczając próg odcięcia (bardzo analogowy próg - konkretne napięcie). Ten przebieg prostokątny ciężko nazwać transmisją cyfrową, to po prostu przebieg prostokątny o zmiennej częstotliwości. W transmisji cyfrowej częstotliwość zazwyczaj jest stała. Tu nie są przesyłane żadne bity. To nie jest PWM, ani PDM...
Ciekawe czy dla Atari szerokość tych impulsów ma znaczenie? O ile odczyt nie jest realizowany przez przetwornik u=f(f) i trafia na ADC, wystarczy generować sygnał PDM (łatwiejszy do generowania, ze względu na stałą szerokość impulsów, a tylko różny czas przerwy). Zapewne "logika" patrzy tylko na zbocze narastające i przesunięcie fazowe pomiędzy dwoma sygnałami z pary.
ATMega wcale taka szybka nie jest, robiłem kiedyś na niej (328P @ 16MHz) generator sekwencji cyfrowych, a dokładnie to symulator sygnału czujnika położenia wału korbowego w silniku spalinowym - czyli coś bardzo podobnego, ale tylko jeden czujnik i szału z szybkością nie było. Oczywiście można stosować jakieś triki w stylu użycia SPI do generowania impulsów - wtedy jest dużo szybciej.
Zmierzam do tego, że każde przetwarzanie sygnału trwa, każda transmisja cyfrowa również.
Myszka PS/2 standardowo wysyła 100 ramek na sekundę, każda ramka to 3 bajty danych. Do każdego bajtu dochodzi nagłówek i stopka w ilości 3 bitów (czyli ramka ma 33 bity). Transmisja szeregowa, synchroniczna z zegarem 10kHz (czyli 5000bps). Zatem samo opóźnienie transmisji musi wynieść co najmniej 6,6ms.
P.S.
Zarówno PIC jak i ATMega to 8-bitowe procesory RISC, przy tym samym zegarze mają podobną wydajność... tyle, że PICe zwykle programowało się w assemblerze, a AVRy w C albo nawet C++ (ich assembler raczej nie zachęca do pisania w nim).
Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.