\section{Technische Details}
\index{Technische Details}
F�r Fachleute und die, die es werden wollen.

\subsection{Parameter�bergabe}
\index{Parameter�bergabe}
\index{Modula-2}
\index{TeX}
\sevenup\  ist  in  der  Lage, Parameter auf zwei verschiedene Arten zu
empfangen.
\begin{enumerate}
\item In herk�mmlichlicher Weise �ber die Basepage.
\item nach der sogenannten EXARG-Methode(ARGV=).
\end{enumerate}
Es   k�nnen   bis  zu  sieben  Parameter  gleichzeitig  �bergeben
werden.  Wenn  das  Desktop  es  zul�"st,  k�nnen  Sie also bis zu
sieben  Textdateien  gleichzeitig  auf  das  Icon von \sevenup\ ziehen,
und \sevenup\ damit starten.

Dar�ber  hinaus  akzeptiert  \sevenup\  Parameter,  die  als Zeilen und
Spaltenangaben interpretiert werden, z.B.:
\begin{verbatim}
   7UP Text1.TXT 20 10 Text2.TXT 15
                 ^  ^            ^
                 |  |            |
                 |  |            +-- Zeile
                 |  +-- Spalte
                 +-- Zeile
\end{verbatim}
oder:
\begin{verbatim}
   7UP Text1.TXT -z20s10 Text2.TXT -z15 -t1
                  ^  ^              ^    ^
                  |  |              |    |
                  |  |              |    +-- 1. Fenster ist
                  |  |              |              oberstes
                  |  |              +-- Zeile
                  |  +-- Spalte
                  +-- Zeile
\end{verbatim}
Die Spaltenangabe ist optional, kann also entfallen.
Dar�ber  hinaus  kann auch eine Fehlermeldung, die in Hochkommata
eingeschlossen ist, �bergeben werden, z.B.:
\begin{quote}
   7UP.APP BEISPIEL.MOD 30 10 " Declaration syntax error"
\end{quote}
Fehlermeldung des Compilers wird in der Infozeile dargestellt.
Sie ist jederzeit �ber \shft{}Help wieder erreichbar.

Diese  Parameter�bergabe  ist interessant f�r Shells wie TeXshell
oder bei Modula-2 Compilern.

\subsection{Fehlerlistings}
\index{Fehlerlistings}
\index{Parameter�bergabe}
\index{Modula-2}
Manche  Compiler  erzeugen  Fehlerlistings,  die  in  eine  Datei
umgeleitet  werden  k�nnen.  Wenn  die  Datei  auf  die Extension
{\tt `.ERR'} oder {\tt `.LOG'} endet, so kann sie als
Fehlerlisting  in \sevenup\ benutzt
werden.  Doppel\-kli"cken  Sie  die  Zeilennummer,  so  springt  der
Cursor im Quelltext an die entsprechende Zeile.

\begin{quote}
{\bf RANDBEDINGUNG:}
Max.     zwei     geladenene   Dateien,   die   erste   ist   der
Programmquelltext,  die  zweite  das Fehlerlisting des Compilers,
das die Extension {\tt `.ERR'} oder {\tt `.LOG'} besitzt.
Weitere Dateien oder andere Dateinamen k�nnen nicht akzeptiert werden.
\end{quote}

\subsection{Konfiguration}
\index{Konfiguration}
Alle relevanten Einstellungen k�nnen bekanntlich in {\tt `7UP.INF'}
gesichert werden. Diese Datei k�nnen Sie auch als Parameter �bergeben.
Es ist also m�glich sich verschiedene Arbeitsumgebungen zu schaffen um
sie per Doppelklick auf diese INF-Datei zu laden. Melden Sie daher
\sevenup\ auch auf {\tt `.INF'} im Desktop an. Diese Dateien
werden dann nat�rlich nicht in den Texteditor geladen, weil es ja
Bin�rdateien sind. Siehe auch Men�punkt {\bf `Arbeit sichern... \alt{D}'}
und Kapitel {\bf `Der erste Start'}.

\subsection{Accessoryschnittstelle}
\index{AV\_Protokoll}
\index{Spooler}
\index{CALCLOCK}
\index{DRI-Protokoll}
\sevenup\  ist in der Lage mit  dem  Deskaccessory  CALCLOCK  zu
kommunizieren. CALCLOCK besitzt einen eingebauten Druckerspooler,
der  in der Lage ist, einen ASCII-Text in Hintergrund zu
drucken.   Daf�r  wird  das  von  DRI  standardisierte  Protokoll
benutzt.

Dateiname an ACC senden:
\begin{verbatim}
   accid=appl_find("CALCLOCK");        /* Programm-ID */

   msgbuf[0]=100;                        /* Sendecode */
   msgbuf[1]=gl_apid;                  /* eigene apid */
   msgbuf[2]=0;              /* lt. DRI eigentlich -1 */
   msgbuf[3]=strlen(filename);
   msgbuf[4]=(unsigned int)((long)filename >> 16);
   msgbuf[5]=(unsigned int)((long)filename & 0xffff);
   msgbuf[6]=1;                  /* Anzahl der Kopien */
   msgbuf[7]=0;         /* 0=nicht l�schen, 1=l�schen */
   appl_write(accid,16,msgbuf);           /* absenden */
\end{verbatim}
Der  Filename  mu"s  statisch  sein.  Er  darf nicht lokal auf dem
Stack  erzeugt  worden  sein. Dynamisch allozierte Variablen sind
ebenfalls  problematisch,  weil  mindestens  ein Event abgewartet
werden mu"s, bis sie wieder ge`free'ed werden d�rfen.

Nach  dem  erfolreichen  Empfang  sendet  CALCLOCK die Message 101 in
msgbuf[0].

\subsection{Zusammenarbeit mit GDOS}
\index{GDOS}
\index{AUTO-Ordner}
\index{Font}
\index{NVDI}
\sevenup\ unterst�tzt GDOS*. Wenn GDOS* geladen ist, so k�nnen
Fonts nachgeladen werden. Es k�nnen aber nur nichtproportionale
Fonts verwendet werden. Statt (AMC)GDOS* empfiehlt sich eindeutig
der Einsatz von NVDI*.

Beim  Start  des Rechners mu"s sich dabei GDOS* im AUTO-Ordner
und {\tt `ASSIGN.SYS'} im Wurzelverzeichnis der Bootpartition befinden.
GDOS* bzw.  AMCGDOS* erhalten Sie  bei Atari bzw. in �ffentlichen
Mailboxen. GDOS* ist nicht Bestandteil von \sevenup\ . GDOS*
ist eine Betriebssystemerweiterung, die in der Lage ist,
Ger�tetreiber   zu  laden.  Mit  Hilfe  von  GDOS*  kann  ein
Programm  ger�teunabh�ngige  Ausgaben  auf  z.B.  Bildschirm oder
Drucker    machen,   und   es   k�nnen   sogenannte   GDOS*-Fonts
nachgeladen   werden.   Diese   Fonts   befinden   sich   in  dem
Verzeichnis,  das  in  {\tt `ASSIGN.SYS'} unter {\tt `PATH=...'}
angegeben ist.
Die Installation bereitet in der Regel gro"se  Probleme, da
hierzu  einige  Erfahrung  notwendig  ist,  und die Dokumentation
f�r Computeranf�nger nur schwer verst�ndlich ist. Au"serdem gibt
es oftmals Probleme, wenn mehrere Programme unterschiedliche
GDOS*-Installationen ben�tigen.

Als  Beispiel  folgt  eine {\tt `ASSIGN.SYS'} Datei, die GDOS
beim Booten auswertet. In dieser Datei sind die GEM*-Fonts und
Druckertreiber aufgelistet.
Die Nummern 01p - 09p sind Ausgabekan�le f�r die Bildschirmausgaben
und repr�sentieren die Grafikaufl�sungen der Atariserie. Das
`p' bedeutet `permanent'. Diese Treiber sind also im Rom Ihres
Rechners implementiert. Wichtig sind die Kan�le 21 - 30, die
die Druckerausgaben bewerkstelligen. In diesem Beispiel einer
{\tt `ASSIGN.SYS'} Datei f�r NVDI* wurden die Treiber
\begin{verbatim}
21 HPLJ_300.SYS        ; Duckertreiber f�r HP-Deskjet
22 IMG-0300.SYS        ; GEMIMAGE Bildertreiber
23 DJ5.SYS             ; FONTGDOStreiber f�r HP-Deskjet
\end{verbatim}
eingetragen. Tragen Sie hier den Namen des Treibers f�r Ihren
Drucker ein, z.B. Star oder NEC. Lassen Sie sich u.U. von
Fachpersonal helfen, wenn Sie Probleme damit haben sollten.
\begin{verbatim}
;**********************************************************
; Beispiel einer ASSIGN.SYS Datei
;**********************************************************
PATH=C:\GEMSYS\
01p screen.sys         ;Default screen
; Der NVDI Systemfont
s MONACO08.FNT         ;Monaco    8 Punkte Systemfont
s MONACO09.FNT         ;Monaco    9 Punkte Systemfont
s MONACO10.FNT         ;Monaco   10 Punkte Systemfont
s MONACO20.FNT         ;Monaco   20 Punkte Systemfont
ATSS08.FNT             ;proportinale Bildschirmfonts
ATSS10.FNT
ATSS12.FNT
ATSS18.FNT
ATSS24.FNT
ATTR08.FNT
ATTR10.FNT
ATTR12.FNT
ATTR18.FNT
ATTR24.FNT
ATTP10.FNT             ; <- Dieser Font ist anw�hlbar
BLUE10.FNT
BAGB09.FNT
RUFUS09.FNT
RUFUS10.FNT
RUFUS12.FNT
02p screen.sys         ; niedrige ST-Aufl�sung (320*200)
03p screen.sys         ; mittlere ST-Aufl�sung  (640*200)
04p screen.sys         ; hohe ST-Aufl�sung (640*400)
s MONACO08.FNT
s MONACO09.FNT
s MONACO10.FNT
s MONACO20.FNT
ATSS08.FNT
ATSS10.FNT
ATSS12.FNT
ATSS18.FNT
ATSS24.FNT
ATTR08.FNT
ATTR10.FNT
ATTR12.FNT
ATTR18.FNT
ATTR24.FNT
ATTP10.FNT             ; <- Dieser Font ist anw�hlbar
BLUE10.FNT
BAGB09.FNT
RUFUS09.FNT
RUFUS10.FNT
RUFUS12.FNT
06p screen.sys         ; mittlere TT-Aufl�sung (640*480)
s MONACO08.FNT
s MONACO09.FNT
s MONACO10.FNT
s MONACO20.FNT
ATSS08.FNT
ATSS10.FNT
ATSS12.FNT
ATSS18.FNT
ATSS24.FNT
ATTR08.FNT
ATTR10.FNT
ATTR12.FNT
ATTR18.FNT
ATTR24.FNT
ATTP10.FNT             ; <- Dieser Font ist anw�hlbar
BLUE10.FNT
BAGB09.FNT
RUFUS09.FNT
RUFUS10.FNT
RUFUS12.FNT
08p screen.sys         ; hohe TT-Aufl�sung (1280*960)
09p screen.sys         ; niedrige TT-Aufl�sung (320*480)
21 HPLJ_300.SYS        ; Duckertreiber
ATSS08LS.FNT           ; proportionale Druckerfonts
ATSS10LS.FNT
ATSS12LS.FNT
ATSS18LS.FNT
ATSS24LS.FNT
ATTP10LS.FNT           ; <- Dieser Font ist anw�hlbar
ATTR08LS.FNT
ATTR10LS.FNT
ATTR12LS.FNT
ATTR18LS.FNT
ATTR24LS.FNT
22 IMG-0300.SYS        ; GEMIMAGE Bildertreiber
ATSS08LS.FNT           ; Fonts f�r den Treiber
ATSS10LS.FNT
ATSS12LS.FNT
ATSS18LS.FNT
ATSS24LS.FNT
ATTP10LS.FNT           ; <- Dieser Font ist anw�hlbar
ATTR08LS.FNT
ATTR10LS.FNT
ATTR12LS.FNT
ATTR18LS.FNT
ATTR24LS.FNT
23 DJ5.SYS             ; FONTGDOStreiber
ATSS08LS.FNT           ; Fonts f�r den Treiber
ATSS10LS.FNT
ATSS12LS.FNT
ATSS18LS.FNT
ATSS24LS.FNT
ATTP10LS.FNT           ; <- Dieser Font ist anw�hlbar
ATTR08LS.FNT
ATTR10LS.FNT
ATTR12LS.FNT
ATTR18LS.FNT
ATTR24LS.FNT
31 META.SYS            ; Metafiletreiber
ATSS10MF.FNT
ATSS12MF.FNT
ATSS18MF.FNT
ATSS24MF.FNT
ATTP10MF.FNT           ; <- Dieser Font ist anw�hlbar
ATTR10MF.FNT
ATTR12MF.FNT
ATTR18MF.FNT
ATTR24MF.FNT
61 MEMORY.SYS          ; Memorytreiber von FSMGDOS
\end{verbatim}

\subsection{Systemfonteinstellung}
\index{Systemfont}
Neuere TOS-Versionen gestatten die Einstellung des Systemfonts, also
des Fonts, den Sie beim Start des Rechners auf dem Desktop vorfinden.
\sevenup\  bemerkt dies und stellt sich darauf ein. Das funktioniert
aber nur dann einwandfrei, wenn die eingestellte Gr��e eine nicht
berechnete Gr��e ist. Sie mu� also direkt in den Fontdateien vorliegen.
Diese Gr��en finden Sie auch in der Fontauswahlbox wieder. Es handelt
sich um Gr��en, die in Vielfachen von \begin{math}\frac{1}{72}\end{math}pt
vorliegen. Die Gr��en m�ssen durch vst\_point() nicht durch vst\_height()
einstellbar sein. Andere Gr��en bewirken einen Programm\-abbruch.

\subsection{XBRA-Kennung}
\index{XBRA}
\index{Vektoren}
\sevenup\  verbiegt  keinerlei  Vektoren  und  hat  deshalb  auch keine
XBRA-Kennung.

\subsection{Arbeiten auf dem TT}
\index{Atari TT}
\index{Fastloadbit}
\sevenup\  wurde  f�r  den Betrieb auf dem TT entsprechend modifiziert,
d.h. FASTLOAD- und TT-Ramflags sind entsprechend gesetzt.

\subsection{Probleml�sung f�r HP-Drucker}
\index{Drucker}
\index{HP-Deskjet}
\sevenup\  l�st  das Problem eines nachtr�glich eingeschalteten DeskJet
Dru"ckers, durch `Ongibit(32)'. Naja, es ist ein Bug im Atari!

\subsection{Das AV\_Protokoll}
\index{AV\_Protokoll}
\sevenup\  ist ein AV\_Protokoll  Basisprogramm  und  unterst�tzt  die
Messages:
\begin{itemize}
\item AV\_ASKFILEFONT
\item AV\_SENDKEY
\item AV\_OPENWIND
\item VA\_START
\item VA\_DRAGACCWIND
\end{itemize}

\subsection{Das Drag\&Drop-Protokoll}
\index{Drag\&Drop}
Atari neues MultiTOS bietet wie GEMINI die M�glichkeit Icons ins Fenster
eines Programms zu ziehen, um einen Ladevorgang zu initialisieren.
Zieht man ein Dateiicon ins Fenster von \sevenup\ , so wird diese Datei
�ber das Drag\&Drop-Protokoll hinzugeladen. Die Messages lauten
AP\_DRAGDROP f�r MultiTOS bzw. VA\_DRAGACCWIND f�r GEMINI.
Siehe auch Kapitel {\bf `Die Desktopicons'}.

\subsection{Dateiformate}
\index{Dateiformat}
\sevenup\  ist ein Editor f�r das ASCII-Textformat. Dieses Format
kennt au"ser CR (\$0D) und LF (\$0A) sowie FF (\$0C) keine weiteren
Textinformationen,  die  der  Formatierung  dienen. Trotzdem gibt
es  ein  paar  Unterschiede,  die  hier besprochen werden m�ssen.
W�hrend  die  Zeilentrennung  auf dem Atari oder unter MSDOS* mit CRLF
bewerkstelligt  wird, sichern Editoren unter UNIX* ihre Texte
vorzugsweise  nur  mit  LF.  Die Art von Texten k�nnen problemlos
eingelesen  werden.  Standardm�"sig  werden  sie  aber  mit  CRLF
gesichert.  Im  Dialog {\bf `Diverses... \alt{D}'}  k�nnen sie mit
{\bf `Sichern im UNIX-LF Format'}  Ihre  Texte  auch  nur mit LF als
Zeilentrenner sichern lassen.

Die  zweite  Besonderheit  ist  das sogenannte ASC-Format. Dieses
Format  ist  absatzorientiert.  D.h.  es werden nur am Ende eines
Absatzes  CR  LF  eingef�gt,  also  vor einer Leerzeile. Wenn Sie
solche  Text  einlesen  wollen,  so  m�ssen Sie zuerst die genaue
Zeilenl�nge  in  {\bf `Zeilenumbruch... \alt{U}'}  einstellen.
Die Formatierung erfolgt dabei automatisch beim Laden des Textes.

\subsection{Lange Dateinamen}
\index{Dateinamen}
\sevenup\  nutzt lange Dateinamen, wie sie unter dem externen
Filesystem {\tt `MINIX.XFS'} zur Verf�gung stehen. Lange Dateinamen
k�nnen mit der File\-select\-box MFSFM* ausgew�hlt werden.

\subsection{Signale unter MiNT/MultiTOS}
\index{Signal}
\sevenup\ reagiert auf das Signal SIGTERM(15), das erzeugt wird, wenn Sie
\sevenup\ aus dem Verzeichnis {\tt `U:$\backslash$PROC$\backslash$'} auf
den Papierkorb ziehen, mit der automatischen Sicherung aller ge�nderten
Dateien {\bf ohne} Nachfrage und der sofortigen Terminierung.\\
Fehler: sollte bei dieser Sicherungsaktion ein Fehler auftreten, so wird
es einen Absturz des Systems geben, weil \sevenup\  Fehlermeldungen mit
GEM-Mitteln darstellt. Im Signalhandler d�rfen jedoch keine GEM-Funktionen
aufgerufen werden. Sollte ein solcher Fall tats�chlich eintreten, so ist
das aber nur halb so schlimm, weil dann sowieso nichts mehr zu retten ist
und der Verlust der ge�nderten Dateien das kleinste �bel darstellt.
Spielen Sie also nicht unn�tig mit den MiNTprozessen herum. Es ist nicht
notwendig!

\subsection{Cookies}
\index{Cookie}
Cookies sind Flags, die durch residente Programme gesetzt werden.
Sie geben Auskunft �ber das Vorhandensein bestimmter Hardware und
Softwareerweiterungen. \sevenup\ unterst�tzt folgende Cookies:
\begin{itemize}
\item 'FSEL' = erweiterter Fileselektor f�r alte TOSse (diverse)
\item 'LTMF' = LET 'EM FLY* l��t alle Dialogboxen `fliegen'
\item 'MagX' = Mag!X* ist ein Multitaskingbetriebssystem
\item 'MiNT' = MiNT* ist ein Multitaskingbetriebssystem
\item 'SLCT' = SELECTRIC* ein alternativer Fileselector
\item 'VSCR' = BIGSCREEN2* simuliert einen Gro�bildschirm
\end{itemize}

\subsection{Environmentvariablen}
\index{Environment}
\sevenup\ nutzt die folgenden Environmentvariablen:
\begin{itemize}
\item {\tt `7UP'}
\item {\tt `HOME'}
\item {\tt `CLIPBRD'}
\item {\tt `TRASHDIR'}
\end{itemize}
f�r Suchpfade und Dateisystemerkennung.\\
Die Suchpfade f�r {\tt `INF'}-Dateien werden wie folgt behandelt:\\
Laden: Zuerst wird {\tt `7UP'} dann {\tt `HOME'} und dann das aktuelle
Verzeichnis durchsucht, um {\tt `INF'}-Dateien zu laden. Falls danach
noch die File\-select\-box erscheint, so hat man in {\bf `Diverses... \alt{D}'}
weiterhin noch die M�glichkeit automatisch auf das Verzeichnis umzuschalten
zu lassen, in dem die Datei im obersten Fenster liegt.\\
Sichern: Falls {\tt `7UP'} oder {\tt `HOME'} existiert, wird dort gesichert,
ansonsten im aktuellen Verzeichnis.\\
Wenn Sie kein Environment anlegen k�nnen, so ist das aktuelle Verzeichnis
g�ltig.
Das aktuelle Verzeichnis ist i.d.R. das Verzeichnis, in dem \sevenup\ liegt.

