LB Booster
« LB Booster version 2.80 released »

Welcome Guest. Please Login or Register.
Jul 26th, 2017, 10:41am


Speed up Liberty BASIC programs by up to ten times!
Compile Liberty BASIC programs to compact, standalone executables!
Overcome many of Liberty BASIC's bugs and limitations!
LB Booster Resources
LB Booster documentation
LB Booster Home Page
LB Booster technical Wiki
Just BASIC forum
LB Umbrella forum
Liberty BASIC forum (the original)

« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: LB Booster version 2.80 released  (Read 1829 times)
Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx LB Booster version 2.80 released
« Thread started on: Dec 1st, 2014, 09:46am »

I am pleased to announce the release of LB Booster version 2.80. It may be downloaded from here:

http://lbbooster.com/LBB.exe (IDE/compiler)
http://lbbooster.com/LBBRUN.exe (optional runtime engine)

You will need administrative privileges when running the program for the first time after upgrading (in Windows Vista, 7 and 8/8.1, with UAC enabled, use 'Run as administrator').

Changes in this version include:

  1. Right-clicking (or Shift-F10) on a label, FUNCTION name or SUB name adds a Jump to option to the context menu. To return whence you came right-click and select Go back.

  2. Added !forecolor and !backcolor commands for TEXT windows and TEXTEDITOR controls, for compatibility with LB 4.5. Note that the parameter may be a colour name or an RGB triplet.

  3. Added !find, !findback and !resetfind commands for TEXT windows and TEXTEDITOR controls, for compatibility with LB 4.5.

  4. Boolean expressions are truncated to an integer value, so for example 'if 0.5' evaluates to false, for compatibility with LB 4.5.

  5. Changed the behaviour of the graphics print command, without a parameter, to be compatible with LB 4.04 (but it is better not to use this feature).

  6. The !copy and !cut commands now empty the clipboard if nothing is selected, for compatibility with LB 4.04 (my thanks to Gordon for alerting me to the issue).

  7. The KILL statement now works correctly if the file has no extension (my thanks to Frédéric for alerting me to the issue).

  8. The RUN statement (with no mode qualifier) now activates the UAC prompt, if appropriate (my thanks to Jim for alerting me to the issue).

  9. Fixed a minor incompatibility with Hans' 'Coupled graphic boxes' program.
Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #1 on: Dec 1st, 2014, 10:31pm »

on Dec 1st, 2014, 09:46am, Richard Russell wrote:
4. Boolean expressions are truncated to an integer value, so for example 'if 0.5' evaluates to false, for compatibility with LB 4.5.

A comment has appeared on the Liberty BASIC forum querying the reasoning behind this decision, and noting that QuickBASIC behaves differently. I didn't know that, but the 'truncation to an integer' is exactly what BBC BASIC does, so to me it's entirely natural (and of course suits LBB rather well!).

It would be somewhat annoying if Carl is persuaded to modify the release version of LB 4.5 to work differently; I hope that doesn't happen.

Richard.
User IP Logged

tsh73
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 196
xx Re: LB Booster version 2.80 released
« Reply #2 on: Dec 2nd, 2014, 07:03am »

Well, I found it weird and so I posted about it.
If you find it natural - post about it
(especially as why it's better).
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #3 on: Dec 2nd, 2014, 7:17pm »

on Dec 2nd, 2014, 07:03am, tsh73 wrote:
If you find it natural - post about it

Well, as I said, I find it "natural" because it's what BBC BASIC has always done (for the last 33 years!) so it's the behaviour I'm most familiar with.

As to whether it is "better", I expect that depends on the internal architecture of the interpreter. Considering that all boolean and bitwise operators (AND, OR, XOR, NOT) work only with integers, converting the components of a conditional expression to integers is surely reasonable.

That being the case it comes down to what is the best way of converting a floating-point value to an integer; in BBC BASIC truncation is the fastest and most straightforward way.

Richard.
« Last Edit: Dec 2nd, 2014, 10:18pm by Richard Russell » User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #4 on: Dec 3rd, 2014, 01:47am »

on Dec 2nd, 2014, 07:03am, tsh73 wrote:
I found it weird

As a counter-argument I find this (from QBASIC/QuickBASIC) rather weird:

Code:
IF .5 THEN PRINT "True" ELSE PRINT "False"
IF .5 OR .5 THEN PRINT "True" ELSE PRINT "False" 

This prints "True" for the first statement and "False" for the second statement. It seems to me that if 0.5 is 'true' then 0.5 OR 0.5 (or for that matter 0.5 AND 0.5) ought to be true too, but it isn't.

Of course I understand why they are different, but it's an anomaly that is avoided by truncation to an integer. BBC BASIC, LBB 2.80 and LB 4.5 beta 3 all print "False" for both statements.

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #5 on: Dec 27th, 2014, 09:39am »

For your interest, here is Virus Total's report on LBB v2.80. You can see that all 56 tests say that it is clean, and the digital signature is also verified.

It astonishes me that Just BASIC and Liberty BASIC are, it seems, still distributed as unsigned installers. sad

Richard.
User IP Logged

Rod
Junior Member
ImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 86
xx Re: LB Booster version 2.80 released
« Reply #6 on: Dec 31st, 2014, 07:01am »

Perhaps you could assist Carl through this process and so benefit the whole community.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #7 on: Dec 31st, 2014, 09:22am »

on Dec 31st, 2014, 07:01am, Rod wrote:
Perhaps you could assist Carl through this process and so benefit the whole community.

What kind of "assistance" do you think he requires? Signing an executable is a process which any developer of commercial software should be familiar with. It requires two components: a code-signing software tool (most people use Microsoft's signtool.exe, I think, which is available free) and a code-signing certificate (which must be paid for, but there are some bargains to be found if you shop around). You also need a 'permanently on' internet connection so that the signing tool can communicate with a timestamp server when required.

Some development tools and installer-creators can be configured to sign every generated executable automatically - heck even BBC BASIC for Windows can, which is how LBB gets signed! The installer I use - Inno Setup - also has that capability and I have it configured to sign every setup file.

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #8 on: Jan 11th, 2015, 10:01am »

I was initially of the opinion that the 'opening the same RANDOM file twice' issue was insufficiently important to warrant a special release. However, as it could result in data loss, and since the fix is trivial, I have decided to update LBB to v2.82; it can be downloaded from the usual place:

http://lbbooster.com/LBB.exe (IDE/compiler)
http://lbbooster.com/LBBRUN.exe (optional runtime engine)

In this version, if you open the same file FOR RANDOM twice, or more times, (on different handles) all the opens will succeed, but only the first will open the file for update. The second and subsequent OPENs will open the file for input (read-only); attempting to PUT a record will result in an 'Access denied' error.

As a bonus feature, version 2.82 has the enhanced debugger with the heap and stack usage reported. This should be useful in diagnosing memory leaks.

Richard.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1247
xx Re: LB Booster version 2.80 released
« Reply #9 on: Jan 19th, 2015, 4:53pm »

on Jan 11th, 2015, 10:01am, Richard Russell wrote:
As a bonus feature, version 2.82 has the enhanced debugger with the heap and stack usage reported.

It had slipped my mind, but executables created by LBB 2.82 also have a Windows 10 compatibility manifest (v2.80 EXEs only claim compatibility up to Windows 8.1). I am - like everybody else - assuming that Microsoft won't change the GUID when Windows 10 is officially released.

Of course there's a risk in claiming compatibility with an OS that doesn't yet formally exist, but development tools like LBB need to be 'ahead of the curve' so that people can test that their own executables work properly on the next version of Windows.

Richard.
User IP Logged

Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

Donate $6.99 for 50,000 Ad-Free Pageviews!


This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls