14 December 2019, 20:14 | #1 |
Registered User
Join Date: Oct 2008
Location: Finland
Posts: 643
|
Amiblitz3 vs Blitz Basic 2.1
Amiblitz3 and it's compiled executables have now been fixed to not require an FPU making it more interesting than ever. The editor for one is a huge improvement compared to BB2.1 but I would love to hear about other improvements that are not directly obvious, like improvements to the language etc. So, users of both BB2 and Amiblitz2/3, what improvements comes to mind?
|
16 December 2019, 13:03 | #2 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,381
|
Ooh, lots of things! Other than the IDE differences, which are like night and day:
- The includes that AmiBlitz 3 erm, includes, are excellent for easily and correctly accessing many OS routines, providing better support for things like common ASL and DOS tasks, as well as proper RTG and AHI support. There are also includes for handling lots of different image and sound formats. (I had started backporting some of them to BB2, but I think that task is redundant now). - The adjustable rules on variable declaration are excellent, because inappropriate typing of variables is a common source of bugs. I use inline declarations almost all the time. - The ability to use optional parameters for procedures with the New Syntax mode. - Double-precision 64-bit float variable type (niche, but potentially very useful). - Source code and compiler configuration are both now held in the same, plain ASCII source file, instead of separate .xtra config and .bb2 tokenised source files. - Fully dynamic linked lists by Dimming with a size of 0, instead of in BB2 where a maximum size must be set. - String escape sequences (\n for newline, \\22 for quote etc.) - Improved internal string handling. I can't remember exact details now, but I had trouble with code that used strings with OS calls and worked under AB3 but sometimes corrupted things under BB2. The reason was different handling of temporary string buffers and pointers. I'm sure there are other finer differences as well, but those are the ones I've noticed and used. Slightly less good is that identical source seemed to create larger executables under AB3, but I haven't looked at it since the latest version was released so I don't know if that's still the case. |
17 December 2019, 22:11 | #3 |
Registered User
Join Date: Mar 2018
Location: Austria
Posts: 617
|
I'm not at home right now and can't check but I've compiled a program with BB2.1, AB2.42 and AB3.71 last week and, IIRC the .exe got bigger with higher versions. I agree, improvements in code size would be cool.
|
22 December 2019, 11:08 | #4 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
Can the amiblitz compiler be run and compile from a command line?
|
22 December 2019, 18:25 | #5 | |
Registered User
Join Date: Oct 2008
Location: Finland
Posts: 643
|
Quote:
Code:
AmiBlitz 3.7.0 (06.12.2019) Build 86 Syntax: AmiBlitz3 [options] Options: -(s)ource <file> : input source code filename (bb2, ab2 or ab3) -(e)xe <file> : output executable filename -(d)ebug : compile and start runtime debugger -(r)elease : create release executable (size optimized) -run : run compiled program -dump <info> <file> : dump compiler internals to file (info=all|token|label|var|func|const|macro|type|lib) -setcom <options> : set compiler settings (options=icon|small|func|ldbg|dbgf) -setdbg <check> : set debugger settings (check=auto|irq|asm|ofl) -strbufsize <n> : set the string buffer size of the compiler -stacksize <n> : set the stacksize for the exe if it run/debug -maxerrors <n> : set maxerrorcounter of the compiler (1-4096; default=99) -(1)pass : use large buffers for compile -dform <n> : format of compiler internals dump (0=bin, 1=ASCII; default=1) -PED : start AmiBlitz3 IDE (PED) -save <file> : re-save source code (convert format, if needed) -(v)erbose <n> : set verbose level (0, 1 or 2; default=1) -(h)elp : show this help Example: AmiBlitz3 -s "DH0:Sourcecodes/MyProgram.ab3" -e RAM:MyProgram.exe Note: To start the AmiBlitz3 IDE, run from Workbench or with -PED option. |
|
26 October 2023, 15:52 | #6 |
Registered User
Join Date: Jan 2022
Location: Wales
Posts: 92
|
Sorry to bring this thread back to life...
I've now finished my game using Blitz Basic 2.1+ CD, after refreshing/relearning what I knew 30 years ago! Perhaps for my next project I should move to AmiBlitz3. How compatible is it with BB2 as in, if I ran the pretty standard source code of my game through it, would it compile with minimum changes? Or just stick with BB2? Decisions... |
26 October 2023, 17:10 | #7 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,381
|
AmiBlitz 3 is being constantly worked on and improved, and while a few years ago it needed an FPU and '020 for many instructions, now it can produce executables that will happily run on a plain 68000. The AmiBlitz 3 IDE is far better than the Blitz 2 one too, so if you're running on a powerful enough Amiga / emulation it's definitely the way to go.
Code compatibility is probably >99% - there are lots of changes in AB3 that give you extra features that won't work on Blitz 2.1, but Blitz 2.1 code should compile just fine in AB3 in almost every case. The only exception I can think of is the Null() function, which has a different function under AB3, but it's likely that not too many programs use it. And if they do, it's a simple search & replace to fix it. You can also have Blitz 2.1 and AB3 installed at the same time and transfer code between them if you wish, the only caveat is to be careful not to run both debuggers at the same time because they'll clash with each other. |
26 October 2023, 18:05 | #8 |
Registered User
Join Date: Jan 2022
Location: Wales
Posts: 92
|
Ok, great to know thanks!
My real A1200 has a 1230/16Mb card so may run it, but is mainly used for testing. I've 'mirrored' that system in WinUAE but with silly amounts of RAM, so that would be the main dev environment. I'll give it a whirl with my source code now the game is complete. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[blitz basic] How much amiga-blitz friendly is this? | saimon69 | Coders. Blitz Basic | 105 | 21 April 2022 19:45 |
Blitz Basic vs E vs Something Else | naviward | Coders. General | 14 | 28 May 2016 21:38 |
Blitz Basic (1) | Retro1234 | Coders. Blitz Basic | 9 | 18 February 2016 17:54 |
blitz basic | petza | request.Apps | 11 | 08 April 2007 01:49 |
Blitz Basic 2 | LaundroMat | Retrogaming General Discussion | 5 | 24 July 2001 08:10 |
|
|