It is currently Thu Mar 23, 2017 4:59 pm

Welcome to rfobasic

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, and access many other special features. In addition, registered members also see less advertisements. Registration is fast, simple, and absolutely free, so please, join our community today. **You are not required to provide truthful information to any registration questions. Be whomever you wish to be.!

Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Version v01.85 released
Unread postPosted: Mon Feb 16, 2015 2:43 am 

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2775
Location: Colorado, U.S.
Version v01.85 is up on BinTray.

It is on its way to the Google Play Store. If it is not there yet, it will be soon.

You can download the new version by clicking this link.
There are release notes here to tell you what's new, and for the whole story view or download the updated manual, De Re BASIC!.

Most of you know I took a break from development in November and December. I'd like to get back on some kind of reasonable schedule, whatever that means. I accumulated a long list of requests during my break, so there's plenty to do. I plan to post the list, once I get it organized, so you can tell me what you think is most important.

The two biggest, or at least most time-consuming, changes in this release are the GPS overhaul and integrating the C-style short-cuts (++, +=, etc.) into the interpreter. I found out yesterday that there was a huge performance penalty for that change, somewhere between 7 and 10 per cent! I spent the day trying to get some of that back. The results are interesting -- some things are significantly faster than before, upwards of 30%, and others are slower. However, the change was extremely risky, at least compared to what I normally like to put in released code.

Give it a try, run your programs, and report in the forum if you have any problems. I expect to have to do a follow-up bugfix release fairly soon.

Here are the release notes, copied from BinTray. I hope they are complete. Please post if you know of something I missed.
  • GPS: Enhanced and extended the command set, with bugfixes, new commands, and new parameters.
  • BNOT(): New function. Performs bitwise ones-complement.
  • Phone.Dial: New command. Like Phone.Call but just opens dialer without placing the call.
  • WiFi.Info: New command. Requires Android permission ACCESS_WIFI_STATE.
  • BT.Status: New parameters for the name and address of local Bluetooth hardware.
  • BT.Status: Status parameter can be either a numeric or string variable.
  • IS_IN(): Added reverse-search capability. Use a negative start-index to count back from the end.
  • INCLUDE: Added option to protect the case of the file name (for using assets in APK).
  • Bundle.Keys and TimeZone.List can re-use an existing list or create a new one.
  • Text.Open and Byte.Open: Return file pointer -1 to indicate nonexistent file or resource in standard BASIC! or APK, whether for read, write, or append.
  • These conditions no longer cause a runtime error. GetError$() returns information about the error. WARNING: not backward-compatible if your existing programs use OnError: to trap OPEN error.
  • SQR(): Negative input gets a runtime error. Previous versions returned NaN.
  • Array.Load and List.Add with continuation are a little more flexible.
  • C-style shortcuts: Integrated into the interpreter, with some bugs fixed and some operators added. There is a performance penalty, but the pre-processor was just too buggy.
  • A side-effect of that integration allows "LET " or just "" (a bare variable name) as a complete statement.
  • String expression parsing is faster.
  • Loops and other repeated code are faster.
  • Removed the artificial 50000-element array size limit.
  • Removed the artificial SoundPool rate limits (SoundPool.Play, SoundPool.SetRate).
  • All SoundPool.Play parameters are optional, with default values.
Problems Fixed
  • Text.Open and Byte.Open: Fixed null pointer crash if the file does not exist. This is a new bug introduced in v1.84.
  • INCLUDE: Fixed crash if the included file does not exist.
  • Editor->Load bug: The ".bas" suffix search is case-sensitive.
  • A stray '~' not at the end of a line is now caught as a syntax error.
  • Restored monospace font in the Editor. This was lost in some Android upgrades.
  • Restored horizontal scrolling (eliminates word-wrap) in the Editor, also lost in some Android upgrades.
  • Fixed f22_benchmark.bas, broken by SQR() change.
Many changes to De Re BASIC!, the user's guide and reference manual of BASIC!.

- Marc

Last edited by jMarc on Sun Mar 15, 2015 9:05 am, edited 1 time in total.
Somehow BBCode got disabled. Re-enabled it.

 Post subject: Re: Version v01.85 released
Unread postPosted: Sun Mar 15, 2015 1:41 am 

Joined: Wed Oct 03, 2012 9:53 am
Posts: 2775
Location: Colorado, U.S.
I have sprinkled test builds across the forum, all built from v01.85. I needed help shaking bugs out of some new code, and you folks found some. Thank you.

I've fixed the new bugs you reported, and I haven't seen any more lately, so it's time for one more test build: v01.85.07.

I have put the code on Paul's FTP server. I won't put it on BinTray unless I write full release notes, and that may have to wait for v01.86.
Here is the link: Basic_18507.apk.

This test build fixes bugs from the earlier test builds, as KeithB reported here.
- Text.Position.Set got stuck. It thought it was at EOF so you could not go forward.
- Variables created in functions did not disappear when the function returned.
The test build has a few other changes, too:
- Fixes a very old bug in DO/UNTIL and REPEAT/WHILE uses with interrupts, reported by luca_italy, here.
- Fixes a bug in Out-Of-Memory detection. Allows OnError: trapping of OOM caused by large allocations (like bitmaps).
- Speeds up loops, contributing to this discussion
- The Editor remembers where you were after a search that did not find anything (for you, Gilles!)

I think that's everything in this build.

If you don't read all of the subforums, you didn't see all the test builds in the series. Here is a summary:

v01.85.01: attached to this post.
This build added diagnostic code to track down a GPS bug.
It also fixes a bug in UNDIM. Well, almost fixes it, but also adds a new UNDIM bug.
And it adds a Preferences option that tells the Editor how to display long lines: wrap or horizontal scroll.
And starts a whole series of infrastructure changes aimed at improving speed.

v01.85.02: attached to this post.
This one fixes the GPS bug -- the diagnostic code worked!
Also fixes the UNDIM bugs from v01.85.01.
New command BYTE.TRUNCATE. I don't think anybody cares.
New command GR.MOVE. This one you like.
GR.OPEN and GR.COLOR parameters are optional, with default values. All of them.
The infrastructure changes reached the graphics GR commands. The upheaval is massive.
New experiment: GR.GROUP. This version is not the final version.

v01.85.03: attached to this post.
Bugfixes and refinements in the GR.GROUP commands.
New command GR.SHOW.TOGGLE
GR.MOVE and GR.HIDE/SHOW/TOGGLE work on a graphics Group.
This build was especially buggy.

v01.85.04 was a mistake. I fixed one bug even as brochi was posting another. I couldn't "unattach" the apk file from the post, so I deleted the post. That was probably a mistake, too, since some of you get email or RSS feeds. Oh well.

v01.85.05: attached to this post.
Fixes bugs from v01.85.03 in GR.HIDE, GR.MODIFY, and GR.COLOR.

v01.85.06: attached to this post. (The attachment says 18606, but it really is 18506!)
The new GR.GROUP commands are stable in this build.
GR.MODIFY "paint" and "alpha" work on a whole Group.

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: