Synchromesh

From Atariki

Revision as of 10:39, 12 lut 2007; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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. 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.

Szybkość transmisji pod kontrolą Synchromesha to 38,4 kbps. Dla LDW Super 2000 istnieje jeszcze jedna wersja programu, zwana SuperSynchromesh, dająca 68,2 kbps. Odpowiednikiem SuperSynchromesha jest znajdujący się na wyposażeniu SpartaDOS X sterownik INDUS.SYS. 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.

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). Dla uzyskania tej prędkości konieczne jest uprzednie zaprogramowanie stacji programem INDUS.SYS zawartym w SpartaDOS X, lub 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). Stacja pozostaje zaprogramowana aż do wyłączenia zasilania.

Ogólnie schemat wymiany danych i pozostałe uwagi wyglądają tak samo jak powyżej.

Personal tools