|
Interfejs ATA "KMK/JŻ IDE"Interfejs znany jako "KMK/JŻ IDE" służy do podłączania urządzeń ATA oraz ATAPI (głównie twardych dysków IDE oraz napędów CD-ROM) do Atari XE przez znajdujące się z tyłu komputera złącze CARTRIDGE/ECI. Interfejs został zaprojektowany i skonstruowany w 1995 roku przez Jacka Żuka (JŻ), a oprogramowany przeze mnie (KMK) - i stąd nazwa "KMK/JŻ IDE". Pierwsza publiczna prezentacja odbyła się w styczniu 1996 roku. Interfejs jest tzw. "nowym urządzeniem" wykorzystującym sprytny mechanizm wymyślony przez konstruktorów Atari XL/XE, pozwalający na automatyczne wykrycie i zainicjowanie przez system urządzenia I/O zaraz po włączeniu komputera. Dysponuje własną pamięcią ROM i RAM, znajduje się tam komplet procedur i danych służących do obsługi dysku. Gdy program użytkownika lub DOS odwołuje się do interfejsu szeregowo-równoległego, tzw. SIO, XL OS podłącza sobie tę zewnętrzną pamięć na czas przeprowadzania operacji I/O i wywołuje odpowiednie procedury, a zakończywszy przywraca stan poprzedni (pamięć interfejsu "znika" z przestrzeni adresowej). Mechanizm ten ma nieco wsparcia - ale bez przesady - ze strony elektroniki komputera. Więcej na ten temat można się dowiedzieć z Atariki. Działanie interfejsuDane z dysku (i do dysku) transmitowane są w trybie PIO (nie DMA), przez 16-bitowy port danych. Sterownik pracuje w trybie CHS. Przyczyny użycia CHS zamiast LBA są dość prozaiczne:
Mimo pracy w CHS przeciętny transfer jest bardzo szybki - w zależności od konfiguracji partycji (o czym niżej) waha się w zakresie od 35 do nawet 64 kilobajtów na sekundę przy odczycie plików pod SpartaDOS X. Jest to sporo i jak na Atari XL/XE i jak na interfejsy twardych dysków do tego komputera - KMK/JŻ IDE jest w tej klasie najszybszy. Gwoli rzetelności trzeba zaznaczyć, że SpartaDOS X jest bardzo szybkim DOS-em (to znaczy nakładającym na operacje I/O stosunkowo niewielki "narzut" na obsługę systemu plików). Inny popularny DOS dla Atari - MyDOS - nie ma nawet połowy wydajności Sparty X, co trzeba brać pod uwagę przy testach odczytu plików. LimitySterownik interfejsu, zwany w skrócie HD BIOS-em, był projektowany w 1995 roku z około 20-krotnym zapasem w stosunku do pojemności używanych wtedy twardych dysków. W związku z tym całkowity limit pojemności możliwej do obsłużenia to 8 GB na jeden napęd (24-bitowe adresowanie logiczne, 16777216 sektorów po 512 bajtów). Obszar ten można podzielić na 16 partycji, z których każda jest adresowana 24-bitowo: a więc maksymalny rozmiar pojedynczej partycji to znowu 8 GB, a dokładniej: 16777215 sektorów, gdyż na dyskach Atari sektor o logicznym numerze 0 nie istnieje. Obsługiwane są trzy rozmiary sektorów: 128, 256 i 512 bajtów. Sektor fizyczny w ATA ma 512 bajtów, pozostałe "gęstości" sterownik symuluje. Tryby pracy z sektorami 256- i 512-bajtowymi służą do pracy z DOS-em i przechowywania plików, pierwszy zaś emuluje średnią gęstość zapisu stacji 1050 i służy do uruchamiania wymagających takiego rozmiaru sektora programów całodyskowych. Zgodnie z tym, co można przewidywać, tryb pracy z sektorami 512-bajtowymi jest bardzo szybki, ten z sektorami 256-bajtowymi taki sobie, a pozostały raczej wolny. Konkretnie w gęstościach o emulowanym rozmiarze sektora (128 i 256 bajtów) odczyt jest znośny, natomiast bardzo wolny jest zapis; wystarczy powiedzieć, że jeśli przy sektorach 256-bajtowych tempo zapisu sięga 15-16 kilobajtów na sekundę, to możemy mówić o szczęściu. Natomiast przy sektorze 512-bajtowym na tym samym dysku zapis bez większego wysiłku osiąga 50 kilobajtów na sekundę. Cały czas mowa o transmisji plików pod DOS-em. Powyżej opisano limity narzucone przez sterownik interfejsu, ale to jest nic w porównaniu z ograniczeniem pojemności, jakie narzucają istniejące na Atari DOS-y. "Wielka trójka" najbardziej zaawansowanych dyskowych systemów operacyjnych dla tego komputera wyglądała do niedawna tak:
W drugiej połowie 2006 roku nastąpił tu niejaki postęp, na czoło wysunął się SpartaDOS X zdecydowanie deklasując konkurencję: w wersji 4.39RC zwiększono liczbę widzianych naraz napędów do 15, a maksymalny rozmiar partycji podskoczył do 32 MB. Razem daje to 15 x 32 = 480 MB możliwych do wykorzystania przez DOS, a więc ponad trzykrotnie więcej niż dotychczas. Wciąż jednak nie jest to wiele w porównaniu do pojemności współczesnych dysków czy choćby limitów BIOS-u interfejsu. OprogramowanieOprogramowanie pozwalające na popartycjonowanie dysku i skonfigurowanie interfejsu jest na dyskietce systemowej. Dwa najważniejsze programy to:
Główny sterownik, czyli BIOS, jak to już wyżej zostało powiedziane, rezyduje sobie w pamięci ROM interfejsu. Pamięć ta ma 1,5 kilobajta w interfejsach starszego typu, albo 3k (czy też raczej dwa banki po 1,5 kilobajta) w interfejsach nowszych. Ilość pamięci interfejsu widocznej dla komputera podaje program diagnostyczny, więc łatwo to sprawdzić. Interfejsy, które mają 1,5k ROM-u nazywane są w skrócie "jednobankowymi", a te drugie - "dwubankowymi". Cała linia BIOS-ów z serii "v. 1.x" - bieżąca wersja ma numer 1.11 - jest przeznaczona do interfejsów obu typów. Jednak jednobankowy BIOS wypełnia już dostępne mu miejsce w tak dużym stopniu, że nie można już nic tam dodać, a i poprawki błędów (jakie od czasu do czasu wyłażą) robią się problematyczne. Dlatego podjąłem prace nad BIOS-em 2.0 przeznaczonym tylko dla nowszych interfejsów z serii KMK/JŻ oraz dla wszystkich z serii IDEa. Jest on w tej chwili w fazie prototypowej. Więcej o omawianym sprzecie można się, jak zwykle, dowiedzieć z Atariki: Dla tych, którzy znają angielski: w dziale z plikami do ściągnięcia znajduje się angielska instrukcja obsługi interfejsu, w formacie PDF. |
|||
|
||||
|