Magic Disk 64

home to index to html: MD8907-UTILITIES-6.1.html
Willkommen zu den Utilities der Juli-Ausgabe !       
Auf die Juliausgabe haben wir für Sie diesmal  4  Su-
perutilities gepackt,  die  es  auch  im  Sommermonat
Juli anzutesten lohnt! Voila:                        
  THE MAGIC WRITER            Seite 03 - 06          
  DISK DATEI                  Seite 07 - 13          
  BASIC TEXTER                Seite 14               
  THE MDG-PACKER/LINKER       Seite 15 - 28          
Mit dem MAGIC WRITER können Sie in Zukunft  auf  pro-
fessionelle Weise mit Ihren Freunden komunizieren.   
"Mist, wo war noch mal TANK  ACTION  drauf?"  -  über
Probleme dieser Art werden Sie  mit  der  DISK  DATEI
nur noch lachen ...                                  
TippEx ade; der BASIC TEXTER hilft Ihnen,  Ihre  Mit-
teilungen einfach, schnell und fehlerUNfreundlich an-
zufertigen ...                                       
THE MDG-PACKER/LINKER packt Ihre Daten  in  besonders
"linker" und platzsparender Weise ...                
Soweit die Anwenderprogramme  der  Juli-Ausgabe.  Wir
wünschen Ihnen schönes Wetter und, falls Sie  in  den
Urlaub fahren, viel Erholung.                        
                                  Die Redaktion      
THE MAGIC WRITER                                     
----------------                                     
Ein wahrhaft "magischer  Schreiberling"  liegt  Ihnen
mit diesem Utility vor, der sich durch sehr  einfache
Handhabung und Unkompliziertheit auszeichnet.        
Kommen wir deshalb auch (unkompliziert wie wir sind!)
auch sofort zur Bedienungsanleitung:                 
a) DER EDITIERMODUS                                  
   Formulieren Sie, frei von der Leber (oder auch dem
   Herzen!) weg, die Zeilen,  die  Sie  Ihren  Lieben
   mitteilen möchten und achten Sie auf richtige Kom-
   masetzung! Um wichtige Textpassagen herauszuarbei-
   ten, besitzen Sie eine Art Textmarker, den Sie mit
   F5 oder mit >SHIFT< aktivieren  können.  Der  Text
   erscheint dann revers-blinkend auf dem Bildschirm.
   Bevor Sie nun den Editiermodus  dürfen  Sie  nicht
   vergessen, an die linke obere  Bildschirmecke  auf
   der letzten  Seite  (kompliziert,  nicht?!)  einen
   "Klammeraffen" zu positionieren,  da  der  Rechner
   sonst nie zum Ende kommt.                         
   Den direkten Editiermodus (Schreibmodus) verlassen
   Sie mit F7; mit +/- blättern Sie vor/zurück.      
b) SOUNDS                                            
   Damit Ihre geschriebenen Zeilen auch die  richtige
   Wirkung beim Empfänger erzielen (bei unseren Brie-
   fen an LYNN, die Schönheit  aus  dem  Nachbarhaus,
   wählen wir immer "Love Me Do" ...), haben Sie  na-
   türlich auch bei dem MAGIC WRITER die Möglichkeit,
   einen  passenden  Sound  auszuwählen.   Die   Pro-
   grammierer  des  Programms  haben  sich  natürlich
   nicht lumpen lassen und einige Musikstücke  gleich
   mitgeliefert ...                                  
         KOMMT NOCH WAS ... F1 DRÜCKEN!              
c) CHARSET                                           
   Beim Zeichensatz scheiden sich  normalerweise  die
   Geister, also geben  wir  Ihnen  die  Möglichkeit,
   Ihren eigenen (oder auch  geklauten!)  Zeichensatz
   zu verwenden. Da wir Sie nicht zu  einem  gemeinen
   Dieb abstempeln wollen, befinden sich  auf  dieser
   Diskette gleich mehrere Zeichensätze.             
   Achten Sie bitte bei der  Verwendung  von  eigenen
   Zeichensätzen darauf, daß  dieser  im  Speicherbe-
   reich von $2800 bis $2a00 liegt.                  
d) COLOUR                                            
   Dieses Menü gliedert sich so problemlos,  daß  auf
   eine ellenlange Anleitung verzichtet werden kann. 
Nachdem Sie Ihren Brief fertiggeschrieben  und  abge-
speichert haben, empfiehlt es sich, diesen zu  packen
(siehe MDG-Packer/Linker!). Die  dazu  erforderlichen
Werte lauten:                                        
              Hex $37; 0810                          
              Dez 55; SYS 2064                       
Übrigens: Vergessen Sie auf keinen Fall, Ihren fertig
          geschriebenen Brief ausreichend zu frankie-
          ren ...                                    
                             Oliver Menne/Stefan Gnad
DISK DATEI                                           
----------                                           
Bei Disk Datei handelt es sich, wie es der Name schon
verrät, um ein Dateiprogramm. Hier die Funktionen:   
a) DISKETTE EINLESEN                                 
   Die sich auf der Diskette befindenden Programm-   
   namen werden in den Speicher eingelesen.          
  - Alle Files einlesen:                             
    Der Rechner liest (ohne  Kompromisse!)  die  sich
    auf der Diskette befindlichen Files.             
  - Files einzeln einlesen:                          
    Der Rechner fragt  Sie,  ob  Sie  ein  bestimmtes
    Programm in Ihre  Liste  aufnehmen  wollen,  oder
    nicht (wie herzlos!).  Die  Auswahl  treffen  Sie
    mit J/N.                                         
  - Zurück zum Menü:                                 
    "Was gibt es heute als Vorspeise?"               
b) DATEN EDITIEREN                                   
  - Daten ändern:                                    
    Sie können  den  gewünschten  Datensatz  mit  +/-
    aussuchen und mit >*<  auswählen.  Nun  erscheint
    ein Pfeil unter eben diesen  Datensatz,  der  mit
    >CRSR-links<  bewegt  werden  kann.  Nachdem  Sie
    mit >RETURN< den Datensatz  editiert  haben,  ge-
    langen Sie mit >M<  wieder  zurück  ins  Editier-
    menü.                                            
  - Daten erweitern:                                 
    Sollten Sie einen Datensatz vergessen  haben,  so
    ist das kein Problem; mit diesem  Menüpunkt  kön-
    nen Sie die Liste um einen Eintrag erweitern.    
  - Einzeln löschen:                                 
    Der zu löschende Datensatz wird  wie  bei  "Daten
    ändern" ausgewählt und mit >*< gelöscht. Mit  der
    >M<-Taste gelangen Sie (immer  noch)  zurück  ins
    Menü.                                            
  - Block löschen:                                   
    Mit diesem Menüpunkt sind Sie in der Lage,  ganze
    Blöcke zu löschen. Es müssen Start- und  Endpunkt
    eingegeben werden.                               
  - Zurück zum Menü:                                 
    "Was gibt es heute als Hauptgericht?"            
c) DATEN SORTIEREN                                   
  - Nach Namen:                                      
    Der Rechner sortiert die Datensätze nach dem  ge-
    meingültigen und aus  der  Grundschule  bekannten
    Alphabet.                                        
  - Nach Blöcken:                                    
    Der Rechner sortiert die Datensätze nach den, auf
    der Diskette benötigten Blöcken.                 
  - Nach ID:                                         
    Der Rechner  sortiert  die  Datensätze  nach  der
    ID-Nummer der zum Programm gehörigen Diskette.   
  - Zurück ins Menü                                  
    "Sind Sie jetzt schon satt?"                     
    "Was, Sie wollen noch was zum Essen?!"           
    "'Hungrig', ich verstehe immer 'Hungrig'!"       
    "Bevor ich Ihnen jetzt noch einen Schweine-      
     braten bringe, drücken Sie bitte F1!"           
d) DATEN AUFLISTEN                                   
  - Ausgabe auf Drucker:                             
    Die  Datensätze  werden  in  drei   Spalten   pro
    Zeile  auf  dem   Drucker   (soweit   vorhanden!)
    ausgegeben.  Die  dazugehörige  Titelzeile   kann
    sowohl  editiert  als  auch  abgespeichert   wer-
    den.                                             
  - Ausgabe auf Bildschirm:                          
    Die  Datensätze  werden  auf  dem  Monitor   (so-
    weit  vorhanden!)  ausgegeben.   Mit   +/-   kann
    vor-   bzw.    zurückgeblättert    werden;    mit
    >RETURN< gelangen Sie zurück ins Menü.           
  - Zurück zum Menü:                                 
    "So, der zweite Schweinebraten, Sie Freßsack!"   
e) DATEN ABSPEICHERN                                 
   Mit diesem Befehl  speichern  Sie  die  Datei  auf
   Diskette ab.                                      
f) DATEN LADEN                                       
  - Liste erweitern:                                 
    Die sich bereits im  Speicher  befindenden  Daten
    werden um eine Datei erweitert.                  
  - Neue Liste laden:                                
    Die sich im  Speicher  befindenden  Daten  werden
    gelöscht, und eine neue Datei wird geladen.      
  - Zurück zum Menü:                                 
    "Was haben Sie denn so als Nachspeise anzu-      
     bieten, Herr Ober?"                             
    "Was, Nachspeise auch noch?! BATSCH!"            
g) DIRECTORY                                         
  - Der Disketteninhalt (und damit  Ihr  Werk!)  wird
    Ihnen vor Augen geführt.                         
So, Anleitung fertig - "Herr Ober, bitte zwei kühle  
                        Bier ...!"                   
                            Oliver Menne/Stefan Gnad 
BASIC TEXTER                                         
------------                                         
Was schrieb Ludwig der 16. an dem Tag, als  das  Volk
in Paris gerade die  Bastille  erstürmt  hatte,  noch
in sein Tagebuch? "Rien", "nichts".  Damit  beschrieb
das (sich zu diesem Zeitpunkt noch auf dem  dazugehö-
renden Hals befindliche) gekrönte Haupt die Ereignis-
se des vergangenen Tages aus seiner Sicht: Tote Hose,
die Luft raus, stinklangweilig!                      
Wenn wir diese Anleitung, ganz in  französicher  Tra-
dition, mit  "Rien"  beginnen  und  gleichzeitig  ab-
schließen, so heißt das natürlich  nicht,  daß  BASIC
TEXTER nichts bietet (dann wäre es ja auch nicht  auf
der Magic Disk ...!), sondern daß das  Programm  mehr
als denkbar einfach zu bedienen ist. In diesem Sinne:
                  "RIEN"                             
                             Oliver Menne/Stefan Gnad
THE MDG PACKER/LINKER                                
---------------------                                
Der "MDG Packer/Linker" ist ein unverzichtbares Werk-
zeug für das Packen, Linken  und  Verlegen  von  Pro-
grammen. Der  Packer  arbeitet  mit  einem  einfachen
"Bytepress"- Algorithmus, d.h.  mehr  als  drei  auf-
einanderfolgende  gleiche  Bytes  werden   zu   einem
drei-Byte Code zusammengefaßt. Der Linker  ermöglicht
das Zusammenfassen von mehreren   Teilprogrammen,  zu
einer  einzigen  Datei  auf  Diskette.  Beim  Starten
dieser Datei werden dann die einzelnen  Programmteile
im Speicher genau so verschoben, als  hätte  man  die
Einzeldateien alle nacheinander von  Diskette  einge-
laden. Die Fähigkeit  des  Verlegens  von  Programmen
äußert sich darin,  daß  das  gepackte  und  gelinkte
Programm  in  einen  beliebig   wählbaren   Speicher-
bereich  gelegt  werden  kann.  Darüberhinaus  können
Programme mit einer  einfachen  Schutzkodierung  ver-
sehen werden. Auch "Levelcrunching", das  Packen  von
Programmteilen,   die   nachgeladen    werden,    ist
realisierbar.  Der  "MDG  Packer/Linker"  packt  alle
Programme, die im gepackten Zustand  (!)  nicht  mehr
als ca.  230  Blöcke  auf  Diskette  belegen.  Nahezu
alle den Pack- und Linkvorgang betreffende  Parameter
können eingestellt werden, damit das  Programm  flex-
ibel einsetzbar ist. Dabei wurde Wert darauf  gelegt,
daß stets Defaultwerte vorgegeben sind, so  wird  der
Benutzer  nicht  mit  einem  Parameterwust  alleinge-
lassen. Die  bislang  existierenden  Packer  benutzen
beim Entpacken  zumeist  den  gesamten  Speicher  des
C64, da sie das zu entpackende Programm  zunächst  an
das Ende des  Speichers  verschieben.  Ihre  Entpack-
routine ist oft  leider  nicht  Geschwindigkeitsopti-
miert, wodurch  die  Programme  dann  langsamer  ent-
packt werden, als  ein  schneller  Floppyspeeder  sie
einladen könnte.  Der  "MDG  Packer/Linker"  hingegen
entpackt selbst das längste Programm in maximal  zwei
bis drei Sekunden.  Der  Speicher  wird  dabei  nicht
weiter verwüstet, als unbedingt notwendig.           
Anwendungsbereiche:                                  
Dies klingt  für  jemanden  der  bislang  noch  nicht
mit  einem  Packer  oder   Linker   gearbeitet   hat,
alles sehr abstrakt. Betrachten  wir  daher  zunächst
einige     mögliche     Anwendungen      für      den
"MDG PACKER/Linker":                                 
Basicprogramme enthalten manchmal  Maschinenprogramme
oder Grafikdaten in Form von Datazeilen. Da das Lesen
und POKEn der Daten qualvoll lange dauert, bietet  es
sich an, die Speicherbereiche, die in den  Datazeilen
abgelegt sind, mit einem Monitor  abzuspeichern,  und
dann mit dem "MDG Packer/Linker"  mit  dem  Basicpro-
gramm zu verbinden.                                  
Der Maschinenprogrammierer hat ein  Programm  oft  in
Form von mehreren  Objektcodes  oder  Datenfiles  auf
Diskette abgelegt, die  beim  Starten  des  Programms
von einem Ladeprogramm eingelesen werden. Während der
Programmentwicklung ist dies sehr  hilfreich.  Einmal
fertiggestellt, ist das Programm jedoch einfacher  zu
handhaben, wenn es nur noch als  eine  einzige  Datei
auf Diskette gespeichert ist. Folglich bietet es sich
an, die Einzelfiles  "aneinanderzuhängen",  und  nach
dem Einladen - Einzelfile für Einzeilfile - an  ihren
Zielspeicherbereich zu kopieren. Genau diese  Aufgabe
erledigt der "MDG Packer/Linker".                    
Bei Programmen, die mit SYS (ADRESSE) gestartet  wer-
den, wie z.B. Monitore, vergißt man  oft  die  Start-
adresse. Mit dem  "MDG  Packer/Linker"  können  diese
in mit RUN  startbare  Programme  verwandelt  werden.
Nach RUN wird das Programm dann  an  seine  ursprüng-
liche Adresse verschoben, und automatisch der  Befehl
SYS (ADRESSE) ausgeführt.                            
Eine Reihe von Programmen, die sich nacheinander auf-
rufen, z.B. Teile  eines  Demos,  die  aber  alle  im
gleichen  Speicherbereich,  z.B.  ab  $0801,  laufen,
sollen in einem Programm zusammengefaßt werden.  Dies
ist normalerweise eine aufwendige  Arbeit,  da  viele
Verschieberoutinen programmiert werden müssen,  wobei
Fehler  unterlaufen  können.  Mit  dem  "MDG  Packer/
Linker" würde man zunächst  die  einzelnen  Teile  an
freie Speicherbereiche verlegen. Beim Aufruf wird der
jeweilige Demoteil dann nach $0801  kopiert  und  ge-
startet. Die einzelnen Files, die nun  alle  an  ver-
schiedenen Adressen liegen, müßten Sie nur  noch  zu-
sammenlinken.                                        
Schließlich können auch noch Levels  gepackt  werden,
damit weniger  Diskettenspeicher  belegt  wird.  Pro-
grammteile,  die  nachgeladen  werden,  werden  dabei
zunächst gepackt eingeladen, und dann mit  einem  Be-
fehl, der in das Hauptprogramm eingefügt werden  muß,
entpackt.                                            
        Die Bedienung des Packers/Linkers:           
Das Programm wird  mit  LOAD"MDGPACKER/LINKER",8  ge-
laden, und mit RUN gestartet.  Die  Titelmeldung  des
Programms erscheint, gefolgt  von  der  Aufforderung,
einen Dateinamen einzugeben:                         
... ENTER FILENAME: ($ FOR CATALOG  RETURN  TO  SAVE)
Geben Sie nun den Namen ein, unter dem das  Programm,
das bearbeitet werden soll, auf Diskette  gespeichert
ist. Die Cursortasten sowie  die  Tasten  INST,  DEL,
CLR und HOME dürfen dabei benutzt werden. Bei Eingabe
eines Dollar-Zeichens wird das Inhaltsverzeichnis der
Diskette gelistet. Anschließend gelangen Sie zur  Na-
menseingabe zurück. Wenn mehrere Programme  zusammen-
gefaßt werden sollen, muß der Name des  ersten  Files
eingegeben werden. Die anderen  Programmteile  werden
später abgefragt. Die Reihenfolge richtet  sich  nach
den Startadressen der Einzelprogramme (das  File  mit
der niedrigsten Startadresse  muß  zuerst  eingegeben
werden). Nach der Eingabe  des  Filenamens  gibt  der
Packer folgenden Text aus: WHILE REPACKING $01 IS:$30
Hier können  Sie  den  Inhalt  von  Speicherstelle  1
während des Entpackens des Files bestimmen. Der hexa-
dezimale Wert $30  ist  als  Defaultwert  vorgegeben.
Er kann in der Regel übernommen werden.  Drücken  Sie
hierzu einfach RETURN. Wenn die Entpackten  Daten  in
den I/O-Bereich ab $D000 geschrieben  werden  sollen,
muß die Vorgabe $30 durch den Wert $35  ersetzt  wer-
den. Dies ist z.B. nötig, wenn  Sie  den  Inhalt  des
Farbspeichers direkt einladen wollen.                
Als nächstes erscheint die Frage:                    
REPACK CODE TO ADDRESS: $XXXX Anstelle von $XXXX wird
stets die Startadresse des jeweiligen Files auf Disk-
ette ausgegeben. Die hier  einzugebende  Adresse  be-
stimmt, ab welcher Speicherstelle der  Entpacker  den
Code ablegen wird.  Durch  überschreiben  können  Sie
eine  von  der  ursprünglichen  Adresse   abweichende
Speicherstelle  wählen.  Wenn  der  eingegebene  Wert
nicht angenommen wird, wurde zuvor schon ein File mit
einer höheren Endadresse,  als  die  aktuelle  Start-
adresse eingelesen. Dies kann Probleme beim Entpacken
verursachen und ist nur im Bereich oberhalb von $D000
gestattet, damit sowohl in den I/O Bereich, als  auch
in den darunterliegenden Rambereich  entpackt  werden
kann. Wenn Ihre Adresse nicht angenommen wird, start-
en Sie den "MDG Packer/Linker"  neu.  Geben  Sie  die
Files nun in der richtigen Reihenfolge ein. Der  "MDG
PACKER/LINKER" gibt nun die Endadresse des  Codes  im
Speicher aus, und beginnt mit der Arbeit. Nach kurzer
Zeit erscheint:                                      
FILE LENGTH (BYTES): $XXXX PACKERCODE (BYTES):  $XXXX
und eventuell: RETRY  USING  BEST  CRUNCHBYTE  ($XX)?
Die Hexzahl nach "FILE LENGTH" ist die  ursprüngliche
Länge der Datei. "PACKERCODE" ist die neue Länge  des
aktuellen Codes.  Diese  entspricht  noch  nicht  der
neuen Filelänge, da das  Programm  noch  um  ca.  200
Bytes (dezimal) für die Entpackroutine wächst.       
Die Frage "RETRY USING BEST  CRUNCHBYTE?"  erscheint,
wenn der "MDG  PACKER/LINKER"  nachträglich  bemerkt,
daß ein anderes Kennbyte  zur  Markierung  von  Byte-
folgen günstiger gewesen wäre,  als  der  vorgegebene
Erfahrungswert $CB. Wenn Sie hier "Y" eingeben,  wird
das File erneut gepackt, wobei dann  meist  noch  ein
paar Bytes eingespart werden können. Nun wird  wieder
die Ihnen schon bekannte  Frage  nach  dem  Filenamen
ausgegeben. Es können  noch  beliebig  viele  weitere
Files  hinzugelinkt  werden.  Nach  der  Eingabe  des
letzten Files drücken Sie bei der Namenseingabe  ein-
fach nur RETURN. Damit wird  dem  Linker  mitgeteilt,
daß die eingelesenen Daten nun  abgespeichert  werden
sollen. Bevor das Zielfile  geschrieben  werden  kann
müssen Sie noch einige Fragen beantworten:           
DESTINATION FILE'S ADRESS: $0801                     
Hier bestimmen Sie  die  Startadresse  des  gepackten
Programms. Mit dieser Eingabe  können  Sie  das  Pro-
gramm  also  an  eine  beliebige  Adresse   verlegen.
Als Defaultwert  ist  $0801,  der  Start  des  Basic-
speichers  vorgegeben.  Falls   das   Entpacken   des
Programms  später  mit  RUN  gestartet  werden  soll,
drücken  Sie  RETURN.  Falls  Levels  oder   generell
Programmteile,  die   nachgeladen   werden,   gepackt
werden  sollen,  oder  das  gepackte  Programm,   aus
welchen Gründen auch  immer,  an  einer  abweichenden
Adresse  stehen  sollen,  so  überschreiben  Sie  den
alten Wert. In diesem Fall läßt  sich  das  Entpacken
nicht mehr mit RUN starten. Der  Befehl  zum  Starten
des Entpackungsvorganges lautet  dann  SYS  (ADRESSE)
bzw. JSR  oder  JMP  STARTADRESSE,  wenn  der  Aufruf
in einem Maschinenprogramm stattfindet.              
Das  Programm  kann  aber  auch  dann   mit   JSR/JMP
(STARTADRESSE)  entpackt  werden,  wenn  die   START-
ADRESSE $0801 ist.  In  diesem  Fall  darf  das  Pro-
gramm aber nicht von Basic aus mit LOAD geladen  wer-
den,  das  das  anschließende  Neusetzen  der  Basic-
Linkzeiger den Sprungbefehl am Anfang  des  Programms
löschen würde.                                       
Die  nächste  einzustellende  Adresse  betrifft   den
Speicherbereich, der für die  Entpackroutine  gewählt
werden soll. Diese Rountine steht zunächst am  Anfang
des gepackten Programms. Sie kopiert sich dann an die
hier gewählte Adresse: REPACKERS MEMORY ADRESS: $0100
Als Defaultwert ist $0100 vorgegeben. Sie können eine
andere Adresse einstellen, falls  dieser  Speicherbe-
reich  schon  genutzt  wird.  Der  Entpacker  benutzt
übrigens  die  Zeropage-Speicherstellen  $2d/$2e  und
$ae/$af. $ae/$af zeigt nach  dem  Entpacken  auf  die
Speicherstelle, die auf  das  letzte  entpackte  Byte
folgt.                                               
Nun gibt der PACKER die  höchste,  während  des  Ent-
packens benutzte Speicherstelle aus:                 
WHILE REPACKING MEMORY WILL BE USED UP TO $XXXX      
Anders als bei vielen anderen Packern wird  der  Code
vor  dem  Entpacken  nicht  bis  an  das   Ende   des
Sperichers verschoben, sondern nur so weit nach oben,
wie unbedingt  notwendig.  Falls  keine  Verschiebung
nötig ist, weil sich Qell- und Zielbereich beim  Ent-
packen nicht überlappen,  wird  diese  Meldung  nicht
ausgegeben. Die nächsten beiden Fragen betreffen  die
Vorgehens- weise nach dem Entpacken:                 
JUMP-IN ADRESS: (RTS TO RETURN  RUN TO  START  BASIC)
($)XXXX                                              
AFTER REPACKING $01 IS: $YY                          
Bei XXXX geben Sie entweder eine Adresse ein, zu  der
nach dem Entpacken gesprungen werden soll,  oder  das
6502-Mnemnonic "RTS", um die Instruktion  RTS  auszu-
führen, oder "RUN", um ein Basicprogramm zu  starten.
Als Defaultwert ist hier entweder  "RUN",  oder  eine
Adresse vorgegeben, abhängig  von  den  zuvor  einge-
ladenen Programmfiles.                               
Falls hier "RUN" gewählt wird, springt der  Entpacker
vor dem Starten  des  Programms  noch  die  Betriebs-
systemsroutine  $a533  an,  die  das  Neusetzen   der
Basic-Links bewirkt.  Dies  wird  normalerweise  beim
LOAD-Befehl automatisch gemacht, blieb aber beim  La-
den des gepackten Files  ohne  Einfluß  auf  den  ge-
packten Basiccode.                                   
$YY bestimmt den Zustand von Speicherstelle 1,  bevor
obige Instuktion  ausgeführt  wird.  Der  vorgegebene
Wert ist von der  eingegebenen  Einsprungadresse  ab-
hängig und kann in der Regel übernommen werden.      
Das I-Flag des Prozessors wird übrigens  während  des
Entpackens gestetzt. Nachher wird es  gelöscht,  wenn
$YY so gewählt wird,  daß  Kernal-Rom  und  I/O-Chips
eingeblendet sind.                                   
Die Adresse die nun eingegeben werden  muß,  ist  nur
für Basicprogramme von Bedeutung:                    
POINTER $2d/$2e IS: $XXXX                            
Wenn sich ein Basicprogramm im Speicher befindet, muß
der Zeiger $2d/$2e  auf  den  Beginn  des  Variablen-
speichers zeigen. Als Defaultwert wird hier das  Ende
eines eingelinkten Files mit der  Startadresse  $0801
vorgegeben, falls ein solches File existiert.        
Der vorgebene Wert muß in  der  Regel  nur  verändert
werden, wenn ein Basic-Hauptprgramm  den  PACKER  als
Levelcruncher benutzt. In diesem Fall  muß  die  End-
adresse des Basicprogramms+1 eingeben werden.        
Die vorletzte Einstellung betrifft eine einfache  Ko-
dierung des Zielprogramms, die  es  z.  B.  unmöglich
macht, mit einem Diskmonitor Texte innerhalb des Pro-
gramms zu finden und zu verändern.                   
SIMPLE CODELOCK ?                                    
Wenn eine solche Kodierung gewünscht wird,  muß  hier
"Y" für "YES" eingegeben werden.                     
Nun fehlt nur noch eines der neuer Filename:         
DESTINATION FILENAME: ($ FOR CATALOG)                
Die Eingabe eines Dollar-Zeichens listet  wieder  das
Directory. Wenn Sie nun  einen  Dateinamen  eingeben,
wird das gepackte und gelinkte Programm unter  diesem
Namen gespeichert.                                   
Wird die STOP-TASTE gedrückt,  während  das  Programm
auf eine Eingabe wartet, gelangt man  wieder  in  die
Dateinamen-Eingabezeile. Alle schon  komplett  einge-
linkten Files bleiben  dabei  erhalten.  STOP-RESTORE
beendet das  Programm.  ABER  VORSICHT:  STOP-RESTORE
sollte nicht gedrückt werden, wenn Diskzugriffe  aus-
geführt werden, sonst könnte der Rechner abstürzen.  
Bei einem Neustart mit RUN  sind  alle  zuvor  einge-
lesenen Daten wieder gerlöscht.                      
Falls  irgendwelche  Probleme  auftreten,  hält   der
PACKER folgende Fehlermeldungen für Sie bereit:      
- NO FILES TO LINK: Diese  Meldung  wird  ausgegeben,
                    wenn  noch  keine  Files  geladen
                    worden  sind,  und  abgespeichert
                    werden soll.                     
- DISK ERROR: Diskettenfehler                        
- CAN'T REPACK: Der  PACKER  verarbeitet  keine  Pro-
                gramme  die  bis  ganz  an  das  Ende
                des Speichers entpackt werden sollen,
                falls  sich  Quell-  und  Zielbereich
                überlagern.   Zwischen   Speicherende
                und Fileende müssen dann noch  einige
                Bytes freibleiben.                   
- OUT OF MEMORY: Ein File würde beim  Entpacken  über
                 das  Speicherende  hinausgeschrieben
                 werden, oder  der  gesamte  gepackte
                 CODE ist länger als ca. 230 Blocks. 
- EMPTY FILE: Es soll ein Fiel eingelinkt werden, das
              keine Daten enthält.                   
Fröhliches ein- und wieder auspacken wünschen        
                            Oliver Menne/Stefan Gnad 



Valid HTML 4.0 Transitional Valid CSS!