KMK/JŻ IDE FDISK II
From Atariki
←Older revision | Newer revision→
Podstawowy program użytkowy dla posiadaczy interfejsu KMK/JŻ IDE, mający zastąpić używany dotychczas program FDISK v.1.40. Napisany w asemblerze MAE. FDISK II nie jest wersją rozwojową FDISK-a v.1.40, jest napisany kompletnie od podstaw. Bieżąca wersja ma numer 2.5. Autorem jest KMK.
Spis treści |
Menu wyboru dysków
Bezpośrednio po starcie program próbuje skomunikować się z obydwoma dyskami (master i slave) i odczytać ich konfigurację. Dysk master (napęd numer 0) musi się zgłosić, jeśli program stwierdzi jego brak, natychmiast kończy działanie. Dysku slave (napęd numer 1) może nie być.
Pierwsze wyświetlone menu jest listą dostępnych dysków. Lista ta liczy jedną lub dwie pozycje w zależności od tego, czy program wykrył dysk slave. Wyboru napędu dokonuje się klawiszami kursora (góra/dół). Nazwa wybranego napędu na liście powinna zostać podświetlona, a jego geometria wyświetlona na dole ekranu. Wybór zatwierdza się klawiszem RETURN.
Lista partycji
Po wybraniu napędu otwiera się lista partycji znajdujących się na dysku. Liczy ona sześć kolumn, licząc od lewej strony:
- # - numery kolejne partycji.
- Phys size - fizyczny rozmiar (w sektorach 512-bajtowych) każdej partycji.
- Log size - rozmar każdej partycji w sektorach logicznych, według rozmiaru wybranego w następnej kolumnie.
- BPS - rozmiar sektora logicznego w bajtach.
- PSt - status partycji (wybór przez Control/A):
- Act - partycja aktywna (włączona)
- --- - partycja nieaktywna (wyłączona)
- Atr - atrybuty partycji:
- B (jak boot) - partycja startowa (wybór przez Control/B).
- R (jak redirect) - partycja, na którą będą przekierowane odwołania do D1: (wybór przez Control/R).
- L (jak locked) - partycja zabezpieczona przed zapisem (wybór przez Control/L).
Wyboru partycji dokonuje się klawiszami kursora "góra/dół". Klawiszami kursora "lewo/prawo", a także klawiszem TAB można przejść do wyboru rozmiaru sektora (kolumna BPS). Jest to możliwe dla wszystkich wpisów za wyjątkiem pierwszego, tj. MBR.
Zmiany wielkości sektora (w kolumnie BPS) powodują zmiany rozmiaru partycji mierzonego w sektorach logicznych, np. jeśli partycję o wielkości 65534 256-bajtowych sektorów logicznych przełączymy na 512 BPS, jej wielkość logiczna zmieni się na 32767 sektorów, a rozmiar fizyczny oraz rozmieszczenie pozostałych partycji pozostanie bez zmian. Przełączenie z 256 na 128 BPS nie powoduje zmiany liczby sektorów logicznych.
MBR
Pierwszy wpis, oznaczony numerem 00 nie dotyczy partycji lecz tzw. MBR (Master Boot Record). Jest to obszar, w którym znajduje się tablica partycji, a który odczytywany jest przez sterownik interfejsu podczas każdego restartu systemu (zimnego lub ciepłego). Jedynym parametrem MBR, jaki można zmienić, jest rozmiar liczony w sektorach 512-bajtowych - aczkolwiek normalnie nie ma potrzeby tego czynić. Pozostałe parametry są stałe. Co prawda atrybuty MBR można zmieniać, jednak nie są to w istocie atrybuty MBR, lecz raczej całego napędu:
- S (jak slave) - jeśli tę literkę widać na ekranie, to znaczy, że interfejs będzie próbował zainicjować dysk slave podczas każdego startu systemu (zimnego albo ciepłego). Funkcja ta jest zaimplementowana w IDE BIOS v.1.5 i późniejszych, we wcześniejszych wersjach firmware'u nie będzie to działać (trzeba inicjować slave'a ręcznie programem SLAVE.COM). Wybór funkcji przez Control/S.
- C (jak custom boot) - aktywowanie własnej procedury bootującej. W FDISK 1.40 ta funkcja nazywała się Boot: control. Wybór jej jest konieczny pod standardowym XL OS-em wtedy i tylko wtedy, kiedy bootujemy system z dysku innego niż D1. Wybór przez Control/C. UWAGA: Użytkownicy kartridża SpartaDOS X powinni zostawić tę funkcję wyłączoną, włączenie jej uniemożliwia zainicjowanie tego DOS-u.
Kolumna Phys size może zostać przełączona na Starts at. W tym trybie pokazuje ona numery sektorów fizycznych, od których zaczynają się partycje. Przełączenia trybu wyświetlania w tę i z powrotem dokonuje się przez Control/D (jak Display mode).
Klawiszologia
Wciśnięcie RETURN powoduje przejście do edycji wybranego pola w kolumnie Log size. Można wpisać dowolną liczbę całkowitą z zakresu od 0 do 16777215 - UWAGA: program nie sprawdza, czy ta liczba ma sens. Przekroczenie rozmiaru dysku nie powoduje błędu, tylko liczba pozostałych do dyspozycji sektorów, wyświetlana na dole ekranu, będzie ujemna. Wpisany numer zatwierdza się klawiszem RETURN; wciśnięcie Esc powoduje opuszczenie edycji bez zapamiętania wprowadzonych zmian.
Poza tym menu listy partycji rozpoznaje jedenaście funkcji wybieranych kombinacjami Control/klawisz. Są one w większości wymienione w ramce znajdującej się w górnym prawym rogu ekranu. Zawartość ramki ma charakter informacyjny i służy odświeżaniu pamięci użytkownika; ramka ma trzy "fazy", w których wyświetla odmienne funkcje, ale te kombinacje klawiszy działają zawsze niezależnie od tego, którą "fazę" ramka w danej chwili wyświetla. Przełączanie faz ramki odbywa się przez Control/M (jak more).
Tych jedenaście funkcji podzielonych jest na trzy grupy:
- Funkcje dotyczące całego dysku:
- Write (Control/W) - zapis tablicy partycji na dysk
- Erase (Control/E) - skasowanie (wyzerowanie) znajdującej się w pamięci tablicy partycji
- Undo (Control/U) - odwołanie wszystkich dokonanych zmian i przywrócenie tablicy partycji do takiego stanu, jaki jest zapisany na dysku. UWAGA: undo nie jest możliwe po wywołaniu funkcji write!
- Slave (Control/S) - aktywowanie kodu inicjującego dysk slave przy każdym resecie (tylko BIOS v.>= 1.5).
- Custom boot (Control/C) - aktywowanie własnej procedury bootującej.
- Funkcje dotyczące pojedynczej partycji:
- Lock (Control/L) - zabezpieczenie partycji przez zapisem.
- Redir (Control/R) - przekierowanie na wybraną partycję odwołań wysyłanych do D1:
- Boot (Control/B) - ustawienie wybranej partycji jako bootującej.
- Active (Control/A) - aktywowanie partycji. Bez tego pozostanie głucha na wywołania robione przez programy.
- Funkcje wybierające tryby pracy programu FDISK:
- Display mode (Control/D) - przełączenie drugiej kolumny listy w tryb wyświetlania numerów początkowych sektorów partycji, i z powrotem.
- Save preferences (Control/P) - ta opcja jest dostępna w wersji FDISK II >= 2.2. Nie widać jej w menu (dostępna jest dla tych, co czytają dokumentację). Zapisuje ona do pliku konfiguracyjnego stan trybu wyświetlania listy partycji (wybieranego przez Ctrl/D) oraz informację, czy program przy starcie ma sprawdzać dysk Slave (wybiera się to przez Ctrl/S).
Wciśnięcie Esc powoduje opuszczenie listy partycji i powrót do menu wyboru dysków. Wiąże się to z utratą dokonanych zmian, dlatego jeśli w ogóle jakieś zmiany były, program prosi o potwierdzenie przez wciśnięcie klawisza 'Y'.
Dalsze czynności
Przy pierwszym partycjonowaniu dysku, po wyjściu z programu FDISK II należy nacisnąć klawisz RESET, gdyż program wprawdzie zapisuje nową tablicę partycji na dysk, ale jej za pierwszym razem nie aktywuje. Jest to ukłon w stronę MyDOS-a, w którym DUP.SYS jest nierezydentny, i w przypadku braku ramdysku po spartycjonowaniu dysku były problemy z powrotem do menu DOS-u.
Znane niedociągnięcia
- v.2.0: błąd w użytej bibliotece libide.mae powodował, że program przyjmował dla dysku slave wszystkie parametry dysku master. Była to raczej duża porażka, dlatego po paru godzinach FDISK v.2.0 został zastąpiony przez pozbawiony tego błędu FDISK II v.2.1.
- v.2.0/v.2.1: program nie daje dostępu do szesnastej partycji; no faktycznie. Okazało się, że ktoś z takowej korzysta. Poprawione w v.2.2.
- v.2.0/v.2.1: program powinien dawać się konfigurować i zapamiętywać wybraną przez użytkownika konfigurację; zwłaszcza powinno być możliwe wyłączanie testowania dysku slave na starcie (dla tych, którzy podłączają z zasady tylko jeden dysk); poza tym powinno być możliwe wybranie dowolnego z dwóch trybów wyświetlania jako domyślnego. Poprawione w v.2.2.
- v.2.0/v.2.1/v.2.2: opcja "Custom boot" nie działa prawidłowo z powodu błędów w zapisywanym na dysku programie bootującym. Poprawione w v.2.3. Ten błąd nie jest obecny w v.1.40.