ACX

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:04, 22 mar 2007
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 13:10, 22 mar 2007
Trub (Dyskusja | wkład)
(Ogólna struktura pliku)
Next diff →
Linia 7: Linia 7:
Loader i związany z nim format binarny zostały przeanalizowane przez [[Trub]]a w 2006 roku na podstawie dokumentacji pochodzącej z Atari, pod którą podpisana jest niejaka Amy Chen. Stąd pochodzi nadana formatowi nieoficjalna nazwa. Loader i związany z nim format binarny zostały przeanalizowane przez [[Trub]]a w 2006 roku na podstawie dokumentacji pochodzącej z Atari, pod którą podpisana jest niejaka Amy Chen. Stąd pochodzi nadana formatowi nieoficjalna nazwa.
 +
 +== Ogólna struktura pliku ==
 +Właściwą strukturę pliku stanowią segmenty, z których każdy dotyczy pewnego fragmentu ładowanego programu. Segment jest podzielony na rekordy, z których pierwszy zawiera kod lub dane programu (''Text record''), zaś dalej następują rekordy informacyjne, określające parametry dla relokatora (''Information records''). Segmentów w pliku jest zazwyczaj wiele, ponieważ każdy z nich umożliwia załadowanie co najwyżej 255 bajtów programu. Ostatnim rekordem w pliku jest rekord końcowy (''End record'').
{{stub}} {{stub}}

Wersja z dnia 13:10, 22 mar 2007

ACX - od ang. Amy Chen Executable - jest formatem pliku przeznaczonym do przechowywania relokowalnych binariów. Format ten został stworzony dla doładowywanych z zewnątrz handlerów urządzeń podłączonych do łącza szeregowego (SIO) oraz szyny równoległej (PBI), zwłaszcza ekspandera 1090.

Procedury obsługujące ten format znajdują się w XL OS, w każdym seryjnym egzemplarzu 1200XL, 600XL, 800XL, 65XE i 130XE. System korzysta z nich podczas ładowania sterowników (handlerów) z podłączonych urządzeń, np. z modułu 1090. Objawem tego jest znane wszystkim posiadaczom Atari "pierdzenie" wydobywające się z głośnika monitora przy starcie systemu oraz przy odwołaniu do urządzenia niezarejestrowanego w CIO. Jest to próba skomunikowania się z urządzeniami peryferyjnymi w celu ściągnięcia odpowiednich sterowników.

Zamierzeniem twórców była dostępność procedury relokującej dla programistów. Planowane było umieszczenie legalnego skoku pod adresem $E486, umożliwiającego relokowanie "zwykłych" programów. Niestety, z niewiadomych przyczyn zrezygnowano z tego rozwiązania. W systemie operacyjnym DracOS od wersji 2.22 przywrócono w tablicy skoków legalne odwołanie do procedury relokatora. Skok do niej umieszczono jednak pod adresem $E483, ze względu na zajęcie pierwotnego adresu przez inną procedurę.

Loader i związany z nim format binarny zostały przeanalizowane przez Truba w 2006 roku na podstawie dokumentacji pochodzącej z Atari, pod którą podpisana jest niejaka Amy Chen. Stąd pochodzi nadana formatowi nieoficjalna nazwa.

Ogólna struktura pliku

Właściwą strukturę pliku stanowią segmenty, z których każdy dotyczy pewnego fragmentu ładowanego programu. Segment jest podzielony na rekordy, z których pierwszy zawiera kod lub dane programu (Text record), zaś dalej następują rekordy informacyjne, określające parametry dla relokatora (Information records). Segmentów w pliku jest zazwyczaj wiele, ponieważ każdy z nich umożliwia załadowanie co najwyżej 255 bajtów programu. Ostatnim rekordem w pliku jest rekord końcowy (End record).


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools