Synchromesh

From Atariki

Revision as of 01:23, 2 lip 2008; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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

Personal tools