SpartaDOS

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 12:19, 2 paź 2006
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 17:14, 2 paź 2006
KMK (Dyskusja | wkład)

Next diff →
Linia 14: Linia 14:
Obsługuje praktycznie wszystkie pojemności dyskietek (oraz oczywiście dyski twarde) aż do 16MB pojemności (65536 sektorów po 256 bajtów) na jedną partycję (może ich być osiem). SpartaDOS X w wersjach do 4.22 włącznie obsługuje dziewięć dysków (wciąż po 16 MB), a w wersji 4.39 - piętnaście po 32 MB. Obsługuje praktycznie wszystkie pojemności dyskietek (oraz oczywiście dyski twarde) aż do 16MB pojemności (65536 sektorów po 256 bajtów) na jedną partycję (może ich być osiem). SpartaDOS X w wersjach do 4.22 włącznie obsługuje dziewięć dysków (wciąż po 16 MB), a w wersji 4.39 - piętnaście po 32 MB.
 +
 +SpartaDOS 2.x i 3.x dopuszczają do 126 wpisów w podkatalogu. SpartaDOS X zwiększa ten limit do 1423 wpisów.
Trzeba podkreślić, że format ten jako jedyny na ośmiobitowym Atari pozwala na swobodny dostęp do danych zgromadzonych wewnątrz pliku - a SpartaDOS jako jedyny DOS implementuje ekwiwalent znanej z innych systemów funkcji seek(). Trzeba podkreślić, że format ten jako jedyny na ośmiobitowym Atari pozwala na swobodny dostęp do danych zgromadzonych wewnątrz pliku - a SpartaDOS jako jedyny DOS implementuje ekwiwalent znanej z innych systemów funkcji seek().

Wersja z dnia 17:14, 2 paź 2006

Grafika:spartados.png

Najbardziej zaawansowany DOS dla Atari XL/XE. Powstał w amerykańskiej firmie ICD, Inc. w połowie lat osiemdziesiątych. Znane wersje:

  • SpartaDOS 1.1 - komercyjny DOS dla komputerów serii 400/800, posługujący się też nieco innym od reszty wersji formatem dyskietek; wydany przez ICD.
  • SpartaDOS 2.3 - komercyjny DOS dla komputerów serii XL/XE, wydany przez ICD.
  • SpartaDOS 3.2 - komercyjny DOS dla komputerów serii XL/XE, wydany przez ICD.
  • SpartaDOS 3.3 - wydana przez FTe jako shareware nieco zmodyfikowana wersja SpartaDOS 3.2
  • SpartaDOS X 4.17-4.21 - opracowana zupełnie od nowa wersja SpartaDOS, wydana przez ICD na module ROM.
  • SpartaDOS X 4.22 - nieco zmodyfikowana - nie zawsze na korzyść - wersja SpartaDOS X wydana przez FTe
  • SpartaDOS X 4.39RC - aktualizacja wersji 4.22, z poprawkami błędów, nowymi programami użytkowymi, sterownikami itp., przygotowywana przez DLT [1].

SpartaDOS pracuje z dyskietkami w formacie niezgodnym z innymi DOSami. Standardowo instalowany jest sterownik zapewniający obsługę formatu AtariDOS 2, lecz - w wersji 'X' DOS-u - może on nie być ładowany do pamięci.

Obsługuje praktycznie wszystkie pojemności dyskietek (oraz oczywiście dyski twarde) aż do 16MB pojemności (65536 sektorów po 256 bajtów) na jedną partycję (może ich być osiem). SpartaDOS X w wersjach do 4.22 włącznie obsługuje dziewięć dysków (wciąż po 16 MB), a w wersji 4.39 - piętnaście po 32 MB.

SpartaDOS 2.x i 3.x dopuszczają do 126 wpisów w podkatalogu. SpartaDOS X zwiększa ten limit do 1423 wpisów.

Trzeba podkreślić, że format ten jako jedyny na ośmiobitowym Atari pozwala na swobodny dostęp do danych zgromadzonych wewnątrz pliku - a SpartaDOS jako jedyny DOS implementuje ekwiwalent znanej z innych systemów funkcji seek().

Istnieje także stworzony przez BeWeSofta klon SpartaDOS - BW-DOS.

Program ładujący SpartaDOS

Program ten znajduje się w pierwszych trzech sektorach dyskietki sformatowanej przez SpartaDOS. W odróżnieniu od loaderów innych DOSów, loader SpartaDOS jest w stanie wczytywać standardowe pliki binarne (COM). Takim plikiem jest też plik *.DOS zawierający SpartaDOS.

Loader SpartaDOS, głównie z powodu konieczności zmieszczenia się w przestrzeni niewiele większej niż 256 bajtów, ma następujące ograniczenia:

  • plik binarny może składać się z wielu segmentów, ale nie mogą się one zaczynać pełnym nagłówkiem ze znacznikiem $FFFF na początku; taki nagłówek może mieć tylko pierwszy segment pliku, dalsze muszą mieć nagłówki skrócone.
  • plik binarny nie może naruszać pamięci w obszarach $90-$97 oraz $2E00-$3180.
  • plik binarny musi zawierać segment RUN.
  • po ostatnim segmencie muszą następować dwa bajty o wartości zero; ten dziwaczny na pierwszy rzut oka wymóg spowodowany jest faktem, że loader nie czyta katalogu dysku, nie zna więc długości pliku, który ma załadować, a co za tym idzie - nie jest w stanie stwierdzić wystąpienia końca tego pliku, jeśli nie jest to jakoś zaznaczone w samych danych. Znacznikiem takim jest nagłówek segmentu zaczynający się od dwóch zer.
  • długość żadnego z segmentów nie może być całkowitą wielokrotnością wielkości sektora; plik zawierający taki segment zostanie załadowany nieprawidłowo - jest to więc raczej błąd w programie loadera, niż ograniczenie.
Personal tools