Short: New Blitzbasic2 Version with FPU etc Uploader: berndroesch1@compuserve.de Author: Acidsoft /Red When Excited /berndroesch1@compuserve.de Type: dev/basic Thanks to Mark Sibly and Simon Armstrong and RWE that they give me the Source and allow me to enhance my loved Blitzbasic2 and release it in Aminet as Amiblitz2 The name Amiblitz2 is used because under Blitzbasic people mean the PC Version now. SO DONT SENT ANY MAIL ABOUT THIS VERSION TO ACID OR RWE only to the uploader This is 100% (i hope) compatibel to Blitz2 Copy amiblitz2 and ped to your blitzdir (The old Version work then too) Make sure you have the wizard.library (H&P Stormwizard 2.0 Lib) in libs: Copy blitzlibs/patchlibs to your blitzlibs/patchlibs dir: make a new deflibs file (deflibs also included for ready to run) If you want to use 68k asm fpu and ppc asm copy fpulib.obj to userlibs/beta uses num 217 218 (mui lib use 218 so remove the muilib if you use this) If you want stormwizard copy wzlib.obj to userlibs/beta uses num 129 (for ppc this is also needed) See examples and amigaguide for stormwizard If you want change anything of this in libsource is the source The program ppceq2 in examples dir is only need when you want program Bars&Pipes Plugins in PPC assembler ahi bars&Pipes PPC stormwizard includes are in blitzlibs dir Also a all.res file is includeed for ready to run See new features also in history Newslist: New 2.21 Fixes see history A prefs file ped.prefs is used now for settings so save your settings again CTRL+U Undo Current Line CTRL+CRSUP Begin CTRL+CRSDOWN end In pattern Gadgets you can use now 2 search phrases (word1 AND word2 must in line) Tooltypes to amiblitz add oldsearch = dont jump on beginning when call search dialog backdrop = Use backdropwindow for text (usefull for users which have no hotkey for window to back) So this is set by default dontsort = do not sort lableview in alphabetic order libfile = Let choose your deflibsfile.Shows deflibfile name in labelwindow AmiBlitz Basic 2 V2.2 changes Editor Clickjump ALT+Left Mouse (crs right) jump to function/label etc ALT+Mid Mouse (crs up) back to old pos (crs down) back to previous pos Hotlist:show all label begin with . and functions max lines in Listview is set to 1000 Use the selectstring Gad. to precise your search ; Button List all comments all Button List all (use the select string) Case Butt List all case cls clear the findstringgadget Pressing and holding mousebuton over a list to slide fast thru the entries View Newtype: allow findstring to easier find types You can sort by name or by offset In the Windowtitle you can select with powersnap and insert Instruction Help: Press Help with no char under the cursor (wi in selectstring all instructions with wi found) Doubleclicking opens Guide help (if available) Pressing help over a functioncall shows the 1. functionline and number used Pressing help over a word shows the wordcount so you can check if a basicvar is free or write wrong(if you want a new var it should 0/If you want access var1 it should show >0) Hotlist Newtype and Instruction help can always stay open New menupoints Save & createexec Save & compile/execute Save current textpos so when load Source is show in same line Blitzbasic Compiler: Faster compiletime: (2-5* on large progs (30000 lines)because of using variable Hash ALG) (Large Include Files now have no speed loss) optimizer: (Need fpulib.ob) add to your program optimize 1 switch it on or optimize 0 switch Integer off optimize 2 switch 68k FPU for Basic on optimze 3 switch Integer Optimizer on AND switch FPU on By default it is off.If you develop a program dont use it.(Writing a optimizer must support many terms and i am the only that using Amiblitz2 so i am not sure if it is 100% errrorfree) In debugMode the FPU is always deactivte If your program is ready switch it on.If your program crash (Should not occur) you can find the statement and switch it off before and after that you can switch it on.If you find the place mail me the code sequence so i can try to fix it FPU switch must on before the first line (data dependency)) What does it? it optimize if then,constant add,typeaccess and add a 32bit mul 32bit div Normally Code is ca 10%-20% slower than C if you not use too much functioncalls per second (use gosub then) For the FPU keep in mind that it use fsin fasin fsinh etc this is emulate in 040-060 (In UAEJIT it give full Speed) Allow Speech Plugins (PPC Asm& 68k FPU exists now) You can add all processor codegens (X86 ARM C LISP all you want) See the fpulib.bb2 it add 68kfpu and PPC Inline Assembler You can write libs,plugins now: see the bars&Pipes examples or of course ted2.bb2 Allow Chip/BSS Segments (only one) On macros you need not { } after a label you need no : load .asm: trys to convert a .asm File from other assemblers to Blitz Structures etc (See convert.asm to see what happen If this is worser as the old rename the .asm) Lines can join with @@ for long tag lists (see blitzlibs/ahi.bb2 at end) allow all 256 Chars in strings (©®öäü etc) muls.l/mulu.l/divs.l/divu.l in assembler (only reg reg is support now) Putd0 Getd0 fast way to move vars from basic to asm (1 68k Cycle) This is a short explain of the AmiBlitz2 features Also enforcer hits in Editor and Compiler are removed (I hope) From BB_Bugs now this files work correct (I hope) aslFilereq Dim d2trash sta_fun BTW AmiBlitz2.2 and ped is complete port to Amiblitz2.2 mixed Assembler and Basic 20000 Lines take under 2 Sec with all.res to compile Basicvars can access in assembler global 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 (must write exact) The fast keyword tell that like C the local Vars are not set to zero (This save 20 Cycles +var*2)Note that you can get trouble like C if you make not not sure that a variable is set to a define value Bugreport ideas usw send to berndroesch1@compuserve.de If someone want programing on AmiBlitz2 too mail also Known Problems: If you have save a wrong screenmode clear envarc:ted.prefs env:ted.prefs If the " " pair is not correct then wrong Instruction chars are shown (old Version show then Instruktion in black char).If you correct the " " to a sensefull state and move cursor up/down all is correct (no data lost possible) This is because Amiblitz2 use now full 256 Chars, before it use only char 1-127 and all above are instructions