Topics

BBC BASIC for SDL 2.0 v0.18a released

Richard Russell
 

I've updated BBCSDL, the free cross-platform edition of BBC BASIC, to version 0.18a. The various editions may be downloaded as follows:

The Android edition will also run on the Amazon Fire TV Stick.

The main changes in this version are as follows:

BASIC interpreter:

  1. Hacked the SYS statement so that floating-point parameters may be successfully passed on the Raspberry Pi, which uses the 'hard float' ABI. This makes the 3D demo programs run correctly on that platform.

  2. Modified the *SCREENSAVE/*GSAVE command to generate a 'bottom-up' BMP.

  3. Fixed a subtle bug which could cause the MOD() function to misbehave when running on an ARM CPU.

  4. Fixed a bug which could cause the *KEY command to fail if used near the start of a program.

Libraries:

  1. Extended ogllib.bbc to support 'back face culling' for compatibility with BB4W's D3DLIB. This feature is used by Rubik.bbc and bbcowl.bbc.

  2. Added a new gleslib.bbc library to support 3D graphics on Android.

IDEs:

  1. SDLIDE now supports the 'File... Insert' command.

  2. The SDLIDE 'Load File' dialogue now includes an 'All files' option.

  3. Fixed a minor bug in touchide.bbc which could cause erratic cursor (caret) positioning when tapping in the editor.

Example programs:

  1. Added a simulation of the BBC's OWL (aka COW) rotating-world logo.

  2. Added the 3D Rubik's Cube simulation (except the Android edition).

  3. Added the pyramid.bbc, lighting.bbc, teapot.bbc and world.bbc programs to the Android edition.
I still need volunteers to contribute to the documentation, help viewer, addin utilities and libraries.

Richard.

Richard Russell
 

Predictable, but no less disappointing for that: not a single reaction to the release of BBCSDL v0.18a, either here or at the forum.  Since I have no wish to 'flog a dead horse' I have put further developments of BBCSDL on hold.  

Richard.

Richard Russell
 

I should add that the latest release of BBCSDL may also be of interest to those content to use only BBC BASIC for Windows. The 3D animated Rubik's Cube program is fully compatible with BB4W and will run on that platform with no modifications.

Rubik.bbc can be found in the examples/games folder, along with the .Tables subdirectory that it uses. It is a good illustration of how the supplied 3D libraries (D3DLIB for BB4W and ogllib for BBCSDL) make writing cross-platform 3D applications straightforward, despite the significant differences between the underlying components (Direct3D in one case and OpenGL in the other).

On which point, why have so few people ever taken advantage of these libraries to write their own 3D games etc., when they make it so easy? Apart from a demo by David Williams, which never got developed further, I'm not aware of any BBC BASIC programs using these libraries, other than mine!

Richard.

john_fowler_son@...
 

... and excellent it is too! 

Please don't mistake distraction on other things with disinterest! 

And please keep up the good work!.

Best wishes,

Howard

Richard Russell
 

On Sat, Aug 5, 2017 at 02:47 am, <john_fowler_son@...> wrote:
Please don't mistake distraction on other things with disinterest! 
The announcement reached more people than an ordinary thread would, because it was flagged as a Special Notice, but despite that it attracted zero feedback (not even a 'thank you').  It's quite clear that very few members think that BBCSDL is a worthwhile development, and indeed somebody took the trouble to send me a private email stating their total lack of interest!

Richard.

Alex Farlie
 

I'd like to thank you for the more than 40 years worth of effort you've put into various version of BBC Basic , including the Windows and SDL versions.

Alex Farlie.

Richard Russell
 

On Sat, Aug 5, 2017 at 03:11 am, <alex.farlie@...> wrote:
I'd like to thank you for the more than 40 years worth of effort you've put into various version of BBC Basic
That would be a clever trick, seeing as BBC BASIC was created in 1981, which is 36 years ago.

Richard.

Alex Farlie
 

Ah.   But the sentiment is still the same, even if it's 36 years, rather than 40 or more.

 

Richard
Thank you very much for the update.  Every update makes it that little bit better and it's definitely worth continuing development for all sorts of reasons.

It's only for days since you released the update and so far I've only had the opportunity to install it on Windows 10.  In due course, I shall install it on my Android tablet, my MacMini and Linux (this will be on a virtual machine, so it will be interesting - I've not installed it on Linux to date because I treat it like a toy and don't use the system very often).

Ray
-------------------------------


Saturday, 5 August 2017, 11:08 am +0100 from news@... <news@...>:

On Sat, Aug 5, 2017 at 02:47 am, <john_fowler_son@...> wrote:
Please don't mistake distraction on other things with disinterest! 
The announcement reached more people than an ordinary thread would, because it was flagged as a Special Notice, but despite that it attracted zero feedback (not even a 'thank you').  It's quite clear that very few members think that BBCSDL is a worthwhile development, and indeed somebody took the trouble to send me a private email stating their total lack of interest!

Richard.

Richard Russell
 

On Sat, Aug 5, 2017 at 03:38 am, Ray Would wrote:
it's definitely worth continuing development for all sorts of reasons.
Not from my perspective.  I am finding it increasingly difficult (and risky) to write the sort - and standard - of code required, i.e. in assembler and/or C.  As evidence I would point to the appalling and unforgiveable introduction of a serious bug in BB4W v6.10a, something that would never have happened when I still had my full mental faculties (and who's to say what other as-yet-undetected bugs there might be?).

I can still, just about, write competent BASIC code, such as the (SDL) IDE, libraries and example programs, and in any case mistakes in those are less serious because the source is published and somebody else can fix it should the need arise.  So I don't rule out additions and changes in those areas, but on the other hand they are precisely the areas in which I have been asking for - but failing to find - collaborators to share the load.

Perhaps you could expand on the "all sorts of reasons" you refer to because I can't currently identify any significant omissions from, or shortcomings in, the BBCSDL runtime engine itself, and that's the only component which (unless and until I release the source) can only be modified by me.

Richard.

 

Richard et al,

I am frequently twitching to join in conversations or offer comments but totally lack expertise in modern computer programming.

Years ago, with the introduction of BBC micro and Master series, I taught myself basic programming. Never any good with assembler. Never understood "calls". However, I was more than good at what I did and actually managed to sell commercial programs run by Master series computers. I think that was no mean feat.

When I discovered the brilliant BB4W with which I could actually control a PC, I was overjoyed. I find it astounding and cannot begin to imagine how such could ever be accomplished. In those years, I have produced many programs which I sell at high price and am delighted to have been able to solve many businesses problems with bespoke attention.

As a human being, it has saddened me to hear of the adverse comments apparently made about you, Richard. You must realise you skills transcend any moronic attempt to belittle your achievements and dedication. Certainly, I have made my views clear in past personal contacts with yourself. I also suffer from some medical problems, one of the latest, a lacunar stroke on 3rd, February this year. Seven weeks in hospital and still being cared for at a relative's home. Pretty much in constant pain, I still do some sort of programming every day. Even during my hospital stay and typing with right hand only.

When I consider the miniscule charge to purchase BB4W, together with the unrelenting assistance from the author, it (almost) makes me feel ashamed for charging what I do when I love every minute of the time spent in writing my software.

It will be noted I enquired quite some considerable time ago about the possibility of writing programs which would work on a mobile phone. (My eyes were lighting up with pound signs.) You can imagine my delight when I managed to use original work to achieve small results with my Hudl2.

The thing is. . .. I have not contacted regarding the latest work for android phones simply because I have to confess I have an elementary block somewhere. I have managed to load the program but don't know how to transfer my programs; or know if such a thing is achievable. There, I've said it. I am desperate to program android phones and read all detail about what's happening but, I guess, my mind is incapable of grasping some elementary basic.

Please be assured, Richard, those of us with more than two firing synapses are in awe of your remarkable skills. Forget about the jealous "people" who try to undermine your sterling efforts. You should receive a knighthood for your services.

Regards,

Bob (the Cash).


---
This email has been checked for viruses by AVG.
http://www.avg.com

Richard Russell
 

On Sat, Aug 5, 2017 at 08:59 am, The Famous Cash wrote:
I have managed to load the program but don't know how to transfer my programs; or know if such a thing is achievable.
It's quite straightforward.  In fact you have several options: you can upload your program(s) to a web site or cloud storage service and then download them into the Android device using its built-in browser.  Alternatively you can install Dropbox (or similar) on the mobile device and then any files that you copy into the Dropbox folder on your PC will 'immediately' be accessible at the other end.  Or in many cases you can connect the Android device to the PC using a USB cable and transfer files as though it was an external drive.  There are apps available that can help, too (ES File Explorer is one).

The only 'complication', and it's a minor one, is accessing the file from BBC BASIC once it's been downloaded.  Either you've got to move it to a place that BBC BASIC can easily see (typically @usr$) or you've got to navigate to wherever the file has been stored.  On a typical Android device BBC BASIC's @usr$ folder can be found here (although it does vary a bit):

 /Android/data/com.rtrussell.bbcbasic/files/

whereas the Downloads folder (which is typically where downloaded files end up) is here:

 /Download/

So with that knowledge you should find it easy either to move the file(s) to @usr$ or to navigate to the file from BBC BASIC (although it might be tedious having to do that every time).

Just one final point, only .bbc (tokenised) files can straightforwardly be run in Android so if it's your habit to save programs in .bas (plain text) format you will need to re-save them in the required format first.

Richard.

 

Many thanks. 
 
I will make time to experiment.
 
Regards,
 
Bob.
 
 

From: Richard Russell
Sent: Saturday, 5 August, 2017 05:36 PM
To: bb4w@groups.io
Subject: Re: [bb4w] BBC BASIC for SDL 2.0 v0.18a released
 
On Sat, Aug 5, 2017 at 08:59 am, The Famous Cash wrote:
I have managed to load the program but don't know how to transfer my programs; or know if such a thing is achievable.
It's quite straightforward.  In fact you have several options: you can upload your program(s) to a web site or cloud storage service and then download them into the Android device using its built-in browser.  Alternatively you can install Dropbox (or similar) on the mobile device and then any files that you copy into the Dropbox folder on your PC will 'immediately' be accessible at the other end.  Or in many cases you can connect the Android device to the PC using a USB cable and transfer files as though it was an external drive.  There are apps available that can help, too (ES File Explorer is one).

The only 'complication', and it's a minor one, is accessing the file from BBC BASIC once it's been downloaded.  Either you've got to move it to a place that BBC BASIC can easily see (typically @usr$) or you've got to navigate to wherever the file has been stored.  On a typical Android device BBC BASIC's @usr$ folder can be found here (although it does vary a bit):

/Android/data/com.rtrussell.bbcbasic/files/

whereas the Downloads folder (which is typically where downloaded files end up) is here:

/Download/

So with that knowledge you should find it easy either to move the file(s) to @usr$ or to navigate to the file from BBC BASIC (although it might be tedious having to do that every time).

Just one final point, only .bbc (tokenised) files can straightforwardly be run in Android so if it's your habit to save programs in .bas (plain text) format you will need to re-save them in the required format first.

Richard.



AVG logo

This email has been checked for viruses by AVG antivirus software.
www.avg.com


Rob O'Donnell
 

I would just like to add that, although I seldom have the time or need to write code that isn't Web server based, my current desktop project is indeed being written in BBCSDL.  It's only a helper program for my disk archiving, but it was the first thing I turned to, and was beautifully easy to get something working quickly. 

Please do not take lack of responses as lack of interest; the old adage that people only write to complain is especially true in this sort of instance.

For myself, I find I have very little contiguous time to spend on my hobbies, due to having my own problems to look after, so may well not think to write in in support when I do actually think it. Please forgive the omission. 

With best wishes .. 

Rob 

--
Sent from a mobile device. Please excuse brevity or spoiling mistooks.

On 5 Aug 2017 18:30, "The Famous Cash via Groups.Io" <thefamouscash=blueyonder.co.uk@groups.io> wrote:
Many thanks. 
 
I will make time to experiment.
 
Regards,
 
Bob.
 
 
From: Richard Russell
Sent: Saturday, 5 August, 2017 05:36 PM
To: bb4w@groups.io
Subject: Re: [bb4w] BBC BASIC for SDL 2.0 v0.18a released
 
On Sat, Aug 5, 2017 at 08:59 am, The Famous Cash wrote:
I have managed to load the program but don't know how to transfer my programs; or know if such a thing is achievable.
It's quite straightforward.  In fact you have several options: you can upload your program(s) to a web site or cloud storage service and then download them into the Android device using its built-in browser.  Alternatively you can install Dropbox (or similar) on the mobile device and then any files that you copy into the Dropbox folder on your PC will 'immediately' be accessible at the other end.  Or in many cases you can connect the Android device to the PC using a USB cable and transfer files as though it was an external drive.  There are apps available that can help, too (ES File Explorer is one).

The only 'complication', and it's a minor one, is accessing the file from BBC BASIC once it's been downloaded.  Either you've got to move it to a place that BBC BASIC can easily see (typically @usr$) or you've got to navigate to wherever the file has been stored.  On a typical Android device BBC BASIC's @usr$ folder can be found here (although it does vary a bit):

/Android/data/com.rtrussell.bbcbasic/files/

whereas the Downloads folder (which is typically where downloaded files end up) is here:

/Download/

So with that knowledge you should find it easy either to move the file(s) to @usr$ or to navigate to the file from BBC BASIC (although it might be tedious having to do that every time).

Just one final point, only .bbc (tokenised) files can straightforwardly be run in Android so if it's your habit to save programs in .bas (plain text) format you will need to re-save them in the required format first.

Richard.



AVG logo

This email has been checked for viruses by AVG antivirus software.
www.avg.com


 

Dear Richard,
I am really a very lowly programmer, but I appreciate
the 36 years of solid effort you have devoted to us.
I have few skills to contribute, but what skills I have are
to YOUR credit!
Thank you!
Joseph Skittone

LifesVoyager
 

Hear hear Joseph.  Those are precisely my thoughts too

BBC BASIC, ARM BASIC, BB4W and BBC BASIC for Android have given me so many years of pleasure and use.

Thank you Richard

Tristan

Richard Russell
 

On Sat, Aug 5, 2017 at 04:18 am, Richard Russell wrote:
On Sat, Aug 5, 2017 at 03:38 am, Ray Would wrote:
it's definitely worth continuing development for all sorts of reasons.
Perhaps you could expand on the "all sorts of reasons" you refer to
No?  You have expressed concern about me pausing development of BBCSDL but, seriously, what is missing that you're so keen that I add?  Yes I know that the 'compile' (create standalone executable) option is absent, but as I've explained before that's because I don't know how to do it - except in the case of Mac OS-X.  Anyway to a large extent it's an IDE feature, written in BASIC, and not necessarily needing a contribution from me!

The BBCSDL run-time engine is, as far as I am aware, substantially complete on all the supported platforms (getting 3D graphics working on the Raspberry Pi was the final major hurdle) and has good compatibility with BB4W.  There's no support for hardcopy output (e.g. to a printer) but that's because SDL itself provides no cross-platform abstraction layer for such a functionality.

The major 'yet to be added' features are more libraries, add-in utilities, help documentation and debug capabilities on the Raspberry Pi.  But as I've always made clear I either have no intention of providing these myself or am incapable of it.  If nobody volunteers for these tasks, and that would appear to be the most likely outcome, they simply won't happen, whether development is put on hold or not.

So I cannot see why there is anxiety.  What, if anything, is stopping you actually using BBCSDL in its current state?

Richard.

R NBW
 

Richard

You stated that you had put further development on hold, which I understood to mean that there was further development to be done.  On that basis, I responded that I thought it was worth while continuing with the development.  If, in fact, you have gone as far as you can then so be it.  We can't expect you to do the impossible.

As others have said, most of us are hobbyist programmers who are self taught and do not have your expertise.  If we did, we'd probably be writing computer languages ourselves.

The "all sorts of reasons" include the possible further development of which I and probably most others are not aware, and not least keeping your mental faculties as active as possible for as long as possible.  All who correspond with you are, I am sure, very sad at your personal problems and having just gone through many years of a similar problem with my mother, now sadly deceased, I am aware of some of your difficulties.

To be quite honest, there is nothing further that I require to use BBCSDL as it stands, other than the production of a stand-alone alone executable, which you've explained why you won't develop this personally.

Please don't think I'm criticising you, because I'm not and wouldn't dream of it.  I think you are doing a marvellous job.  I wish I could give you help, but I neither have the time nor capability.  I hope that you will continue development of BBCSDL, and LBB, the latter because it is a much better product than the original. 

I wish you well, no matter what you decide to do.

Ray

Sent from my android device.
From: Richard Russell <news@...>
To: bb4w@groups.io
Sent: Tue, 08 Aug 2017 5:02 pm
Subject: Re: [bb4w] BBC BASIC for SDL 2.0 v0.18a released

On Sat, Aug 5, 2017 at 04:18 am, Richard Russell wrote:
On Sat, Aug 5, 2017 at 03:38 am, Ray Would wrote:
it's definitely worth continuing development for all sorts of reasons.
Perhaps you could expand on the "all sorts of reasons" you refer to
No?  You have expressed concern about me pausing development of BBCSDL but, seriously, what is missing that you're so keen that I add?  Yes I know that the 'compile' (create standalone executable) option is absent, but as I've explained before that's because I don't know how to do it - except in the case of Mac OS-X.  Anyway to a large extent it's an IDE feature, written in BASIC, and not necessarily needing a contribution from me!

The BBCSDL run-time engine is, as far as I am aware, substantially complete on all the supported platforms (getting 3D graphics working on the Raspberry Pi was the final major hurdle) and has good compatibility with BB4W.  There's no support for hardcopy output (e.g. to a printer) but that's because SDL itself provides no cross-platform abstraction layer for such a functionality.

The major 'yet to be added' features are more libraries, add-in utilities, help documentation and debug capabilities on the Raspberry Pi.  But as I've always made clear I either have no intention of providing these myself or am incapable of it.  If nobody volunteers for these tasks, and that would appear to be the most likely outcome, they simply won't happen, whether development is put on hold or not.

So I cannot see why there is anxiety.  What, if anything, is stopping you actually using BBCSDL in its current state?

Richard.

Alex Farlie
 

In regard to printer output..   There is no facility in SDL to talk to something like GhostScript?

Richard Russell
 

On Tue, Aug 8, 2017 at 10:02 am, R NBW wrote:
You stated that you had put further development on hold, which I understood to mean that there was further development to be done. 
I expect you remember (and you can refer to the relevant thread if necessary) that I recently asked for suggestions of things to add to the v0.18a 'wish list' because the list at the time was empty.  So as little as a month before the due release date there were no planned "further developments" in the pipeline.  As things turned out, the 'Apple phasing out 32-bit support' thread fortuitously provided to a solution to the long-standing '3D programs not working on the Raspberry Pi' issue, which led directly or indirectly to virtually all the new features that ended up being incorporated in v0.18a!

So I don't think the conclusion you apparently drew, that a decision to pause development now implies that there are specific further additions planned for the future, is sustainable.   If only five or so weeks ago I knew of nothing I specifically wanted to add to v0.18a, is it likely that I would already know what changes there might be in three months' time when the next 'scheduled' release is due?

Richard.

Previous Topic Next Topic