Des Fischers bester Freund .. (V1.02, 21.Sept.91) war bisher das Aquarium. FischersFreund ist im Prinzip ein Ersatz für das Aquarium von B Lennart Olssen (auf AmigaLibDisk301 zu finden), besitzt jedoch einige nette Zusätze wie z.B. - Iconify - Modus: Verkleinern des Windows, auf diese Weise kann man auch bei knappem Speicher noch parallel Fishdisketten angucken oder Programme angucken etc. - Schnelle Textsuche: Trotzdem das Programm in Kickpascal geschrieben ist (C ist ja sooo viel schneller), ist die Textsuche doppelt so schnell wie im Aquarium. Dies wäre doch ein toller Grund, mal wieder eine Diskussion (C, Basic, Pascal, oder Assembler ?) anzufangen, oder ? { Real Programmers do it in Fortran. } - Export: Nicht nur nach PRT:, sondern auch in Dateien möglich. - komplett mit Maus UND Tastatur zu bedienen Ich will niemand zwingen oder überreden, FischersFreund zu benutzen. Ich wollte einfach ein nettes kleines schnelles Programm auf dem Workbench-Screen, das ich ab und zu auch mal im Speicher lassen kann. Die vom Aquarium angebotene Unterteilung in bestimmte Bereiche (Games, C,..) habe ich noch nie benutzt, und andere Serien als Freds AmigaLibDisks archiviere ich auch (noch) nicht. FischersFreund (1.0) -------------- Konfiguration: Nach dem ersten Starten von FischersFreund wird man automatisch mit der Konfiguration konfrontiert: Als erstes muß man dem Programm den Weg zu den bisher genutzten Aquarium - Dateien zeigen, es empfiehlt sich, einen ABSOLUTEN Pfad einzustellen (also z.b. DH0:Aquarium/Data/#?, nicht Aquarium/Data/#?), damit die Programme die Dateien auch finden, wenn sie von einer anderen Partition/Diskette gestartet werden. FischersFreund wird das File "Keynames" übrigens im Gegensatz zu Aquarium nicht benutzen. Danach kann man bestimmen, wo im Normalfall das Window von FischersFreund auftauchen soll und wohin es sich im "Iconify-Modus" zu verziehen hat. Die Angabe werden in einer Textdatei namens "S:FischersFreund.config" gespeichert. Es empfiehlt sich, diese Datei zu löschen, falls es irgendwelche Probleme mit nicht gefundenen Dateien gibt, danach kann man mit FischersFreund neu konfigurieren. Zur Bedienung von FischersFreund gibt es eigentlich nicht viel zu erklären, durch die 3 Textgadgets, 6 Pfeile und 4 Buttons sollte ansich jeder durchfinden: Geh zu Fish - Disk: Nummer Eintippen, fertig. FischersFreund zeigt das erste (Tastatur: 7,8,9) Programm auf der gewünschten Diskette an. Ein Klick auf einen der beiden Pfeile daneben bringt einen zur nächsten oder vorhergehenden Diskette. Programmsuche : Falls in diesem Gadget noch kein Text steht, bringt (Tastatur:4,5,6) einen ein Druck auf einen der beiden Pfeile zum nächsten oder vorhergehenden Eintrag. Will man einen Eintrag nach dem Programmnamen suchen, so gibt man Bruchstücke des Namens ein und startet die Suche in der hoffentlich richtigen Richtung durch Anklicken eines danebenliegenden Pfeiles. Textsuche : Text eintippen, Klick aufs Pfeilchen und los gehts. (Tastatur:1,2,3) ICON : Aktiviert den "Iconify-Modus". Alle reservierten (Tastatur:i,[) Speicherbereiche werden freigegebem. Rückkehr zum Normalmodus durch Doppelklick aufs "Icon". Stop : Unterbricht Suchvorgänge. (Tastatur:s,]) Expo : (kommt von Export), dient zum Ausdrucken oder Drucken (Tastatur:e,*) in Textdateien, exportiert wird nur der aktuelle Datensatz. Mehr : zeigt den Rest der Programmbeschreibung, falls sie (Tastatur:m,+,-) länger als der zur Verfügung stehende Platz ist. Wie man sieht, kann man alle Funktionen mit der Tastatur steuern. Auch wenn die Tastaturbelegung auf den ersten Blick recht seltsam erscheint, wird man jedoch bald merken, daß man alles ausser der Texteingabe über den Zahlenblock steuern kann (für die 15-Finger Blindschreibkönner). Im übrigen habe ich darauf verzichtet, Wildcards zu unterstützen oder die Suchbegriffe in den drei Textgadgets miteinander zu verknüpfen. Beim Start aus dem Cli sollte man 8K Stack reservieren. FrischFisch: ------------ Ein Ersatz für das nervige und absturzgefährdete "Newfish" vom Aquarium. Einfach Disketten in das Laufwerk legen, Rest geschieht von selbst. Das Laufwerk, in welchem die Disketten erwartet werden, kann auf 2 Weisen bestimmt werden: a) CLI Aufruf: FrischFisch 0 für DF0: FrischFisch 1 für DF1: ... b) Workbench Tooltype - Eintrag der Form "Drive=0" für DF0: "Drive=1" für DF1: ... Es gibt keine Möglichkeit, Disketten auszulassen. Wahrscheinlich wäre es mir mit etwas Mühe möglich gewesen, eine Verwaltung zu schreiben, in der Disketten fehlen dürfen, alle möglichen Serien archiviert werden können, usw, usf. Dies war nicht mein Plan. Ich will, daß die Dateien kompatibel zum Aquarium bleiben, es gibt absolut kein Grund, warum man 2 mal die kompletten Contents aller Fish-Disks auf der Platte haben sollte, nur damit man 2 ähnliche Programme benutzen kann. Ach so: FrischFisch kann man natürlich auch dann benutzen, wenn man FischersFreund nicht mag, es ist (aufwärts-) kompatibel zu "Newfish". SortPostings ------------ ( Alle Menschen, die keine DFUE betreiben, können diesen Teil der Anleitung überspringen und viel Geld sparen. ) Fred Fish kündigt neu erscheinende Fish-Disks im Usenet an. Diese Texte kommen meist als "Crossposting" auch in deutsche Netze (z.b. Z-Netz). Sortpostings dient dazu, die Datenfiles anhand dieser Postings auf den neusten Stand zu bringen. Dazu müssen die Files mit einem Texteditor bearbeitet werden, damit sie folgendes Format bekommen: Der Text beginnt mit dem Einleitungstext für die nächst Fishdisk, also wahlweise [ This is disk 481 of the freely distributable AMIGA software library.... ] oder [ CONTENTS OF DISK 471 ...] Irgendwann danach folgt hinter einer oder mehrerer Leerzeilen die einzelnen Beschreibungen in der Contents - üblichen Form: [ K1 An editor program for the Kawai K1-II synthesizer. Includes a bankloader for single-patches and multi-patches, a single- patch editor, a multi-patch editor, and support for the effect-session and K1 controllers. Version 4.8, binary only. Author: Andreas Jung MCP A "TRON" like cycle race game for up to four players. .... ] Danach folgt nach einer Leerzeile wieder ein Einleitungstext für die nächste Diskette. Nach der letzten Beschreibung der letzten im Posting enthaltenen Text endet die Datei! Also: File in den Texteditor laden und als erstes alles, was vor den Contents der ersten Diskette steht, löschen. Alles, was nach den letzten Contents steht, löschen. Alles was von der Mailbox in den Text eingefügt wurde ("Weiter = Space"), löschen. WICHTIG: ES EMPFIEHLT SICH UNBEDINGT, VOR DEM STARTEN VON SORTPOSTINGS EIN BACKUP DER DATENFILES ZU MACHEN, NUR FÜR DEN FALL, DAß SORTPOSTING FORMAT-FEHLER NICHT ERKENNT. Schrumpf_Daten -------------- Da der gute Fred Fish seine Disketten wie warme Semmeln ausgibt, werden die Datenfiles mit der Zeit natürlich recht groß. Umso unverständlicher erscheint mir das von B Lennart Olsson eingeführte Format für die einzelnen Einträge, da er jeden einzelnen Eintrag im "Data"-File mit 56 Nullbytes abschliesst. Schrumpf_Daten dient dazu, 55 dieser Nullbytes zu entfernen, was bei aktuellen Datenfiles ca 120KB Platz schafft. Das Beste daran ist, daß diese kürzeren Dateien immer noch vom Aquarium benutzbar sind, sodaß auch Diskettenbenutzer den nächsten 50-100 Fish-Disks noch gelassen entgegensehen können. (Vielleicht überlege ich mir dann mal ein Format mit Packerunterstützung). Trotzdem ich die kürzeren Dateien ausgiebig mit dem Aquarium getestet habe, gebe ich keine Garantie auf die mit Schrumpf_Daten erstellten Files. (Ich benutze aber nur diese). Schrumpf_Daten erstellt neue "Data" und zugehörige "Index" und "Name"-Dateien. Da die Datei "Data" bei einigen Menschen mit Sicherheit nicht komplett in den Speicher passt, ist es notwendig, daß die neuen Dateien entweder unter anderem Namen oder in ein anderes Verzeichnis gespeichert werden, sie können im Anschluß daran entweder über die alten Dateien kopiert werden oder man kann S:FischersFreund.config löschen und neu konfigurieren. Das wars schon fast. Der geneigte Benutzer wird den Source entdeckt haben. Ist Kickpascal. Es erscheint natürlich sinnvoll, daß ich auch kurz erkläre, wie die Dateien des Aquariums aufgebaut sind. Datenformat der Aquarium-Dateien -------------------------------- 1) Indexdatei "Index" Für jeden einzelnen Eintrag (= Programm) sind hier 14 Bytes reserviert: 4 Bytes (Long) für die in Aquarium definierbaren Klassifizierungen (Es hat mich gewissermassen Null interessiert, welches Bitchen jetzt für welche Klassifizierung steht). 2 Bytes (Word) für die Diskettennummer, auf dem sich der entsprechende Eintrag befindet 4 Bytes (Long) für den Offset, an dem der Beschreibungstext für den betreffenden Eintrag zu finden ist. 2 Bytes (word) Unbenutzt. Null. Niente. Nada. ("Reserved for Future Use" nennt man sowas wohl.) 2) Namendatei "Name" Für jeden einzelnen Eintrag (= Programm) sind hier 20 Bytes reserviert, und zwar 19 Bytes für den Namen (aufgefüllt mit Leerzeichen) und eines für die abschliessende Null. 3) Datenfile "Data" Hier stehen die vollen Beschreibungstexte drin. Die einzelnen Zeilen der Beschreibung eines bestimmten Eintrages sind ab Position "Offset" (siehe oben) ganz normal als Strings (d.h. mit abschliessender Null gespeichert). Im originalen Format wird eine Beschreibung mit 56 zusätzlichen Nullen beendet, in meinem (kürzeren) Format folgt eine zusätzliche Null. In allen Dateien sind die Einträge in aufsteigender Reihenfolge angeordnet, d.h. amigademo (Fish #1) ist der erste, UUCP (Fish #480) der derzeit letzte. { An dieser Stelle sehe ich künftigen Umsetzungen gelassen entgegen, das erste GFA-Basic - Aquarium - Derivat werde ich mir genüsslich aufs Klo nageln. } Bekannte Fehler der Programme: ------------------------------ - Trotzdem ich Topaz/80 setze, wird die req.library unter KS/Workbench 2.0 evtl. andere Fonts benutzen, was zu einem seltsamen Aussehen der Gadgets und Requester führen kann. Da mir keine Unterlagen zur Programmierung für 2.0 vorliegen, kann ichs wohl auch nicht ändern. - Menschen, die immer noch Kickstart 1.2 oder noch frühere Versionen in ihrem Rechner haben, werden auf die Tasten 2,5,8 verzichten müssen, da "ActivateGadget" meines Wissens erst bei 1.3 eingeführt wurde. (Ich kanns nicht ausprobieren, hab kein 1.2). Was ich sonst noch sagen wollte: -------------------------------- Ich erhebe absolut keinen Beitrag für die Nutzung dieser Programme. Menschen, die jedoch damit richtig zufrieden sind, dürfen mir gerne irgendwas Schönes schicken. Ich liebe selbstgeschriebene Programme (am liebsten mit Source), Sekt, Schampus, gute Bücher, laute Musik, Geld, selbstgestrickte Socken, Leerdisketten, Computerliteratur, Diskettenmagazine, etc. Ich möchte keine Raubkopien, Mega-Absturz-Demos oder "Dirty Hacks" aller ART. Hochgradig willkommen wäre jedoch eine Datei mit deutschen Übersetzungen der Contents, die ich sofort in deutsche Datenfiles konvertieren würde. Ich benutze die Req.library aus tiefer innerer Überzeugung. Deshalb möchte ich den Programmierern, nämlich Bruce Dawson (CygnusSoft Software) und Colin Fox (Pyramyd Designs) ganz besonders dafür danken, daß sie diese Library als Freely Distributable Software mit Copyright herausgebracht haben. [ Disclaimer ON ] _____________________________________________________________________ Req.library was written by Colin Fox (of Pyramyd Designs) and Bruce Dawson (of CygnusSoft Software). Req.library is a freely distributable library that may be used in commercial products without paying any royalties. We encourage you to use the requester library in all of your programs, to make them easier to write, and to use. Req.library is not public domain. The requester library and all documentation and example programs are all copyright 1989. The requester library is freely distributable. If you wish to supply the source code to your program, we would ask that you also include the req.library archive file. This is what it should contain: ....... ______________________________________________________________________ [ Disclaimer OFF ] Nein, ich werde diese Dateien jetzt nicht zum 17. Mal bringen. Die req.library wird im Rahmen meines Paketes mitgeliefert und PD-Serien werden durch Wiederholungen genausowenig besser wie das Fernsehprogramm. Ich empfehle jedoch jedem halbwegs interessierten Programmierer, einen tiefen Blick in das komplette Paket der req.library (zu finden auf Fish 400 oder 419) zu werfen, die Library ist wirklich toll und einfach zu benutzen. Meine Includefileumsetzung für die Library auf Kickpascal wird natürlich mitgeliefert, auch hierfür gibt es keine Garantie. Alle Programme wurden in Kickpascal 2.0 geschrieben, das ich allen Pascal - Interessierten wärmstens empfehlen möchte (ohne Prozente von Maxon). Alle Programm wurden zuerst mit englischen Namen / Texten geschrieben. Die deutschen Programmnamen legen ein deutliches Zeugnis davon ab, die englische (= internationale) Version (Fishermans Friend, FreshFish und Shrink_Datas) ist für feinfühlige Menschen bei mir zu erhalten. Nichtdestotrotz bin ich der deutschen Sprache mächtig, aber deutsche Fehlermeldungen sind wirklich das Letzte. (Unable to create Lock = Kann kein Lock machen ??) Bedanken möchte ich mich auch noch bei Olaf ("Olsen") Barthel für die Anregungen bzgl. Diskchange-Erkennung, die ich aus seinem Formatter-Source bezogen habe. Die übliche rechtliche Kacke: ----------------------------- FischersFreund, FrischFisch and Schrumpf_Daten sowie die Sources sind "Frei kopierbare Software mit Copyright". Das Copyright hab nämlich ich, der Autor: Henrich Deppenmeier Turnerstr. 50 4800 Bielefeld 1 Germoney Warnung: Es ist definitiv verboten, diese Programme in einer gepackten Form zu vertreiben, die gegen Entpacken geschützt ist. Keine Läuse in meinem Nerz bitte. Programme, die Prozeduren aus den mitgelieferten Sourcen beinhalten, müssen "freely distributable" bleiben. Das heißt, das jeder, der ein ähnliches Programm verkaufen will, besser seine eigenen Routinen schreibt. Dies gilt auch für den Fall, daß das Program als Shareware vertrieben werden soll. PD-Händler, die diese Programme auf ihren eigenen Serien verkaufen ("vertreiben") wollen, kommen nicht darum hin, mich um Erlaubnis zu fragen. Die Entscheidung, welche Serien/User-Gruppen/Händler ich unterstützen will, möchte ich gerne selber treffen. Ansonsten ist die unkommerzielle Weitergabe höchstgradig erwünscht, sei es per DFUE, SackPost oder auf Datenträgern jedweder Art. Auch diese Software darf natürlich nicht zur Planung / Produktion / Ausbildung in militärischen Anlagen, Anlagen zur Kernspaltung oder Herstellung von Waffen jeder Art genutzt werden, auch nicht von Angestellten, Vorgesetzten oder Sympathisanten solcher oder ähnlicher Einrichtungen. Und wenn der computergesteuerte Herzschrittmacher aussetzt, weil mein Programm abschmiert, bin ich auch nicht schuld, ja ? ______________________________________________________________________ V 1.0 : erste Version. V 1.01: Fehlerchens beseitigt: - Fischersfreund konnte abstürzen, wenn s: nicht vorhanden oder schreibgeschützt war. - Durch den Compiler (Kickpascal 2.02) wurde ein Fehler verursacht, der bei existierendem Customscreen bei Start eines der Programme den Customscreen nach vorne holte. Der Fehler existiert bei Kickpascal 2.044 nicht mehr. V 1.02: Fehlerchens beseitigt: - Schrumpfdaten und Frischfisch stürzten beim Verlassen unter Kickstart 2.0 ab. Mein Fehler, beseitigt. Danke an T. Blum. Jeder, der Fehler des Programmes bemerkt, möge mir schreiben ! Als Dank winkt die neueste (hoffentlich fehlerfreie) Version.