Short: Neue Blitzbasic2 Version mit FPU usw. Uploader: berndroesch1@compuserve.de Author: Acidsoft /Red When Excited /berndroesch1@compuserve.de Type: dev/basic Danke an Mark Sibly und Simon Armstrong und RWE das sie mir den Quellcode gegeben und mir erlaubt haben mein geliebtes Blitzbasic2 zu verbessern und es im Aminet als Amiblitz2 zu veröffentlichen. Der Name Amiblitz2 wird deshalb benutzt, weil unter Blitzbasic die Leute nun die PC-Version verstehen. Zu beachten ist nur, dass man ACIDSOFT RWE etc. KEINE FRAGEN ÜBER AB2 schickt. Es ist 100% (ich hoffe) kompatibel zu Blitz2 Kopieren Sie Amiblitz2 und PED in Ihr Blitz-Verzeichnis (The old Version work then too) Versichern sie sich, daß die die wizard.library (H&P Stormwizard 2.0 Lib) in libs: haben. Kopieren Sie blitzlibs/patchlibs in Ihr blitzlibs/patchlibs Verzeichnis: erstellen sie eine neue deflibs Datei (deflibs sind ebenfalls enthalten um zu laufen) Wenn sie 68k asm fpu und ppc asm benutzen wollen, kopieren sie die fpulib.obj nach userlibs/beta Die Nummern 217 218 werden benutzt (die mui lib benutzt 218 entfernen sie die muilib wenn sie diese benutzen). Wenn sie stormwizard wollen, dann kopieren sie die wzlib.obj nach userlibs/beta benutzt die Nummer 129 (für ppc ist dies notwendig). Sehen sie die Beispiele und das Guide zu stormwizard. Wenn sie irgendwas davon ändern wollen, im libquellcode ist der Quellcode. Das Programm ppceq2 im examples-Verzeichnis benötigen sie nur, wenn sie für das Programm Bars&Pipes Plugins in PPC Assembler schreiben wollen. ahi bars&Pipes PPC stormwizard sind im blitzlibs Verzeichnis enthalten Dies ist in einer Resdatei (all.res Datei) alles mit enthalten. !!!!!!!!!!!!!!!!!!!!!!!!!!Siehe neue Funktionen auch in der history Liste der Neuigkeiten: Neues 2.21 Fehlerbereinigungen siehe history Eine prefs Datei (ped.prefs) wird jetzt für die Einstellungen benutzt und sie können ihre Einstellungen nochmals speichern. CTRL+U Zeile wieder herstellen CTRL+CRSUP Zum Quellcode Anfang CTRL+CRSDOWN Zum Quellcode Ende In Suchenfenster können Sie jetzt 2 Suchbegriffe eingeben. (Wort1 UND Wort2 müssen in die Zeile) Tooltypes in Amiblitz hinzugefügt oldsearch = Sprint nicht an den Anfang, wenn das Suchfenster geöffnet wird. backdrop = Benutzt Hintergrundfenster für Text. (nützlich für User, die keine Tastaturabkürzung für Fenster nach hinten haben) Dieses ist auch als Standart gesetzt. dontsort = Lableanzeige wird nicht in alphabeticher Reihenfolge sortiert. libfile = Läßt sie die deflibsdatei wählen. Zeigt deflibsdatei name im Labelfenster. AmiBlitz Basic 2 V2.2 Änderungen Editor Clickjump ALT+Left Mouse (crs right) springt zu Function/Label usw. ALT+Mid Mouse (crs up) Zurück zur alten Position (crs down) Zurück zur vorherigen Position Hotlist: Zeigt alle Label und Funktionen, die mit . anfangen an. max lines im Listview ist auf 1000 gestellt Benutzen Sie das selectstring Gad, um Ihre suche zu präzisieren. ; Button Listet alle Kommentare auf. all Button Listet alles auf (Benutzen sie den select string) Case Button Listet alle case Anweisungen auf. cls löscht das findstringgadget Halten sie die Maustaste over über einer Liste gedrückt um schnell durch die Liste zu Scrollen Zeige Newtype: Erlaubt findstring um types leichter zu finden. Sie können sortieren nach Namen oder von Oben Im Fenstertitel you können sie mit powersnap auswählen und einfügen. Instruction Help: Drücken sie Help ohne Zeichen unter dem Cursor (wi im selectstring alle Instruktionen mit wi werden gefunden) (Doppelklick öffnet das Hilfe Guide (wenn vorhanden). Drücken sie Help über einem Funktionsaufruf, zeigt es die 1. Funktionszeile und die benutzte Nummer. Wenn sie Help über einem Wort drücken, können sie überprüfen, ob eine Basicvariable frei ist oder falsch geschrieben (Wenn sie eine neue Variable wollen sollte es 0 anzeigen/Wenn sie auf Variable1 zugreifen wollen, sollte es >0 anzeigen) Hotlist Newtype und Instruction help können immer offen sein. Neue Menüpunkte Speichern & Erstelle Executable Speichern, Kompilieren & Ausführen Speichert die letzte Textposition, wenn sie den Quellcode wieder öffnen erscheint wieder die selbe Zeile. Blitzbasic Compiler: Höher Kompiliergeschwindigkeit: (2-5* bei großen Programmen (30000 Zeilen), wegen der Benutzung von variable Hash ALG) (Große Include Dateien unterliegen jetzt keinem Geschwindigkeitsverlust mehr) optimize: (Benötigt fpulib.ob) Fügen sie in Ihr Programm folgendes ein: optimize 1 schaltet Ihn ein oder optimize 0 schaltet Integer aus optimize 2 schaltet 68k FPU für Basic ein. optimize 3 schaltet Integer Optimizer an UND schaltet FPU an. Standartmäßig ist er ausgeschaltet. Wenn sie ein Programm entwickeln, sollten sie ihn nicht benutzen. (Writing a optimizer must support many terms and i am the only that using Amiblitz2 so ich bin mir nicht sicher, ob er 100% fehlerfrei läuft). Im debugModus ist die FPU immer ausgeschlatet. Wenn Ihr Programm bereit ist, schalten sie Ihn ein. Wenn Ihr Programm abstürtzt (Sollte nicht sein) Sie finden das Statement und schalten es davor und danach aus, damit sie ihn einschalten können. Wenn Sie die Stelle finden mailen Sie mir die Code-Stelle, damit ich versuchen kann, es zu beheben. FPU muß vor der ersten zeile angeschaltet sein. (data dependency)) Was macht es? Es optimiert if then,constant add,typeaccess und add ein 32bit mul 32bit div Normaler Code ist etwa 10%-20% langsamer als in C wenn sie nicht zu viele Funktionsaufrufe pro Sekunde benutzen (Benutzen sie gosub then) Für die FPU müssen sie bedenken, daß fsin fasin fsinh usw. benutzt wird. Dies wird unter 040-060 emuliert (unter UAEJIT erhalten sie die volle Geschwindigkeit). Erlaubt Sprachen Plugins (PPC Asm & 68k FPU existiert jetzt) Sie können alle Prozessor Codegeneratoren einfügen (X86 ARM C LISP alle, die sie mögen) Siehe die fpulib.bb2 sie fügt 68kfpu und PPC Inline Assembler hinzu. Sie können nun libs,plugins schreiben: Siehe die bars&Pipes Beispiele oder auch das ted2.bb2 Erlaubt Chip/BSS Segmente (nur eins) Bei Makros benötigen Sie kein {} am Ende eines Labels und Sie brauchen kein ":" load .asm: Versucht eine .asm Datei von anderen Assemblern in Blitz Strukturen umzuwandeln usw. (siehe convert.asm um zu sehen, was ich meine Wenn dies falscher als das Alte ist benennen sie das .asm um) Zeilen können mit @@ verbunden werden für lange Taglisten (sihe blitzlibs/ahi.bb2 am Ende) Erlaubt alle 256 Zeichen in Strings (©®öäü usw.) muls.l/mulu.l/divs.l/divu.l in assembler (nur reg reg wird jetzt unterstützt) Putd0 Getd0 schneller Weg um Variablen von basic zu asm zu verschieben(1 68k Cycle) Dies ist ein kleiner Auszug der AmiBlitz2 Features. Enforcer hits in Editor und Compiler wurden ebenfalls entfernt (Ich hoffe) Laut BB_Bugs arbeiten diese Dateien jetzt korrekt (Ich hoffe) aslFilereq Dim d2trash sta_fun BTW AmiBlitz2.2 und ped ist eine komplette portierung vom Amiblitz2.2 mixed Assembler und Basic. 20000 Zeilen schafft es unter 2 Sek. mit der all.res zu kompilieren. Basicvariablen können auf den globalen Assembler zugreifen move.l basicvarname@(a5),dx local move.l basicvarname@(a4),dx newtypes move.l newtypevar@(a5),a0 move.l .newtypename\entry(a0),d0 float: fmove.s basicvarname@(a5),dx (FPU on) PPC: lwz rx,basicvar@(r8) function/statement FAST funcname{} FAST (muß exakt geschrieben sein) Das schnelle Schlüsselwort erklärt dies wie in C, wobei die lokalen Variablen nicht auf Null gestellt werden. (Dies speichert 20 Schleifen +var*2)denken sie daran, daß sie wie in C Probleme bekommen können, wenn sie sich nicht sicher sind, daß eine Variable auf einen definierten Wert gestellt wird. Senden Sie Fehlerberichte, Ideen usw. an berndroesch1@compuserve.de Wenn Jemand an AmiBlitz2 arbeiten will, schreiben sie mir ebenfalls eine Mail. Bekannte Probleme: Wenn sie einen falschen Bildschirmmodus abgespeichert haben, dann löschen sie die Dateien envarc:ted.prefs env:ted.prefs Wenn das " " Paar nicht korrekt ist, dann werden falsche Anweisungszeichen angezeigt. (alte Version zeigt dann Instruktionen in schwarzen Zeichen). Wenn sie die " " korrigieren in einen sinnvollen Zustand und bewegen den Cursor hoch/runter ist alles in Ordnung. (Kein Datenverlust möglich). Dies ist so, weil Amiblitz2 jetzt volle 256 Zeichen benutzt, vorher waren es nur Zeichen 1-127 und alles darüber sind Instruktionen.