Magic Disk 64

home to index to html: MD9303-UTILITIES-SIR-COMPACTORS.html
             SIR-COMPACT VI+            
         - Der Sequenz-Packer -         
----------------------------------------
In  dieser  Ausgabe  der MD, möchten wir
Ihnen gleich zwei Packprogramme vorstel-
len:   den  "SIR-COMPACT  VI+"  und  den
"SIR-COMPACT VI-" (im  Folgenden  "SIR+"
und  "SIR-"  genannt).  Der  Unterschied
zwischen diesen beiden Packern ist nicht
nur das "+" und das "-" am Ende des  Na-
mens, sondern vielmehr, daß sie mit ver-
schiedenen Packalgorithmen arbeiten, die
jeweils verschiedene Packergebnisse  er-
reichen können, je nach dem welche Daten
gepackt werden sollen.                  
Da beide Packer in  der  Bedienungsweise
sehr  ähnlich sind, gilt diese Anleitung
auch für Beide. An den Stellen, an denen
sie sich  unterscheiden  wird  gesondert
darauf hingewiesen:                     
1) ALLGEMEINE BEDIENUNGSHINWEISE        
* Laden Sie den gewünschten  Packer  wie
  gewohnt  mit  ",8" und starten Sie ihn
  mit  'RUN'.  Nach  kurzer  Entpackzeit
  erscheint  dann  das Hauptmenu des je-
  weiligen Packers auf dem Bildschirm.  
* Jedesmal,  wenn einer der Packer Ihnen
  ein Auswahlmenu zur Verfügung  stellt,
  so sehen Sie in selbigem einen Select-
  balken, der mit 'CRSR  UP'  und  'CRSR
  DOWN' durch das Menu bewegt wird. Hier
  rufen  Sie  einen Menupunkt auf, indem
  Sie auf ihn fahren und  die  'RETURN'-
  Taste drücken.                        
* Bei Ladeoperationen erscheint jedesmal
  ein Fenster auf dem Bildschirm, in der
  die  auf der eingelegten Diskette ent-
  haltenen Files aufgelistet  sind.  Sie
  können  durch  diese Liste nun mittels
  'CRSR UP' und 'CRSR  DOWN'  einen  Se-
  lectbalken  bewegen  und mit Hilfe der
  'RETURN'-Taste ein File anwählen,  das
  daraufhin geladen wird.               
* Bei Texteingaben erhalten Sie  jeweils
  ein spezielles Eingabefenster, daß die
  Anzahl der eingebbaren Zeichen automa-
  tisch beschränkt. Mit den Tasten 'CRSR
  LEFT' und 'CRSR RIGHT' können Sie sich
  dabei durch die Eingabe  bewegen.  Mit
  'RETURN'  wird selbige übernommen. Die
  'DEL'-Taste löscht das  Zeichen  unter
  dem Cursor. Alle Zahlen, die abgefragt
  werden,    müssen   in   hexadezimaler
  Schreibweise eingegeben werden.       
* Beide  Packer verfügen über einen sog.
  "Prepacker",  der  wahlweise  hinzuge-
  schaltet  werden kann. Hierbei handelt
  es  sich  um  einen  einfachen  Equal-
  Byte-Packer,  der aufeinanderfolgende,
  gleiche Bytes zusammenfasst. Der  Vor-
  teil  dieses  Packers:  er packt schon
  während des  Ladens,  und  kann  somit
  überlange  Files schon im Packspeicher
  selbst verkürzen. Daraus ergibt  sich,
  daß die beiden Packer sogar Files, die
  von Adresse $00B0 bis $FFFF (also fast
  den  gesamten Speicher des C64) gehen,
  verkraften. Damit der Prepacker jedoch
  eingesetzt werden kann, muß voher  der
  sog.  "Scan  Value"  ermittelt werden.
  Dies ist das Byte, das im zu packenden
  File am wenigsten vorkommt.  Wenn  Sie
  diesen Wert schon aus dem Kopf wissen,
  so  können  Sie ihn später beim Packen
  direkt eingeben. Im anderen Fall, kön-
  nen  Sie  ihn  mit dem Menupunkt "Scan
  File" vom Programm ermitteln lassen.  
2) DAS HAUPTMENU                        
Das Hauptmenu sieht bei  beiden  Packern
gleich  aus.  Es  enthält  die folgenden
fünf Menupunkte:                        
a) CRUNCH FILE                          
Hiermit wird der jeweilige Packer aufge-
rufen. Auch hier ist die  vorgehensweise
bis zu einem gewissen Punkt analog:     
* Haben  Sie den Prepacker im Parameter-
  Menu aktiviert (s.u.), so  werden  Sie
  hier  nun  nach  der sog. "Scan-Value"
  gefragt. Tragen  Sie  hier  bitte  den
  Wert  ein,  der vorher vom Scanner er-
  mittelt wurde (ist meist  als  Default
  voreingestellt  und  kann  durch Druck
  auf 'RETURN' übernommen werden).  Wenn
  Sie   ihn  zufällig  auswendig  kennen
  (z.B. weil Sie das File  früher  schon
  einmal gescannt hatten), so können Sie
  sich  das  scannen sparen und den Wert
  von Hand eintragen.                   
* Nun erscheint das Ladefenster, in  dem
  Sie das zu packende File anwählen.    
* Nachdem das File geladen wurde, müssen
  Sie nun zunächst die Startadresse  des
  Programms   angeben.  Wenn  Sie  diese
  nicht genau kennen, so müssen Sie  die
  dezimale  Adresse  des SYS-Befehls, in
  der ersten Zeile des zu packenden Pro-
  gramms,  in  Hex.  umrechnen, und hier
  angeben. Ist das Programm  ein  reines
  Basic-Programm,  so können Sie es zwar
  packen, jedoch nicht automatisch  nach
  dem Entpacken starten.                
* Als  Nächstes müssen Sie den Wert, der
  nach dem  Entpacken  in  Speicherzelle
  $01  stehen  soll  eingeben. Falls Sie
  sich hier nicht sicher sind, so  über-
  nehmen  Sie den vorgegebenen Wert $37,
  der der Normaleinstellung entspricht. 
* Die  letzte  Angabe, die noch getätigt
  werden muß, ist  der  Filename,  unter
  dem  das gepackte File später auf Dis-
  kette abgelegt werden soll.  Ist  auch
  diese  Eingabe  getätigt,  so wird der
  eigentliche  Packer  aufgefrufen.   Da
  sich an diesem Punkt die Bedienungswe-
  ge für die einzelnen  Packer  trennen,
  werde  ich  den  Rest der Beschreibung
  weiter unten fortführen.              
b) SCAN FILE                            
Mit diesem Menupunkt können Sie den, für
den  Prepacker  erforderlichen und schon
oben erklärten, "Scan-Value"  ermitteln.
Hierbei  erscheint  das Ladefenster, aus
dem Sie das zu untersuchende  File  aus-
wählen.  Anschließend  beginnt  das Pro-
gramm mit seiner Arbeit. Ist der Vorgang
abgeschlossen, so wird Ihnen  der  Scan-
Value angezeigt. Er wird als Voreinstel-
lung schon gleich für die spätere Abfra-
ge  vorgemerkt.  Per  Tastendruck kommen
Sie nun wieder ins Hauptmenu zurück.    
c) DIRECTORY                            
Hiermit  können Sie sich das Inhaltsver-
zeichnis der  eingelegten  Diskette  an-
schauen.  Hierbei erscheint das gewohnte
Ladefenster, in dem Sie  hin-  und  her-
scrollen  können.  Drücken  Sie die 'RE-
TURN'-Taste, um zum Hauptmenu  zurückzu-
kehren.                                 
d) SET PARAMETER                        
Wird dieser Menupunkt angewählt, so kön-
nen  Sie  einige Grundeinstellungen vor-
nehmen, die den  Packvorgang  beeinflus-
sen.  Hierzu erscheint ein Untermenu, in
dem Sie, wie gewohnt, einen Selectbalken
bewegen können. Wählen Sie nun einen der
Unterpunkte an, so wird links neben die-
sem  Punkt ein "*" angezeigt, der darauf
hinweist, daß diese Option eingeschaltet
ist. Ein weiteres  Anwählen  deaktiviert
sie  wieder.  Folgende Menupunkte stehen
Ihnen hier zur Verfügung:               
Für den SIR+ und den SIR-:              
* INCLUDE PREPACKER: Hiermit    schalten
  Sie den Prepacker ein und aus.        
* USER REQUESTS OFF: Ist  dieser   Punkt
  aktiv,  so  überspringt  das  Programm
  alle  Aufforderungen,  eine   Diskette
  einzulegen.  Ist der Punkt inaktiv, so
  erscheint jedesmal die Meldung "Insert
  Disk",   wenn   eine   Floppyoperation
  durchzuführen  ist. Diese Aufforderung
  wird dann jeweils  mit  einem  Tasten-
  druck bestätigt.                      
* FINISH AND RETURN: Diesen Punkt wählen
  Sie an, um alle Einstellungen zu über-
  nehmen, und ins Hauptmenu zurückzukeh-
  ren.                                  
Zusätzlich beim SIR+:                   
* PERMANENT DISPLAY: Wählen  Sie  diesen
  Menupunkt, so wird während des Packens
  ständig eine Statistik ausgegeben, die
  die aktuellen Arbeitsadressen und  die
  gesparten  Bytes ausgibt (sh. auch un-
  ten).                                 
* DECRUNCHER EFFEKT: Hiermit    schalten
  Sie den  Farbeffekt  ein,  der  später
  beim  Entpacken  zu sehen ist. Dadurch
  haben Sie eine Anzeige, daß das  gela-
  dene Programm gerade entpackt wird.   
e) QUIT CRUNCHER                        
Mit diesem Menupunkt wird der  jeweilige
Packer durch einen RESET verlassen.     
3) DER SIR+                             
Kommen wir nun zu den Besonderheiten des
SIR+.  Er  ist  ein  Sequenzpacker,  der
gleiche Bytefolgen packt. Dieser Packal-
gorithmus  ist  zwar  sehr aufwendig und
zeitintensiv, jedoch werden hierbei sehr
gute Packergebnisse erzielt. Nachdem Sie
im Menupunkt "CRUNCH FILE" alle  notwen-
digen  Angaben  gemacht haben und das zu
packende File geladen wurde, beginnt der
Packer nun mit seiner Arbeit.  Wenn  Sie
zuvor  im  "SET PARAMETERS"-Menu die Op-
tion "Permanent  Display"  eingeschaltet
hatten,  so  wird Ihnen nun eine Status-
zeile angezeigt, in der  immer  die  ak-
tuelle Position in den ungepackten Daten
("from"),  die  bisherige  Länge der ge-
packten Daten ("to"), sowie  die  Anzahl
der  Bytes,  die  bisher  gespart wurden
("save"),  angezeigt  werden.  Ist   der
letzte Wert negativ, so ist das gepackte
File  länger,  ist er positiv, so ist es
kürzer (als jeweils das  ungepackte  Fi-
le).  Am Anfang eines jeden Packvorgangs
wird es immer negativ sein, da der  Pak-
ker noch $0171 Bytes für die Entpackrou-
tine mitrechnet (um die das Zielfile  ja
länger wird). Haben Sie die Option "Per-
manent Diskplay" abgeschaltet,  so  wird
Ihnen an dieser Stelle nichts angezeigt.
Erst  am  Ende des Packvorgangs wird das
Packergebnis  auf  den  Bildschirm   ge-
bracht.  Das  hat  den  Vorteil, daß der
Packvorgang nicht unwesentlich schneller
abläuft, da ja nicht ständig  die  Bild-
schirmausgabe aktualisiert werden muß.  
Ist der Packvorgang nun beendet, so wird
das  gepackte  File auf Diskette gespei-
chert. Ist der Parameter "User  Requests
Off"  ausgschaltet,  so  erscheint zuvor
die Aufforderung eine Zieldiskette  ein-
zulegen,   die   mit  einem  Tastendruck
bestätigt werden muß.                   
4) DER SIR-                             
Im  Gegensatz  zum SIR+ ist der SIR- ein
Packer, der nach dem sog. "Huffman-Algo-
rithmus"  arbeitet.  Er  ersetzt  4-Bit-
Sequenzen  (Nibbles),  mit kürzeren Bit-
folgen. Hierbei werden die am häufigsten
vorkommende Nibbles, mit  den  kürzesten
Bitfolgen  ersetzt.  Weniger häufige Se-
quenzen haben längere Bitfolgen.  Hierzu
nimmt  der Packer während des Ladens des
zu packenden  Files  eine  Analyse  vor,
deren   Ergebnis  anschließend  auf  dem
Bildschirm erscheint. Hierbei wird ange-
zeigt,  welche der 16 verschiedenen Nib-
ble-Kombinationen durch welche Bitfolgen
ersetzt werden. Zeigt die Tabelle  viele
Folgen, die kleiner, und nur wenige, die
größer sind, als 4 Bit, so wird der Pak-
ker eine hohe Effizienz erreichen. Zeigt
sie etwa gleich viele kürzere, wie  län-
gere  Sequenzen, so wird nicht viel beim
Packen herauszuholen sein. Der Fall, daß
es mehr längere  Sequenzen  als  kürzere
gibt  kann  nie  eintreten. Dadurch kann
davon ausgegangen werden,  daß  die  ge-
packten  Daten  selbst  im ungünstigsten
Fall niemals länger werden, als die  un-
gepackten  (sieht  man von den Bytes ab,
die die Entpackroutine für sich  in  An-
spruch nimmt).                          
Jedoch selbst wenn das Packergebnis kaum
eine  Steigerung  verspricht,  kann  das
Packen  mit  dem  SIR- von Vorteil sein.
Dadurch nämlich, daß der Packer vollkom-
men  neue  Bitfolgen  generiert, und das
gepackte File sich in der Art der  Daten
sehr  stark  vom ungepackten unterschei-
det, kann es vorkommen, daß  beim  Nach-
packen mit einem Sequenzpacker (z.B. dem
SIR+")  ein  weitaus  besseres  Ergebnis
erzielt wird, als wenn das File nur  mit
dem  Sequenzpacker gepackt wird! Probie-
ren Sie es aus!                         
Doch genug der Vorrede - kommen  wir  zu
der Bedienung des SIR-:                 
Nachdem Sie alle Packparameter angegeben
haben, und das zu packende File  geladen
wurde, sehen Sie nun also die Analyseta-
belle  auf  dem  Bildschirm.  Zusätzlich
dazu  erscheint nun ein Menu, in dem Sie
die folgenden drei Menupunkte sehen:    
a) CRUNCH FILE                          
Wenn davon ausgegangen werden kann,  daß
die Analyse eine hohe Packeffizienz ver-
spricht, so können Sie mit diesem  Menu-
punkt  den Packer starten. Nach verhält-
nismäßig kurzer Packzeit  wird  das  ge-
packte File dann abgespeichert.         
b) SAVE FILE:                           
Ist ein schlechtes Packergebnis  zu  er-
warten,  und  möchten Sie das File nicht
packen, es aber dennoch speichern,  weil
Sie  den Prepacker aktiviert hatten (der
das File ja auch  schon  verkürzt  haben
kann),  so  wählen Sie diesen Menupunkt.
Hieraufhin wird das Pregepackte File auf
Disette gespeichert.                    
c) SKIP SAVING                          
Möchten Sie garnicht Packen,  so  können
Sie mit diesem Menupunkt in das Hauptme-
nu zurückkehren.                        
                                    (ub)



Valid HTML 4.0 Transitional Valid CSS!