home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
05
/
ami008.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
10KB
|
250 lines
--------wykresy w artykule do wykonania przez sekcjë graficznâ----------
PECETOWY NAPËD HD W AMIDZE
<lead>Wielu Czytelników nurtuje problem: "jak podîâczyê gësty
napëd dyskietek z peceta do Amigi?". Oto próba odpowiedzi.
<a>Stanisîaw Szczygieî (Stanley)
<txt>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!
<sr>Problemy
<txt>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!
<sr>Trochë teorii
<txt>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.
<sr>Jak przyîâczyê napëd DD?
<txt>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.
<sr>Jak przyîâczyê napëd HD?
<txt>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...)
<sr>Jak przyîâczyê napëd HD?
<txt>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...
<r>
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