Cześć
Pisał o tym już mono w tym miejscu http://atariarea.krap.pl/forum/viewtopi … 81#p132381 - ale jakoś przeszło to bez echa. Otóż w dokumentacji POKEY-a jest podany wzór do obliczenia szybkości transmisji szeregowej z wartości licznika, czyli inaczej mówiąc z HS_INDEX. Ten wzór (dla PAL-u) to:
baudrate = 1773446/(2*(HS_INDEX+7))
Wszelako, z eksperymentów dokonywanych programem SIO2BSD (przy czym mono uruchamia go na pececie z Linuxem, a ja z FreeBSD) wychodzi, że ten wzór jest błędny, obliczona w ten sposób na pececie i tamże ustawiona prędkość transmisji nie zgadza się z prędkością wybraną na POKEY-u przez wartość HS_INDEX, i to na tyle, że przy niskich wartościach HS_INDEX (typu 0) nie ma pomiędzy komputerami łączności.
Eksperymentalnie ustaliliśmy (tj. mono ustalił, a ja się przyglądałem ;) ), że we wzorze zamiast "plus 7" powinno być "plus 7 z czymś", przy czym to "coś", to ułamek w rodzaju 0.13-0.25.
Pytania:
1) czy ktoś coś wie na ten temat? :) Domyślam się, że częstotliwości generowane przez POKEY są mierzalne, wobec tego może już je ktoś dokładnie pomierzył.
2) z czego może wynikać niecałkowita wartość współczynnika? Jakieś opóźnienia na bramkach wewnątrz POKEY-a? Błąd w naszym rozumowaniu albo w obliczeniach? Niekompatybilność RS-232 i SIO?
? HEX$(6670358)