DiskRx

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 14:14, 16 paź 2005
KMK (Dyskusja | wkład)

← Previous diff
Aktualna wersja
Krótki (Dyskusja | wkład)
(poprawka linków po przeniesieniu artykułów)
Linia 1: Linia 1:
-'''DiskRx''' - wydany przez [[ICD, Inc.]], dość rozbudowany monitor dyskowy. Ma wiele opcji specyficznych dla formatu [[SpartaDOS]]. Ostatnia wersja nosi numer 1.9. Napisany w języku [[Action!]], autorem jest Howard Peters. DiskRx rozprowadzany był jako część pakietu [[SpartaDOS Toolkit]].+{{grafr|diskrx1.png}}
 + 
 +Wydany przez [[ICD|ICD, Inc.]], dość rozbudowany monitor dyskowy. Ma wiele opcji specyficznych dla formatu [[SpartaDOS]], pozwala też na otwieranie do edycji plików i katalogów. Ostatnia wersja nosi numer 1.9. Napisany w języku [[Action!]], autorem jest Howard Peters. DiskRx rozprowadzany był jako część pakietu [[SpartaDOS Toolkit]].
 + 
 +Informacje poniżej to przekład firmowej instrukcji do programu znajdującej się na stronach 9-16 dokumentacji [[SpartaDOS Toolkit]].
 + 
 +== Przeznaczenie ==
 + 
 +Program przeznaczony jest do edycji dyskietek w formacie [[SpartaDOS]], śledzenia struktury plików i map sektorów, odzyskiwania zniszczonych katalogów itp. Większość funkcji programu działa tylko na dyskach z systemem plików SpartaDOS-u, ale program można zastosować też do prostych edycji dyskietek w innych formatach.
 + 
 +DiskRx ma dwa tryby pracy: tryb dyskowy i tryb plikowy. Ten drugi może być użyty tylko na dyskach w formacie SpartaDOS. W trybie dyskowym program udostępnia do edycji sektory całego dysku, natomiast w trybie plikowym dostępne sa tylko sektory należące do wskazanego pliku (lub katalogu).
 + 
 +== Składnia ==
 + 
 +# DISKRX
 +# DISKRX Dn:
 +# DISKRX [Dn:][path>]filename.ext
 + 
 +W pierwszym przypadku program po uruchomieniu zapyta o numer dysku, jaki ma być otwarty do edycji. W przypadku drugim otwarcie dysku nastąpi automatycznie, a w przypadku trzecim automatycznie nastąpi otwarcie pliku (w trybie plikowym), o ile tylko taki istnieje. Jeśli wskazanego pliku nie ma, następuje otwarcie dysku, na którym miał się on znajdować. Jeśli nie podano numeru napędu, przyjmowany jest napęd domyślny (czyli ten, który jest bieżąco ustawiony w COMMAND.COM). Podawanie ściezki nie jest konieczne - jeśli nie jest podana, DiskRx przeskanuje katalogi wskazanego dysku i otworzy do edycji pierwszy znaleziony plik o podanej nazwie.
 + 
 +== Opis ==
 +{{grafr|diskrx.png}}
 + 
 +Po uruchomieniu program zgłasza się tak jak to widać na załączonym obrazku. Na samym dole ekranu widnieje linia z podpowiedzią, jak wyświetlić menu oraz jak opuścić program. O linijkę wyżej znajduje się linia poleceń, która ponadto służy do wyświetlania komunikatów. Wyżej jest pole z informacjami o bieżących parametrach pracy programu: trybie, numerze dysku lub nazwie pliku otwartego do edycji, numerze sektora, typie sektora, jego rozmiarze, typie systemu plików oraz czy bieżący sektor jest w mapie bitowej zaznaczony jako zajęty czy nie. W trybie plikowym wyświetlane sa ponadto: numer pierwszego sektora mapy pliku, numer pierwszego sektora danych, numer kolejny sektora w pliku.
 + 
 +'''Typ sektora''' reprezentowany jest przez czteroliterowy skrót. DiskRx rozróżnia siedem typów:
 + 
 +* BOOT - sektory od 1 do 3
 +* BMAP - sektor mapy bitowej dysku
 +* DIRM - mapa sektorów głównego katalogu
 +* MDIR - sektory danych katalogu głównego
 +* SUBM - mapa sektorów podkatalogu
 +* SDIR - sektory danych podkatalogu
 +* DATA - wszystkie inne sektory
 + 
 +Na dyskach w formacie obcym dla SpartaDOS, albo na dyskach SpartaDOS, gdzie z powodu uszkodzenia filesystemu program nie jest w stanie przeskanować katalogów, rozróżniane są tylko sektory BOOT i DATA.
 + 
 +'''Rozmiar sektora''' to 128 lub 256 bajtów. '''Typ systemu plików''' to SpartaDOS (literka 'Y' w polu oznaczonym "sparta") lub każdy inny. '''Zajętość''' sektora oznaczona jest przez 'Y' lub 'N' w polu "alloc".
 + 
 +Powyżej pola informacyjnego znajduje się obszar edycyjny. Dzieli się on na dwie części: zawartość bieżącego sektora wyświetlana jest w postaci liczb szesnastkowych po lewej stronie ekranu oraz jako znaki [[ATASCII]] po stronie prawej. Na lewym skraju ekranu widnieją indeksy pozwalające zorientowac się w położeniu bajtów w sektorze; mają one zakres od $00 do $78 dla sektorów 128-bajtowych, lub od $00 do $F8 dla sektorów 256-bajtowych. Każdy wiersz obszaru edycyjnego reprezentuje osiem bajtów sektora. Sektory 128-bajtowe wyświetlane są na ekranie w całości, natomiast sektory 256-bajtowe zajmują dwa ekrany. Wciśnięcie ">" powoduje przejście do drugiej połówki sektora, a "<" - powrót do pierwszej.
 + 
 +'''Menu''' stanowi rodzaj ściągawki z funkcji dostępnych za pośrednictwem linii poleceń. Po opanowaniu klawiszologii przez użytkownika menu jest w zasadzie niepotrzebne. DiskRx jest ogólnie przyjazny i łatwy w użytkowaniu.
 + 
 +== Komendy dostępne z linii poleceń ==
 + 
 +=== (A) Arithmetic conversion ===
 +Przeprowadza konwersję liczb pomiędzy systemami szesnastkowym, dziesiętnym i binarnym. Domyślny jest system dziesiętny, przełączenie w binarny następuje po wciśnięciu "B",a w szesnastkowy - po wciśnięciu "H" lub "$". Po wprowadzeniu liczby, która ma zostac przeliczona na inny system, trzeba nacisnąć klawisz RETURN lub spację, a potem wskazać system, na jaki ma zostać dokonana konwersja: "D" dziesiętny, "B" binarny lub "H"/"$" szesnastkowy. W każdej fazie wyświetlana jest jasna podpowiedź programu, co robić dalej.
 + 
 +Próby konwersji do tego samego systemu (np. z binarnego na binarny) są ignorowane.
 + 
 +=== (B) Blank sector ===
 +Powoduje wyzerowanie bufora edycyjnego. Można tam potem wpisać potrzebne dane ręcznie, a następnie zapisać we wskazanym miejscu dysku lub pliku.
 + 
 +=== (C) Change disk ===
 +Zmiana dyskietki w napędzie, numeru napędu lub trybu pracy. Przy pracy z dyskiem zapisanym w formacie SpartaDOS wybranie tej funkcji powoduje ponowne odczytanie drzewa podkatalogów. Przydaje się to przy odzyskiwaniu zniszczonej struktury katalogów, żeby zobaczyć, czy prace postępują prawidłowo. W trybie plikowym wybranie tej funkcji powoduje przejście do trybu dyskowego. W takiej sytuacji użytkownik proszony jest o wybranie numeru napędu przez wciśnięcie jednego z klawiszy z zakresu od '1' do '8'. Można też wybrac napęd domyślny wcisnąwszy klawisz RETURN lub spację.
 + 
 +=== (D) Directory ===
 +Ta funkcja działa tylko na dyskach w formacie SpartaDOS. Wyświetlana jest zawartość całego katalogu, łącznie z wpisami oznaczającymi pliki skasowane, nie zamknięte itp. Można też podać ścieżkę do podkatalogu, trzeba tylko pamiętać, że w programie DiskRx wszystkie ścieżki zaczynają się w katalogu głównym (niezależnie od tego, który katalog ustawiony jest jako bieżący pod DOS-em). Katalog wyświetla następujące informacje:
 + 
 +* nazwę pliku i jego rozmiar
 +* status pliku
 +* numer pierwszego sektora mapy sektorów pliku
 +* numer sektora zawierającego wpis katalogowy
 + 
 +Status jest wyświetlany na dole ekranu, a ścieżka - jeśli podano - na górze. Niektóre z kodów statusu są ważne tylko pod [[SpartaDOS X]], natomiast pod [[SpartaDOS|SpartaDOS 3.2]] są ignorowane. Są to: Archive, Hidden i Open.
 + 
 +=== (EA) Edit ASCII i (EH) Edit Hex ===
 +Kursor umieszczany jest w odpowiednim oknie edycji bieżącego sektora. Położenie kursora można zmieniać przy użyciu klawiszy kursora, edycję kończymy klawiszem Esc. Przy edycji szesnastkowej program przyjmuje jako dane tylko klawisze 0-9 i A-F, natomiast w polu edycji ASCII można wprowadzać wszystkie znaki za wyjątkiem Esc i znaków sterujących kursorem. Jeśli zachodzi potrzeba wprowadzenia tych wartości, trzeba przejść do edycji szesnastkowej i wpisać odpowiednie liczby. Wszystkie zmiany wprowadzane są natychmiast do bufora edycji, a zmienione bajty są podświetlane w oknie edycji hex. Żeby zapisać zmieniony sektor na dysku, należy użyć komendy "W".
 + 
 +=== (F) File mode ===
 +Podaje się tu nazwę pliku, jaki ma być otwarty do obróbki. Gdy podany zostanie tylko numer napędu, funkcja ta działa podobnie do "C". Trzecia możliwość to wyjście bez podawania nazwy pliku - osiąga się to przez wciśnięcie Esc lub RETURN.
 + 
 +DiskRx zakłada, że kazda podana ścieżka dostępu zaczyna się w katalogu głównym. Ścieżka dostępu do pliku niestety nie jest wyświetlana w polu informacyjnym, ze względu na niedostatek wolnego miejsca. Trzeba pamiętać o tym, że program w zasadzie nie potrzebuje ścieżki dostępu, bez tego też znajdzie plik o podanej nazwie, jednak podanie ścieżki dostępu może być niezbędne w sytuacji, kiedy na dysku znajduje się kilka kopii tego samego pliku (lub różne pliki o tej samej nazwie). Komenda "D" pozwala sprawdzić, czy zachodzi taka sytuacja. Z braku miejsca na ekranie wyświetlana ścieżka dostępu może mieć tylko do 38 znaków - jeśli ma być dłuższa, trzeba użyć jokera "*" do skracania nazw podkatalogów.
 + 
 +Gdy w ścieżce dostępu nie podano specyfikacji dysku, przeszukiwany jest dysk bieżąco wybrany w programie DiskRx. Katalogi mogą być otwierane podobnie jak pliki, wystarczy podać nazwę, przy czym nazwa katalogu głównego to "MAIN". Edycja pliku (lub katalogu) jest możliwa tylko w obszarze dysku przezeń zajętym.
 + 
 +=== (H) Hex ===
 +Przełącza wyświetlane przez program wartości numeryczne pomiędzy systemem dziesiętnym a szesnastkowym.
 + 
 +=== (M) Menu ===
 +Wywołanie na ekran ściągawki z komend programu. "P" powoduje przejście do następnej strony, Esc - wyjście. Wszystkie komendy moga być wywołane w czasie przeglądania menu i wszystkie oprócz "H", "P" oraz "Ctrl/P" powodują automatyczne opuszczenie menu i przełączenie na ekran główny.
 + 
 +=== (O) Override parameters ===
 +Ta funkcja przydaje się przy odzyskiwaniu danych na dysku, gdzie zawartość pierwszego sektora została zniszczona, a w związku z tym program nie jest w stanie rozpoznać poprawnie niektórych parametrów niezbędnych do pracy. Zmienić tu można:
 + 
 +* typ filesystemu (SpartaDOS czy nie)
 +* wielkość dysku w sektorach
 +* rozmiar sektora w bajtach
 +* status software'owego zabezpieczenia przed zapisem
 + 
 +Po ustaleniu poprawnych parametrów można je opcjonalnie zapisać do sektora nr 1, o ile nie jest fizycznie uszkodzony.
 + 
 +=== (QP) Quit program ===
 +Wyjście do DOS-u.
 + 
 +=== (R) Read sector ===
 +Odczyt sektora z dysku do bufora edycyjnego. Opcje:
 + 
 +* R - odczyt następnego sektora
 +* R n - odczyt sektora numer 'n'
 +* R L - odczyt ostatniego (last) sektora
 + 
 +W trybie dyskowym chodzi o sektory dysku, w trybie plikowym - o sektory pliku liczone od jego początku.
 + 
 +=== (SH) Search Hex i (SA) Search ASCII ===
 +Wyszukiwanie podanej sekwencji bajtów począwszy od bieżącego sektora aż do sektora ostatniego (dysku lub pliku - zależnie od trybu pracy programu). Znak '?' jest jokerem, to znaczy zastępuje każdy inny znak w wyszukiwanej sekwencji. Maksymalna długość sekwencji do wyszukania to 18 bajtów. Gdy znaleziono, w polu edycyjnym wyświetlana jest zawartość sektora, a indeks wewnątrz niego program podaje w linii komend. Pada także pytanie, czy trzeba szukać dalej. Szukanie można przerwać w dowolnym momencie przez wciśnięcie Esc.
 + 
 +=== (T) Toggle allocation ===
 +Powoduje zaznaczenie w mapie bitowej dysku niezajętego sektora jako zajętego i odwrotnie.
 + 
 +=== (W) Write sector ===
 +Zapis na dysk sektora znajdującego się w buforze edycyjnym. Opcje:
 + 
 +* W - zapis do bieżącego sektora
 +* W n - zapis do sektora o numerze 'n'
 + 
 +W trybie dyskowym chodzi o sektory dysku, w trybie plikowym - o sektory pliku liczone od jego początku.
 + 
 +=== (>) Read next i (<) Read previous ===
 +Odczyt następnego (lub poprzedniego) sektora pliku lub dysku. Dla sektorów 128-bajtowych powoduje to przejście z sektora do sektora. Dla sektorów 256-bajtowych przejście następuje albo do drugiej połówki bieżącego sektora, albo do pierwszej następnego (względnie poprzedniego).
 + 
 +Przy śledzeniu pliku, w którym są luki (tj. takiego, w którym nie wszystkie sektory zostały jeszcze przydzielone, a mapa sektorów pliku wykazuje nieciągłości), taka luka będzie wyświetlona jako pusty sektor w polu edycji, a ponadto ukaże się komunikat "Sector not allocated". W polu informacyjnym znikną też niektóre informacje, tj. numer sektora w pliku (file index), zajętość sektora i numer sektora.
 + 
 +=== (+) Scan forward i (-) Scan backward ===
 +Szybkie przeglądanie zawartości dysku lub pliku w kierunku numerów rosnących (+) lub malejących (-). W trybie plikowym program wyświetla tylko sektory danych przydzielone do pliku. Przeglądanie przerywa naciśnięcie dowolnego klawisza.
 + 
 +=== (1) Recover: Write tagged sectors to a file ===
 +Zapis zaznaczonych sektorów do pliku lub na inny dysk. Po znalezieniu poszukiwanych danych sektor trzeba zaznaczyć do zapisu wciśnięciem spacji. Taki sektor nie może być zapisany więcej niż raz. Plik zostaje zamknięty po wyjściu z funkcji klawiszem '1' lub po opuszczeniu programu DiskRx. Nb. plik z zawartością wskazanych sektorów może być zapisany tylko na inny dysk niż ten, który jest bieżąco otwarty do edycji, a to dlatego, że głównym przeznaczeniem opisywanej funkcji programu jest odzyskiwanie danych z dysku, na którym została zniszczona struktura katalogów.
 + 
 +=== (2) Recover: Create a file from a sector map ===
 +Zapis pliku na inny dysk na podstawie wskazanej na bieżąco obrabianym dysku mapy sektorów pliku. Podobnie jak powyżej, przydatne jest to od odzyskiwania plików z dysku o zniszczonej strukturze katalogowej.
 +
 +=== (3) Recover: Create a new directory entry from a sector map ===
 +Utworzenie nowego wpisu katalogowego na podstawie wskazanej mapy sektorów pliku. Trzeba podać nazwę pliku i (opcjonalnie) ściezkę dostępu. Nowy wpis katalogowy jest zawsze dodawany na końcu wskazanego katalogu, trzeba przy tym pamiętać, że [[SpartaDOS]] ogranicza liczbę wpisów w jednym katalogu do 127 (to ograniczenie nie dotyczy wszelako [[SpartaDOS X]]). Nowy wpis dostaje status zwykłego pliku, jeśli ma to być katalog, status trzeba zmienić ręcznie. Jako czas modyfikacji pliku przyjmowana jest bieżąca data i godzina. Koniec katalogu jest wskazywany bajtem statusu o wartości zero, opisywana funkcja dokonuje zapisu w to miejsce, jeśli więc zachodzi potrzeba nadpisania innego wpisu katalogowego, wystarczy wyzerować jego bajt statusu. ''Patrz też instrukcja obsługi SpartaDOS, rozdział 19''.
 + 
 +=== (4) Recover: Write buffer to any drive/sector ===
 +Zapis bufora edycyjnego do dowolnego sektora dowolnego dysku. Bardzo przydatne w sytuacji, kiedy skasowana została zawartość sektora nr 1 któregoś z dysków - można wtedy wziąć takowy z innego dysku w formacie SpartaDOS, a następnie przy użyciu tej funkcji zapisać tam, gdzie trzeba i ręcznie poprawić tak, żeby wszystko pasowało (jeśli dyski są tych samych rozmiarów, można do tego użyć programu [[CleanUp]]). Inne możliwe zastosowanie tej funkcji to zapis sektorów systemowych do pliku celem analizy. ''Patrz też instrukcja obsługi SpartaDOS, rozdział 19''.
 + 
 +== Pozostała klawiszologia ==
 + 
 +=== Ctrl/P ===
 +Włącza i wyłącza zapis na drukarkę. Program drukuje odczyty sektorów oraz katalogi. Jeśli drukarka nie jest podłączona, ta funkcja nie będzie widoczna w menu.
 + 
 +=== Esc ===
 +Klawisz Esc powoduje opuszczenie dowolnej funkcji programu DiskRx. Jest to zwykły sposób opuszczenia funkcji Menu, Override, Directory oraz pól edycyjnych.
 + 
 +== Inne uwagi ==
 + 
 +DiskRx ma dwa typy komunikatów błędów:
 + 
 +* "Disk error# [x] at sector [y]" - odnosi się do błędów odczytu lub zapisu na dysk, który jest otwarty do edycji. Najczęściej występujące kody błędów to 138 dla dysku, którego nie ma (nie zgłasza się), albo 144 przy wadliwym sektorze.
 + 
 +* "System error# [x]" odnosi się do błędu wykrytego przez SpartaDOS i wystąpi na ogół w przypadku zastosowania funkcji odzyskiwania (recovery) danych (1) i (2), albo przy podawaniu nazwy pliku tudzieź ścieżki dosŧępu, jeśli są błędne.
 + 
 +Przy obróbce dysku, który nie jest zapisany w formacie SpartaDOS, program może pracować tylko w trybie dyskowym. Komendy "D", "F", "T", "2", "3" nie mogą być użyte.
 + 
 +Po uruchomieniu DiskRx próbuje zmapować strukturę katalogową wybranego dysku. Kiedy jest ona zniszczona, może się to nie udać. Jeśli mapowanie nie przebiega pomyślnie, zawsze można je przerwać klawiszem Esc. Program będzie wtedy pracował w trybie dyskowym a rozróżnianymi typami sektorów będą tylko BOOT i DATA.
 + 
 +Przy wejściu w tryb plikowy program próbuje zmapować sektory pliku, co też można przerwać klawiszem Esc, jeśli operacja ta nie przebiega pomyślnie. Powodem problemów może być zniszczona mapa sektorów wybranego pliku.
 + 
 +Jeśli zniszczona jest zawartość sektora nr 1, program może nie być w stanie ustalić poprawnych parametrów pracy dla tego dysku. Wyświetli wtedy komunikat "Unable to read boot sector" i poprosi o ponowne podanie specyfikacji dysku. Można wtedy wcisnąć Esc, a potem ustawić parametry dysku ręcznie przez funkcję "O" (Override) i w ten sposób uzyskać dostęp do danych.
 + 
 +Funkcje edycyjne przeznaczone są do naprawiania zniszczonej struktury systemu plików. Funkcje plikowe mają zastosowanie przy odzyskiwaniu straconych danych lub odbudowywaniu zniszczonych katalogów. Niemniej program może tez być użyty do wstawiania łatek do istniejących programów, zmiany znajdujących się w nich komunikatów itp.
 + 
 +== Podobne programy ==
 + 
 +* [[Eddy]]
 +* [[Sherlock]]
 +* [[Szperacz Dyskowy]]
 +* [[UMON XL]]
 +* [[Watson]]
 +* [[Watson II]]
-{{stub}} 
[[Kategoria:Oprogramowanie Atari 8-bit]] [[Kategoria:Oprogramowanie Atari 8-bit]]
 +[[Kategoria:Programy użytkowe]]

Aktualna wersja

Grafika:diskrx1.png

Wydany przez ICD, Inc., dość rozbudowany monitor dyskowy. Ma wiele opcji specyficznych dla formatu SpartaDOS, pozwala też na otwieranie do edycji plików i katalogów. Ostatnia wersja nosi numer 1.9. Napisany w języku Action!, autorem jest Howard Peters. DiskRx rozprowadzany był jako część pakietu SpartaDOS Toolkit.

Informacje poniżej to przekład firmowej instrukcji do programu znajdującej się na stronach 9-16 dokumentacji SpartaDOS Toolkit.

Spis treści

Przeznaczenie

Program przeznaczony jest do edycji dyskietek w formacie SpartaDOS, śledzenia struktury plików i map sektorów, odzyskiwania zniszczonych katalogów itp. Większość funkcji programu działa tylko na dyskach z systemem plików SpartaDOS-u, ale program można zastosować też do prostych edycji dyskietek w innych formatach.

DiskRx ma dwa tryby pracy: tryb dyskowy i tryb plikowy. Ten drugi może być użyty tylko na dyskach w formacie SpartaDOS. W trybie dyskowym program udostępnia do edycji sektory całego dysku, natomiast w trybie plikowym dostępne sa tylko sektory należące do wskazanego pliku (lub katalogu).

Składnia

  1. DISKRX
  2. DISKRX Dn:
  3. DISKRX [Dn:][path>]filename.ext

W pierwszym przypadku program po uruchomieniu zapyta o numer dysku, jaki ma być otwarty do edycji. W przypadku drugim otwarcie dysku nastąpi automatycznie, a w przypadku trzecim automatycznie nastąpi otwarcie pliku (w trybie plikowym), o ile tylko taki istnieje. Jeśli wskazanego pliku nie ma, następuje otwarcie dysku, na którym miał się on znajdować. Jeśli nie podano numeru napędu, przyjmowany jest napęd domyślny (czyli ten, który jest bieżąco ustawiony w COMMAND.COM). Podawanie ściezki nie jest konieczne - jeśli nie jest podana, DiskRx przeskanuje katalogi wskazanego dysku i otworzy do edycji pierwszy znaleziony plik o podanej nazwie.

Opis

Grafika:diskrx.png

Po uruchomieniu program zgłasza się tak jak to widać na załączonym obrazku. Na samym dole ekranu widnieje linia z podpowiedzią, jak wyświetlić menu oraz jak opuścić program. O linijkę wyżej znajduje się linia poleceń, która ponadto służy do wyświetlania komunikatów. Wyżej jest pole z informacjami o bieżących parametrach pracy programu: trybie, numerze dysku lub nazwie pliku otwartego do edycji, numerze sektora, typie sektora, jego rozmiarze, typie systemu plików oraz czy bieżący sektor jest w mapie bitowej zaznaczony jako zajęty czy nie. W trybie plikowym wyświetlane sa ponadto: numer pierwszego sektora mapy pliku, numer pierwszego sektora danych, numer kolejny sektora w pliku.

Typ sektora reprezentowany jest przez czteroliterowy skrót. DiskRx rozróżnia siedem typów:

  • BOOT - sektory od 1 do 3
  • BMAP - sektor mapy bitowej dysku
  • DIRM - mapa sektorów głównego katalogu
  • MDIR - sektory danych katalogu głównego
  • SUBM - mapa sektorów podkatalogu
  • SDIR - sektory danych podkatalogu
  • DATA - wszystkie inne sektory

Na dyskach w formacie obcym dla SpartaDOS, albo na dyskach SpartaDOS, gdzie z powodu uszkodzenia filesystemu program nie jest w stanie przeskanować katalogów, rozróżniane są tylko sektory BOOT i DATA.

Rozmiar sektora to 128 lub 256 bajtów. Typ systemu plików to SpartaDOS (literka 'Y' w polu oznaczonym "sparta") lub każdy inny. Zajętość sektora oznaczona jest przez 'Y' lub 'N' w polu "alloc".

Powyżej pola informacyjnego znajduje się obszar edycyjny. Dzieli się on na dwie części: zawartość bieżącego sektora wyświetlana jest w postaci liczb szesnastkowych po lewej stronie ekranu oraz jako znaki ATASCII po stronie prawej. Na lewym skraju ekranu widnieją indeksy pozwalające zorientowac się w położeniu bajtów w sektorze; mają one zakres od $00 do $78 dla sektorów 128-bajtowych, lub od $00 do $F8 dla sektorów 256-bajtowych. Każdy wiersz obszaru edycyjnego reprezentuje osiem bajtów sektora. Sektory 128-bajtowe wyświetlane są na ekranie w całości, natomiast sektory 256-bajtowe zajmują dwa ekrany. Wciśnięcie ">" powoduje przejście do drugiej połówki sektora, a "<" - powrót do pierwszej.

Menu stanowi rodzaj ściągawki z funkcji dostępnych za pośrednictwem linii poleceń. Po opanowaniu klawiszologii przez użytkownika menu jest w zasadzie niepotrzebne. DiskRx jest ogólnie przyjazny i łatwy w użytkowaniu.

Komendy dostępne z linii poleceń

(A) Arithmetic conversion

Przeprowadza konwersję liczb pomiędzy systemami szesnastkowym, dziesiętnym i binarnym. Domyślny jest system dziesiętny, przełączenie w binarny następuje po wciśnięciu "B",a w szesnastkowy - po wciśnięciu "H" lub "$". Po wprowadzeniu liczby, która ma zostac przeliczona na inny system, trzeba nacisnąć klawisz RETURN lub spację, a potem wskazać system, na jaki ma zostać dokonana konwersja: "D" dziesiętny, "B" binarny lub "H"/"$" szesnastkowy. W każdej fazie wyświetlana jest jasna podpowiedź programu, co robić dalej.

Próby konwersji do tego samego systemu (np. z binarnego na binarny) są ignorowane.

(B) Blank sector

Powoduje wyzerowanie bufora edycyjnego. Można tam potem wpisać potrzebne dane ręcznie, a następnie zapisać we wskazanym miejscu dysku lub pliku.

(C) Change disk

Zmiana dyskietki w napędzie, numeru napędu lub trybu pracy. Przy pracy z dyskiem zapisanym w formacie SpartaDOS wybranie tej funkcji powoduje ponowne odczytanie drzewa podkatalogów. Przydaje się to przy odzyskiwaniu zniszczonej struktury katalogów, żeby zobaczyć, czy prace postępują prawidłowo. W trybie plikowym wybranie tej funkcji powoduje przejście do trybu dyskowego. W takiej sytuacji użytkownik proszony jest o wybranie numeru napędu przez wciśnięcie jednego z klawiszy z zakresu od '1' do '8'. Można też wybrac napęd domyślny wcisnąwszy klawisz RETURN lub spację.

(D) Directory

Ta funkcja działa tylko na dyskach w formacie SpartaDOS. Wyświetlana jest zawartość całego katalogu, łącznie z wpisami oznaczającymi pliki skasowane, nie zamknięte itp. Można też podać ścieżkę do podkatalogu, trzeba tylko pamiętać, że w programie DiskRx wszystkie ścieżki zaczynają się w katalogu głównym (niezależnie od tego, który katalog ustawiony jest jako bieżący pod DOS-em). Katalog wyświetla następujące informacje:

  • nazwę pliku i jego rozmiar
  • status pliku
  • numer pierwszego sektora mapy sektorów pliku
  • numer sektora zawierającego wpis katalogowy

Status jest wyświetlany na dole ekranu, a ścieżka - jeśli podano - na górze. Niektóre z kodów statusu są ważne tylko pod SpartaDOS X, natomiast pod SpartaDOS 3.2 są ignorowane. Są to: Archive, Hidden i Open.

(EA) Edit ASCII i (EH) Edit Hex

Kursor umieszczany jest w odpowiednim oknie edycji bieżącego sektora. Położenie kursora można zmieniać przy użyciu klawiszy kursora, edycję kończymy klawiszem Esc. Przy edycji szesnastkowej program przyjmuje jako dane tylko klawisze 0-9 i A-F, natomiast w polu edycji ASCII można wprowadzać wszystkie znaki za wyjątkiem Esc i znaków sterujących kursorem. Jeśli zachodzi potrzeba wprowadzenia tych wartości, trzeba przejść do edycji szesnastkowej i wpisać odpowiednie liczby. Wszystkie zmiany wprowadzane są natychmiast do bufora edycji, a zmienione bajty są podświetlane w oknie edycji hex. Żeby zapisać zmieniony sektor na dysku, należy użyć komendy "W".

(F) File mode

Podaje się tu nazwę pliku, jaki ma być otwarty do obróbki. Gdy podany zostanie tylko numer napędu, funkcja ta działa podobnie do "C". Trzecia możliwość to wyjście bez podawania nazwy pliku - osiąga się to przez wciśnięcie Esc lub RETURN.

DiskRx zakłada, że kazda podana ścieżka dostępu zaczyna się w katalogu głównym. Ścieżka dostępu do pliku niestety nie jest wyświetlana w polu informacyjnym, ze względu na niedostatek wolnego miejsca. Trzeba pamiętać o tym, że program w zasadzie nie potrzebuje ścieżki dostępu, bez tego też znajdzie plik o podanej nazwie, jednak podanie ścieżki dostępu może być niezbędne w sytuacji, kiedy na dysku znajduje się kilka kopii tego samego pliku (lub różne pliki o tej samej nazwie). Komenda "D" pozwala sprawdzić, czy zachodzi taka sytuacja. Z braku miejsca na ekranie wyświetlana ścieżka dostępu może mieć tylko do 38 znaków - jeśli ma być dłuższa, trzeba użyć jokera "*" do skracania nazw podkatalogów.

Gdy w ścieżce dostępu nie podano specyfikacji dysku, przeszukiwany jest dysk bieżąco wybrany w programie DiskRx. Katalogi mogą być otwierane podobnie jak pliki, wystarczy podać nazwę, przy czym nazwa katalogu głównego to "MAIN". Edycja pliku (lub katalogu) jest możliwa tylko w obszarze dysku przezeń zajętym.

(H) Hex

Przełącza wyświetlane przez program wartości numeryczne pomiędzy systemem dziesiętnym a szesnastkowym.

(M) Menu

Wywołanie na ekran ściągawki z komend programu. "P" powoduje przejście do następnej strony, Esc - wyjście. Wszystkie komendy moga być wywołane w czasie przeglądania menu i wszystkie oprócz "H", "P" oraz "Ctrl/P" powodują automatyczne opuszczenie menu i przełączenie na ekran główny.

(O) Override parameters

Ta funkcja przydaje się przy odzyskiwaniu danych na dysku, gdzie zawartość pierwszego sektora została zniszczona, a w związku z tym program nie jest w stanie rozpoznać poprawnie niektórych parametrów niezbędnych do pracy. Zmienić tu można:

  • typ filesystemu (SpartaDOS czy nie)
  • wielkość dysku w sektorach
  • rozmiar sektora w bajtach
  • status software'owego zabezpieczenia przed zapisem

Po ustaleniu poprawnych parametrów można je opcjonalnie zapisać do sektora nr 1, o ile nie jest fizycznie uszkodzony.

(QP) Quit program

Wyjście do DOS-u.

(R) Read sector

Odczyt sektora z dysku do bufora edycyjnego. Opcje:

  • R - odczyt następnego sektora
  • R n - odczyt sektora numer 'n'
  • R L - odczyt ostatniego (last) sektora

W trybie dyskowym chodzi o sektory dysku, w trybie plikowym - o sektory pliku liczone od jego początku.

(SH) Search Hex i (SA) Search ASCII

Wyszukiwanie podanej sekwencji bajtów począwszy od bieżącego sektora aż do sektora ostatniego (dysku lub pliku - zależnie od trybu pracy programu). Znak '?' jest jokerem, to znaczy zastępuje każdy inny znak w wyszukiwanej sekwencji. Maksymalna długość sekwencji do wyszukania to 18 bajtów. Gdy znaleziono, w polu edycyjnym wyświetlana jest zawartość sektora, a indeks wewnątrz niego program podaje w linii komend. Pada także pytanie, czy trzeba szukać dalej. Szukanie można przerwać w dowolnym momencie przez wciśnięcie Esc.

(T) Toggle allocation

Powoduje zaznaczenie w mapie bitowej dysku niezajętego sektora jako zajętego i odwrotnie.

(W) Write sector

Zapis na dysk sektora znajdującego się w buforze edycyjnym. Opcje:

  • W - zapis do bieżącego sektora
  • W n - zapis do sektora o numerze 'n'

W trybie dyskowym chodzi o sektory dysku, w trybie plikowym - o sektory pliku liczone od jego początku.

(>) Read next i (<) Read previous

Odczyt następnego (lub poprzedniego) sektora pliku lub dysku. Dla sektorów 128-bajtowych powoduje to przejście z sektora do sektora. Dla sektorów 256-bajtowych przejście następuje albo do drugiej połówki bieżącego sektora, albo do pierwszej następnego (względnie poprzedniego).

Przy śledzeniu pliku, w którym są luki (tj. takiego, w którym nie wszystkie sektory zostały jeszcze przydzielone, a mapa sektorów pliku wykazuje nieciągłości), taka luka będzie wyświetlona jako pusty sektor w polu edycji, a ponadto ukaże się komunikat "Sector not allocated". W polu informacyjnym znikną też niektóre informacje, tj. numer sektora w pliku (file index), zajętość sektora i numer sektora.

(+) Scan forward i (-) Scan backward

Szybkie przeglądanie zawartości dysku lub pliku w kierunku numerów rosnących (+) lub malejących (-). W trybie plikowym program wyświetla tylko sektory danych przydzielone do pliku. Przeglądanie przerywa naciśnięcie dowolnego klawisza.

(1) Recover: Write tagged sectors to a file

Zapis zaznaczonych sektorów do pliku lub na inny dysk. Po znalezieniu poszukiwanych danych sektor trzeba zaznaczyć do zapisu wciśnięciem spacji. Taki sektor nie może być zapisany więcej niż raz. Plik zostaje zamknięty po wyjściu z funkcji klawiszem '1' lub po opuszczeniu programu DiskRx. Nb. plik z zawartością wskazanych sektorów może być zapisany tylko na inny dysk niż ten, który jest bieżąco otwarty do edycji, a to dlatego, że głównym przeznaczeniem opisywanej funkcji programu jest odzyskiwanie danych z dysku, na którym została zniszczona struktura katalogów.

(2) Recover: Create a file from a sector map

Zapis pliku na inny dysk na podstawie wskazanej na bieżąco obrabianym dysku mapy sektorów pliku. Podobnie jak powyżej, przydatne jest to od odzyskiwania plików z dysku o zniszczonej strukturze katalogowej.

(3) Recover: Create a new directory entry from a sector map

Utworzenie nowego wpisu katalogowego na podstawie wskazanej mapy sektorów pliku. Trzeba podać nazwę pliku i (opcjonalnie) ściezkę dostępu. Nowy wpis katalogowy jest zawsze dodawany na końcu wskazanego katalogu, trzeba przy tym pamiętać, że SpartaDOS ogranicza liczbę wpisów w jednym katalogu do 127 (to ograniczenie nie dotyczy wszelako SpartaDOS X). Nowy wpis dostaje status zwykłego pliku, jeśli ma to być katalog, status trzeba zmienić ręcznie. Jako czas modyfikacji pliku przyjmowana jest bieżąca data i godzina. Koniec katalogu jest wskazywany bajtem statusu o wartości zero, opisywana funkcja dokonuje zapisu w to miejsce, jeśli więc zachodzi potrzeba nadpisania innego wpisu katalogowego, wystarczy wyzerować jego bajt statusu. Patrz też instrukcja obsługi SpartaDOS, rozdział 19.

(4) Recover: Write buffer to any drive/sector

Zapis bufora edycyjnego do dowolnego sektora dowolnego dysku. Bardzo przydatne w sytuacji, kiedy skasowana została zawartość sektora nr 1 któregoś z dysków - można wtedy wziąć takowy z innego dysku w formacie SpartaDOS, a następnie przy użyciu tej funkcji zapisać tam, gdzie trzeba i ręcznie poprawić tak, żeby wszystko pasowało (jeśli dyski są tych samych rozmiarów, można do tego użyć programu CleanUp). Inne możliwe zastosowanie tej funkcji to zapis sektorów systemowych do pliku celem analizy. Patrz też instrukcja obsługi SpartaDOS, rozdział 19.

Pozostała klawiszologia

Ctrl/P

Włącza i wyłącza zapis na drukarkę. Program drukuje odczyty sektorów oraz katalogi. Jeśli drukarka nie jest podłączona, ta funkcja nie będzie widoczna w menu.

Esc

Klawisz Esc powoduje opuszczenie dowolnej funkcji programu DiskRx. Jest to zwykły sposób opuszczenia funkcji Menu, Override, Directory oraz pól edycyjnych.

Inne uwagi

DiskRx ma dwa typy komunikatów błędów:

  • "Disk error# [x] at sector [y]" - odnosi się do błędów odczytu lub zapisu na dysk, który jest otwarty do edycji. Najczęściej występujące kody błędów to 138 dla dysku, którego nie ma (nie zgłasza się), albo 144 przy wadliwym sektorze.
  • "System error# [x]" odnosi się do błędu wykrytego przez SpartaDOS i wystąpi na ogół w przypadku zastosowania funkcji odzyskiwania (recovery) danych (1) i (2), albo przy podawaniu nazwy pliku tudzieź ścieżki dosŧępu, jeśli są błędne.

Przy obróbce dysku, który nie jest zapisany w formacie SpartaDOS, program może pracować tylko w trybie dyskowym. Komendy "D", "F", "T", "2", "3" nie mogą być użyte.

Po uruchomieniu DiskRx próbuje zmapować strukturę katalogową wybranego dysku. Kiedy jest ona zniszczona, może się to nie udać. Jeśli mapowanie nie przebiega pomyślnie, zawsze można je przerwać klawiszem Esc. Program będzie wtedy pracował w trybie dyskowym a rozróżnianymi typami sektorów będą tylko BOOT i DATA.

Przy wejściu w tryb plikowy program próbuje zmapować sektory pliku, co też można przerwać klawiszem Esc, jeśli operacja ta nie przebiega pomyślnie. Powodem problemów może być zniszczona mapa sektorów wybranego pliku.

Jeśli zniszczona jest zawartość sektora nr 1, program może nie być w stanie ustalić poprawnych parametrów pracy dla tego dysku. Wyświetli wtedy komunikat "Unable to read boot sector" i poprosi o ponowne podanie specyfikacji dysku. Można wtedy wcisnąć Esc, a potem ustawić parametry dysku ręcznie przez funkcję "O" (Override) i w ten sposób uzyskać dostęp do danych.

Funkcje edycyjne przeznaczone są do naprawiania zniszczonej struktury systemu plików. Funkcje plikowe mają zastosowanie przy odzyskiwaniu straconych danych lub odbudowywaniu zniszczonych katalogów. Niemniej program może tez być użyty do wstawiania łatek do istniejących programów, zmiany znajdujących się w nich komunikatów itp.

Podobne programy

Personal tools