Synchromesh
From Atariki
Spis treści |
Charakterystyka ogólna
Powstały w LDW i dołączany do stacji CA-2001, LDW Super 2000 i Indus GT sterownik szybkiej transmisji. Przeznaczony jest do użycia ze specjalnymi wersjami DOS XL: 2.35i, 2.35L oraz 2.35i2. Z istnienia Synchromesha potrafi również skorzystać SpartaDOS X.
Synchromesh wykorzystuje fakt, że wymienione stacje dysków są programowalne. Do stacji przesyłany jest kod, który instaluje się w niej rezydentnie i przejmuje obsługę protokołu przyspieszonej transmisji, 38,4 kbps. Stacja pozostaje zaprogramowana aż do wyłączenia zasilania.
Z powodu różnic konstrukcyjnych pomiędzy stacjami LDW/Indus i CA oraz z powodu różnych wersji ich wewnętrznego oprogramowania, Synchromesh występuje w paru odmianach; z tego użytkownik może rozróżnić dwie, jedną dla LDW i Indusa, drugą dla CA.
SpartaDOS X od wersji 4.39 ma też swoją wersję Synchromesha dla CA-2001, pod nazwą CA2001.SYS.
Niektóre wersje Synchromesha w połączeniu z programami narzędziowymi DOS-u XL oprócz samej przyspieszonej transmisji oferują też parę dodatkowych możliwości, m.in. można formatować pojedyncze ścieżki na dyskietce, każdą z innym przeplotem itp.
SuperSynchromesh
Dla LDW Super 2000 istnieje jeszcze jedna wersja programu, zwana SuperSynchromesh, dająca 68,2 kbps. Do jego użycia konieczne jest zastosowanie DOS XL 2.35i2 i sterownika SuperSynchromesh (normalnie dostarczany przez producenta DOS XL 2.35L z programem Synchromesh zapewnia tylko 38,4 kbps, czyli tyle samo, ile w CA-2001).
W stacjach z zainstalowanym rozszerzeniem RAM Charger SuperSynchromesh aktywuje buforowanie ścieżek.
Odpowiednikiem SuperSynchromesha jest znajdujący się na wyposażeniu SpartaDOS X sterownik INDUS.SYS.
Protokół transmisji
Od programu bierze się umowna nazwa programowanego w ten sposób systemu turbo, który różni się od innych zastosowanym protokołem transmisji. Protokół ten zna też stacja XF551, acz w jej wypadku zastosowanie samego programu Synchromesh jest zbędne - stacja zna odpowiednie procedury sama z siebie.
Synchromesh
Dla zasygnalizowania stacji, że komputer żąda pracy w turbo, przy prędkości 38400 bps używany jest inny protokół transmisji będący - oczywiście - zmodyfikowaną wersją standardowego (patrz SIO).
Blok komendy (Command Frame) dla stacji, tak samo jak w standardzie, wysyłany jest z prędkością 19200 bps. Jednakże drugi bajt tego bloku, zawierający wartość bajtu DCMND bloku DCB, jest zwiększony o 128 (ORA #$80). Po wysłaniu komendy komputer, identycznie jak w standardzie, czeka - cały czas mając układ POKEY zaprogramowany na 19200 bps - na potwierdzenie jej przyjęcia. Negatywna odpowiedź urządzenia na taką komendę oznacza, że nie zna ono tego protokołu transmisji i nie może pracować w turbo zgodnym z XF-551.
Odpowiedź pozytywna ('A') jest sygnałem do przeprogramowania układu POKEY na większą prędkość. Komputer wstawia do licznika AUDF3/4 wartość $10; analogicznej operacji ze swojej strony dokonuje stacja dysków. Dalsza wymiana danych wywołana przez tę jedną komendę odbywa się w przyspieszonej transmisji. Po wykonaniu komendy następuje powrót do prędkości standardowej.
Ogólnie schemat wymiany danych przy odczycie jest następujący:
- prędkość 19200 bps
- komputer --> komenda 4 B + CRC --> urządzenie
- komputer <-- potwierdzenie 'A' <-- urządzenie
- przełączenie na 38400 bps
- wykonanie
- komputer <-- potwierdzenie 'C' <-- urządzenie
- komputer <-- blok danych + CRC <-- urządzenie
- przełączenie na 19200 bps
- koniec.
Natomiast zapis wygląda tak:
- prędkość 19200 bps
- komputer --> komenda 4 B + CRC --> urządzenie
- komputer <-- potwierdzenie 'A' <-- urządzenie
- przełączenie na 38400 bps
- komputer --> blok danych + CRC --> urządzenie
- komputer <-- potwierdzenie 'A' <-- urządzenie
- wykonanie
- komputer <-- potwierdzenie 'C' <-- urządzenie
- przełączenie na 19200 bps
- koniec
Budzącym zakłopotanie niedopatrzeniem jest w tym wszystkim niemożność odpytania stacji na okoliczność wartości, jaką ma mieć licznik POKEYa w czasie przyspieszonej transmisji. Dodatkowym kłopotem posiadaczy CA-2001 i LDW Super 2000 jest to, że stację trzeba specjalnie zaprogramować, żeby w ogóle działała w turbo. XF-551 jest tej ostatniej wady na szczęście pozbawiona.
SuperSynchromesh
Protokół przyspieszonej transmisji używany przez stacje Indus GT oraz LDW Super 2000 jest identyczny z tym opisanym powyżej. Jedyną różnicą jest szybkość transmisji: dla LDW wynosi ona 68,2 kbps (wartość licznika POKEYa - $06).
Ogólnie schemat wymiany danych i pozostałe uwagi wyglądają tak samo jak powyżej (z tym wyjątkiem, że z tą szybkością nie działa XF-551).