English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. Blitz Basic

 
 
Thread Tools
Old 14 December 2019, 20:14   #1
MickGyver
Registered User
 
MickGyver's Avatar
 
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?
MickGyver is offline  
Old 16 December 2019, 13:03   #2
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,335
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.
Daedalus is offline  
Old 17 December 2019, 22:11   #3
Nightshft
Registered User
 
Nightshft's Avatar
 
Join Date: Mar 2018
Location: Austria
Posts: 617
Quote:
Originally Posted by Daedalus View Post
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.
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.
Nightshft is offline  
Old 22 December 2019, 11:08   #4
BippyM
Global Moderator
 
BippyM's Avatar
 
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
Can the amiblitz compiler be run and compile from a command line?
BippyM is offline  
Old 22 December 2019, 18:25   #5
MickGyver
Registered User
 
MickGyver's Avatar
 
Join Date: Oct 2008
Location: Finland
Posts: 643
Quote:
Originally Posted by BippyM View Post
Can the amiblitz compiler be run and compile from a command line?
Yes, it can, I haven't tried to make executables myself though.

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.
MickGyver is offline  
Old 26 October 2023, 15:52   #6
aNdy/AL/COS
Registered User
 
aNdy/AL/COS's Avatar
 
Join Date: Jan 2022
Location: Wales
Posts: 91
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...
aNdy/AL/COS is offline  
Old 26 October 2023, 17:10   #7
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,335
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.
Daedalus is offline  
Old 26 October 2023, 18:05   #8
aNdy/AL/COS
Registered User
 
aNdy/AL/COS's Avatar
 
Join Date: Jan 2022
Location: Wales
Posts: 91
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.
aNdy/AL/COS is offline  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 13:50.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.08148 seconds with 13 queries