********************************************************************************
* Fehlerliste und Verbesserungsvorschlge fr:                                 *
* Hans-Dieter Jankowski; Dietmar Rabich; Julian F. Reschke:                    *
* ATARI Profibuch ST-STE-TT, 11. Auflage, SYBEX-Verlag GmbH, Dsseldorf 1992,  *
* ISBN 3-88745-888-5                                                           *
*                                                                              *
* Zusammengestellt von Rainer Seitel bis 1995-06-26.                           *
* EMail: Rainer_Seitel@ka.maus.de                                              *
*                                                                              *
* Diese Liste bezieht sich auf die 11. Auflage, ist aber ab der 10. Auflage    *
* brauchbar, da sich die Seitenaufteilung nicht gendert hat. Korrekturen, die *
* schon in Julian Reschkes PB-BUG.TXT stehen, sind hier nur erwhnt, wenn    *
* dieselbigen wieder fehlerhaft sind.                                          *
* Anregungen, Fragen, Fehler usw. zu diesem Text per EMail an mich. Weitere    *
* Fehler im Profibuch an dessen Autoren (und gerne auch an mich).              *
*                                                                              *
* Mit ݮ beginnen Erluterungen von mir. Ansonsten sind Zeilen die nicht mit  *
* ... beginnen ein Zeilenanfang im Buch.                                     *
*                                                                              *
* Die Datei darf unverndert und kostenlos an Benutzer des ATARI Profibuchs    *
* kopiert werden. Jegliche kommerzielle Nutzung oder anderweitige Verbreitung  *
* als durch Kopieren von Computerdateien ist untersagt.                        *
* Eine Haftung fr Schden, die durch die Benutzung dieses Textes entstehen,   *
* ist ausgeschlossen.                                                          *
********************************************************************************


Titelseite:
 Dort steht 10. Auflage (Stand bei der 10. Auflage noch nicht drauf?).

Seite 6:
 Anmerkung von mir:
Bforce (BIOS 132) siehe ST-Computer 7/1991, Seite 78 ff. oder Sonderheft 4,
Seite 100 ff.

Seite 17:
zu ... wirklich ...

Seite 14 & 162 & 1226:
 Bei bflags einfgen:
        Bit 1: 0 fr zwei FAT, 1 fr eine FAT

Seite 19:
$03 | Acht Zeichen fr Name und Version des Name des Initialisierungsprogrammes
      Erlaubte Zeichen:  !"%&'()*+,-./0..9:;<=>?A..Z_

 Eine einseitige Diskette hat nicht das Media-Byte $F8!
/* Media-Byte und Format-Parameter fr MS-DOS, Atari und DIN EN 29293 =
   ISO 9293 : 1987. Nach ISO bedeutet das Media-Byte $FD Werte aus der Tabelle
   benutzen und $F9 Werte aus dem Bootsektor lesen. Wenn 40-Spur-Disketten von
   der Tabelle abweichen, dann ist das Media-Byte also $F9.
   "ISO Typ ..." nach DIN EN 29983 = ISO/IEC 9983 : 1989.

Media-Byte   Diskette  Gre       Formatierung        Initialisierung
MS Atar ISO  ISO Typ   in mm (in)  CYL NSIDES SPT BPS  RES  SPF  SPR  SPC  Clust
$F0 $F0 $F9   303       90 (3,5 )   80    2   36  512    1    9   15    2  2863
$F0     $F9   302       90 (3,5 )   80    2   18  512    1    9   14    1  2847
    $F0       302       90 (3,5 )   80    2   18  512    1    6   14    2  1426
$F8 $F8      Festplatte
$F9     $F9   301       90 (3,5 )   80    2    9  512    1    3    7    2   713
    $F9       301       90 (3,5 )   80    2    9  512    1    5    7    2   711
    $F9      (301)      90 (3,5 )   80    1    9  512    1    5    7    2   351
        $F9   203      130 (5,25)   80    2    9  512    1    3   11    2   711
$F9     $F9   204      130 (5,25)   80    2   15  512    1    7   14    1  2371
$FC $FC      (202)     130 (5,25)   40    1    9  512    1    2    4    1   351
$FD $FD $FD   202      130 (5,25)   40    2    9  512    1    2    7    2   354
$FE          (202)     130 (5,25)   40    1    8  512    1    1    4    1   313
$FF          (202)     130 (5,25)   40    2    8  512    1    1    7    2   315

CYL    Anzahl der Zylinder (= Spuren pro Seite)
SPR    Sektoren im Wurzelverzeichnis
 */

Seite 22:
4. ... Seite 0 ...

Seite 27:
 Anmerkung von mir:
Bit 1: Lacom SDDRIVER: Schreibschutz
Bit 2: Lacom SDDRIVER: Verify
Bit 3: Lacom SDDRIVER: Beim Booten von dieser Partition werden auch die
       Accessories von hier geladen

"GEM": Standard-GEMDOS-Partition (mit 512-Byte-Sektoren)

Seite 28:
Da GEMDOS-Versionen < 0.15 (TOS 1.00 und 1.02) nur 32766 Cluster bzw. 32767 
Sektoren pro ...

 An diesen Absatz folgende Stze anhngen:
Ab GEMDOS 0.15 (TOS 1.04) sind max. 65535 Sektoren mglich. Gleichzeitig sind 
max. 32766 Cluster mglich. Allerdings kommt es durch einen 
vorzeichenbehafteten Vergleich, beim Schreiben von kleinen Blcken (ber die 
GEMDOS-Sektorpuffer) und berschneidungen beim anschlieenden kompletten 
berschreiben eines bestimmten Sektors, zu einem Fehler. Dieser Fehler tritt 
nicht auf, wenn der entsprechende Cluster in der FAT als defekt markiert ist:
Bei  1 Sektor   pro Cluster den Cluster $7FFF = 32767.
Bei  2 Sektoren pro Cluster den Cluster $3FFF = 16383.
Bei  4 Sektoren pro Cluster den Cluster $1FFF =  8191.
Bei  8 Sektoren pro Cluster den Cluster  $7FF =  4095.
Bei 16 Sektoren pro Cluster den Cluster  $3FF =  2047.
Bei 32 Sektoren pro Cluster den Cluster  $1FF =  1023.
Bei 64 Sektoren pro Cluster den Cluster   $7F =   511.
Ab GEMDOS 0.30 (TOS 4.01 des Falcon) scheint auch dieser Fehler beseitigt zu 
sein.

 Letzter Satz:
... da GEMDOS < 0.30 (TOS 4.04) 8192 Bytes ...

Seite 31:
beim ... Wem es nur darauf ...

Seite 33:
Bit 4:  IDE-Bus (Nur AHDI; nicht dokumentiert!)

Bit 6:  Wechselplatte (Nur AHDI; nicht dokumentiert!)

Seite 40 & 68 & 1241:
... *pkbshift; ...

Seite 43:
3.06 | $09241991 | 24. September 1991
2.06 | $11141991 | 14. November 1991

Tschechien und Slowakei |     | 15
Ungarn                  |     | 16

"os_dosdate" in "os_conf". Nach ...

Seite 44:
Zeigt auf die ... $56FA, im spanischen TOS 1.00 bei $7E0A). ...

 Anmerkung von mir zu p_run (Offset 40):
Seite 184 f.

Seite 47:
 resvalid und resvector ohne Unterstrich.

Seite 53:
 Bezieht sich auf LONG $034 ... in PB-BUG.TXT:
 Einheitliche Schreibung des Wortes Koprozessor.

LONG $060   96 ...

 Anmerkung von mir zu LONG $064 ...:
Direktaufruf fr TEMPLEMON ab 1.14.

Seite 54:
LONG $078 ...
Unbenutzt.

Seite 55:
LONG $100  256 ...

LONG $114  276  200-Hz-Systemtimer

Seite 58:
 Anmerkung von mir:
LONG $3F0  1008  User-Trace-Routine fr TEMPLEMON

Seite 60:
... (zum Beispiel $10 0000 bei 1 MByte RAM).

 Bei Seekrate gehrt zwischen Zahlenwert und Einheit ein Leerzeichen.

Seite 61:
Mit ... AES Accessories ...

Seite 65:
... 1186 savptr

Seite 66:
 _vbl_list ist nicht dokumentiert.

... _prt_cnt

Seite 67:
>1:  | Hardcopy abbrechen ...

 _prtabt ist nicht dokumentiert.

Seite 69:
 Anmerkung von mir zu _shell_p:
Siehe 68000er ST-Magazin 2/1989, Seite 66 f.

Seite 72:
 Anmerkung von mir:
LONG $5F8  1528  "ALEX" bei installierter FlexDisk
LONG $5FC  1532  Anfangsadresse der installierten FlexDisk

Seite 76 & 77:
 resvalid und resvector ohne Unterstrich.

Seite 79:
 Anmerkung von mir zu und den Cookie entsprechend korrigieren.:
Siehe ST-Magazin 1/1991, Seite 152.

-1:  Nicht-ST-kompatible Hardware
1:   STE (1040 STE, Mega STE, ST-Book)
3:   Falcon 030

Das untere Wort dient fr feinere Unterscheidungen und ist zur Zeit nur bei
STE-Modellen benutzt:

0x0001:   ST-Book
0x0010:   Mega STE
0x0080:   IDE-Hardware
0x0100:   `Sparrow' (Falcon-Vorseriengert)

Seite 80:
 Unter Werte ... fehlt
Bit 7 gesetzt = Schalter 8 aus: DMA-Sound vorhanden
Bit 6 gesetzt = Schalter 7 aus: HD-Laufwerk vorhanden

 Zu _VDO
-1:  Nicht-ST-kompatible Hardware
3:   Falcon

Seite 81:
 Wenigstens den Zahlenwert des Cookie von MACCEL3: $00AA006E.

Seite 82:
Es ... Doppelbelegungen ...

 Neue Adresse:
Maxon Comuter GmbH
Redaktion ST-Computer
Julian Reschke, Expertenforum
Industriestrae 26
D-65760 Eschborn

Seite 83...86:
        CON ... (VT52)

Seite 86:
 Die Zeile RAWCON ... streichen.

Seite 94:
(physikalischen) Zugriff auf ...


Seite 269:
 Anmerkung von mir aus dem alten Profibuch:
Undokumentierte Bemerkung
Bei den Laufwerken A: und B: kann man fr "buf" auch einen Null-Zeiger 
bergeben - dann wird der Inhalt von "count" als neuer Media-Change-Status 
bernommen.

Seite 102:
 Nicht dokumentiert und bringt auch nicht viel!
         CURS_SETDELAY (6): Verzgerung des ersten Cursorzeichnens setzen
         CURS_GETDELAY (7): Verzgerung des ersten Cursorzeichnens holen
operand: bei CURS_SETRATE:  gibt an, nach wievielen Vertical-Blank-Interrupten
                            der Cursor invertiert wird
         bei CURS_SETDELAY: gibt an, wieviele Vertical-Blank-Interrupte nach
                            der Ausgabe eines Zeichens der Cursor erstmals
                            gezeichnet wird (1: 0,35...0,65 % Zeitersparnis)

Seite 105:
 Falscher Tabulator bei $82-$FF .... Auch: bis-Zeichen statt Bindestrich.

Seite 116:
 Zu Bemerkungen:
Funktioniert in 4.00  TOS < 4.04 nicht fr Laufwerk B.

Seite 119:
 Was in PB-BUG.TXT steht ist auch noch nicht richtig. Hier also nach
 A Hitchhiker's Guide to the BIOS und der realen Implementation:
Liest ... und erstellt eine Liste der Sektoren bei denen Lesefehler auftraten.

buf:           Zeiger auf einen 1024 Byte groen Speicherbereich in den die zu
               verifizierenden Sektoren eingelesen werden knnen.
               Nach dem Aufruf findet man eine durch 0 abgeschlossene Liste von
               16-Bit-Worten mit den Nummern der defekten Sektoren.

Flopver():     0:   Liste ist gltig
               <>0: Liste ist ungltig (Spur nicht gefunden, alles kaputt ...)

Seite 127 & 1233:
... ibufhd;  /* letzte Leseposition */
... ibuftl;  /* letzte Schreibposition */

Seite 128:
 Bei Jdisint fehlt unten
Bemerkungen
Interrupt 5 (Timer C, 200-Hz-Systemtimer) sollte nicht gesperrt werden.

Seite 129 & 1235:
    BYTE drvstat; ...

Seite 129:
 Bei statvec, mousevec, ... fehlt
Wird die Maus bei gedrckter Alternate-Taste auf dem Cursorblock simuliert, so
wird die Paketadresse entgegen der offiziellen Dokumentation nur in A0 an die
"mousevec"-Routine bergeben!

Seite 135:
 Unten fehlt
Bemerkungen
Interrupt-Vektor 5 (Timer C, 200-Hz-Systemtimer) sollte nicht verndert werden.

Seite 141:
"Protobt()" ... 720-KByte-Diskette ...

Seite 142 (& 1242 fr PBDEF):
 Im voraus: die Funktion heist nicht umsont print block und nicht
 print screen!
typedef struct {
void *pb_scrptr;  /* Adresse des Bytes in dem der Block beginnt */
UWORD pb_offset;  /* Pixel-Offset in diesem Byte (0...7) */
UWORD pb_width;   /* Blockbreite in Punkten */
                  /* Die bisherigen TOS-Versionen begrenzen die
                     Breite auf 640 oder 320. Was darber hinausgeht
                     wird zu pb_right addiert. */
UWORD pb_height;  /* Blockhhe */
UWORD pb_left;    /* (linker Rand) auf 0 setzen */
UWORD pb_right;   /* rechter Rand */
UWORD pb_screz;   /* Auflsung (siehe "Getrez()") */
UWORD pb_prrez;   /* Druckqualitt, 0=normal, 1=hoch (bei 1280 Pixel) */
UWORD *pb_colptr; /* Zeiger auf Farbpalette (zum Beispiel $FF8240) */
UWORD pb_prtype;  /* 0: ATARI (1280 Punkte) Matrix monochrom
                     1: ATARI (1280 Punkte) Matrix farbig
                     2: ATARI (1280 Punkte) Typenrad monochrom (wird ignoriert!)
                     3: Epson (960 Punkte) Matrix monochrom */
UWORD pb_prport;  /* Schnittstelle, 0=Centronics, 1=RS232 */
UBYTE *pb_mask;   /* Zeiger auf Halbtonmaske oder 0.
                     Bei der Default-Halbtonmaske wird manchmal am rechten Rand
                     etwas vergessen. Zur Abhilfe die folgende verwenden:
                     UBYTE def_mask[]={15,15,13,6,9,6,8,6,8,2,8,0,8,0,8,0,0}; */
 Ein Artikel in ST-Computer 4/1990, Seite 94 beschreibt den Fehler.
} PBDEF;

Ferner ... "_prt_cnt" ...

Nach ... "_prt_cnt" ...

WORD Prtblk (PBDEF *defptr);

Seite 143:
move.w  #1,_prt_cnt

move.w  #-1,_prt_cnt

Prtblk():  0: OK, -1: fehlerhafte Parameter oder Zeitberschreitung

 Zu Bemerkungen:
Ist "pb_height" = 0, so werden "pb_width" Bytes ab "pb_scrptr"
unverndert ber die Schnittstelle "pb_prport" ausgedruckt. Auch
dabei kann mit [Alternate]-[Help] abgebrochen werden.

Seite 145:
 In A Hitchhiker's Guide to the BIOS (1985) steht, da mit _frclock
 initialisiert wird und nicht mit dem vertikalen Zeilenzhler. In Wirklichkeit
 ist es _hz_200.
 Auch steht dort im Algorithmus kein Punkt und 21 am Ende.
S = (S * 3 141 592 621) + 1

Seite 147:
        11:  150 bps   (115 200 wenn "RSpd"- oder "RSVE"-Cookie vorhanden)
        12:  134 bps   ( 57 600 wenn "RSpd"- oder "RSVE"-Cookie vorhanden)
        13:  110 bps   ( 38 400 wenn "RSpd"- oder "RSVE"-Cookie vorhanden)

 Falsche Einstellung bei speed = 14 und 15. Siehe Seite 903!

 Das aus PB-BUG.TXT ist ein falscher Fehler (also vergessen!).
          ucr, ... Bit 7..0: undefiniert)

Seite 148:
Ab ...(-2,-1,-1,-1,-1,-1)...

Seite 154:
Setzt ... Mega-ST(E) und TT wird ...

Seite 157:
        2: Timer C: 200-Hz-Systemtimer

 Unten fehlt
Bemerkungen
Timer C darf nicht verndert werden!!!

Seite 160:
A ...;'",...
 Vorschlag:
Das Komma und der Strichpunkt sollten nicht verwendet werden, da sie in der 
Environmentvariable "PATH" als Trennzeichen benutzt werden ... Auerdem kann 
der Dateiauswahlbox ab PC-GEM 2.0 mit dem Komma eine Liste von Masken bergeben 
werden.
Plus-, Minus-, Kleiner- und Grerzeichen sollten nicht das erste Zeichen sein 
um Fehler bei Kommandozeilenparametern zu vermeiden.
Wer den Klammeraffen "@" als erstes Zeichen verwendet, sollte, wegen der 
Sonderbehandlung in GEM-Dialogboxen, genau wissen was er tut.
Unter MS-DOS gibt es eine Konvention, da temporre Dateien mit der Tilde "~" 
beginnen und mit ".TMP" enden.
Fr MS-DOS sind +=;",<>|[] verboten.
Nach DIN EN 29293 = ISO 9293 : 1987 (Datenaustausch auf Disketten) sind nur 
Grobuchstaben, Ziffern und der Unterstrich erlaubt.

Seite 163:
 Im ersten Absatz:
Mit GEMDOS 0.30 (TOS 4.04) sind 8192 mglich.

Seite 165:
 Der Klammersatz (die GEM-Dateiauswahlbox ... ist falsch. Beide
 bercksichtigen das Attribut.

Seite 185:
 Die Zeile O = O->os_beg; streichen! Sie strt z. B. das Programm Big-DOS.

Seite 186 & 1224:
                sondern auf 125 Zeichen.)

Seite 187...190:
 Hier fehlt ein Hinweis auf die unterschiedliche Behandlung bei Accessories!

Seite 189:
 Anmerkung von mir (ber 1.):
(Accessory siehe Seite 541.)

Seite 196:
} OHEADER;

Seite 198:
Der ... A6 nicht verndern. ...

 Im letzten Absatz Ist die auf dem ... bis zum kursiven und streichen!

Seite 199:
6(sp) | ...
4(sp) | ...

Seite 203 & 1222:
Es konnten keine weiteren Dateien gefunden werden ...

Seite 215:
... <Ctrl><C> ...

Seite 217:
        (0: Fehler, sonst o. k.). ...

Seite 228:
 Von Christoph_Zwerschke@ka2.maus.de
... geffnete Datei oder einen mit "Fdup()" duplizierten Kanal.

Seite 229:
 Bei EACCDN Minus statt Bindestrich.

Seite 229 & 237:
 Die Fehlernummern sind Langwort-negativ, die Gerte-Handle sind Wort-negativ!

Seite 233:
handle: Nummer ...

Seite 237:
        EFILNF ...

Seite 238:
        ENHNDL ...

Seite 240:
als ... von zeichenorientierten Gerten drfen ...
 knnen maximal 65535.

Seite 242:
        EINVFN (-32): falsche Funktionsnummer bei seekmode
        EIHNDL (-37): ...
        ERANGE (-64): Dateizeiger auerhalb der Datei
        ERROR (-1):   Datei besitzt weniger Cluster als fr die Dateilnge ntig

Seite 246:
if ( ((da == ... da) )

#define FA_READONLY 0x01

#define FA_VOLUME   0x08
#define FA_SUBDIR   0x10
#define FA_ARCHIVE  0x20
#define FA_ATTRIB (FA_SUBDIR|FA_READONLY|FA_HIDDEN|FA_SYSTEM)

Seite 247:
 Fehler -49 ist hier nicht sinnvoll und kann auch nicht auftreten.

Seite 256:
        Maximallnge ... 125 ...

Seite 257:
        EINVFN (-32): Falsche Funktionsnummer bei mode

Seite 258:
 Vorschlag:
Startet ... Die Basepage _mu_ mit Modus 3 oder 5 erzeugt worden sein! ...

Seite 259:
memcpy ... sizeof(BASEPAGE)),

 Nach Pexec (5, fehlt /* Reicht die TPA? */ mit Code.
 Die Zeile p->p_dta = ... ist berflssig.
 Vor und starten... fehlt /* BSS oder restliche TPA lschen */ mit Code.

Seite 261:
 Bei 4. folgenen Satz anhngen:
BSS oder restliche TPA wird gelscht.

Seite 264:
 Anmerkung von mir:
Programme aus Accessories starten: siehe ST-Magazin 8/1991, Seite 66 ff.

Seite 267:
        -32: ... <Ctrl><C>

Seite 269:
 Anmerkung von mir:
0.14 (0x1400) KAOS 1.2.x
0.16 (0x1600) KAOS 1.4.x
0.30 (0x3000) TOS 4.04

Seite 270:
        Bit 0..4:  Tag (1..31)

Seite 272:
        (1  Tag  28..31, ...

Seite 273:
Tsettime():  -1: ...

Seite 290:
                0x5555) */

                sollen ... 0x5555) */

Seite 291:
 Ordinalzahlen fangen bei 1 an!
des ... im Byte an Offset 67 des ...

Seite 293:
 Eine Zeile ATTP10CG.FNT ber 04p ... ist zuviel.

Seite 298:
 Anmerkung von mir zur Tabelle:
201    | APPL_YIELD (AES 17) (nicht dokumentiert)

Seite 304:
 Hier fehlt
Die Register D0...D2 und A0...A2 werden zerstrt.

Seite 305 & 1233:
WORD LSTLIN;    /* Flag fr XOR-Modus: letzten ... (+$20) */

Seite 308 ff. & 1246 ff.:
FONT_HDR *FONT_RING[4]; ...

 Was bei Euch steht stimmt nicht mit GDOS (z. B. altes oder NVDI)! Der ROM-
 Bildschirmtreiber trgt in FONT_RING[2] die mit GDOS geladenen Zeichenstze
 ein. Dabei wird FONT_COUNT nicht erhht. AMCGDOS umgeht das Atari-VDI!
WORD FONT_COUNT;  /* Anzahl der "vst_unload_fonts()"-residenten Zeichenstze ...

WORD V_HID_CNT;   /* ... (-$15A) */

BYTE SAVE_STAT;   ...
BYTE RESERVED;

                     (-$142) */

                     8 Pixel betragen! (-$16) */

 Die Variable bei -$06 ist zwar wirklich nicht dokumentiert aber sie gilt als
 BYTE-Variable fr alle TOS mit Line-A-Untersttzung.
BYTE V_STATUS;    /* Nicht dokumentiert! Cursorflag ...
                     ...
                             nein/ja */
BYTE V_DELAY;     /* Nicht dokumentiert! Anzahl der VBlank-Interrupts nach
                     denen der Cursor nach der Zeichenausgabe erstmals blinkt.
                     Kann mit "Cursconf()" gesetzt und abgefragt werden.
                     0: normal, Cursor wird sofort gezeichnet
                     1: Cursor ist whrend der Textausgabe nicht sichtbar,
                        0,35...0,65 % Zeitersparnis (-$05) */

Seite 311:
 In PB-BUG.TXT gilt Seite:  311, 312, 314 und 316 fr die Seite 311 und
 Seite:  312 gilt fr die Seiten 312, 313, 314 und 316.

Seite 314:
 In der Zeile unter Ausgabewerte: ; A0 wird zerstrt streichen.

BYTE OP_TAB[4]; ...
 wie auf Seite 862 der 2. Auflage war sinnvoller.

Seite 319:
Diese Funktion entspricht exakt der VDI-Funktion "COPY RASTER, OPAQUE"
(COPYTRAN=0) oder "COPY RASTER, TRANSPARENT" (COPYTRAN=1) mit der Ausnahme,
da keine Workstation geffnet zu werden braucht.

Seite 320:
Entspricht der VDI-Funktion "CONTOUR FILL" mit ...

Seite 322:
"vq_scan()" ...

Seite 334:
 In der Zeile Vergleiche ... von Anhang bis sowie streichen.

Seite 351:
    contrl[3] = --i;

Seite 388:
 Das wichtigste fehlt:
    vdi();

Seite 390:
 Der ROM-Bildschirmtreiber liefert in contrl[4] eine 2 zurck, in intout[0] den
 eingestellten Linienanfang und in intout[1] das eingestellte Linienende.
 NVDI macht das bei Fehlerkompatibilitt ein nicht!

Seite 415:
    i_ptr2 ...pdesMFDB */

Seite 457:
work_out[8]: ... 90-Grad-Drehungen...

Seite 458:
work_out[47]: untere rechte ...
work_out[48]: untere rechte ...

Seite 461:
ptsout   | ... | attrib[3]

Seite 464:
die ... Funktionsaufruf ptsout[0],

Seite 467:
 Unten fehlt
Bemerkungen
Der Schreibmodus wird vom ROM-Bildschirmtreiber um 1 zu klein ausgegeben.

Seite 468:
alle ... bercksichtigt. (Auer horizontale und vertikale Textausrichtung.)

    contrl[3] = ((int)(tmp-intin)-1);

Seite 469:
Abb. ... vqt_extent

Seite 472:
contrl+8 ... 33 oder 34 ...

intout+66 | intout[33] | 0: Bitmap-, 1: Vektor-Schrift

Seite 473:
 Ein Fehler ist auch noch in PB-BUG.TXT:
        ... "vst_load_fonts()").

Seite 480:
    i = 2;
    while (intin[i++] = *string++);
    contrl[3] = --i;

Seite 481:
intin+4   | intin[2..n+1] | string[0..n-1]

Seite 504:
    tmp = 5;

    contrl[3] = --tmp;

Seite 540:
 In PB-BUG.TXT: ... fehlt)..

Seite 555:
 Den Fehler hab' ich Euch schon mal geschrieben aber Ihr habt's nicht
 verbessert. Wenn Ihr's mir nicht glaubt, dann guckt mal auf Seite 1274 nach!
    1 bis 127:   Der Rand liegt 1 bis 127 ...
    -1 bis -128: Der Rand liegt 1 bis 128 ...

Seite 558:
 Anmerkung von mir:
Das Setzen von WHITEBAK bringt 20 % Zeitersparnis.

Seite 559 & 1245:
 Das englische justification wird in der typografischen Bedeutung mit
 Justierung oder Ausschlu bersetzt.
WORD te_just;      /* Justierung */

Seite 560:
 alle ist falsch und ? oder * gehren _nicht_ zu einem Dateinamen.
  "F" - Zeichen fr Dateinamen und "?", "*"
  "f" - Zeichen fr Dateinamen
  "P" - Zeichen fr Pfadnamen und "?", "*" ("_" erst ab GEM 1.4)
  "p" - Zeichen fr Pfadnamen ("_", "." erst ab GEM 1.4)
  "X" - alle Zeichen
  "x" - alle Zeichen mit Umwandlung in Grobuchstaben

Bemerkungen
Unter TOS 1.00 fhrt die Eingabe eines Unterstrichs in ein Edit-Feld, in dem er 
kein gltiges Zeichen ist, zu einem Programmabsturz!
Der Fehler tritt also bei 9, A, a, N, n, P, p auf und bei F, f, X, x nicht.

 Von Peter_Hellinger@N.maus.de
Alle bekannten AES-Versionen kommen bei "objc_edit()" ausschlielich mit 
Schriften zurecht, welche die Breite der fr Mens verwendeten haben!

Seite 561:
 Die -1 bis -127 gehen real bis -10903.

Seite 562 & 1232:
 UWORD ib_resvd; ... streichen.

Seite 563:
 ib_resv ... streichen.

Seite 572:
   lerweise ... "\" abgeschlossen ...

Seite 584 & 1244:
typedef struct {
UWORD rsh_vrsn;    /* null */
UWORD rsh_object;  /* Position des Objekt-Feldes */
UWORD rsh_tedinfo; /* Position der TEDINFO-Strukturen */
UWORD rsh_iconblk; /* Position der ICONBLK-Strukturen */
UWORD rsh_bitblk;  /* Position der BITBLK-Strukturen */
UWORD rsh_frstr;   /* Position des Zeigerfeldes auf freie Strings */
UWORD rsh_string;  /* Position der Strings */
UWORD rsh_imdata;  /* Position der Bilder */
UWORD rsh_frimg;   /* Position des Zeigerfeldes auf freie BITBLKs */
UWORD rsh_trindex; /* Position der Objektbaumtabelle */
UWORD rsh_nobs;    /* Anzahl der Objekte */
UWORD rsh_ntree;   /* Anzahl der Objektbume */
UWORD rsh_nted;    /* Anzahl der TEDINFO-Strukturen */
UWORD rsh_nib;     /* Anzahl der ICONBLK-Strukturen */
UWORD rsh_nbb;     /* Anzahl der BITBLK-Strukturen */
UWORD rsh_nstring; /* Anzahl der freien Strings */
UWORD rsh_nimages; /* Anzahl der freien BITBLK-Strukturen */
UWORD rsh_rssize;  /* Lnge der Resource-Datei */
} RSHDR;

Seite 588:
WORD global[15];

In ... 16 Bit ...

Hier bergeben ... 16 Bit ...

LONG addr_in[3];
            ^ wegen fsel_exinput()!

Hie werden 32 Bit ...

Seite 593:
        .dc.b   0, 1, 2  * shel_wdef

        contrl[i] ...

Seite 594:
LONG addr_in[3], ...
            ^ wegen fsel_exinput()!

    c.cb_pcontrol = contrl;

Seite 595:
    contrl[4] = 0;

Seite 596:
    addr_in[0] = pbuff;

Seite 602:
 Bei Button-Ereignis und Tastatur-Ereignis jeweils die Bedeutung von
 oberes Wort und unteres Wort vertauschen.

Seite 609:
 Von Julian_Reschke@MS.maus.de:
Parameter:

clicks:        Lowbyte:  Anzahl der maximal gezhlten Tastendrcke (2:
                         Doppelklick etc.)
               Highbyte: blicherweise Null; kann aber auf Eins gesetzt
                         werden, um komplexere Maustastenkombinationen zu
                         ermitteln (nheres unten)
mask:          Maske fr den gewnschten Mausknopf (Bit 0: linker Knopf, Bit
               1: rechter Knopf, usw.)
state:         Erwnschter Status (Bitbelegung wie bei mask, ein Bit mu genau
               dann gesetzt sein, wenn der zugehrige Mausknopf gedrckt
               werden soll, um das Ereignis auszulsen)
pmx:           X-Koordinate des Mauszeigers bei Ereignisauslsung
pmy:           Y-Koordinate des Mauszeigers bei Ereignisauslsung
pmb:           Maustastenstatus (siehe state)
pks:           Tastaturzustand im Augenblick der Meldung des Ereignisses.
               Dabei gilt folgende Bitbelegung:
               K_RSHIFT (0x0001):  rechte Shift-Taste
               K_LSHIFT (0x0002):  linke Shift-Taste
               K_CTRL (0x0004):    Control-Taste
               K_ALT (0x0008):     Alternate-Taste
evnt_button(): Anzahl der aufgetretenen Maustastendrcke (ist immer kleiner
               oder gleich clicks)

Bemerkung

Die AES werten die Maustasten wie folgt aus:

button_event_happened = (((current_state ^ state) & mask) == 0) !=
                        HIGHBYTE (clicks);

Dasselbe noch einmal ausfhrlicher in nur noch C-hnlicher Schreibweise:

if ((current_state XOR state) AND mask)
{
     if (0 != HIGHBYTE (clicks))
          button_event_happened = TRUE;
     else
          button_event_happened = FALSE;
}
else
{
     if (1 != HIGHBYTE (clicks))
          button_event_happened = TRUE;
     else
          button_event_happened = FALSE;
}

Mit dem oberen Byte von 'clicks' wird also gesteuert, ob der logische Ausdruck
'(current_state XOR state) AND mask' wahr oder falsch werden soll. Betrachten
wir eine Anwendung: es soll auf einfache oder doppelte Mausklicks der linken
oder der rechten Maustaste reagiert werden. Dazu setzt man:

clicks = 256 + 2;   /* High-Byte ist 1 */
mask = 3;           /* Bit 0 und Bit 1 gesetzt */
state = 0;          /* warum, sehen wir gleich */

Wir testen den Fall, in dem der Benutzer die rechte Taste drckt:

current_state = 2;  /* rechte Maustaste */

Die logische Verknpfung hat dann den Wert 2 ((2 XOR 0) AND 3) und daher wird
das Ereignis gemeldet.

Ab PC-GEM/3 untersttzen die Event-Funktionen nur noch eine (die linke)
Maustaste.

Seite 618:
 Ersetze die Zeile ein. durch fest..

Seite 634:
Bemerkungen
"int_out[3...6]" mssen existieren, da sie berschrieben werden!

Seite 637:
        ED_INIT ...

Seite 640:
eines Formular-Objektbaumes ...

Seite 653:
... Opcode fr GRAF_RUBBOX

Seite 654:
 Die Breiten und Hhen der Rechtecke knnen auch negativ sein.
 Siehe Gei; Gei: Vom Anfnger zum GEM-Profi Kapitel 2.4.7 6.

Seite 670:
pscrap: Puffer fr Pfadnamen, 128 Byte

 Nach Gei; Gei: Vom Anfnger zum GEM-Profi
        Bit 15:  SCRAP.USR

Seite 671:
WORD ... (const char ...

Seite 678:
 In Gei; Gei: Vom Anfnger zum GEM-Profi heist es HOTCLOSE (0x100).

Seite 682:
contrl+2 ... int_in (bei WF_COLOR und WF_DCOLOR 3)

Seite 683, WF_TOP:
Ab Atari-GEM 3.3:
             pw2: owner
             pw3: below

Seite 684:
        0..1000: klein-gesamte Breite

        0..1000: klein-gesamte Hhe

        Down-Mens ... GEM 1.2

        /* Sonderfall: GEM 1.2 */

Seite 685:
Ab Atari-GEM 4.0:
        (0): Ermittelt Proze mit dem obersten Fenster
             pw1: Handle
             pw2: ap_id

Seite 686:
contrl+2 ... int_in (bei WF_COLOR und WF_DCOLOR 3)

Seite 687:
        0..1000 (klein-volle Breite)

        0..1000 (klein-volle Hhe)

Seite 691:
 Anmerkung von mir:
Siehe 68000er ST-Magazin 11/1990, Seite 68 ff., 6/1991, Seite 83.

Seite 694:
 Anmerkung von mir:
Daher vorher selbst "wind_update(TRUE)" aufrufen.

Seite 695:
 Anmerkung von mir:
Siehe 68000er ST-Magazin 10/1989, Seite 60 f., 4/1991, Seite 80 f.

Seite 698...699:
rstype:                    paddr enthlt:
          R_TREE (0):      Zeiger auf Objektbaum i
          R_OBJECT (1):    Zeiger auf OBJECT-Struktur i
          R_TEDINFO (2):   Zeiger auf TEDINFO-Struktur i
          R_ICONBLK (3):   Zeiger auf ICONBLK-Struktur i
          R_BITBLK (4):    Zeiger auf BITBLK-Struktur i
          R_STRING (5):    Zeiger auf freien String i
          R_IMAGEDATA (6): Zeiger auf freie BITBLK-Struktur i
          R_OBSPEC (7):    Zeiger auf ob_spec in Objekt i
          R_TEPTEXT (8):   Zeiger auf te_ptext in TEDINFO i
          R_TEPTMPLT (9):  Zeiger auf te_ptmplt in TEDINFO i
          R_TEPVALID (10): Zeiger auf te_pvalid in TEDINFO i
          R_IBPMASK (11):  Zeiger auf ib_pmask in ICONBLK i
          R_IBPDATA (12):  Zeiger auf ib_pdata in ICONBLK i
          R_IBPTEXT (13):  Zeiger auf ib_ptext in ICONBLK i
          R_BIPDATA (14):  Zeiger auf bi_pdata in BITBLK i
          R_FRSTR (15):    Adresse des Zeigers auf freien String i
          R_FRIMG (16):    Adresse des Zeigers auf freien BITBLK i

 Zu Bemerkungen:
Fr den Programmierer sind meist nur R_TREE, R_STRING und R_IMAGEDATA
interessant. (Der Rest wird intern von "rsrc_load()" benutzt.)

Seite 700:
rstype:                    lngval mu enthalten:
          R_OBSPEC (7):    ob_spec fr OBJECT i
          R_TEPTEXT (8):   Zeiger auf Text fr TEDINFO i
          R_TEPTMPLT (9):  Zeiger auf Textmaske fr TEDINFO i
          R_TEPVALID (10): Zeiger auf Textfilter fr TEDINFO i
          R_IBPMASK (11):  Zeiger auf Icon-Maske fr ICONBLK i
          R_IBPDATA (12):  Zeiger auf Icon-Daten fr ICONBLK i
          R_IBPTEXT (13):  Zeiger auf Icon-Text fr ICONBLK i
          R_BIPDATA (14):  Zeiger auf Bild fr BITBLK i
          R_FRSTR (15):    Zeiger auf freien String i
          R_FRIMG (16):    Zeiger auf freie BITBLK-Struktur i

rsid:     Index (i) der Datenstruktur, in die lngval geschrieben wird

 Anmerkung von mir:
Bemerkungen
"rsrc_saddr()" ermittelt mit "rsrc_gaddr()" die Adresse, an der lngval
gespeichert wird.

Seite 709:
... (char **ppath, ...

Seite 711:
contrl+4 ... | 1 ...

int_out   | int_out[0] ...

Seite 712:
    int_in[5] = h;

Seite 714:
WORD ... corners,

Seite 715:
int_out ... Return-Wert (0: Fehler)

Seite 724 & 1249:
... SkipRshFix;/* ungleich 0: ...

Seite 743:
void * cdecl ...

Seite 747:
schwarz ... dargestellten ...

Seite 783:
#define BOOLEAN int ...

Seite 787:
 Ab hier ist ein Schreiber am Werk, der deutsche und englische
 Bindestrichregeln durcheinanderwirft. Auch: sec oder Sek. -> s, 
64-pol. -> 64pol., K -> k. XBIOS mal gro und klein geschrieben.

Seite 803:
 Das NAND-Gatter ist ein AND-Gatter.

Seite 804:
- ... A17 ...
  Megabit... A16... 256-KBit-

  der ... A15... 256-KBit-

Seite 820:
move.w ...fifo ...

Seite 827:
Nur schwarzwei, ...

Seite 837:
 Bei Dioden werden die Leitungen durchgehend gezeichnet.

Seite 854:
 Als unterste Zeile fehlt
Wenn kein Interrupt dazwischenkommt.

Seite 855:
Line-A-Funktion ...

Seite 859:
programmierbaren ... 125 kHz ...

Seite 862:
 Das mit der Gleichung und dem Bindestrich sieht doof aus. Probiers mal damit:
        nicht ... so da sich (4+8=12) insgesamt ein 12-Bit-Wert ...

Seite 866:
ablaufen ... Timer-C...

Seite 869...905 & 1369...1373:
 Label des MFP mal in Gro- und mal in Kleinbuchstaben geschrieben.

Seite 874:
alle 64/(2 457 600 Hz) = 26,0417 s.

Ausgangsfrequenz ... 1/(3,333 ms) = 300 Hz.

Seite 879:
 Falscher Tabulator fr das Label TACR.

Seite 880:
 Die nchste Zeile ist von mir, die bernchste von Atari!
Timer C im ST: Vorteiler 64, Zhler 192...1, ndert sich alle 26 s.
Darf nicht umprogrammiert werden!!!

Seite 883:
durch ... (Valid Peripherel Address) ...

Seite 891:
 Minuszeichen statt Bindestrich.
... -3...-15 V

Seite 905:
Art aber ... 32)! ...

Seite 907:
... (Bit high oder low) ...


Seite 909:
 Ich halte es nicht fr sinnvoll die berschrift Keine Einbahnstrae! kleiner
 zu setzen als Vorsicht ist geboten!. Bei Keine ... fngt etwas Neues an.

Seite 910:
 STROBE geht nicht auf High wenn Port B auf Eingang geschaltet wird, sondern
 ist es fast immmer.

Druckerspooler ... ST-Magazin ...

Seite 921 Abb. 7.5:
 Bei Dioden werden die Leitungen durchgehend gezeichnet.

Seite 924:
 Den neuen Absatz bei Weitere ... finde ich nicht bersichtlich. Besser
 vorher bei Der Expanded-Multiplex-Mode ....
 Den neuen Absatz bei Softwaremig ... finde ich nicht bersichtlich. Besser
 mit dem Satz vorher Der Expanded-Multiplex-Mode ... beginnen.

Seite 930:
_____
| = |
| 0 |
-----

18pol.

Seite 930:
 Wie wr's mit einem Hinweis auf den Anschlu der CapsLock-LED an P30 wie in
 CAPSANZ2.LZH (z. B. MAUS Mnster 2) beschrieben?

Seite 932:
 Oder hier nach dem ersten Absatz folgender Tip:
Mit einem 10-k-Widerstand zwischen RXD und +5 V entfllt der Tastaturklick, 
wenn die Tastatur fehlt.

Seite 935:
fragen, ... MS-DOS- ...

Seite 937:
Load ... IKBD $E ...

Seite 939:
 Joystick-Nummern???

Seite 955:
Artikel im "ST-Magazin/68000er", Ausgabe 8/1988 ...

Seite 959:
        | 20.11.1985 ...

Seite 966:
RAM-TOS vom 20.11.1985 ...

vom 06.02.1986 ...

Seite 969:
ab, ... sich ungleiche ...

Seite 976:
        move.b  d7,dmahigh ...

Seite 979:
        move.w  #$80,fifo ...

Seite 991:
 vierte Byte ungleich Byte 4!!! Ordinalzahlen fangen bei 1 an!

Seite 992:
 Bei Inhalt fehlen 3 B.

Seite 1068:
... "IERA_TT"

Seite 1071:
Register ... $FFFF FA81...$FFFF FAAF ...

Seite 1158:
Register ...

Bei ... 16-Bit-SYNC-Zeichen,

Seite 1193:
  $FEFF FFFF ... 24-Bit... $A0 0000 ...

Seite 1211:
Good"-Signal ... IOA6 ...

Seite 1222:
 Anmerkung von mir:
-68: EBREAK (Abbruch mit ^C, nur in KAOS und MagiC)
-69: EXCPT (Abbruch durch Bomben, nur in KAOS und MagiC)

Seite 1230:
      |                     0x5555) */

$52   ...
$54   | struct _font_hdr *next_font ...

Seite 1233:
 LINEA gehrt hinter KEYTAB.

Seite 1243:
PUN_INFO ...

Seite 1254:
 Vorschlag: In der Spalte Scancode den Hexadezimalwert dazuschreiben.

 Minuszeichen wie bei Scancode 74, da es das gleiche Zeichen ist.
 53 | - ...

Seite 1255:
 Hier fehlt die Zeile
 76 | nicht da        | nicht da | nicht da | nicht da | CENTER CURSOR

Seite 1256:
115 | Control <-      |          |          |          | CTRL <-
116 | Control ->      |          |          |          | CTRL ->

119 | Control-ClrHome |          |          |          | CTRL HOME

130 | ...               ALT -    | ALT -    ...          ALT -
131 | ...                                     ALT -

 Tastencodes ab 132 drfen nur?

 Anmerkung von mir:
IBM-Scancodes siehe c't 7/1988, S. 182.

Seite 1257:
"ISO-Latin" ...

 DC1 heist auch XON und DC3 auch XOFF.

Seite 1266:
- Schlecht ... ("Bit String" ...

Seite 1267:
   $16 ff. ...

Seite 1269:
-a  | negativer Wert von a
 Nach K&R und DUDEN bedeutet Negation die logische Negation!

~a  | bitweise Negation (1-Komplement, Bit-Komplement) von a
 Nach Kernighan; Ritchie: Programmieren in C, 2. Ausgabe, ISBN 3-446-15497-3,
 Kapitel A.7.4.7 ist ! die logische Negation!

Seite 1270:
!a  | logische Negation

 Die Definition von BYTE widerspricht der von Seite 783! Die Festlegung
 BYTE (-128...127) und UBYTE (0...255) ist die gebruchliche. Und die solltet
 Ihr auch verwenden, um Eure Leser nicht mit Eigendefinitionen zu verwirren.
 Im AES-Teil wird manchmal ein Typ CHAR verwendet der nirgends definiert ist.
 Bleibt da besser beim normalen char.

Seite 1274:
Die ... abhngig.

Seite 1282:
Speicher bentigt (ca. ...

SysMon arbeitet ... TT-Baureihe ...

Seite 1289 & 1368:
 Label fr $FF 9200 (FIRE) und $FF 9202 (JOY) fehlen.
 Die Bit 8...15 von FIRE enthalten die Werte der Konfigurationsschalter.

Seite 1291:
Wie ... Abbildung J.3 ...

Seite 1292:
in ... kHz ...

Seite 1303:
 Laut Andreas_Krber@DO.maus.de:
    move.b  #3,sndmactl+1 ...

Seite 1309:
 Zunchst werden N-Adrbits?

Seite 1326:
 Beim Relais die Diode umpolen.

Seite 1327:
$FF FC2B ... (0..2 im 24-h-Modus, ...
         ... 12-h-Modus ...

Seite 1330:
 Anmerkung von mir:
Siehe 68000er ST-Magazin 2/1989, Seite 76 ff.

Seite 1350:
 $FF 820F wie auf Seite 1319 fehlt.
 Es ist zwar nur ein STE-Register, aber wenigstens ein Hinweis auf die
 zugehrige Seite ist wichtig, um bei ausschlielich bekannter Adresse die
 Beschreibung finden zu knnen.

Seite 1351:
... shift_TT

 $FF 8265 wie auf Seite 1318 fehlt.

Seite 1357:
 Ein $FF 8783 weglassen und W bzw. R ohne Unterstreichung.

Seite 1360:
 giselect gehrt in die Spalte Label.

 Zur vierletzten Zeile gehrt der Hinweis auf Seite 1212 oben.

Seite 1361:
 Falscher Tabulator fr die Bitbeschreibungen bei sndmactl.

Seite 1369:
 Bei gpip ist das Bit ganz links und die Linie darunter zuviel.

Seite 1370:
                ||L______ Timer C (200-Hz-Systemtakt)

Seite 1371:
        Bei ... Timer-A...
Seite 1373:
 Vom 2. $FF FA2D bis Sender-Ausgangsleitung streichen.

Seite 1379:
 $FF FC01 streichen.

Seite 1397:
... TT-SCSI...

Seite 1400:
 Anmerkung von mir zu Weitere Dokumentationen:
"Atarium". Index im ST-Magazin 1.1993, Seite 116 ff.

Seite 1402:
TOS 1.00)

Seite 1403:
 In der ISBN von Illik, J. A. fehlt eine Ziffer.

Seite 1404:
Darmstadt ... im 2. Sonderheft ...

Seite 1405...1492:
 Im Stichwortverzeichnis viele berflssige Zeilenumbrche.

Seite 1405:
200-Hz...

Seite 1407:
 Anmerkung von mir:
appl_getinfo (AES 130)  siehe ST-Computer 4/1994, S. 96 f.

Seite 1419:
Datenbertragungsrate (STE-MICROWIRE-Interface) ...

Seite 1420:
DIP-Switch   80, 1289

Seite 1422:
Dst_Yinc ... $FF 8A30) ...

Seite 1424:
Environment ...   707 ff.

Seite 1441:
Interrupt-Pending-Register A ... $FF ...
Interrupt-Pending-Register B ... $FF ...

Seite 1453:
 Anmerkung von mir:
OFLS   siehe ST-Magazin 11/1991, Seite 74 f.

Seite 1456:
 Anmerkung von mir:
PMMU-Cookie   siehe ST-Magazin 4/1992, Seite 55 f.

Seite 1457:
_prt_cnt ($4EE)   49, 66, 142 f.

Seite 1462:
RTS/CTS-Handshake   127, 147, 904

Seite 1471:
 Anmerkung von mir:
SpeedoGDOS   siehe ST-Magazin 11/1992, S. 68 f.

Seite 1473:
 Anmerkung von mir:
STBOOK   siehe ST-Magazin 1/1992, Seite 28 ff.

Seite 1476:
TACR_TT (TT-MFP, ...

Seite 1479:
 TRAP #0 und TRAP #15 sind berflssig.

Seite 1471:
 Anmerkung von mir:
VSCR-Cookie fr Grobildschirmsimulatoren  siehe ST-Magazin 7/1991, Seite 60 ff.

Seite 1491:
XON/XOFF-Betrieb   127, 147, 904

 Anmerkung von mir:
XHDI-Protokoll   siehe ST-Magazin 6/1992, Seite 85 ff. oder ST-Computer 9/1992, 
Seite 100 f. oder XHDI???.ZOO in der Mailbox MAUS Mnster 2
