Cat Food
From Atariki
Wersja z dnia 21:34, 1 lip 2024 Mono (Dyskusja | wkład) (specyfikacja pliku) ← Previous diff |
Wersja z dnia 14:21, 2 lip 2024 Mono (Dyskusja | wkład) (format) Next diff → |
||
Linia 1: | Linia 1: | ||
- | Opublikowany w [[Tajemnice Atari|Tajemnicach Atari]] nr [http://tajemnice.atari8.info/6-7_93/6-7_93.html 7/1993] sterownik (handler) obsługujący w locie kompresję i dekompresję plików. Pracuje pod kontrolą [[DOS 2.5]] z [[CP]] relokując się i ustawiając odpowiednio wskaźnik MEMLO. Pliki podlegają kompresji w czasie zapisu na urządzenie F: a dekompresja następuje automatycznie przy wczytywaniu z urządzenia F: W specyfikacji pliku po nazwie urządzenia F: należy podać specyfikację pliku np. F:D8:DOWOL.TXT będzie odwoływać się do pliku DOWOL.TXT umieszczonego w ramdysku. Deinstalacja sterownika następuje po powtórnym wczytaniu. | + | Opublikowany w [[Tajemnice Atari|Tajemnicach Atari]] nr [http://tajemnice.atari8.info/6-7_93/6-7_93.html 7/1993] sterownik (handler) obsługujący w locie kompresję i dekompresję plików. Pracuje pod kontrolą [[DOS 2.5]] z [[CP]] relokując się i ustawiając odpowiednio wskaźnik MEMLO. |
+ | |||
+ | Pliki podlegają kompresji w czasie zapisu na urządzenie F: a dekompresja następuje automatycznie przy wczytywaniu z niego. | ||
+ | |||
+ | Jako nazwę pliku po nazwie urządzenia F: należy podać specyfikację pliku np. "F:D8:DOWOL.TXT", kiedy to 'CatFood' będzie odwoływał się do pliku "DOWOL.TXT" w ramdysku. | ||
+ | |||
+ | Deinstalacja sterownika następuje po powtórnym wczytaniu. | ||
+ | |||
+ | Kompresor rozpoznaje powtórzenia bajtów i zastępuje je blokiem: | ||
+ | |||
+ | * $E0 byte count - powtórzenia dowolnego bajtu | ||
+ | * $FB count - powtórzenia spacji ($20 ATASCII) | ||
+ | |||
+ | natomiast pozostałe bajty są do pliku wypisywane jak leci. Wyjątkiem są bajty markerów bloków $E0 i $FB zastępowane odpowiednio blokami: | ||
+ | |||
+ | * $E0 $E0 count | ||
+ | * $E0 $FB count | ||
+ | |||
+ | Liczność 'count' zawsze jest niezerowa, co pozwala w jednym bloku zapisać maksymalnie 255 powtórzeń. Wartość 0 w tym miejscu spowoduje zignorowanie bloku, aczkolwiek kompresor nigdy takiej sekwencji nie generuje. | ||
+ | |||
+ | Specjalny blok powtórzeń spacji zapewne predestynował sterownik do współpracy z Quick Assemblerem pozwalając na nieco optymalniejszy zapis plików źródłowych [[ASM]]. | ||
[[Kategoria:Oprogramowanie Atari 8-bit]] | [[Kategoria:Oprogramowanie Atari 8-bit]] |
Wersja z dnia 14:21, 2 lip 2024
Opublikowany w Tajemnicach Atari nr 7/1993 sterownik (handler) obsługujący w locie kompresję i dekompresję plików. Pracuje pod kontrolą DOS 2.5 z CP relokując się i ustawiając odpowiednio wskaźnik MEMLO.
Pliki podlegają kompresji w czasie zapisu na urządzenie F: a dekompresja następuje automatycznie przy wczytywaniu z niego.
Jako nazwę pliku po nazwie urządzenia F: należy podać specyfikację pliku np. "F:D8:DOWOL.TXT", kiedy to 'CatFood' będzie odwoływał się do pliku "DOWOL.TXT" w ramdysku.
Deinstalacja sterownika następuje po powtórnym wczytaniu.
Kompresor rozpoznaje powtórzenia bajtów i zastępuje je blokiem:
- $E0 byte count - powtórzenia dowolnego bajtu
- $FB count - powtórzenia spacji ($20 ATASCII)
natomiast pozostałe bajty są do pliku wypisywane jak leci. Wyjątkiem są bajty markerów bloków $E0 i $FB zastępowane odpowiednio blokami:
- $E0 $E0 count
- $E0 $FB count
Liczność 'count' zawsze jest niezerowa, co pozwala w jednym bloku zapisać maksymalnie 255 powtórzeń. Wartość 0 w tym miejscu spowoduje zignorowanie bloku, aczkolwiek kompresor nigdy takiej sekwencji nie generuje.
Specjalny blok powtórzeń spacji zapewne predestynował sterownik do współpracy z Quick Assemblerem pozwalając na nieco optymalniejszy zapis plików źródłowych ASM.