PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:vorstellung:utilities:dip

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
software:vorstellung:utilities:dip [22/09/2022 22:09] (aktuell) – [Quelldateien] Rechtschreibung & Formatierung bttr
Zeile 1: Zeile 1:
 +{{ software:vorstellung:utilities:diputil.png?225x60}}
  
 +====== dip Utility Card ======
 +
 +Die **dip Utility Card** ist sozusagen die DOS-Systemdiskette des Portfolios. Auf einer 128 KB OTPROM-Karte (//One Time Programmable Read-Only Memory//) sind sehr wichtige Zusatzprogramme für die Benutzung des Betriebssystems und der Treiber für die ANSI-Emulation gespeichert. Man kann die Befehle direkt von der OTPROM-Karte starten oder auf ein anderes Laufwerk (Karte) kopieren. Wahrscheinlich hat jeder Portfolio-User mehrere dieser Programme in seiner Standardausrüstung. Diese Software ist voll multilingual, das heißt die Meldungen erscheinen in der eingestellten Systemsprache.
 +^Name^Größe^Datum^Beschreibung^
 +|ASK.COM|  1001| 30.11.89  01:02|Tastendruckaufforderung|
 +|ATTRIB.COM|  2976|30.11.89  01:02|Dateiattribute anzeigen/ändern|
 +|BEEP.COM|  1639|30.11.89  01:02|Piepton ertönen lassen|
 +|CMDEDIT.COM|  1709|30.11.89  01:02|Befehlszeileneditor und Rückblick|
 +|DIF.COM|  4448|30.11.89  01:02|Unterschiede zwischen Textdateien zeigen|
 +|DSKCHK.COM|  5888|30.11.89  01:02|Datenträger prüfen/reparieren|
 +|FIND.COM|  4095|30.11.89  01:02|Dateien nach Zeichenketten durchsuchen|
 +|FREEDSK.COM|  1624|30.11.89  01:02|Freien Platz eines Datenträgers anzeigen|
 +|FREEMEM.COM|  1101|30.11.89  01:02|Freien Speicherplatz anzeigen|
 +|KSIM.COM|  3564|30.11.89  01:02|Tastendruck simulieren|
 +|KSIMCOMP.COM|  5309|30.11.89  01:02|Quelltext für KSIM kompilieren|
 +|MODE.COM|  2807|30.11.89  01:02|Systemeinstellungen konfigurieren|
 +|PASSWORD.COM|  2391|30.11.89  01:02|Passwortschutz|
 +|REBOOT.COM|   930|30.11.89  01:02|Rechner neu starten|
 +|SORT.COM|  4223|26.03.90  01:03|Textdatei sortieren|
 +|SPOOL.COM|  2397|30.11.89  01:02|Drucken im Hintergrund|
 +|TOD.COM|  1024|30.11.89  01:02|Datum und Uhrzeit anzeigen|
 +|UPDATE.COM|  1664|22.08.93  00:03|Eingebaute Software aktualisieren|
 +|XCOPY.COM|  8266|15.03.90  01:03|Erweitertes Datei-kopieren/verschieben|
 +|XDIR.COM|  4223|30.11.89  01:02|Erweiterte Verzeichnisanzeige|
 +|ANSI.SYS|  1862|30.11.89  01:02|Treiber für die ANSI-Emulation|
 +
 +===== ASK =====
 +Zeigt den angegebenen Text, löscht den Tastaturpuffer und wartet auf einen Tastendruck.\\
 + Syntax: ASK [Text[,Tastenliste]][/?]\\
 +Der angegebene Text wird dargestellt und ASK wartet auf eine Taste. Ist die Taste nicht in der Liste ertönt ein Piepton und ASK wartet weiter, andernfalls gibt ASK die Ordinalzahl in der Liste als ERRORLEVEL wider. Wird keine Tastenliste angegeben akzeptiert ASK jede Taste und der zurückgegebene ERRORLEVEL ist 0.
 +Wird kein Parameter oder /? angegeben erscheint ein kleiner Hilfstext.\\
 + Beispiele:
 +  ASK Bitte Taste drücken...
 +ASK zeigt den Text und wartet auf irgend eine Taste, wird sie gedrückt ist der ERRORLEVEL 0
 +  ASK Wirklich fortfahren?,jn
 +Wird die Taste "j" gedrückt ist der ERRORLEVEL 1, wird die Taste "n" gedrückt ist der ERRORLEVEL 2. Bei jeder anderen Taste ertönt nur ein Piepton und ASK wartet weiter.
 +ASK unterscheidet nicht zwischen Groß- und Kleinschreibung, ob man "j" oder "J" tippt ist also egal.
 +
 +===== ATTRIB =====
 +Zeigt oder ändert die Attribute der angegebenen Datei. Platzhalter (* und ?) werden erkannt.\\
 + Syntax: ATTRIB [Datei [+/-][R][A][H][S][/P]][/?]\\
 +Wird weder + noch - angegeben listet ATTRIB die Dateien und ihre Attribute nur, wird + angegeben wird das Attribut gesetzt, wird - angegeben wird das Attribut gelöscht. Das betroffene Attribut kann R (read only), also der Schreibschutz, A (archivieren), H (hidden) für versteckte Dateien oder S (system) für Systemdateien sein. Versteckte Dateien und Systemdateien sind für den normalen DOS-Zugriff unsichtbar, können also nicht gelöscht, kopiert, gelistet (DIR) oder angezeigt werden.\\
 + Beispiel:
 +  ATTRIB *.DAT -A
 +löscht bei allen Dateien mit der Endung DAT das Archivbit.
 +  ATTRIB TEXT??.*
 +listet alle Dateien dessen Namen mit TEXT beginnen und deren Attribute.
 +
 +===== BEEP =====
 +Lässt einen Piepton mit der angegebenen Tonhöhe und Dauer ertönen.\\
 + Syntax: BEEP [t l][/?]\\
 +Der Ton t (zwischen 1 und 25, siehe unten) ertönt für l (zwischen 1 und 65535) Zehntel-Sekunden.
 +Falls t oder l außerhalb des Bereiches liegt setzt BEEP den ERRORLEVEL auf 1.
 +
 +^  t^  Hz^Note^  t^   Hz^Note^   t^  Hz^Note^   t^  Hz^Note^   t^  Hz^Note^
 +|  1| 622|D2#  6|  831|G2#  11| 1109|C3# 16| 1480|F3# 21| 1976|H3|
 +|  2| 659|E2|    7|  880|A2|    12| 1175|D3|   17| 1568|G3|   22| 2093|C4|
 +|  3| 698|F2|    8|  932|A2#  13| 1245|D3# 18| 1661|G3# 23| 2218|C4#|
 +|  4| 740|F2#  9|  988|H2|    14| 1319|E3|   19| 1760|A3|   24| 2349|D4|
 +|  5| 784|G2|   10| 1047|C3|    15| 1397|F3|   20| 1865|A3# 25| 2489|D4#|
 +
 +===== CMDEDIT =====
 +CMDEDIT installiert ein TSR (terminate stay resident) Programm, daß das Editieren und Auf- und -Abscrollen der DOS-Befehlszeile ermöglicht.\\
 + Syntax: CMDEDIT [/U][/?]\\
 +Der Schalter /U deinstalliert das TSR wieder. CMDEDIT belegt 1.1 KB die beim Deinstallieren wieder frei werden, sollten sie weitere TSRs nach CMDEDIT geladen haben, müßten diese dann allerdings auch deinstalliert werden.\\
 +
 +==== Zeilen editieren ====
 +Ist CMDEDIT erst einmal installiert können folgende Tasten verwendet werden um die Befehlszeile zu editieren:\\
 +
 +|<key>Left</key>|Cursor nach links|
 +|<key>Right</key>|Cursor nach rechts|
 +|<key>Home</key>|Cursor auf Zeilenanfang|
 +|<key>End</key>|Cursor zum Zeilenende|
 +|<key>Strg</key>+<key>Left</key>|Cursor ein Wort zurück|
 +|<key>Strg</key>+<key>Left</key>|Cursor ein Wort vor|
 +|<key>Back</key>|nach links löschen|
 +|<key>Del</key>|an Cursorstelle löschen|
 +|<key>Einfg</key>|schaltet zwischen Einfügen und Entfernen (Überschreiben) hin und her|
 +|<key>Strg</key>+<key>e</key>|bis Zeilenende löschen|
 +|<key>Strg</key>+<key>b</key>|bis Zeilenanfang löschen|
 +|<key>Strg</key>+<key>Back</key>|bis Wortanfang löschen|
 +|<key>Strg</key>+<key>w</key>|bis Wortende löschen|
 +|<key>Esc</key>|ganze Zeile löschen|
 +|<key>Up</key>|Cursor eine Zeile nach oben|
 +|<key>Down</key>|Cursor eine Zeile nach unten|
 +
 +CMDEDIT speichert immer die letzten 300 Zeichen. Man kann innerhalb dieses Bereiches mit den Cursortasten Zeilenweise auf- und abscrollen, die Zeilen editieren und ein weiteres mal ausführen durch drücken der <key>Enter</key>-Taste.
 +
 +===== DIF =====
 +Vergleicht Textdateien und zeigt deren Unterschiede.\\
 +Syntax: DIF Quelldatei [Zieldatei][/L][/P][/?]
 +
 +DIF liest die Quelldatei und vergleicht dessen Inhalt mit dem der Zieldatei. Wurde keine Zieldatei angegeben nimmt DIF den Namen der Quelldatei, aber mit der Endung BAK. /L (zwischen 1 und 9) bestimmt wieviele Zeilen der Datei nach dem ersten Unterschied mit angezeigt werden sollen. Wird L nicht angegeben ist der Wert 3. Wird /P angegeben wird die Bilschirmdarstellung angehalten sobald eine Seite voll ist, durch einen Tastendruck geht die Darstellung weiter. /? zeigt einen kurzen Hilfstext.
 + Beispiel:
 +Angenommen wir haben folgende Dateien:
 +
 +AUTOEXEC.BAT
 +
 +<code dos>
 +@echo off
 +prompt $P$G
 +path=a:
 +ver
 +dir
 +</code>
 +
 +und AUTOEXEC.BAK
 +
 +<code dos>
 +@echo off
 +prompt $P$G
 +path=a:
 +vert
 +dir
 +</code>
 +
 +Nach dem Aufruf von ''DIF AUTOEXEC.BAT'' passiert folgendes:
 +
 +<code>
 +** 2 AUTOEXEC.BAT *******************
 +@echo off
 +prompt $P$G
 +path=a:
 +ver
 +-- 2 AUTOEXEC.BAK -------------------
 +@echo off
 +prompt $p$g
 +path=a:
 +vert
 +1 Datei verglichen
 +</code>
 +
 +Die 2 bedeuted, daß der gefundene Unterschied in Zeile 2 ist, da kein Wert für L angegeben wurde werden die drei darauf folgeneden Zeilen abgezeigt, wo bereits der nächste Unterschied zu sehen ist. Den selben Vergleich kann man anders darstellen, wenn man ''DIF AUTOEXEC.BAT /1 ''eingibt:
 +
 +<code>
 +** 2 AUTOEXEC.BAT *******************
 +prompt $P$G
 +-- 2 AUTOEXEC.BAK -------------------
 +prompt $p$g
 +** 4 AUTOEXEC.BAT *******************
 +ver
 +-- 4 AUTOEXEC.BAK -------------------
 +vert
 +1 Datei verglichen
 +</code>
 +
 +Die Unterschiede jeder Zeile werden angezeigt (2 und 4).
 +
 +===== DSKCHK =====
 +Prüft Laufwerke bzw. Volumes auf Fehler und korrigiert sie falls erwünscht.\\
 +Syntax: DSKCHK [Laufwerk][/F][/?]\\
 +DSKCHK überprüft das angegebene Laufwerk bzw.den darin befindlichen Träger auf Strukturfehler wie z.B. beschädigte Cluster. Solche Schäden können durch kurzzeitige Unterbrechung der Spannungsversorgung oder durch Programmfehler entstehen. Sollte das Volume keine Fehler aufweisen meldet DSKCHK\\
 +  Diskette ist OK
 +Sollte DSKCHK Fehler finden zeigt es sie an, z.B. so:
 +  datei.erw has invalid cluster
 +  datei.erw is crosslinked
 +  datei.erw has an invalid file size
 +  nnn verlorene Blöcke in nnn Bereichen
 +Die ersten drei Meldungen weisen auf ernstahfte Strukturfehler hin die den Dateinamen betreffen. Verwenden sie diese Datei auf keinen Fall! Geben sie DSKCHK Laufwerk /F ein um die Volume-Struktur wiederherzustellen und laden sie ihr letztes Backup der betroffenen Datei. Falls sie kein Backup haben könnte es sein, daß sie die Datei nach der Korrektur wieder verwenden können.
 +Die letzte Meldung weist darauf hin, daß manche Daten auf dem Volume nicht als Datei zur Verfügung stehen, dies ist nicht weiter schlimm, das heißt nur, daß Speicherplatz verschwendet wird.
 +Um ein Volume zu reparieren tippen sie
 +  DSKCHK Laufwerk /F
 +DSKCHK fragt dann
 +  Diskette verändern
 +  Sind sie sicher (J/N)?
 +Antworten sie mit J um fortzufahren, sollte CHKDSK verlorene Cluster finden wird es fragen ob es sie in Dateien umwandeln soll
 +  Umwandeln in Dateien (J/N)?
 +Antworten sie mit J werden die Daten in den Dateien FILE0000.CHK, FILE0001.CHK usw. im Stammverzeichnis des betroffenen Laufwerks gespeichert. Wenn CHKDSK fertig ist überprüfen sie den Inhalt dieser Dateien, wenn sie brauchbar sind benennen sie sie um, wenn nicht löschen sie sie.
 +
 +===== FIND =====
 +Durchsucht die angegebenen Dateien nach der gewünschten Zeichenkette und zeigt deren Inhalt an. Platzhalter für den Dateinamen werden erkannt.\\
 +Syntax: FIND [Zeichenkette Datei [/S][/N][/D][/C][/P]][/?]\\
 +Wird kein Parameter oder /? angegeben erscheint ein kleiner Hilfstext. Andere Parameter:\\
 +|/S|Sucht auch in Unterverzeichnissen|
 +|/N|Dateien nur listen, ohne Inhalt|
 +|/D|Pfad des Dateinamens nicht mitangeben|
 +|/C|Groß- und Kleinschreibung berücksichtigen|
 +|/P|Darstellung anhalten wenn der Bildschirm voll ist|
 +
 +Normalerweise berücksichtigt FIND die Groß- und Kleinschreibung nicht, ist dies erwünscht verwenden sie den Schalter /C.\\
 +Beispiel:\\
 + ''FIND DATA *.BAS /S/D''\\
 +Durchsucht alle Basic-Dateien (auch in Unterverzeichnissen), und prüft ob die Zeichenkette DATA enthalten ist. Wenn ja zeigt FIND die Dateinamen ohne Pfad an und die Zeilen die die Zeichenkette enthalten.
 +Das Ergebnis könnte so aussehen:
 +<code>
 +>>>>>> Text gefunden in SPRITES.BAS
 +DATA 80,26,30,0,0,42,11
 +>>>>>> Text gefunden in PIC.BAS
 +DATA 67,12,12,56,17,7,3,39,21
 +      2 Dateien durchgesucht
 +</code>
 +
 +===== FREEDSK =====
 +Zeigt den noch verfügbaren Speicherplatz auf dem angegebenen Laufwerk an und gibt ihn als ERRORLEVEL in 4KB Schritten wieder.\\
 +Syntax: FREEDSK [Laufwerk][/?]\\
 +Beispiel:\\
 +''FREEDSK A:''\\
 +Ergebnis:\\
 +  30208 bytes frei auf Diskette
 +Um zu prüfen ob noch genügend Platz für eine 7KB große Datei auf Laufwerk A: existiert, könnte man folgende Batchdatei schreiben:
 +<code>
 +:KARTE
 +beep 5,5
 +ask Bitte Karte in Laufwerk A: einlegen und Taste drücken
 +:PRUEF
 +freedsk A:
 +if errorlevel 2 goto WEITER
 +echo nicht genügend Platz
 +echo nehmen sie eine andere Karte
 +pause >nul
 +goto PRUEF
 +:WEITER
 +copy DATEI.ERW A:
 +</code>
 +
 +===== FREEMEM =====
 +Zeigt den verfügbaren Arbeitsspeicher im größten Block an und setzt den ERRORLEVEL auf die Größe in 4KB Blöcken.\\
 +Syntax: FREEMEM [/?]\\
 +Wird /? angegeben erscheint ein Hilfstext.\\
 +Beispiel:\\
 +Geben sie ''FREEMEM'' ein. Das Ergebnis könnte so aussehen:\\
 +  54976 bytes frei in Arbeitsspeicher
 +Um von einer Batchdatei aus zu prüfen ob mehr als 80KB Arbeitsspeicher vorhanden sind könnte man folgende Batchdatei schreiben:
 +<code>
 +@echo off
 +freemem
 +if errorlevel 20 goto WEITER
 +beep 5,5
 +echo Sie benötigen 80KB Speicher für diese Programm
 +goto SCHLUSS
 +:WEITER
 +programm
 +:SCHLUSS
 +</code>
 +
 +===== KSIM & COMP=====
 +KSIM erlaubt es Tastatureingaben zu simulieren. KSIM liest die Tastenfolge aus einer Quelldatei die mit dem Text-editor erstellt und mit KSIMCOMP kompiliert wird.\\
 +Syntax: KSIM [Datei][/U][/?]\\
 +Beim Start installiert KSIM ein TSR (terminate stay resident) Programm, daß so lange resident bleibt bis alle Tastaturfolgen abgearbeitet sind und deinstalliert sich dannn selbst. Möchte man es vorher deinstallieren kann man dies tun indem man ''KSIM /U'' eingibt. Beim Aufruf muß die Quelldatei angegeben werden (normalerweise mit der Endung KCF, die Standarderweiterung von KSIMCOMP).
 +Wenn der User eine Taste drückt wärend KSIM noch aktiv ist, wartet KSIM bis keine Tastatureingabe mehr folgt, etwa zehn Sekunden später setzt KSIM seine Arbeit fort. Mit <key>C</key>+<key>c</key> läßt sich die Ausführung von KSIM anhalten. Folgen keine weiteren Tastatureingaben wartet KSIM ebenfalls zehn Sekunden und setzt seine Tätigkeit dann fort. Drückt man <key>Fn</key>+<key>b</key> bricht KSIM sofort ab und deinstalliert sich. KSIM kann eine breite Palette von Tasten simulieren, allerdings nicht <key>C</key>+<key>A</key>+<key>Del</key> (Warmstart) und keine Tastaturkürzel die die Tastatureinstellungen NUMLOCK SCRLOCK oder CAPSLOCK beinflussen.
 +Wenn KSIM Befehle aufruft (wie PAUSE oder ASK) die den Tastaturpuffer leeren bevor sie eine Abfrage durchführen, kann es sein das Tastaturschläge verloren gehen, da KSIM den Tastaturpuffer immer weiter füttert. Um dies zu verhindern kann man mit KSIMCOMP Verzögerungen einarbeiten (siehe "Besondere KSIM Steuerfunktionen" unter "Quelldateien").
 +Wenn KSIM von einer Batchdatei aus gestartet wird, beginnt KSIM das Abarbeiten erst nachdem die Batchdatei beendet wurde, es sei denn der erste Befehl simuliert ein Tastenkürzel das eine der Applikationen startet.
 + Solange KSIM resident ist beansprucht es 5000 Bytes plus die Größe der Quelldatei (*.KCF)
 +
 +==== Quelldateien ====
 +Quelldateien (*.KCF) können mit dem Texteditor erstellt werden und müssen mit KSIMCOMP kompiliert werden.
 +Beim Erstellen einer Quelldatei werden <key>Enter</key> und <key>TAB</key> nur zur Gestaltung verwendet. Sollen diese Tasten simuliert werden, müssen sie als ASCII-Wert oder Sonderzeichen (siehe unten) angegeben werden. Ansonsten gilt folgende Schreibweise:
 +
 +  * Normale Tasten (Buchstaben & Ziffern) können einfach eingetippt werden, auch ganze Zeichenketten (Groß- und Kleinschreibung werden berücksichtigt).
 +  * Sonderzeichen, die nicht mit der Tastatur eingegeben werden können, müssen als ASCII-Wert in Klammern mit dem Präfix "#" angegeben werden (z. B. {#32} für die Leertaste).
 +  * Steuerzeichen (mit <key>Strg</key>) werden auch in Klammern, aber mit mit dem Präfix "^" angegeben (z. B. {^A} für <key>Strg</key>+<key>a</key>).
 +  * Die Quelldatei kann mit Kommentaren versehen werden, die nicht in der kompilierten Datei auftauchen. Diese werden einfach von einem Semikolon angeführt. Möchte man ein Semikolon als Tastendruck verwenden, muss man es als {;} angeben oder als ASCII-Wert {#XX). Dasselbe gilt für die Klammern, entweder <nowiki>{{}</nowiki> für "{" oder <nowiki>{}}</nowiki> für "}", oder eben die ASCII-Werte {#XX} oder {#XX}.
 +
 +  * Besondere KSIM Steuerfunktionen:
 +    * Eine Verzögerung wird einfach als Zahl in Sekunden (z. B. {3} für drei Sekunden angegeben).
 +    * Um die Ausführung der Quelldatei anzuhalten, gibt man {STOP} ein.
 +    * Mit {START} beginnt die Ausführung der Quelldatei von Anfang an.
 +
 +^Steuerungstasten^^
 +|<key>Enter</key>|{CR}|
 +|<key>Esc</key>|{Esc}|
 +|<key>Back</key>|{BS}|
 +|<key>TAB</key>|{TAB}|
 +|<key>Shift</key>+<key>TAB</key>|{BTAB}|
 +|<key>Einfg</key>|{INS}|
 +|<key>Del</key>|{DEL]}|
 +|Zeilenvorschub|{LF}|
 +|Zeilenvorschub mit Wagenrücklauf|{CRLF}|
 +
 +
 +^Funktionstasten^^^^^^^^
 +|<key>F1</key> {F1}||<key>Shift</key>+<key>F1</key> {SF1}||<key>C</key>+<key>F1</key> {CF1}|
 +|<key>F2</key> {F2}||<key>Shift</key>+<key>F2</key> {SF2}||<key>C</key>+<key>F2</key> {CF2}|
 +|<key>F3</key> {F3}||<key>Shift</key>+<key>F3</key> {SF3}||<key>C</key>+<key>F3</key> {CF3}|
 +|<key>F4</key> {F4}||<key>Shift</key>+<key>F4</key> {SF3}||<key>C</key>+<key>F4</key> {CF4}|
 +|<key>F5</key> {F5}||<key>Shift</key>+<key>F5</key> {SF5}||<key>C</key>+<key>F5</key> {CF5}|
 +|<key>F6</key> {F6}||<key>Shift</key>+<key>F6</key> {SF6}||<key>C</key>+<key>F6</key> {CF6}|
 +|<key>F7</key> {F7}||<key>Shift</key>+<key>F7</key> {SF7}||<key>C</key>+<key>F7</key> {CF7}|
 +|<key>F8</key> {F8}||<key>Shift</key>+<key>F8</key> {SF8}||<key>C</key>+<key>F8</key> {CF8}|
 +|<key>F9</key> {F9}||<key>Shift</key>+<key>F9</key> {SF9}||<key>C</key>+<key>F9</key> {CF9}|
 +|<key>F10</key> {F10}||<key>Shift</key>+<key>F10</key> {SF10}||<key>C</key>+<key>F10</key> {CF10}|
 +
 +
 +^Cursortasten^^^^
 +|<key>Up</key>| {UP}|<key>C</key>+<key>Up</key>|---|
 +|<key>Down</key>| {DN}|<key>C</key>+<key>Down</key>|---|
 +|<key>Left</key>| {LFT}|<key>C</key>+<key>Left</key>| {CLFT}|
 +|<key>Right</key>| {RGT}|<key>C</key>+<key>Right</key>| {CRGT}|
 +|<key>PgUp</key>| {PGUP}|<key>C</key>+<key>PgUp</key>| {CPGUP}|
 +|<key>PgDn</key>| {PGDN}|<key>C</key>+<key>PgDn</key>| {CPGDN}|
 +|<key>Home</key>| {HOME}|<key>C</key>+<key>Home</key>| {CHOME}|
 +|<key>Ende</key>| {END}|<key>C</key>+<key>Ende</key>| {CEND}|
 +
 +
 +^Hotkeys für Applikationen^^^
 +|<key>ATARI</key>+<key>s</key> {APP/S}|Systemeinstellungen|
 +|<key>ATARI</key>+<key>z</key> {APP/Z}|Applikationmenü|
 +|<key>ATARI</key>+<key>e</key> {APP/E}|Texteditor|
 +
 +|<key>ATARI</key>+<key>a</key> {APP/A}|Adressbuch|
 +|<key>ATARI</key>+<key>d</key> {APP/D}|Terminplaner|
 +|<key>ATARI</key>+<key>w</key> {APP/W}|Tabellenkalkulation|
 +|<key>ATARI</key>+<key>c</key> {APP/C}|Rechner|
 +
 +Mit den Hotkeys kann man von DOS aus die Applikationen aufrufen. Befindet sich der Portfolio bereits in einer Applikation, werden diese Kürzel von KSIM ignoriert.
 +
 +Beispiel:\\
 +Um den Wecker nach einem Warmstart wieder zu stellen, kann man dies automatisch von der AUTOEXEC.BAT aus tun. Man schreibe sich folgende Textdatei:
 +<code>
 +app/d{cr}                                    ;Terminplaner aufrufen
 +{f1}{cr}{dn}{cr}c:\system\diary.dry{cr}      ;Datei laden
 +{f1}{cr}{dn}{cr}c:\system\diary.dry{cr}      ;Datei speichern
 +{esc}                                        ;Terminplaner verlassen
 +</code>
 +Nun speichern Sie diese Datei unter dem Namen WECKAN.SRC. Um die Quelldatei zu kompilieren, tippen Sie:
 +  KSIMCOMP WECKAN
 +KSIMCOMP erzeugt die kompilierte Datei WECKAN.KCF
 +
 +Nun geben Sie die Zeile
 +  KSIM WECKAN
 +in Ihrer AUTOEXEC.BAT ein.
 +
 +Nun wird nach jedem Warmstart automatisch der Terminplaner geladen und die DIARY.DRY gespeichert, dabei werden die Weckzeiten gesetzt. Der Terminplaner wird wieder verlassen und die AUTOEXEC.BAT zu Ende geführt.
 +
 +===== MODE =====
 +
 +Mit MODE können die wichtigsten Systemeinstellungen in Batchdateien durchgeführt werden.\\
 +Syntax: MODE [Schalter][/?]\\
 +Die Schalter bestehen aus einem "/" gefolgt von einer Sequenz von Buchstaben die den Tasten entsprechen die sie drücken würden um die Einstellungen im Systemmenü vorzunehmen wenn die Systemsparche auf englisch eingestellt ist. Gibt man /? oder keinen Parameter ein so wird ein kurzer Hilfstext gezeigt. Die Schalter im einzelnen:\\
 +
 +  *Bildschirmeinstellungen:
 +<code>
 +/DI[(N)(S)(T)]    Internes Diplay: Normal, Statisch, Tracked
 +/DE[(N)(S)(T)]    Externes Display: Normal, Statisch, Tracked
 +/DR[(N)(T)(K)(B)] Display Refresh: Normal, Timed, Keys, Beides
 +/DS[(N)(F)]       Display Geschwingigkeit: Normal, Schnell
 +</code>
 +
 +  *Toneinstellungen:
 +<code>
 +/SK[(0)(1)]   Tastenklick an/aus
 +/SA[(0)(1)]   Weckton an/aus
 +/SB[(0)(1)]   Summer an/aus
 +</code>
 +
 +  *Applikationen:
 +<code>
 +/AC[(0)(1)]     Klemmbrett an/aus
 +/AU[(0)(1)]     Wiederherstellen an/aus
 +/AL[(E)(F)(D)]  Systemsparache (Englisch, Französisch, Deutsch)
 +/AK[(E)(F)(D)]  Tastatursprache (Englisch, Französisch, Deutsch)
 +</code>
 +
 +  *Druckereinstellung:
 +<code>
 +/PD[(P)(F)(S)]  Druckziel (Parallel, Datei, seriell)
 +/PLn            Seitenlänge n (0 bis 41 oder 99)
 +/PScodes        Sendet bis zu 128 Drucker-Codes. Nicht druckbare Zeichen in ASCII-Code (z.B. \219 für den Cursor).
 +/PE[(0)(1)(2)]  Zeilenende (CR, CR-LF, CR-LF-LF)
 +/PMLn           Linker Rand n
 +/PMTn           Oberer Rand n
 +/PMBn           Unterer Rand n
 +</code>
 +
 +  *RS-232 Schnittstelle:
 +<code>
 +/RBn            Baud-Rate n
 +/RP[(N)(E)(O)]  Parität (keine, gerade, ungerade)
 +/RD[(7)(8)]     Datenbits
 +/RS[(1)(2)]     Stopp-Bits
 +/RI             Initialisieren
 +</code>
 +
 +Beispiel:\\
 +  mode /rb9600/rpe/rd7/rs2/ri
 +Stellt die serielle Schnittstelle auf 9600 Baud, Parität gerade, 7 Daten-Bits und 2 Stopp-Bits, und initialisiert sie.\\
 +
 +  mode /pdp/pl0/pe1/pml4/ps\027ETestausdruck\027H\013\010
 +Setzt das Druckziel auf parallel, kein Seitenvorschub, Zeilenende CR-LF, linken Rand auf 4, und druckt eine Überschrift in Fettdruck (EPSON).
 +
 +===== PASSWORD =====
 +
 +Hiermit läßt sich der Zugang zum Rechner durch die Definition eines Passwortes kontrollieren.\\
 +Syntax: PASSWORT [/S][/?]\\
 +Wenn noch kein Passwort definiert ist erscheint beim Aufrufen ein kleiner Hilfstext, genau wie mit /?. Wenn ein Passwort definiert ist wird danach gefragt:\\
 +  ? ╓┬─o:
 +Um den Portfolio benutzen zu können muß der User nun das richtige Passwort eingeben. Tut er dies, wird PASSWORD beendet und der Rechner kann ganz normal benutzt werden, wenn nicht erscheint die Meldung:
 +  1 falscher Versuch. ? ╓┬─o:
 +Der User kann einen weiteren Versuch machen, stimmt er wieder nicht wird dies angezeigt:
 +  2 falsche Versuche. ? ╓┬─o:
 + Nach dem zehnten Versuch ertönt ein Beep und der Portfolio geht aus. wird der Portfolio wieder eingeschaltet fragt PASSWORD erneut nach dem Passwort, ist die Antwort wieder falsch geht er wieder aus, usw.
 +Es ist nicht möglich aus dem Programm auszubrechen, weder durch Ein- und Ausschalten, noch durch entfernen der Speicherkarte. Hier hilft nur der Warmstart. Um den Portfolio auch hiervor zu schützen starten sie PASSWORT bereits in der AUTOEXEC.BAT jeder Speicherkarte.\\
 +
 +
 + ==== Passwort definieren ====
 +Falls noch kein Passwort definiert wurde tippen sie ''PASSWORD /S'' in der Befehlszeile und folgende Aufforderung erscheint:
 +  Neue ╓┬─o:
 +Falls ''Alte ╓┬─o: '' erscheint war bereits ein Passwort definiert und sie müssen es vorher eingeben.
 +Geben sie nun das Passwort ein, es kann bis zu 8 Zeichen lang sein und aus Buchstaben und Zahlen bestehen, Groß- und Kleinschreibung werden nicht berücksichtigt. Wärend der Eingabe werden die Zeichen alle als "#" dargestellt. Drücken sie Enter wird eine Bestätigung verlangt:
 +  Wiederhohlen ╓┬─o:
 +Geben sie es erneut ein. Stimmen beide Angaben überein erscheint:
 +  Kennwort gesetzt
 +wenn nicht:
 +  Nicht erfolgreich
 +Das Passwort wird nicht definiert. Um ein bstehendes Passwort ändern zu können muß man das vorherige kennen, durch Eingabe von ''PASSWORD /S'' kann es neu definiert werden.
 +
 +
 +==== Passwort aufheben ====
 +Wenn sie das Passwort vergessen haben oder den Schutz aufheben wollen müssen sie eine Speicherkarte einlegen die das Programm PASSWORD.COM im Stammverzeichnis hat. Starten sie PASSWORD. Auf die Frage nach dem Kennwort
 +  ? ╓┬─o:
 +antworten sie mit Alt_P. Sie erhalten die Antwort
 +  Kennwort gelöscht
 +
 +===== REBOOT =====
 +
 + REBOOT führt einen Neustart durch. Der Warmstart bewirkt das Selbe wie <key>C-A-Del</key>, der Kaltstart bewirkt das selbe als wenn man die Batterien entfernt und die Matalllasche im Batteriefach drückt.\\
 + Syntax: REBOOT [/W][/C][?]\\
 +Der Schalter /W steht für Warmstart und /C für Kaltstart. Wird /? angegeben erscheint ein kleiner Hilfstext.\\
 +
 +Beispiel:
 +  copy ansiboot.sys config.sys
 +  copy applik.bat autoexec.bat
 +  reboot /w
 +Die CONFIG.SYS und AUTOEXEC.BAT werden ersetzt und durch einen Warmstart ausgeführt.
 +
 +===== SORT =====
 +
 +Sortiert die Zeilen von Textdateien in alfabetischer Reihenfolge und schreibt sie in eine andere Datei. Platzhalter (* oder ?) werden erkannt.\\
 +Syntax: SORT [Quelldatei [Zieldatei]][/R][/U][/?]\\
 +SORT liest die Zeilen der Quelldatei(en) ein (immer bis zum nächsten CR (ASCII 13)), sortiert sie in alfabetischer Reihenfolge und schreibt sie in die angegebene Zieldatei(en). Die Sortierung kann auch in umgekehrter alfabetischer Reihenfolge sein, geben sie dazu den Schalter /R an. Sollte eine Zeile doppelt in einer Quelldatei auftauchen, kann das Duplikat übersprungen werden indem man beim Aufruf den Schalter /U angibt.\\
 +Falls mehrere Quelldateien in ein und die selbe Zieldatei sortiert werden werden sie vor der Sortierung gemischt, es ist dann also nicht mehr erkennbar welche Zeile aus welcher Quelldatei stammt.
 +
 +===== SPOOL =====
 +
 + Erlaubt das Drucken im Hintergrund wärend man weiter arbeitet.\\
 +Syntax: SPOOL [Puffergröße][/U][/?]\\
 +Die angegebene Puffergröße kann zwischen 1 und 32767 liegen und definiert die Anzahl der zu puffernden Druckzeichen. Stellen sie sicher, daß auch genügend Speicher für die angegebene Puffergröße zur Verfügung steht. SPOOl installiert ein TSR (terminate stay resident) Programm mit einer Größe von 900 bytes, um es zu deinstallieren geben sie den Schalter /U an. Ist Spool erst mal installiert wird alles was zum logischen Gerät PRN geschickt wird in den Puffer gelesen und nach und nach an den Drucker weiter gegeben, der User kann wärend dessen normal weiterarbeiten. Spool ermöglicht es auch Grafikbildschirme durch drücken von <key>Fn</key>+<key>p</key> zu drucken.
 +
 +Beispiel:
 +  SPOOL 1500
 +installiert SPOOL mit einer Puffergröße von 1500 Byte (Zeichen).
 +
 +
 +===== TOD =====
 +
 +Zeigt den Wochentag, das Datum und die Uhrzeit an und setzt den ERRORLEVEL auf die eingestellte Systemsprache.\\
 +Syntax: TOD [/?]\\
 +Mit dem Schalter /? zeigt TOD einen kleinen Hilfstext an.
 +Gibt man keinen Parameter an könnte die Anzeige so aussehen:
 +  Mon 15 Jan 1990  10:42:16
 +TOD kann auch dazu verwendet werden in einer Batchdatei festzustellen welche Systemsprache eingestellt ist.
 +Bei einem Portfolio der die Sprachen Englisch, Französisch und Deutsch hat wird der ERRORLEVEL im ersten Fall auf 0, im zweiten auf 1 und im dritten Fall (deutsch) auf 2 gesetzt.
 +
 +  @echo off
 +  tod >nul
 +  if ERRORLEVEL 2 goto DEUTSCH
 +  if ERRORLEVEL 1 goto FRANCAIS
 +  type HELP.ENG
 +  goto WEITER
 +  :FRANCAIS
 +  type HELP.FRA
 +  goto WEITER
 +  :DEUTSCH
 +  type HELP.DEU
 +  goto WEITER
 +  :WEITER
 +  ...
 +
 +
 +===== UPDATE =====
 +Behebt bekannte Fehler der unterschiedlichen BIOS-Versionen. Die letzte bekannte UPDATE-Version ist v1.07 vom 09-10-92 (1664 Bytes). Sie ist kompatibel mit allen BIOS-Versionen. Sie sollten diese Utility möglicht als erstes nach einem Neustart ausführen, so verhindern sie eventuelle Probleme bei der Ausführung der nachfolgenden Programme.\\
 + Syntax: UPDATE\\
 +Nach erfolgreicher Ausführung erscheint die Meldung "update+", wenn nicht war die Ausführung nicht nötig (UPDATE-Version ist älter als BIOS-Version), ein Fehler ist aufgetreten, oder UPDATE wurde bereits Ausgeführt.\\
 +
 +v1.07 behebt folgende Fehler:\\
 +-Beschränkung auf 10 Zeichen bei "Copy CON" behoben.\\
 +-Der Verlust bzw. die falsche Ausgabe von Zeichen zum Drucker wurde korrigiert.\\
 +-Das Ausschalten des Rechners wärend der Ausführung von RUN-Dateien ermöglicht.\\
 +-Das Wechseln von Speicherkarten wärend der Ausführung von RUN-Dateien ermöglicht.\\
 +-Das Byte an Adresse 0:8030 geht nicht mehr verloren.\\
 +-Der Fehler im Text-Editor bei Zeilen die nur eine Leerstelle enthalten wurde behoben. Dieser Fehler tritt bei BIOS-Versionen ab 1.070 auf.\\
 +-Die Warnung Teilung durch Null wurde aufgehoben.\\
 +-Ausklammerung des Int 24 C0.\\
 +-DOS Fehler bei Laufwerk B: behoben.\\
 +-Print Screen wurde korrigiert.\\
 +-Probleme mit dem Wecker des Terminplaners behoben.\\
 +-Problem mit leeren Text-Dateien behoben.\\
 +
 +===== XCOPY =====
 +
 +Dies ist eine erweiterte Version des internen Befehls COPY, besonders geeignet um Backups zu erstellen und 
 +zurückzulesen. Es kann verwendet werden um Dateien und Unterverzeichnisse zu kopieren, Backups über mehrere 
 +Datenträger zu kopieren und Dateien auszuwählen die seit der letzten Archivierung verändert wurden.\\
 + Syntax: XCOPY [Quelle [Ziel][/S][/M][/O][/A][/C][/B][/R][/P]][/?]\\
 +Quelle: Datei(en) oder Ordner die kopiert werden sollen. Platzhalter (* und ?) werden erkannt.
 +Ziel: Datei(en) oder Ordner wohin kopiert werden soll.\\
 +|/S |Dateien in Unterverzeichnissen mitkopieren|
 +|/M |Löscht die Quelle nach dem Kopieren. Nicht in Verbindung mit Backup/Restore (/B und /R) verwenden.|
 +|/O |Überschreiben falls Ziel existiert|
 +|/A |Nur Dateien mit gesetztem Archiv-Bit kopieren, Archiv-Bit nicht verändern.|
 +|/C |Nur Dateien mit gesetztem Archiv-Bit kopiern, Archiv-Bit löschen.|
 +|/B |Dateien Sichern, zum Beispiel in einer Zieldatei namens BACKUP.DAT im Stammverzeichnis einer Speicherkarte.|
 +|/R |Dateien aus einem mit /B erstellten Backups wiederherstellen (samt Struktur).|
 +|/P |Bildschirmausgabe an jedem Seitenende anhalten.|
 +|/? |Zeigt einen kleinen Hilfstext.|
 +Wenn die Zieldatei(en) bereits existier(en) und der Schalter /O nicht verwendet wurde wird folgende Meldung 
 +ausgegeben:
 +  Datei <Name> existiert, überschreiben (J/N)?
 +Drücken sie <key>j</key> zum Überschreiben, <key>n</key> zum nicht Kopieren, <key>Esc</key> um den Vorgang abzubrechen oder <key>Strg</key>+<key>j</key> um diese Datei und alle anderen ohne Rückfrage zu kopieren. Falls auf dem Datenträger des Ziels kein Platz mehr vorhanden ist wird folgende Meldung ausgegeben:
 +  Diskette einlegen Nr.1 und Taste drücken.
 + Um auf einem anderen Träger weiter zu kopieren legen sie ihn ein und drücken sie eine Taste. Um abzubrechen drücken 
 +sie <key>Esc</key> oder <key>Strg</key>+<key>c</key>.\\
 +XCOPY ist in der lage die Unterverzeichnisse der Quelle im Ziel zu reproduzieren, so können ganze Träger samt Struktur kopiert werden.
 +
 +==== Backup und Restore ====
 +
 +Wenn Sie den Schalter /B verwenden, werden alle Quelldateien in einer Datei namens ''XBACKUP.DAT'' gespeichert (in Verbindung mit Schalter /S auch die Unterverzeichnisse). Während der Sicherung werden die kopierten Dateien angezeigt, z.B.:
 +
 +  DATEI01.ERW wird gesichert
 +  DATEI02.ERW wird gesichert
 +  DATEI03.ERW wird gesichert
 +      Dateien kopiert
 +
 +Sollte auf dem Zieldatenträger kein Speicherplatz mehr vorhanden sein, werden Sie aufgefordert einen weiteren Datenträger einzulegen:
 +
 +  Diskette einlegen Nr.1 und Taste drücken.
 +
 +Legen Sie den nächsten freien Datenträger ein und bestätigen Sie mit <key>j</key>.
 +
 +Wenn der Schalter /S verwendet wurde, werden auch alle Dateien in den Unterverzeichnissen mit kopiert. Die Namen dieser Dateien werden in der Backup-Datei mit dem entsprechenden Pfad versehen. Dies ist bei der Wiederherstellung zu berücksichtigen. Haben Sie zum Beispiel den Ordner ''C:\DATEN'' mit allen Unterverzeichnissen kopiert:
 +
 +  XCOPY C:\DATEN\*.* A: /S/B
 +
 +und wollen nachher die Datei ''C:\DATEN\MAI\KONTO.WKS'' zurücklesen, müssen Sie dies auch so angeben:
 +
 +  XCOPY A:\DATEN\MAI\KONTO.WKS C:\DATEN /R
 +
 +Werden die gewünschten Dateien zurückgelesen, zeigt XCOPY sie an:
 +
 +  DATEI01.ERW wird wieder hergestellt
 +  DATEI02.ERW wird wieder hergestellt
 +  DATEI03.ERW wird wieder hergestellt
 +     3 Dateien wieder hergestellt
 +
 +Sollten eine oder mehrere Dateien aus irgendeinem Grund nicht zurückgelesen werden können, erhalten Sie die Meldung:
 +
 +  DATEI.ERW wird nicht wieder hergestellt.
 +
 +=== Das Archiv-Bit ===
 +
 +Wenn Sie ein Backup erstellen, können Sie die Schalter /A oder /C verwenden um nur die Dateien zu kopieren, dessen Archiv-Bit gesetzt ist. Dieses Bit wird gesetzt, sobald Sie eine Datei erstellen oder verändern. Es kann mit ATTRIB oder während eines Archiviervorganges mit XCOPY unter Verwendung des Schalters /C gelöscht werden. So können Sie eine Menge Zeit und Diskettenplatz sparen, indem Sie immer nur die Dateien sichern, die sich seit der letzten Verwendung von XCOPY verändert haben.
 +
 +===== XDIR =====
 +
 +Erweiterte Version des internern Befehls DIR. Auch der Inhalt von Unterverzeichnissen kann gelistet werden.\\
 +Syntax: XDIR Datei [/A][/D][/N][/Q][/W][/P][/?]\\
 +Wie auch beim internen Befehl werden Platzhalter erkannt. DIR listet die angegebenen Dateien des aktuellen Pfads und die Dateien in den Unterverzeichnissen. Ist dies nicht gewünscht geben si den Schalter /D an. Wenn man den Schalter /A angibt, werden nur die Dateien gelistet deren Archiv-Bit gesetzt ist (nicht archivierte Dateien). Der Schalter /N dient dazu nur die Dateinamen, also ohne Laufwerk unf Pfad anzuzeigen. /Q verhindert, daß am Ende des Listings die Anzahl der Dateien und belegter Bytes angezeigt wird. Mit /W unterdrückt man die Angabe der einzelnen Dateigrößen und das Datum.
 +Wie auch bei DIR wartet das Programm auf einen Tastendruck bevor die nächste Seite des Bildschirms gezeigt wird wenn der Schalter /P angegeben wird.
 +
 +===== ANSI =====
 +
 +ANSI.SYS ist ein Gerätetreiber für die Konsole (CON:) der es ermöglicht die ANSI-Emulation zu verwenden. Diese Version ist eine vollwertige Implementierung des PC-Standard Treibers mit den entsprechenden Anpassungen an Portfolios Bildschirm Hardware.
 +ANSI ermöglicht es den Cursor auf dem Bildschirm zu platzieren, den Bildschirm auf und ab zu scrollen und die Tastaturbelegung zu verändern.
 +
 + ==== Installieren ====
 +Um den ANSI.SYS Gerätetreiber zu verwenden müssen Sie ihn folgendermaßen installieren:\\
 +1. Kopieren Sie die ANSI.SYS-Datei in das Stammverzeichnis von Laufwerk C:
 +   COPY A:\ANSI.SYS C:\ <-
 +2. Fügen Sie in der CONFIG.SYS-Datei im Stammverzeichnis von Laufwerk C: 
 +folgenden Eintrag ein:
 +   DEVICE=C:\ANSI.SYS
 +3. Führen Sie einen Warmstart durch (z.B. durch drücken von (<key>C-A-Del</key>).
 +
 +Der Gerätetreiber wird auch über Warmstarts hinaus aktiv bleiben. (Um Ihn zu 
 +entfernen löschen Sie den Eintrag DEVICE=C:\ANSI.SYS in der CONFIG.SYS und 
 +führen Sie einen Warmstart durch).
 + Wenn Sie ANSI.SYS in ein anderes Verzeichnis verschieben wollen kopieren sie 
 +die Datei in ein Unterverzeichnis auf Laufwerk C: und ergänzen Sie den Pfad im 
 +Eintrag DEVICE= um die neue Lage anzugeben. Zum Beispiel, wenn Sie ANSI.SYS in 
 +das Verzeichnis \SYSTEM kopieren, ändern Sie den Eintrag in der CONFIG.SYS in 
 +DEVICE=C:\SYSTEM\ANSI.SYS um. Stellen Sie keine Bezüge auf andere Laufwerke als 
 +C: her.
 +
 +==== Escape-Sequenzen ====
 +
 +|Esc[=7h|Wortumbruch an|
 +|Esc[=7l|Wortumbruch aus|
 +|Esc[H|Cursor nach POS1 (oben links)|
 +|Esc[<Zeile>;<Spalte>H|Cursor an angegebene Position|
 +|Esc[<Zeile>;<Spalte>f|Cursor an angegebene Position|
 +|Esc[<Zeilen>A|Cursor um die angegebene Anzahl Zeilen nach oben|
 +|Esc[<Zeilen>B|Cursor um die angegebene Anzahl Zeilen nach unten|
 +|Esc[<Spalten>C|Cursor um die angegebene Anzahl Spalten nach rechts|
 +|Esc[<Spalten>D|Cursor um die angegebene Anzahl Spalten nach links|
 +|Esc[s|Aktuelle Cursorposition merken|
 +|Esc[u|Cursor zurück an vorgemerkte Position|
 +|Esc[2J|Bildschirm löschen und Cursor an POS1|
 +|Esc[K|Von Cursorposition bis Zeilenende löschen|
 +|Esc[<Taste>;<Sequenz> p|Die angegebene Taste wird durch die Sequenz ersetzt.|
 +
 +==== Tasten umdefinieren ====
 +
 +Esc[<Taste>;<Sequenz> p\\
 +Taste als ASCII-Wert angeben, z.B. <key>a</key> ist 65. Erweiterte Tasten werden von einer 0 angeführt (z.B. <key>F1</key> ist 0;59)
 +Die Sequenz ist eine Folge beliebiger ASCII-Werte und Zeichen in Anführungsstrichen die durch ein Semikolon getrennt werden.
 +
 +Beispiel:
 +  Esc[90;89 p
 +  Esc[89;90 p
 +vertauscht <key>z</key> mit <key>y</key>.
 + So könnte man theoretisch die gesamte Tastaturbelegung auf eine andere Sprache umsetzen.
 +
 +  Esc[0;32;"DIR";13 p
 +Definiert <key>A</key>+<key>d</key> als Shortcut für DIR<enter>. Wird dann diese Tastenkombination gedrückt so wird der Befehl DIR ausgeführt.