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 .