Utilities ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Haben Sie schon einmal ein langes Pro- gramm von einer Diskette gelöscht? Wenn ja, dann wird Ihnen sicher aufgefallen sein, daß dieser Vorgang nicht gerade mit Geschwindigkeit überzeugt. Noch lästiger wird es dann allerdings, wenn man mehrere Files auf einmal löschen will. Erstmal muß man die Namen der zu löschenden Programme alle im Kopf haben. Und dann dauert es wie bei allen Vorgän- gen, die die 1541 ausführt, so seine Zeit bis sich der Computer mit einem "READY." wieder zu einer Zusammenarbeit mit Ihnen bereit erklärt.
Das muß nicht so sein. Mit dem Programm SPEEDY SCRATCH, das sie entweder aus dem Game-Menü oder im Direktmodus mit:
LOAD"SPEEDY SCRATCH",8
laden, erhalten Sie ein komfortables, menügesteuertes Löschprogramm. Sie kön- nen damit ganze Listen von Programmen löschen, ohne sich deren Namen merken zu müssen. Nach dem Start mit RUN befinden Sie sich im Hauptmenü. Hier haben nur sechs Funk- tionstasten eine Bedeutung, diese sind mit der ihnen jeweils zugeordneten Funk- tion aufgelistet.
Drücken Sie F1 (Scratch Files), so bekommen Sie zuerst das Inhaltsverzeich- nis der Diskette angezeigt. Bei jedem Filenamen können Sie nun auswählen, ob der entsprechende Eintrag gelöscht (Taste Y für YES) oder nicht gelöscht (Taste N für NO) werden soll. Am Ende der Liste werden Sie zur Sicherheit nochmals gefragt, ob alle Angaben rich- tig erfolgt sind. Drücken Sie jetzt die Taste Y, so beginnt der Löschvorgang. Alle weiteren Funktionen sollen hier nicht beschrieben werden, da das Pro- gramm über eine gute Benutzerführung verfügt.
UTILITIES ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
In der letzten Magic Disk 64 haben wir Ihnen in der Rubrik Bastelware den Schaltplan einer Spracherweiterung vorgestellt, mit der Sie Ihrem Computer silbenweise Worte entlocken können. Heute beschreiben wir ein Programm, das zusammen mit diesem Sprachchip funktio- niert. Es ist ein sog. Phonem Editor mit dem Sie Sätze formen und diese dann als Hilfsprogramm abscheichern können. Das Prinzip basiert auf der Tatsache, daß Sie dem Chip eine bestimmte Anzahl von Zahlen, nämlich die Nummer der zu sprechenden Phonems, schicken müssen. Außerdem ist zu beachten, daß nicht alle Phonems die gleiche Länge haben. Deswegen Ist es sinnvoll, einen Laut
immer durch zwei Zahlen zu definieren, nämlich die Phonemnummer und die darauf folgende Wartezeit bis zum nächsten Phonem. Ein Wort ergibt so eine lange Reihe von Zahlen, ebenso ein Satz. Natürlich ist es umständlich, sich immer erst ein Programm zu schreiben, das dann die Zeiten und die Phonems richtig verarbeitet. Deswegen haben Sie das Programm SP0256-al2 EDIT auf der Magic Disk 64, in das Sie die Phonems nur noch gefolgt von der oben erwähnten Pausenlänge eingeben müssen, und schon haben Sie die Möglichkeit, Ihre Kreation anzuhören - mit dem nötigen Chip natürlich!
Nun zur Bedienung des Programms: Nach dem Start mit RUN testet sich das Programm selbst. Wenn Sie Ihr Chip richtig an den Verstärker und den C64 angeschlossen haben, müßten Sie in der Lage sein, 'Magic module active' zu hören - auf Englisch, versteht sich. Dann haben Sie ein Feld mit Punkten vor sich. Hier können Sie jetzt die gewünschten Zahlenpaare einsetzen. Die Zahlen werden einfach hintereinander geschrieben und durch ein SPACE von einander getrennt. Wenn Sie fertig sind, schießen Sie Ihre Zahlenreihe bitte mit zwei Nullen (0 0) ab, dann drücken Sie RETURN. Nun wird das Feld ausgewertet, das heißt die Daten werden geprüft und
in ein Maschinenprogramm eingebaut. Es werden nur Zahlen von 0 bis 63 genommen, da es im Chip nicht mehr Phonems gibt. Nach der Auswertung wird der übernommene Speicher noch einmal aufgelistet und testgesprochen. Jetzt zu der Belegung der Funktions- tasten: F1 - spricht den Sprachspeicher einmal, der eventuell andere Inhalt des Eingabefeldes bleibt unberücksichtigt. Sie können so z.B. direkt nach dem Starten des Programms die Testmeldung mehrfach anhören.
F3 - holt die Daten aus dem Maschinenprogramm zurück auf das Eingabefeld, z.B. nach versehentlichem Löschen des Feldes. F5 - löscht das Eingabefeld, nicht jedoch den Sprachspeicher. F7 - speichert das gesamte Sprach- programm auf Diskette ab. Wenn Sie die gewünschte Sprache später in eigene Programme integrieren wollen, so müssen Sie nur das entsprechende File mit ,8,1 laden und mit SYS49152 starten. Die Sprachdaten werden im Interrupt übertragen, wodurch Ihr Basicprgramm
weiterläuft, während gesprochen wird. Abschließend nun noch einige der brauchbaren Phonems als Liste zusammengefaßt. Die ausgelassenen Phonems sind nicht einer bestimmten Buchstabenkombination im Englischen zuzuordnen und Sie können selbst ein bißchen experimentieren. Viel Spaß
PHONEMS des SP0256 AL2: ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Nummer Buchstabe Beispiel
0-4......- Pause -..... 5..........oi..........voice 6..........ay..........gray, delay 7..........a...........and 9..........p...........picture 10.........ch..........cheer, cheap 11.........ng..........standing 12.........a...........(sh.#7) 13.........t...........tissue 14.........l...........look 15.........'ö'.........nurse 16.........m...........meat 17.........th/s........the
UTILITIES ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
19.........ey..........(sh.#6) 20.........ay..........(sh.#6) 22.........u...........you, united 23.........o...........all 24.........o...........not 26.........a...........anger 29.........th/f........think 30.........o...........total 31.........u/oo........cooler 32.........au..........mouse 34.........k...........king 35.........m...........MAGIC 37.........sh..........share 38.........j...........jungle, Joe 40.........h...........hint 41.........k...........kick 43.........z...........zoo
44.........n...........nothing 45.........l...........call 47.........er/ear......hear 49.........i...........link 52.........ur/or/er....worst, urge, jerk 53.........ol/al.......all, alert 54.........m...........(sh.#35) 55.........x...........dexter 58.........or..........for 59.........ar..........car 60.........eer.........casheer 63.........oo..........(sh.#31) Einige Beispiele: PLEASE = 9 45 49 43 55 KILLER = 42 49 45 51 SUCKER = 55 24 34 52
Superpacker '88 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Mit dem Superpacker '88 lassen sich Programme in ihrer Länge oft bis um die Hälfte verkürzen. Dies wird durch drei völlig neue Packvarianten möglich, die ein Programm bis zum letzten Byte 'ausquet- schen'. Nach dem Laden (LOAD "SUPERPACKER'88",8) und Starten mit RUN erscheint ein Menü, durch das die gewün- schte Packvariante ausgewählt werden kann. Folgende Funktionen stehen Ihnen zur Auswahl: 1. Equal Charakters: Dieser Packer untersucht das zu packende Programm nach Folgen gleicher Bytes. Findet er zum Beispiel 100 Nullen hin- tereinander, so werden aus den 100 Null-
bytes jediglich 4 Bytes, die den Code für die 100 Nullen beschreiben. Diese Packvariante hat sich in den mei- sten Fällen gegenüber den zwei anderen durchsetzen können. Vor allem beim Packen von Hi-Res-Bildern hat sich diese Version bewährt. 2. Equal Sequenzes: Diese Packart führt ein EOR mit dem Programm aus, bis es eine EOR-gleiche Bytefolge findet. Das bedeutet, daß selbst zwei völlig verschiedene Byte- sequenzen zu einer gepackt-codierten Folge von Bytes gebracht werden können.
3. Flezible Code: Hierbei wird eine Bytefolge solange um eine Hex-Zahl hochgezählt, bis der Packer einen sog. Idealwert findet. Ist dieser gefunden, so wird das Programm nach dem ersten Verfahren codiert und gepackt. Den größten Erfolg bringt meistens die Kombination aller drei Möglichkeiten, wobei allerdings zu beachten ist, daß dann der Packer auch die meiste Zeit benötigt. Um die Funktionen im Menü anzuwählen, drücken Sie einfach die Zahlen 1 bis 3. Die ausgewählte Funktion wird dann im Menü invertiert. Um den Vorgang wieder
rückgängig zu machen genügt das noch- malige Drücken der jeweiligen Taste. Wenn Sie sich für eine (oder mehrere) Packvariante(n) entschieden haben, be- stätigen Sie Ihre Eingabe mit RETURN. Danach fragt Sie das Programm nach dem Namen, unter dem das gepackte Programm auf der Diskette abgespeichert werden soll. Beenden Sie auch diese Eingabe mit RETURN. Als nächster Schritt ist der Name des Originalprogrammes einzugeben, wieder gefolgt von RETURN. Dann fragt Sie der Packer nach der Startadresse des Programms. Will man ein Basic-Programm mit dem Superpacker behandeln, ist als Startadresse der Wert
42926 (hex $A7AE) einzugeben. Ansonsten erhalten Sie die Startadresse durch folgende Routine:
10 OPEN 2,8,2,"Programmname,P,R" 20 GET #2,A$,B$:CLOSE 2 30 ?ASC(A$)+ASC(B$)*256
Alsdann wird man nach dem $01-Wert gefragt. Dieser ist in der Regel 55, es sei denn der Basic-Start wurde verscho- ben. Nun wird man aufgefordert, die Programm- diskette einzulegen. Bitte achten Sie darauf, daß genügend Platz auf der Diskette vorhanden ist, um das gepackte Programmfile abzulegen.
Ein weiterer Vorteil dieses Packers besteht darin, daß ein C128 erkannt wird. Das Programm schaltet dann auto- matisch in den 2 Mhz-Modus. Dadurch verkürzt sich beim C128 die Packzeit um ca. die Hälfte. Hier noch ein wichtiger Hinweis: Wenn Sie das 2.Packverfahren wählen (Equal Sequenzes), erscheint die ungefähre Zeit, die der packer benötigen wird. Bitte drücken Sie nach Erscheinen dieser Meldung Space .