identify.library

Eine library zur Wandlung cryptischer IDs in menschenlesbare Form Version 5.0, Stand 26. Februar 1997

Richard Körber

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1996-97 by Richard Körber Bitte lesen Sie das Copyright-Kapitel!

1 Einleitung

Die identify.library hat eine längere Geschichte hinter sich.

Angefangen hat alles damit, als ich mich darüber geärgert habe, daß Systeminfo-Programme die Erweiterungskarten stets nur als Zahlenkombination angaben. Daraus entstand die expname.library, die Ihnen vielleicht sogar schon bekannt ist.

Diese Library ergänzte ich später um die Fähigkeit, die Systemparameter herauszufinden (wenn auch manchmal ein wenig fehlerhaft ;) ). Mir fielen (und fallen immer noch) immer weitere Sachen ein, die diese Library erkennen und wandeln könnte. Leider paßt der Name nicht mehr.

Nun, jetzt haben Sie die zweite Generation der expname.library vor sich. Sie wurde in den treffenderen Namen identify.library umgetauft, komplett neu geschrieben und erweitert. Die konzeptionellen Unzulänglichkeiten aus der expname.library wurden beseitigt, und es wurden einige Neuerungen eingefügt.

Die Library hat (momentan) folgende Fähigkeiten:

• Wandlung der Hersteller- und Produkt-ID von Amiga-Erweiterungskarten in den Herstellernamen, den Produktnamen, und die Produktklasse.

• Wandlung der cryptischen Amiga-Guru-Codes in eine lesbare Beschreibung.

• Analyse der Systemkonfiguration (Systemtyp, Prozessoren, Speicher, Graphik usw.).

• Wandlung eines Bibliothek-Funktionsoffsets in einen Funktionsnamen.

Auch wenn die Library mittlerweile relativ vollständig aussieht — sie ist es noch lange nicht.

Ich brauche Ihre Mithilfe! Senden Sie mir Hersteller- und Produktnamen und IDs, Ihre Systemkonfiguration, Verbesserungsvorschläge und so weiter; kurz: alles, was Sie in die Library eingebaut haben möchten.

2 Copyright

Bitte lesen Sie sich diesen Teil aufmerksam durch.

COPYRIGHT Diese Software ist urheberrechtlich geschützt. Der Urheber ist Richard Körber. Das bedeutet, daß es nicht erlaubt ist, das Programm oder die Dokumentation irgendwie zu verändern. Insbesondere dürfen keine Dokumentations-, Include- oder Anleitungsdateien entfernt werden. Es ist nicht erlaubt, diese Software oder einen Teil davon für einen anderen als dem in dieser Dokumentation geschilderten Zweck zu verwenden. Dies schließt auch alle Fonts, Bilder oder Samples ein. Es ist nicht erlaubt, irgendeinen Teil des Pakets zu dekompilieren, disassemblieren oder auf andere Weise zurückzuwandeln. Dies bezieht sich auf den Code und insbesondere auf die Karten-Datenbank. Um Teile der Dokumentation oder Includedateien für eigene Dokumentationen oder Includedateien zu verwenden, bedarf es der schriftlichen Einverständniserklärung des Autors. Dies gilt jedoch nicht für diese Copyright-Notiz.

FREEWARE Diese Software ist FREEWARE. Es ist erlaubt, sie ohne Zahlung einer Registrationsgebühr zu verwenden. Beachten Sie, daß Sie nur das Recht haben, die Software zu benutzen, aber keine Rechte an der Software an sich.

VERTEILUNG Dieses Paket ist frei verteilbar. Das bedeutet, daß es erlaubt ist, das Paket weiterzukopieren, solange diese Punkte erfüllt sind:

• Jede Weiterverteilung muß alle Dateien dieses Archivs in unverändertem Zustand enthalten. Es ist NICHT erlaubt, Dateien an das Archiv anzufügen oder einzelne Dateien zu komprimieren. Ausnahme: wenn die identify.library in einem Programm verwendet wird, brauchen nicht alle zugehörigen Dateien verteilt werden, solange in der Dokumentation des Programms ein kurzer Hinweis auf Verwendung und Bezugsquelle gegeben ist.

• Dieses Paket darf frei über Mailboxen, Internet/UseNet, Software-Archive wie Fred Fish oder AmiNet CD-ROM, und andere, ähnliche Medien verteilt werden.

• Disk-Magazine und Service-Anbieter, die für Dateiübertragungen Geld verlangen, dürfen das Paket nicht ohne schriftliche Einverständniserklärung des Entwicklers vertreiben.

• Es ist erlaubt, identify.library in kommerziellen Produkten einzusetzen, ohne das eine schriftliche Erlaubnis eingeholt werden muß. Bitte vermerken Sie in der Anleitung Ihres Programms, daß die identify.library von Richard Körber verwendet wird, und über welche Kanäle ein komplettes Paket bezogen werden kann.

Einverständniserklärung Wenn Sie dieses Produkt benutzen, erklären Sie sich für VOLL Verantwortlich für alle Schäden, Folgeschäden oder Verluste, die durch die Verwendung oder Fehlbenutzung auftreten. Der Entwickler der Software kann nicht verantwortlich dafür gemacht werden.

Inhalt des Pakets

Das Identify-Paket ist nur vollständig, wenn diese Dateien vorhanen sind:

Identify/catalogs/deutsch/Identify.catalog
Identify/catalogs/Identify.cd
Identify/identify.doc
Identify/identify.doc.info
Identify/Identify-D.dvi
Identify/Identify-D.dvi.info
Identify/Identify-D.guide
Identify/Identify-D.guide.info
Identify/Identify-E.dvi
Identify/Identify-E.dvi.info
Identify/Identify-E.guide
Identify/Identify-E.guide.info
Identify/include/identify_lib.i
Identify/include/fd/identify_lib.fd
Identify/include/inline/identify.h
Identify/include/libraries/identify.h
Identify/include/libraries/identify.i
Identify/include/Pascal/identify.lib
Identify/include/Pascal/libraries/identify.h
Identify/include/pragmas/identify_pragmas.h
Identify/include/proto/identify_protos.h
Identify/libs/expname.library
Identify/libs/identify.library
Identify/Function
Identify/Guru
Identify/ListExp
Identify.info
FILE_ID.DIZ

MARKENZEICHEN Die Copyright und Markenzeichen aller Hersteller und Produkte werden von ihren Eigentümern gehalten.

Wenn Sie mit diesen Copyright-Bestimmungen nicht einverstanden sind, müssen Sie dieses Paket und alle dazugehörigen Dateien sofort löschen!

3 Meine Adresse

Bitte senden Sie mir alle Arten von Fehlerbeschreibungen, Kartenbeschreibungen, fehlende Graphikkartensysteme, Keyfiles, Flames, Ideen und so weiter an eine der folgenden Adressen:

INTERNET

Ich bin im Internet unter folgenden E-Mail-Adressen zu erreichen:

     shred@chessy.aworld.de           (International)
     shred@eratosth.dssd.sub.org      (nur Deutschland)

Die aktuellste Version und weitere Programme finden Sie auch in meiner Homepage. Die URL lautet:

     http://www.is-koeln.de/einwohner/shred

SCHNECKENPOST Sie können mir auch einen gewöhnlichen Brief schreiben. Meine Adresse lautet:

     Richard Körber
     Hornstraße 20
     51465 Bergisch Gladbach
     Germany

Bitte legen Sie eine 1 DM-Briefmarke als Rückporto bei, wenn Sie eine Antwort möchten.

4 ListExp

ListExp ist ein kleines Tool, das schon bei der expname.library dabei war und in der identify.library weiterverwendet wird.

Es beschreibt die Hardwarezusammensetzung des Systems, auf das es gestartet wurde. Es werden zunächst einige Hardwareparameter angezeigt (CPU, Speicher usw.), anschließend werden alle Erweiterungskarten (hoffentlich namentlich) aufgelistet.

Durch die Option FULL werden auch alle momentan verwendeten Commodities aufgelistet. Diese Ausgabe eignet sich dann hervorragend für Bugreports und ähnliches, da das System schon sehr ausreichend beschrieben wird.

Eine weitere Option erlaubt es, von einem Hersteller- und Produktcode die zugehörige Kartenbeschreibung ermitteln zu lassen. Geben Sie dafür die Hersteller-ID hinter MANUFID und die Produkt-ID hinter PRODID an.

Beispiel:

      > ListExp MANUFID=514 PRODID=9
      -- ListExp V5.0 -- by Richard Koerber
       Manufacturer: Commodore West Chester
       Product:      A2060
       Class:        ArcNet

Wenn Einträge in der Erweiterungsliste mit einem ‘#’ anstelle eines Namens beginnen, sollten Sie den Ausdruck von ListExp und die Beschreibung der fehlenden Karte (Herstellername, Produktname, Kartentyp) so schnell wie möglich zu mir schicken…:-)

Dies gilt auch für Karten, deren Kartenname erraten wurden. Sie erkennen dies an der Kartenklasse (geraten).

Auch ist es mir bei der Vielzahl der Amiga-Erweiterungskarten nicht möglich, sämtliche Hardwarekombinationen auszutesten. Wenn Ihre Hardware fehlerhaft erkannt wird, schreiben Sie mir bitte.

Bitte beachten Sie: Einige Hersteller, insbesondere GVP und Phase 5, haben verschiedenen Karten eine gleiche ID zugeordnet. identify.library ist zwar darauf vorbereitet und versucht, diese Karten auseinanderzuhalten, kann aber nicht in jedem Fall die richtige Erweiterungskarte ermitteln.

Anmerkung: Das Programm ListExp an sich paßt sich momentan noch nicht an die gewählte Landessprache an. Dadurch kann es passieren, daß die Ausgabe gemischt in Englisch und der eingestellen Sprache erfolgt. In zukünftigen Releases wird sich das ändern!

5 Guru

ListExp ist ein Programm, das es bereits in dem expname-Paket gab. Mit der identify.library kommt jetzt ein neues Programm dazu.

Guru ist dazu da, den cryptischen Code eines Alerts in menschenlesbare Form umzusetzen.

Als Parameter wird der Alert-Code benötigt, und zwar alle acht Stellen ohne irgendwelche Symbole davor oder dahinter. Ein Beispiel:

      > guru 81000005
      -- Guru V1.0 -- by Richard Koerber
       Type:       Deadend
       Subsystem:  exec.library
       General:    General fault
       Specified:  Corrupt memory list detected in FreeMem

Das Ergebnis ist so zu verstehen:

Type Um was für einen Alert handelt es sich? Es kann ein Deadend-Alert sein, oder ein Recoverable Alert, wovon sich der Amiga (zumindest ganz kurz ;) ) wieder erholen kann.

Subsystem

Welches System hat diesen Alert ausgelöst? Im Beispiel stammt der Alert

          von der exec.library.

General Welcher generellen Klasse gehört der Fehler an? In diesem Beispiel ist es ein genereller Fehler, der noch genauer spezifiziert werden muß.

Specified

Was war die Fehlerursache? Das Beispiel zeigt an, daß die Speicherliste durch ein schlecht geschriebenes Programm zerstört wurde.

Anmerkung: Das Programm Guru an sich paßt sich momentan noch nicht an die gewählte Landessprache an. Dadurch kann es passieren, daß die Ausgabe gemischt in Englisch und der eingestellen Sprache erfolgt. In zukünftigen Releases wird sich das ändern!

6 Function

Mit dem Tool Function kann man durch Angabe eines Librarynamens und eines Funktionsoffsets den Namen der Funktion ermitteln lassen.

Zuerst wird der Library-Name angegeben, zum Beispiel ‘exec.library’. Es können hier auch devices oder resources angegeben werden. Alle Buchstaben hinter dem Punkt (den Punkt eingeschlossen) sind optional. Beachten Sie allerdings die Groß/Kleinschreibweise!

Dahinter wird der Funktionsoffset angegeben, der dekodiert werden soll. Er muß durch 6 teilbar sein, braucht aber nicht negativ sein. Das Vorzeichen wird automatisch angepaßt.

Beispiel:

      > Function exec.library -456
      -- Function V1.0 -- by Richard Koerber
       Library:    exec.library
       Offset:     -456
       Function:   DoIO

Diese Funktion setzt voraus, daß die .fd-Dateien vorhanden sind und der Assign ‘FD:’ auf das Verzeichnis verweist. Die Dateien müssen in dem üblichen Dateinamensformat vorliegen, zum Beispiel ‘exec_lib.fd’.

Anmerkung: Das Programm Function an sich paßt sich momentan noch nicht an die gewählte Landessprache an. Die Ausgabe ist momentan stets in Englisch. In zukünftigen Releases wird sich das ändern!

Anhang A Bekannte bugs

Mein Amiga:

** HARDWARE **
System:     Amiga 4000 (CPU=68060 FPU=68060 MMU=68060 Chipset=AGA)
AmigaOS:    3.0 (V39.106, SetPatch V43.4)   Exec V39.47   Workbench V39.29
Graphic OS: CyberGraphX
Audio OS:   Maestix
Memory:                 CHIP    FAST    TOTAL   ROM = 512KB
            PLAIN       2MB     26MB    28MB
            VMM         0       0       0
            TOTAL       2MB     26MB    28MB

** EXPANSIONS **
Nr ID      Address  Size Manufacturer         Product
----------------------------------------------------------------------------
 1 2140.22 40000000  64M Phase 5              CyberVision 64 Graphik
 2 2140.19 00EA0000 128K Phase 5              CyberStorm MK-II Flash-ROM
 3 082C.10 00E90000  64K BSC/AlfaData         Multiface II Multi-I/O
 4 4754.0C 00EC0000  64K MacroSystem Germany  Toccata Audio
 5 4754.05 00ED0000  64K MacroSystem Germany  MaestroPro Audio

DIESE FEHLER SIND MOMENTAN BEKANNT

• Die Hersteller ‘Phase 5’ und ‘GVP’ haben gelegentlich zwei oder mehr Boards ein und dieselbe ID zugewiesen. In diesem Fall kann identify.library einen Namen zurückliefern, der nicht der tatsächlichen Hardware entspricht. identify.library versucht zwar, diese Karten auseinanderzuhalten, aber das klappt nicht in allen Fällen.

• Momentan wird stets ein 68030 mit MMU erkannt.

• OCS/ECS-Amigas mit OS3.1 wurden bisher stets als A3000 erkannt. Ich hoffe, das Problem ist jetzt beseitigt!?

• Ich konnte die Amiga-Analyse (wegen fehlender Amigas) nicht austesten. Sollte Ihr Amiga-Modell fehlerhaft erkannt werden, schicken Sie mir bitte eine Kopie des ListExp-Ergebnisses zu.

• Wenn die Speicherliste nach Start von Identify verändert wird (zum Beispiel durch nachträgliches Starten von VMM), werden die Änderungen nicht angezeigt. Abhilfe: Library entfernen, z. B. mit avail flush.

Anhang B History

V 5.0 • Picasso96 wird jetzt vor CyberGraphX erkannt

• Das Problem, daß OCS/ECS-Amigas unter OS3.1 als Amiga 3000 erkannt werden, sollte nun behoben sein.

• Weitere Karten hinzugefügt

• Audio OS und AmigaOS wird geprüft.

• Reines- und VMM-RAM wird getrennt geprüft.

• Unter Hersteller geteilte Manufacturer IDs werden jetzt unterstützt.

• Bugfix: Enforcer-Hit, wenn direkt nach einer unbekannten Erweiterung gefragt wurde.

• Mehrere KBytes durch Optimierung der Tabellen, Kompression der Datenbank und verschiedene Aufräumarbeiten gewonnen

• ListExp angepaßt

V 4.4 • Erkennt Picasso96

• Bugfix: wenn der Kartenname erraten wurde, erschien nur ein "-?-" • Einige Amiga 1200 wurden als "Walker" erkannt. :-)

V 4.3 • Erkennt CyberGraphX V3

• Weitere Karten hinzugefügt

V 4.2 • CyberGraphX wurde nicht immer korrekt erkannt

• Weitere Karten hinzugefügt

V 4.1 • Bugfix: anscheinend immer noch Probleme mit der Amiga-Erkennung • Picasso wird erkannt

• Weitere Karten hinzugefügt

V 4.0 • IdFunction() implementiert

• Neues Tool Function

• Weitere Karten hinzugefügt

• Bugfix: In einigen Fällen wurde der Herstellername zerstört

• Pascal-Includes (von Axel Dörfler)

• Identifiziert SetPatch-Version.

V 3.1 • 2 Karten hinzugefügt

• Bugfix: erkannte stets einen Amiga 3000 auf ECS-Maschinen mit OS3.1.

• Bugfix: erkannte CyberGraphX auch, wenn nur PictDT installiert war.

• Bessere Rundung der Speicheranzeige

V 3.0 • Basiert auf der expname.library, wurde jedoch komplett neu geschrie-

ben.

• Wandelt jetzt auch Alert-Codes.

• Guru geschrieben.

Anhang C Credits

Ich möchte mich besonders bei folgenden Leuten bedanken (ohne Reihenfolge):

Andreas Gelhausen für Scout, seine Board-Liste und seine Ideen und Anregungen.

Martin Wietfeld für seine riesige Board-Liste.

Axel Dörfler für die Verwendung der Library in XOpa und für die PASCAL-Includes.

Thomas Kessler für ShowConfigEnh und seine vielen Ideen.

Geert Uytterhoeven für seine Board-Liste und die Beschreibung der GVP-Codes.

Timo Ronkko für seinen genialen Tip!

Colin Thompson für seine field testings und seine nützlichen Tips.

Frank Wille für den hervorragenden PhxAss-Assembler und seine Tips!

Sascha Reissner für ToxicBoards.

Kössi für seine vielen Karten, seiner Hilfestellung bei TexInfo-Problemen und seinem Debugger-Talent.

…und für ihre Beiträge (in alphabetischer Reihenfolge):

’2bros’, Daniel Adolfsson, ’ALV’, Thomas Andersson, Jörn Asmussen, Matthias Bethke, Paul Braithwaite, Dave Clarke, Gary Coleman, Gagliardini Daniel, Marcus Cai Degler, Ethan Dicks, Frank Dietrich, Norbert Dimpfl, Kevin Fairhurst, Ulrich Falke, Alexander Fichtner, Ramiro Garcia, Andreas Gelhausen, Patrick Gern, Neil Griffiths, Fred Hamilton, Michael Hartmann, Georg Hazianastasiou, Dirk Hebisch, Matthias Heilmann, Ian P.Heitmans, Gene Heskett, Patrick Hess, Torfinn Ingolfsen, Bengt Jensie, Thomas Kessler, Bernd Kösling, James Kückmann, Rask Lambertsen, Jens Langner, Lutz Legero, Mika Lembke, Petter Lindquist, Mika Lundell, Gunther Mannigel, Peter Mattsson, Mario Misic, L Mac Mullan, David Oakes, Jürgen Ofner, Jakob Ölund, Chris Painter, Oliver Peike, Markus Pietz, Heiko Polig, Giuseppe Premoli, Michael Reichenbach, Sascha Reissner, Jan Rembser, Kai Rode, Timo Ronkko, Gregor Rosenauer, Andre Schenk, Bodo Schulz, Thomas Schürger, Simon Shead, Karsten Soeth, Mark Sorensen, Nicholas Stallard, Teemu Suikki, Johan Sundstrom, Adam Szymczak, Patrick Thato, Colin Thompson, Henrik Tikanvaara, Geert Uytterhoeven, Jarkko Vatjus-Anttila, Milco Veljanoski, Federico Villata, Christian Wasner, Pete Wason, Ralph Wermke, Henrik Wetterstrom, Martin Wietfeld, Frank Wille, Alexander Wild, Beno Zidaric, Rolf Zuercher.

Macht weiter so!

                 //
             \\ //   -- Amiga - The Computer for Creative Mind --

Konzept-Index 13

Konzept-Index

A

Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Alert-Beschreibungen . . . . . . . . . . . . . . . . . . . . . . . . . . 6

B

Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

C

Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Credits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

E

E-Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Einverständniserklärung . . . . . . . . . . . . . . . . . . . . . . . 2

F

FreeWare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

G

Guru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

H

History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

I

Inhalt des Pakets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

K

Kommerzielle Produkte. . . . . . . . . . . . . . . . . . . . . . . . 2

L

ListExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

M

Markenzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

O

Offset-Dekodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

S

Schneckenpost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

U

Unbekannte Karten. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

V

Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Verteilung über elektronische Medien . . . . . . . . . . 2

Inhaltsverzeichnis

1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Meine Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 ListExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 Guru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Anhang A Bekannte bugs . . . . . . . . . . . . . . . . . . . . . 8 Anhang B History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Anhang C Credits. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Konzept-Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13