PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


hilfe:tipps:sonstiges:sammel

Dies ist eine alte Version des Dokuments!


Gesammelte Tipps

Für alle Tipps und Vorschläge, die das tägliche Leben mit dem Portfolio erleichtern und für die keine konkrete Einordnung möglich ist, wurde diese Seite geschaffen.

ECHO mit linkem Rand

Der Befehl ECHO kappt alle Leerstellen (ASCII 032) am Anfang der angegebenen Zeichenkette. Deshalb ist es nicht möglich die Zeilen durch voransetzen von Leerstellen nach rechts zu verschieben. Ist dies trotzdem erwünscht müssen die Leerstellen am Anfang der Zeile durch den ASCII-Wert 255 ersetzt werden.
Dieses Zeichen steht auf der Tastatur leider nicht zur Verfügung. Glücklicherweise kann man es im Texteditor (oder auch in der DOS-Kommandozeile) durch Eingabe der ASCII-Codes realisieren.
Schalten sie NUMLOCK ein (Fn+N), der Cursor ist nun ein Unterstrich und die Tastatur gibt die rot bedruckten Tastencodes wieder. Halten sie Alt gedrückt wärend sie den dreistelligen ASCII-Wert eingeben, in diesem Fall 255 (ACHTUNG: die rot bedruckten Tasten verwenden, also K und I). Dies muß leider für jede einzelne Leerstelle wiederholt werden. Bei Bedarf kann man das Klemmbrett (kopieren/einfügen) zur Hilfe rufen.
Beispiel:

@echo off
echo Diese Zeile beginnt ganz links
echo     diese 4 Spalten weiter rechts
echo   diese an Spalte 3

Beachten sie:
echo Fn+N AltKIIAltKIIAltKII diese 4 Spalten weiter rechtsFn+N

Somit ist es natürlich auch möglich „leere Zeilen“ auszugeben, bzw einen Zeilenvorschub durchzuführen. Man ECHOt einfach eine Leerstelle.

DIP-DOS oder MS/PC-DOS

Batch-Dateien die für den Portfolio geschrieben wurden auf dem PC zu starten macht wenig Sinn, vor allem dann wenn diese Programme aufrufen die nur auf dem Portfolio laufen. Ich habe meine Portfoliosachen alle auf dem PC gesichert, wenn ich mal etwas per eMail verschicken will kann ich das direkt tun. Die Gefahr eine Pofo Batch-Datei auf dem PC per Doppelklick zu starten ist groß. Man kann aber eine kleine Routine in die Dateien einbauen die vorher prüft auf welchem Betriebstystem die Datei gestartet wurde. Diese Routine bedient sich eines Unterschiedes in der Handhabung von Kommandozeilen-Parametern zwischen dem DIP-DOS und dem MS-DOS oder PC-DOS.
Zum Beispiel die Zeile

echo %0 %1 %2

gibt den Namen der aufgerufenen Datei (%0) und die übergebenen Parameter %1 und %2 am Bildschirm aus. Wird diese Datei (nennen wir sie ZEIG.BAT) folgendermaßen aufgerufen:

ZEIG EINS ZWEI

wird sowohl auf dem PC wie auch auf dem Portfolio folgendes ausgegeben:

ZEIG EINS ZWEI

Wird die Datei aber mit der Erweiterung „.BAT“ aufgerufen

ZEIG.BAT EINS ZWEI

So wird der PC

ZEIG.BAT EINS ZWEI

der Portfolio aber

ZEIG .BAT EINS

anzeigen.

Wärend der PC den Dateinamen mit Erweiterung als Ganzes interpretiert trennt der Portfolio zwischen Datei und Erweiterung. Somit ist die Erweiterung zum Parameter %1=„.BAT“ geworden. „EINS“ ist nun Parameter %2 und „ZWEI“ Parameter %3, der in der Batch-Datei ZEIG.BAT nicht abgefragt wird und somit auch nicht mehr auf dem Bildschirm erscheint. Machen wir uns diesen Unterschied zu nutze um festzustellen auf welchem DOS die Batch-Datei gestartet wurde.

@echo off
if not %1==.bat goto ende
rem hier den Rest der Batch-Datei einfügen
:ende

Ist der Parameter %1 nicht die Erweiterung so wird die Standard-Routine übersprungen und zur Sprungmarke ENDE verzweigt. Damit dies funktioniert ist es unbedingt erforderlich, dass die Batch-Datei mit der Erweiterung aufgerufen wird. Dies ist bei einem Doppelklick auf dem PC aber leider nicht der Fall.
Um sicher zu stellen, dass die Datei (nennen wir sie GETOS.BAT) auch mit samt Erweiterung aufgerufen wird zwingen wir sie sich selbst aufzurufen:

@echo off
getos.bat
if not %1==.bat goto ende
rem hier den Rest der Batch-Datei einfügen
:ende

Dies würde uns in einer endlosen Schleife gefangen halten die immer wieder die Batch-Datei aufruft. Wir verwenden eine Umgebungsvariable um festzustellen ob die Datei schon mal aufgerufen wurde.

@echo off
if %gotos%=ja goto weiter
set gotos=ja
getos.bat
:weiter
set gotos=
if not %1==.bat goto ende
rem hier den Rest der Batch-Datei einfügen
:ende

Fügen wir also die fünf Zeilen und die Sprungmarke WEITER in jede Pofo Batch-Datei ein können wir die Ausführung auf dem PC verhindern. Am besten wir sorgen auch noch für Klartext und verwenden nicht die normale letzte Sprungmarke ENDE sondern eine die uns auf dem PC sagt was los ist.

@echo off
if %gotos%=ja goto weiter
set gotos=ja
getos.bat
:weiter
set gotos=
if %1==.bat goto pofo
echo Diese Batch-Datei wird nur auf dem Portfolio vollständig ausgeführt.
pause >nul
goto ende
:pofo
rem hier den Rest der Batch-Datei einfügen
:ende

Diese Art der Überprüfung sollte sicher genug sein. Ob man diese Prüfroutine wirklich in jede Batch-Datei einfügt bleibt jedem selbst überlassen, schließlich sind das bei mehreren Dateien doch eine ganze Menge Bytes die man auf dem Pofo ja nicht braucht. Ich glaube spätestens nachdem man sich seinen PC zum ersten mal zerschossen hat wird man darüber nicht mehr nachdenken.

PostScript am Pofo?

Es ist sicherlich sehr schwer sich die Vorschau eines PostScript® Ausdruckes am Pofo anzusehen. Das heißt aber nicht, das der Portfolio einen PostScript Drucker nicht ansteuern kann. Mit ein paar Tricks kann man den Pofo dazu bringen qualitativ hochwertige Ausdrucke, Business-Grafiken und sogar Filofax-Ausdrucke der Adressverwaltung auszugeben.
Portfolio´s interne Anwendungen sind von sich aus nicht darauf eingestellt PostScript-Drucker anzusteuern, versucht man es trotzdem würde der PostScript-Drucker eine schnöde Fehlermeldung ausgeben und den Portfolio einfach ignorieren. Da ist der Portfolio toleranter. Um dies zu realisieren schreibt man sich einfach einen Header, einen Footer und eine Batchdatei namens POST.BAT um die Datei dann von der DOS-Befehlszeile aus ,durch tippen von POST <Dateiname> zu drucken.
Stellen sie im Text-Editor den rechten Rand auf 85 und schalten sie den Wortumbruch ein. Vergessen sie nicht die Return-Taste am Ende jeder Zeile zu drücken.

Die HEADER.PS

%!PS-Adobe-1.0
%%Title: PostScript Pseudo-Treiber Teil 1
%%Creator: Barry Thomas
%%Pages: (atend)
%%BoundingBox: 0 0 595 841
%%EndComments
% LEFT ALIGNED TEXT
% (c) Copyright Barry Thomas 1988, 1989
(

Es ist wichtig, dass am Ende der letzten Zeile nach „Klammer auf“ die Returntaste NICHT gedrückt wird!

Die FOOTER.PS

)
760  % position of start of text
     % 841is the top of the page,
     % and at 72 points per inch, 760
     % is a little over an inch down.
50                    % left margin (pts)
12                    % font size (pts)

/leftalign
{
  /points exch def     % get point size
  /margin exch def     % get left margin
  /yposexch def        % get initial ypos
  /ycur ypos def       % current ypos
  /leading             % set leading 15%
    points 1.15 mul    %   > point size
  def
  /lf 1 string def     % declare cr string
  lf 0 10 put          % set crlf string
  /Times-Roman findfont      % any font
  points scalefont setfont   %set pt size
  /newline             % line break proc
  {                    % proc start
    /ycur              % drop y pos
      ycur leading sub
    def
    margin ycur        % do a cr
    moveto
    ycur 50 lt         % ypos <50 pts of
                       % page end? For a
                       % larger bot. margin
                       % use bigger number
  {
  /ycur ypos def       % if so reset curr
                       % position
  showpage             % print current pg,
  margin ycur moveto   % move to page head
  } if
} def                  % end of proc
  margin ypos moveto   % move to start pt

  {                    % for all text
    lf search          % search for a lf
    {                  % if found...
      show newline pop
    }
    {exit} ifelse      % no lf found
  }
  loop
  show                 % show end of text
} def
leftalign
showpage

%%Trailer
%%Pages: 1
%%EOF
^D

Das Zeichen ^D am Ende der Datei setzt PostScript nach Druckende in den ursprünglichen Zustand zurück, geben sie keine weiteren Zeichen am Ende der Datei ein.

Die POST.BAT

-Für die serielle Schnittstelle:

copy header.ps com1:
copy %1 com1:
copy footer.ps com1:

-Für die parallele Schnittstelle:

copy header.ps lpt1:
copy %1 lpt1:
copy foter.ps lpt1:

Um zum Beispiel ihre PRIVAT.ADR zu drucken geben sie in der DOS Befehlszeile ein:

POST PRIVAT.ADR <enter>


Weitere PostScript-Dateien sind im Downloadbereich erhältlich.

Software Diebstal

Wer gerne mal ein eigenes Programm schreiben möchte, aber keine entsprechende Programmiersprache beherrscht, kann sich zu mindest eine persönliche Version anderer Software zusammenstellen. Mit ein paar Programmen:
CAN.COM „Büchst“ Parameter ein.
PACO.COM Packt *.COM-Dateien zu Bibliotheken zusammen.

Ein Programm das fragt ob man sicher ist:
ASK.COM tut genau das. Unser Programm soll aber immer das selbe fragen und uns die Eingabe der Parameter ersparen:

ASK Sind sie sicher? (j/n),nj

Mit Hilfe von CAN.COM kann das Programm ASK.COM zusammen mit den angegebenen Parametern als neue *.COM Datei gespeichert werden:

CAN ASK.COM SICHER.COM Sind sie sicher? (j/n),nj

Das neue Programm SICHER.COM tut ohne Angabe von Parametern genau das was ASK.COM täte wenn es „Sind sie sicher? (j/n),jn“ als Parameter bekommen hätte.
Wenn sie also dann SICHER in einer Batch-Datei aufrufen werden sie gefragt ob sie sicher sind. Zum Beispiel in einer Batch-Datei die alle *.DAT-Dateien löscht:

@echo off
echo lösche alle *.DATs
SICHER
if errorlevel 2 goto TU_ES
echo na gut, dann nich.
goto FERTIG
:TU_ES
del *.dat >nul
echo alle *.DATs futsch!
:FERTIG

Ein Programm das einen Piepton ausgibt: Mit BEEP 7 20:

CAN BEEP.COM PIEP.COM 7 20

Eine Abschiedsmeldung

CAN MSG.COM TSCHUESS.COM und tschüss!
Vorsicht: Solche Dinge sind nur für den privaten Gebrauch zulässing. Eine Veräusserung oder Weitergabe socher Programme bringt eine Verletzung der Urheberrechte mit sich und wird Strafrechtlich verfolgt!!!

Wer wirklich kriminelle Energie in sich trägt wird mit Hilfe von z.B. DEBUG.COM Copyright-texte aus dem Programm-Code entfernen oder durch eigene ersetzen.

Diverse *.COM Programme lassen sich zu einem zusammenfassen. Wenn wir die einzubindenden Programme entsprechend umbenennen sieht es so aus als wären es Parameter:

REN SICHER.COM -S.COM
REN PIEP.COM -P.COM
REN TSCHUESS.COM -T.COM

Nun packen wir sie zusammen:

PACO A PGM.COM -S.COM
PACO A PGM.COM -P.COM
PACO A PGM.COM -T.COM

Das neue Programm könnte in einer Batch-Datei folgendermaßen eingesetzt werden:

@echo off
echo lösche alle *.DATs
PGM -S
if errorlevel 2 goto TU_ES
echo na gut, dann nich.
goto FERTIG
:TU_ES
del *.dat >nul
PGM -P
echo alle *.DATs futsch!
:FERTIG
PGM -T

Ohne auch nur den blassensten Schimmer von Programmiersprachen zu haben, haben wir ein Programm geschaffen das Benutzereingaben abfragt und Ton-Signale und Meldungen ausgibt. Wenn das nichts ist…

kleines Geheimnis

Es gibt ein Detail, daß in keiner ofiziellen Dokumentation beschrieben wird. Die Entwickler des Portfolios haben sich im ROM verewigt. Wenn sie wissen wollen wer im Einzelnen dahinter steckt, dann stellen sie ihre Tastatur auf die englische Belegung (im System-Menü unter Anwendungen/Sparache/Tastatur/English) und rufen im Text-Editor das Hilfemenü aus (F2). Wählen sie irgend einen Menüpunkt aus (z.B.: Tastatur). Nun drücken sie Alt+ü, und fertig. Mit Esc kehren sie zurück. Vergessen sie nicht die Tastaturbelegung zurückzustellen. Tun sie das Selbe wärend die Systemsprache auf französisch gestellt ist so sehen sie die damalige Adresse von DIP.

UPDATE nur wenn nötig

BIOS-Version des PoFo (von Lars Aschenbach)
Hinter dem BIOS versteckt sich das Basically Input/Output System, das man auch allgemeinhin als Computerbetriebssystem bezeichnet. Viele betrachten und bezeichnen das DOS als Betriebssystem, aber das Disk Operating System ist nur ein kleiner Teil des Betriebssystems, auch wenn wir PoFo-User fast täglich damit konfrontiert werden.

Das BIOS testet den PoFo bei jedem Kaltstart auf Fehler ab, organisiert den Speicher neu, ruft diverse Routinen auf und stellt seine Routinen für andere zur Verfügung.

Danach startet unser eingebautes DOS, welches sich kräftig beim BIOS bedient und dessen Routinen mitverwendet. Welches BIOS der eigene PoFo hat, bekommt man mit dem Befehl VER angezeigt:

 DIP Operating System 2.11 v1.130
 Copyright (c) DIP 1989

Unser DOS ist demnach die Version 2.11 und das BIOS hat hier die Bezeichnung v1.130.

Die BIOS-Nummer, hier 1.130, gibt eine Art Entwicklungsstand an und deutet, umso höher sie ausfällt, Verbesserungen an. So existieren meines Wissens nach die folgenden BIOS-Versionen auf den PoFos: 1.030, 1.052, 1.072 & 1.130.
Die ersten drei Versionen, die im Laufe der Jahre entstanden, hatten diverse Fehler und brachten den PoFo oftmals zu Abstürzen und Datenverlusten. Deshalb haben die Entwickler des PoFos viermal das BIOS korrigiert und verbessert, damit diese Fehler weniger wurden.

Weil der Austausch des BIOS in jedem PoFo ein zu kostenspieliger Aufwand für den Hersteller wäre, wurdeden die Programme UPDATE.COM und PORTDIV.COM entwickelt, welche die jeweilige BIOS-Version der neuentwickelten anpassen sollten.

Trotzdem blieben dabei immer noch Probleme ungelöst, die man erst mit der BIOS-Version 1.130 richtig in den Griff bekam. Diese Version, die wohl die letzte sein dürfte, Atari hat ja die Produktion der PoFos mittlerweile eingestellt, scheint tatsächlich fehlerfrei zu sein.

Allerdings scheint es nur so, da einer meiner PoFos, der eben das BIOS 1.130 hat, trotzdem Probleme macht ! Es sind, und das sollte man nicht für möglich halten, die BIOS-Verbesserungsprogramme UPDATE.COM und PORTDIV.COM, die zu seltsamen Reaktionen dieses BIOS 1.130 führen.

So wurden bei mir mehrfach Texte in der Textverarbeitung vermischt, die nicht vermischt werden sollten. Ich gab zumindest keine Anweisung dazu. Ob dieses Problem nun an beiden oder nur an einem der o.g. Programme liegt, konnte ich bisher nicht eroieren.

Folgerichtig muß ich also in Zukunft die AUTOEXEC.BAT-Datei so gestalten, daß UPDATE.COM und PORTDIV.COM nur dann gestartet werden, wenn ich einen PoFo mit einer BIOS-Version unterhalb von 1.130 benutze. Gottlob ist es auch möglich, was ich mit den folgenden Batchdateien erledige:

AUTOEXEC.BAT:

@echo off
echo @echo off > bios.bat
ver >> bios.bat
bios



DIP.BAT:

@echo off
echo Dein PoFo hat das BIOS %4 !
if %4==v1.130 goto off
update
portdiv
:off
path=a:\
prompt$p$g

Und so funktioniert das ganze:
Die neue AUTOEXEC.BAT eröffnet eine Batchdatei namens BIOS.BAT und schreibt dort u.a. die Bildschirmausgabe des Befehls VER hinein. Anschließend ruft sie die Bachdatei BIOS.BAT auf, die sie ja gerade selbst erstellt hat.
In BIOS.BAT steht unter anderem die Meldung „DIP Operating System 2.11 v1.130 Copyright © DIP 1989“ drin.

Beim automatischen Aufruf von BIOS.BAT, wird ja von der neuen AUTOEXEC.BAT provoziert, stellt das DOS bald fest, das das Wort DIP kein Befehl ist. Es interpretiert dieses Wort daher als ein Programmname und versucht eine gleichnamige EXE-, COM- oder BAT-Datei zu starten. Erst wenn das DOS feststellt, das keine Datei mit den Namen DIP.EXE, DIP.COM oder DIP.BAT existiert, oder nicht gefunden wird, gibt es eine Fehlermeldung heraus: Befehl oder Programm nicht gefunden.

Da wir aber in diesem Fall auf die BIOS-Nummer angewiesen sind, erstellen wir uns vorher die DIP.BAT, die dann die eigentliche AUTOEXEC.BAT darstellt.
DOS findet also DIP.BAT und ruft es als Programm auf. Alles was hinter dem Wort DIP steht, wird als Parameter mit übergeben, folglich auch die gesuchte BIOS-Nummer, die dann dem Parameter %4 entspricht.

Jetzt kommt also DIP.BAT zum Zuge und gibt die BIOS-Nummer mit dem ECHO-Befehl auf den Schirm heraus. Die besagte Zeile dient nur zur Information des Betrachters und kann gerne weggelassen werden. Mit der Zeile IF %4==v1.130 goto off wird dann geprüft, ob die als Parameter %4 übergebene BIOS-Version tatsächlich der BIOS-Bezeichnung v1.130 entspricht. Ist es zureffend, so wird zur Marke :off gesprungen, ohne UPDATE.COM und PORTDIV.COM zu starten. Somit können die beiden Programme kein Unheil auf den PoFos mit BIOS 1.130 anrichten. Stimmt der Vergleich aber nicht, so werden zunächst die beiden besagten Programme aufgerufen und verbessern das BIOS.

Abschließend und das trifft in beiden Fällen zu, werden PATH und PROMPT auf die gewünschten Werte eingestellt. Natürlich muß die jeder von Euch auf seine eigenen Vorstellungen abändern !

Selbst wenn man nicht mit mehreren PoFos oder Memorycards arbeitet, sollte man die o.g. Batchdateien einsetzen, damit befreundete User, mit denen man Daten tauscht, keinen Schiffbruch erleiden müssen, weil sie „nur“ das BIOS v1.130 in ihrem PoFo haben !!!

Wer sich nicht diese Mühe macht, muß Datenverluste und Abstürze der 1.130-PoFos verantworten können !!!

Und wer will es sich schon mit seinen Kontakten verderben !?

Lars Aschenbach

Systemfehler - Verzeihung

╔════════════════════════╗
║ SYSTEMFEHLER - Verzeihung ! ║
╚════════════════════════╝

… bittet meist die Textverarbeitung, wenn sie einen Text nicht mehr laden kann. Dies liegt meistens an einer Leerzeichen/Return-Kombination, die am Ende des zuletzt gespeicherten Textes zu finden ist. Sie zwingt damit zunächst den PoFo zu einem Neustart, setzt aber auch auf Dauer die Textverarbeitung schachmatt. Leider wird ja immer der letzte Text automatisch geladen, der in diesem Fall fehlerhaft ist und somit eine Kettenreaktion auslöst.

Erfahrene und langjährge User benutzen deshalb das Programm PORTDIV.COM, welches diesen Systemfehler verhindert. Aber was tun wenn man dieses Programm nicht hat ?

Damit man die Textverarbeitung überhaupt wieder nutzen kann, kann man die Datei PERMDATA.DAT im Verzeichnis C:\SYSTEM löschen. Mit „DEL C:\SYSTEM\PERMDATA.DAT“ wird das erledigt. Weil damit der Text nach wievor nicht repariert wird, ist die folgende Lösung besser und erfolgreicher:
Gebt einfach am Prompt den Befehl

 ECHO M>>BEISPIEL.TXT

ein !

Damit wird der Text, hier BEISPIEL.TXT, um den Buchstaben M verlängert und überlistet somit die Textverarbeitung. Problemlos kann man nun den Text wieder editieren und korrigieren !

Als ich diese Lösung dem Jens Sewitz vom Atari Computer Team e.V. Bremen mitteilte, wir lernten uns auf der 10. Bremer Computer- & Videobörse kennen, brachte er mich auf die Idee, diese Lösung in eine Batchdatei zu packen.

Und hier ist also die NOERROR.BAT:

@echo off
if %1.==. goto err
echo m>>%1.txt
app/e
goto off
:err
echo Textdatei ohne .TXT angeben !
:off

Wenn ich also unseren Text BEISPIEL.TXT korrigieren muß, lautet die Eingabe:

 NOERROR BEISPIEL

NOERROR hängt dann automatisch ein kleines „m“ an BEISPIEL.TXT an und ruft anschließend die Textverarbeitung auf. In dieser sind nun die letzten drei Zeichen zu löschen, bevor man den Text neu abspeichert.

Theoretisch kann man dieses Löschen auch mit FAKE.COM automatisieren, aber ich muß ja nicht alle Lösungen präsentieren. Schließlich sollt Ihr ja auch nachdenken und Erfolgserlebnisse haben !!!

Lars Aschenbach

hilfe/tipps/sonstiges/sammel.1157488125.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)