Czy ktoś wie gdzie znajdę ? Czy ktoś jest ekspertem w temacie ? Niby wiem, że przełącza się prędkość komendą SIO 0x3f (get speed byte) itd... Ale ze współpracą R5 z QMEGIEM mam problem - dojdzie do tego, że wezmę oscyloskop i będę perfidnie patrzył co się dzieje przy pracy QMEGA np. z APE. DOKŁADNY opis to dla mnie :

- komendy
- wymagania czasowe
- reakcje na błędy
- inne rzeczy co o nich nie wiem.

pomidor

2

Wedle mej wiedzy protokół Ultra Speed w ogóle niczym się nie różni od "normalu". Komenda "?" niczego nie przełącza, ona tylko zwraca komputerowi wartość, którą należy ustawić w AUDF3/4 do pracy w US. I to jest wszystko.

Z tego co wiem, nie ma też tak, żeby komputer po poprawnej odpowiedzi stacji na "?" musiał zmienić częstotliwości do pracy z SIO, albo, że musi tę komendę w ogóle wysyłać (SpartaDOS X na przykład nie wysyła). Wykrycie, że komputer chce prowadzić transmisję w ultrze stacja (o ile mi wiadomo) robi mierząc długości początkowych bitów wysyłanej komendy (chyba, długość impulsu bitu startu po prostu).

KMK
? HEX$(6670358)

3

Wykrycie, że komputer chce prowadzić transmisję w ultrze stacja (o ile mi wiadomo) robi mierząc długości początkowych bitów wysyłanej komendy (chyba, długość impulsu bitu startu po prostu).

Jest jeszcze prosciej :). Stacja nawet nic nie mierzy. Odbiera komende z predkoscia US (nie baczac z jaka predkoscia ta przychodzi), jesli komenda jest niezrozumiala (zla suma kontrolna itp.), to stacja wybiera predkosc standardowa i znowu czeka na komende (Atari OS ponawia chyba 12 czy 14 razy, za ktoryms zalapie). Jak sie ktoras komenda odbierze prawidlowo, to dalej stacja pracuje z rozpoznana predkoscia, az do chwili ponownego "niezrozumienia" komendy, wtedy znowu nastepuje zmiana predkosci i kolejna proba odbioru.

To bylo przyczyna formatowania dyskietek przez stacje TOMS MULTI pod QMEGIEM. Ta stacja nawet nie sprawdza sumy kontrolnej komendy!! (oczywiscie z oryginalnym systemem TOMS w ROM). Rozkaz "?" wysylany przez QMEGA w predkosci standardowej, a odebrany przez stacje ustawiona wewnetrznie na Ultra Speed jest rozumiany jak '"' w inwersie, czyli formatowanie z przeplotem TurboDrive... tak sie akurat bity ukladaja... - a wystarczalo sprawdzic sume PRZED wykonaniem rozkazu, a nie PO :-)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

4

Jak sie ktoras komenda odbierze prawidlowo, to dalej stacja pracuje z rozpoznana predkoscia, az do chwili ponownego "niezrozumienia" komendy, wtedy znowu nastepuje zmiana predkosci i kolejna proba odbioru.

Tak, to pewnie tłumaczyłoby też, dlaczego stacje TOMS Multi mają tendencje do losowego "wylatywania" z ultry od czasu do czasu ...

KMK
? HEX$(6670358)

5

Bardzo dziękuję za te wskazówki !

Dzisiaj, jak pisałem, sprawdzałem to wszystko z oscyloskopem i rzeczywiście - jest tak, że każde "niezrozumienie" komendy powoduje przełączenie prędkości normal<->ultraspeed. Poza tym np. APE przełącza się po komendzie 0x3f na ultraspeed ale to nie ma zbyt wielkiego sensu, bo np. QMEG po 0x3f (w normal) wysyła 0x53 (normal) co w efekcie powoduje niezrozumienie przez APE tej drugiej komendy i przełączenie z powrotem na normal. Generalnie przy takim przełączaniu pomaga badanie stanu linii command, ale może uda się bez tego. Pozdrawiam.

pomidor

6

Jest jeszcze prosciej :). Stacja nawet nic nie mierzy.

To zależy, jaka stacja. Na przykład XFD601/602 ma bez najmniejszej wątpliwości rozpoznawanie prędkości podczas przyjmowania każdego pierwszego bajtu wywołania (DDEV)
Zasadniczo takie rozpoznanie jest dziecinnie proste, przy użyciu wysyłanego przez Atarynkę sygnału CLOCK OUT. Jednak dziwnym trafem żadna ze znanych mi stacji nie wykorzystuje tej możliwości.

Ceterum censeo Germaniam esse delendam.