Cat Food: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Mono (dyskusja | edycje)
format
Mono (dyskusja | edycje)
m styl + link
Linia 12: Linia 12:
* $FB count - powtórzenia spacji ($20 ATASCII)
* $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:
natomiast pozostałe bajty są do pliku wypisywane jak leci. Wyjątkiem są bajty markerów bloków $E0 i $FB zastępowane odpowiednio przez:


* $E0 $E0 count
* $E0 $E0 count
Linia 19: Linia 19:
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.
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]].
Specjalny blok powtórzeń spacji zapewne predestynował sterownik do współpracy z [[Quick Assembler]]em pozwalając na nieco optymalniejszy zapis plików źródłowych [[ASM]].


[[Kategoria:Oprogramowanie Atari 8-bit]]
[[Kategoria:Oprogramowanie Atari 8-bit]]

Wersja z 2 lip 2024, 15:27

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 przez:

  • $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.