--------wykresy w artykule do wykonania przez sekcjë graficznâ---------- PECETOWY NAPËD HD W AMIDZE Wielu Czytelników nurtuje problem: "jak podîâczyê gësty napëd dyskietek z peceta do Amigi?". Oto próba odpowiedzi. Stanisîaw Szczygieî (Stanley) Wyposaûenie Amigi 1200 w napëdy dysków o niskiej gëstoôci to byî od samego poczâtku problem. Wiadomo, chodziîo o oszczëdnoôci, choê moûna by zapytaê, dlaczego akurat takie? Gëste napëdy dysków w pececie stosowane sâ juû od lat, a w Amigach na wiëkszâ skalë wykorzystane zostaîy dopiero w modelach A4000. A gdy juû w koïcu pojawiîa sië oferta rynkowa takich napëdów do Amigi 1200, zaszokowaîy one wówczas cenâ, niemal trzykrotnie wyûszâ od stacji pecetowych... Pojawiîo sië wiëc pytanie, jak wykorzystaê w Amigach wielokrotnie taïsze i îatwiejsze do zdobycia napëdy IBM-mowskie. Niestety, róûnice w konstrukcji napëdow amigowych i tych z peceta sâ doôê powaûne. Z tego teû powodu zdecydowaîem sië nie przedstawiaê zasady dziaîania i realizacji interfejsu, îaczâcego Amigë z pecetowâ stacjâ, w sposób caîkowicie "îopatologiczny", aby nie dopuôciê do prób jego realizacji przez laików. Osoby bardziej doôwiadczone znajdâ natomiast wszystkie potrzebne do jego wykonania informacje. Z tego samego powodu nie tîumaczë angielskich napisów na schematach! Problemy Podstawowe problemy niezgodnoôci napëdów to: -- niepeîna zgodnoôê interfejsów (róûnice w sygnaîach sterujâcych na zîâczu napëdu); -- róûny sposób uzyskiwania wysokiej gëstoôci zapisu. Niezgodnoôê sygnaîów polega na tym, ûe funkcje obsîugi napëdu sâ realizowane nieco inaczej przez Amigë, a inaczej przez peceta. Chodzi gîównie o sygnaîy READY, MOTORON i DISKCHANGE. Problem zaô uzyskiwania róûnej gëstoôci zapisu na Amidze rozwiâzywany jest poprzez dwukrotne spowolnienie szybkoôci obrotowej dysku! Pecet radzi sobie dziëki róûnej liczbie sektorów danych na ôcieûce (przy tej samej prëdkoôci obrotów). Ponadto podczas startu Amiga musi "zainstalowaê" w systemie operacyjnym aktywne napëdy, co zwiâzane jest z interpretacjâ sygnaîów dochodzâcych ze stacji. Aby wiëc zainstalowaê napëd IBM-owski w Amidze, konieczne jest speînienie nastëpujâcych warunków: -- zmodyfikowanie za pomocâ stosownego interfejsu róûnic w sygnaîach sterujâcych i umoûliwienie wîaôciwego rozpoznania napëdu przez Amigë; -- umoûliwienie zmiany prëdkoôci obrotowej silnika napëdu IBM-owskiego. Niestety, zadanie to nie jest îatwe. Wymaga zarówno niezîej wiedzy o systemie operacyjnym Amigi, jak i dobrej orientacji w elektronice i mechanice napëdów dysków elastycznych. Przedstawiona poniûej propozycja opiera sië o pomysî Dicka Didericka, opublikowany w Internecie (dotyczy zarówno sposobu realizacji, jak i przedstawianych schematów). Sugerujë jednak gruntowne przemyôlenie sprawy i dokîadne zapoznanie sië z artykuîem, zanim podejmiecie sië realizacji! Trochë teorii Napëd Double Density Jak Amiga rozpoznaje napëd i instaluje go w systemie? Wysyîany jest sygnaî SELECT, na który Amiga oczekuje odpowiedzi w postaci sygnaîu READY. I tu od razu mamy pierwszy problem niezgodnoôci napëdów: sygnaî SELECT jest wysyîany bez obecnoôci sygnaîu MOTORON (odpowiedzialnego za wîâczenie silnika), a napëd pecetowy generuje sygnaî READY tylko wtedy, gdy silnik sië krëci i ma w dodatku wîaôciwe obroty! Të róûnicë pracy napëdów musimy poprawiê stosownym interfejsem. Ale z sygnaîem MOTORON teû sâ pewne problemy. Napëdy IBM wykorzystujâ do sterowania silnikiem jeden (wspólny dla wszystkich w systemie pecetowym dysków elastycznych) sygnaî MOTORON. Jego wysoki stan (+5 V) powoduje, ûe nastëpuje zatrzymanie silnika, niski -- 0 V (zgodnie z tzw. odwrotnâ logikâ sygnaîów) -- jego wîâczenie. Jest to proste, ale jednoczeônie wîâcza wszystkie napëdy, a to staje sië przyczynâ duûego obciâûenia zasilacza. Amiga realizuje to w nieco bardziej elegancki sposób. Uûywane sâ do tego dwa sygnaîy: SELECT i MTRXD. W zaleûnoôci od stanu sygnaîu MTRXD impulsy ze zîâcza SELECT powodujâ uaktywnienie przerzutnika FLIP-FLOP, pamiëtajâcego aktualny stan sygnaîu MOTORON. Stan ten jest pamiëtany tak dîugo, aû nastâpi zmiana. Zasada otrzymywania sygnaîu MOTORON przedstawiona jest na poniûszym diagramie. SELECT ~~~~~~|__|~~~~~~|__|~~~~~~|__|~~~~~~|__|~~~~~~ amiga signal MTRXD ~~~~~|_____|~~~~~~~~~~~~~|_____|~~~~~~~~~~~~~~ amiga signal MOTORON ~~~~~~|_________|~~~~~~~~~|_________|~~~~~~~~~ signal to drive Jak widaê, MOTORON przerzucany jest sygnaîem SELECT w zaleûnoôci od stanu sygnaîu MTRXD. Kolejny problem to sygnaî DRESET (drive reset). Powoduje on "wyzerowanie" i zatrzymanie silników. Potrzebne jest to do wîaôciwego rozpoznania obecnoôci napëdu, co sië odbywa przy wyîâczonym silniku. To, czy dysk jest w napëdzie amigowym, sprawdza sië za pomocâ sygnaîu SELECT. Gdy dysk jest w napëdzie, stacja odpowiada analogicznymi sygnaîami zwrotnymi ze zîâcza DISKCHANGE. Potrzebny do pracy sygnaî moûemy pobraê z 2. pinu zîâcza napëdu (choê nie zawsze, bo nie kaûdy napëd ma ten sygnaî wyprowadzony!) lub z ukîadu elektronicznego. Jak przyîâczyê napëd DD? Jeôli przyîâczamy napëd w komputerach stacjonarnych (A2000/3000/4000) jako wewnëtrzny, to odpowiednie ustawienie zworek (DF1: i aktywacji sygnaîu montujâcego) powoduje, ûe sama Amiga zadba o wspomniane sygnaîy MOTORON czy DRESET. Konieczne jest jedynie zadbanie o poprawnâ realizacjë sygnaîu DISKCHANGE. Jeôli napëd instalowany jest jako zewnëtrzny, konieczne jest takûe wîaôciwe "przekodowanie" sygnaîów MOTORON. Na schemacie elektronicznym widaê potrzebny ukîad logiczny. Jak przyîâczyê napëd HD? Po pierwsze Amiga musi byê wyposaûona w Kickstart o numerze nie mniejszym niû 37.175 (2.0), choê ten zawiera pewien bîâd obsîugi gëstych dysków. Polega on na tym, ûe jeôli uûywany jest napëd gësty z dyskietkâ DD, a nastëpnie zostanie ona zmieniona na dysk HD, komputer nie zauwaûy zmiany. Nowe wersje programu Setpatch korygujâ ten bîâd. Jak rozpoznawany jest gësty napëd dysków? Otóû tak naprawdë do rozpoznania stacji dysków nie jest wysyîany sygnaî SELECT raz, ale 32 razy! Jeôli wîoûony jest gësty dysk, to otrzymamy w odpowiedzi 16 impulsów, przy dysku DD -- 32. Diagram sygnaîów wyglâda nastëpujâco: SELECT ~~~~~~|__|~~~~~~|__|~~~~~~|__|~~~~~~|__|~~~~~ amiga sygnaî READY ~~~~~~|__|~~~~~~~~~~~~~~~~|__|~~~~~~~~~~~~~~~ sygnaî z HD Jeôli efekt odczytu sygnaîu READY umieôcimy w zmiennej LONG INTEGER, moûemy otrzymaê nastëpujâce kombinacje: FFFFFFFF = brak napëdu (READY stale wysokie), caîy czas stan 1 00000000 = dysk double density w napëdzie HD lub double density napëd AAAAAAAA = dysk high density w stacji HD (READY 1010...) Jak przyîâczyê napëd HD? Wszystkie sygnaîy opisane dla napëdu DD pracujâ tak samo w napëdzie HD. Róûnica dotyczy samego sygnaîu montujâcego. Aby go otrzymaê, konieczne jest wykonanie stosownego dzielnika na przerzutniku FLIP FLOP. Warto pamiëtaê, ûe jeôli gësty napëd jest instalowany jako wewnëtrzny w komputerach stacjonarnych, moûemy nie przejmowaê sië sygnaîem MOTORON i nie wykonywaê czëôci ukîadu elektronicznego odpowiedzialnego za ten sygnaî. Konieczne jest natomiast wykonanie obsîugi sygnaîu DISKCHANGE. Moûna to zrobiê analogicznie do rozwiâzania uûytego w wersji dla dysku DD (na schemacie nie jest to przerysowane), bâdú jeôli bëdziemy mieli szczëôcie, to bëdzie on dostëpny na 2. pinie zîâcza dysku. Niestety, konieczne jest teû przebudowanie ukîadu kierujâcego pracâ silnika krokowego, powodujâcego obrót dysku. Musimy wyszukaê na pîytce elektronicznej napëdu oscylator kwarcowy i WYMONTOWAÊ go! Nie jest to îatwâ pracâ, gdyû w wielu napëdach oscylator ten jest bardzo trudno dostëpny. Konieczne jest wylutowanie go i najczëôciej jeszcze odklejenie od pîytki elektroniki napëdu. Jest to byê moûe najtrudniejsza czëôê caîej operacji. Wymontowany oscylator przenosimy do pîytki interfejsu do zewnëtrznego oscylatora. Peîny schemat przedstawiony jest na rysunku. Nie jest to jednak koniec problemów. Musimy oszukaê napëd, ûe obraca sië z wîasciwâ prëdkoôciâ! W tym celu trzeba dokleiê niewielki magnesik na talerz silnika, po przeciwnej stronie niû jeden juû tam bëdâcy. Bez tego napëd nie zezwoli na jakikolwiek zapis... Czasami zamiast magnesiku stosowany jest ukîad optyczny, wówczas konieczne jest wykonanie otworka w talerzu. I to wîaôciwie koniec. Ukîad powinien pracowaê poprawnie. Autor jego rozwiâzania nie skarûy sië specjalnie na opisany ukîad, z którego korzysta juû prawie rok. Czy to sië opîaca? Myôlë ûe tak, koszt ukîadów elektronicznych i pracy bëdzie na pewno niûszy od kosztów oryginalnego napëdu do Amigi. Aby jednak wszystko to zîoûyê "do kupy", dokonaê stosownych przeróbek w napëdzie, trzeba mieê zarówno wiedzë, jak i umiejëtnoôci. Problemy zwiâzane z wykonaniem mechanicznych przeróbek mogâ nawet caîkowicie przekreôliê sens pracy lub przez nieostroûnoôê nieodwracalnie uszkodziê napëd (szczególnie wymontowywanie oscylatora...). Jak widaê, moûna podîâczyê napëd z peceta do Amigi, ale nie jest to wcale îatwe. Decyzja naleûy do Was... Krótki opis sygnaîów na zîâczu dysku PC-HD ------------------------------------------ wszystkie nieparzyste 1,3,5,... -- podîâczone do masy 2 = DISKCHANGE, wyjôcie sygnaîu (nie zawsze obecny!); zamiast niego na tym zîâczu moûe byê wyprowadzony sygnaî HD/DD, IN USE, HEAD LOAD 4 = IN USE; czasami moûe tu byê wlaônie potrzebny nam DISKCHANGE lub HEAD LOAD... 6 = DRIVE SELECT 3; czasami jest tu sygnaî READY 8 = INDEX wyjôcie sygnaîu 10 = DRIVE SELECT 0 12 = DRIVE SELECT 1 14 = DRIVE SELECT 2 16 = MOTORON 18 DIRECTION SELECT wejôcie sygnaîu; kierunek ruchu gîowicy 20 = STEP wejôcie sygnaîu 22 = WRITE DATA wejscie sygnaîu 24 = WRITE GATE wejôcie sygnaîu 26 = TRACK 0; gîowica nad scieûkâ 0 28 = WRITE PROTECT; umoûliwienie zapisu na dysk 30 = READ DATA wyjôcie sygnaîu 32 = SIDE 1 SELECT; odczyt strony A lub B dysku 34 = READY wyjôcie sygnaîu; czasami moûe byê DISKCHANGE lub IN USE