Topics

Raspberry Pi support dropped

Richard Russell
 

With immediate effect I'm dropping support for BBCSDL on the Raspberry Pi platform.  This is for two main reasons; firstly it has now been confirmed that the problem affecting Raspbian Stretch (causing it to run OpenGL apps at about a quarter of the speed of Jessie, making BBCSDL unusable without the GL Driver) will not be fixed.  Since the GL driver is 'experimental' and therefore an application program cannot 'require' its use, this effectively kills BBCSDL.

Secondly, my repeated (and increasingly desperate!) pleas for somebody to help port 'sdldebug.bbc' to the Raspberry Pi have gone unheeded (unless of course you count the response which effectively accused me of being lazy for not doing it myself - despite my lack of knowledge of the ARM CPU).  This means that the debugger (including the List Variables functionality) and profiler are not available, making development of BASIC programs on that platform difficult.

The Raspberry Pi edition of BBCSDL will continue to be available for download, but on an unsupported basis.  If you were planning to complain about it (it's the only kind of feedback I've received) please don't bother as I won't take any notice!  The other editions will remain supported for the time being, but (with the exception of the Windows edition) they sadly all have uncertain futures.

The Mac OS edition has only a few months left before Apple drop support for 32-bit apps.  The Linux edition is dependent on users installing 32-bit support, and increasingly people won't do that (some Linux geeks think 32-bit programs somehow pollute their 'pure' 64-bit environment).  And the Android edition has already stopped working on devices with x86 CPUs because of Google's extraordinary decision to allow only position-independent code (PIC) in apps.

Richard.

Colin Rose
 

As far as I can recall, my posts concerning the performance of the Raspberry Pi were factual and a response to requests for feedback. I was not complaining.
Colin

Richard Russell
 

On Tue, Aug 29, 2017 at 11:55 pm, Colin Rose wrote:
I was not complaining
I was referring more to the feedback received at the forum rather than here.  As far as your own remarks are concerned, yes they were 'factual' but they described an untypical configuration that would not be expected to give acceptable performance.

I think it is probably true to say that there is a greater variety in the way the Raspberry Pi is used, the different hardware options available, the wealth of configuration choices etc. and indeed the level of technical expertise of its users, compared with other platforms.  This makes it a particularly difficult platform to support, particularly given my personal lack of understanding of Linux and other aspects of the machine.

So whilst these factors were not contributory to my decision to drop support for the Raspberry Pi, I am relieved not to have to learn about VNC and 'headless' Pis and other things that are way outside my experience!  As I've said before, SDL is almost magical in allowing you to program for a platform without needing to understand its operating system and so on, but it does make me feel very vulnerable when dealing with experts such as yourself.

Richard.

Paul Marshall
 

Richard, thats very sad but I fully understand your position. 
I'm sorry I cant help with the development, I am now just too far behind in my knowledge base. I think I could still figure it out but it would take more time than I have to spare.
For me hobby computing has almost reached the end of the road, but I have a project in mind for the RPi / BBCSDL which if it works with openGL as is it is now then great, I will not update it with any other further experimental releases which may break it.  If that proves too difficult without the debugger i shall give up. I shall mostly stick with what I know and what still works ie windows!
Thanks for all you've done, 

Richard Russell
 

On Wed, Aug 30, 2017 at 01:55 am, Paul Marshall wrote:
For me hobby computing has almost reached the end of the road,
For me too!  I can no longer program in assembler or C, the deterioration in my brain function makes it impossible.  I risked making changes to BB4W in v6.10a and look what happened!  I am still coding in BASIC (not writing large programs from scratch, that would be beyond me now, but editing existing ones) but I feel the risk is acceptable given that there's no shortage of people who would be able to fix any faults I introduce.  Importantly it allows me to continue supporting products like 'SDLIDE', 'LB Booster' and 'Free-d²' which are themselves written in BBC BASIC.

> I have a project in mind for the RPi / BBCSDL which if it works with openGL as is it is now then
> great, I will not update it with any other further experimental releases which may break it.

The Raspberry Pi edition of BBCSDL will get updated, as a matter of course, if and when the others do, because it's using the same code base (there's no source code unique to the RPi, through the magic of SDL).  So my decision to stop supporting it won't make any difference to its future development - if any.  You may consider that to be a peculiarity of cross-platform development: a platform can continue to receive updates whilst being 'unsupported'!

> If that proves too difficult without the debugger I shall give up. 

I know that at least one BB4W user has the necessary skills to translate my x86 assembler code into ARM code (I could name him, but that would be unfair) because he writes both very competently.  Sadly, though, he has a personal antipathy towards me (you may well say I've only myself to blame) which probably explains his unwillingness to help port 'sdldebug.bbc'.  I suspect there are others with the necessary skills too, but for whatever reason they also don't want to put themselves forward.

Richard.

wilsr747
 


I *know *that at least one BB4W user has the necessary skills to translate my x86 assembler code into ARM code (I could name him, but that would be unfair) because he writes both very competently.  Sadly, though, he has a personal antipathy towards me (you may well say I've only myself to blame) which probably explains his unwillingness to help port 'sdldebug.bbc'. I suspect there are others with the necessary skills too, but for whatever reason they also don't want to put themselves forward.

Richard.
_._,_._,_
--------------------------------------------------------------------------------
Richard: I suspect that quite a proportion of users of BBC BASIC for Windows are similar to me: I taught myself BBC BASIC via the user manuals back in the eighties with no tutoring (and little time!) and use your incarnation occasionally for fun. I can't even understand the programs - fully documented - that I wrote back then! I wouldn't have the faintest idea how to help do what you ask - it's way beyond my pay grade!
Rog W

Richard Russell
 

On Wed, Aug 30, 2017 at 04:21 am, wilsr747 wrote:
I wouldn't have the faintest idea how to help do what you ask - it's way beyond my pay grade!
I'm not suggesting for a moment that a majority of people could do it, or even several. But it only takes one, and (going right back to the BBC Micro) assembly-language programming has always been an important component of the BBC BASIC 'culture', not least because of the built-in assembler.  As CPUs have got faster the need for assembly language purely for performance reasons has diminished, but for something like a debugger (principally trace, list variables and profiling capabilities) it's the need for it to run in a separate thread - typically in a timer interrupt - that demands assembler code rather than BASIC.

Richard.

Storer, Darren
 

Hi Richard,

For what it's worth, I'm still very keen on a version of BBC Basic for Pi and Linux with network support but no graphics, so that routines can run in a headless mode.

This is just a personal wish list, as I have a number of distributed network related chores that could easily be automated using BBC Basic and cheap hardware (remote network probes etc.).

Thanks again for continuing to invest your time and skills in the development of the BBC Basic environment - it's very much appreciated.

Darren


On 29 August 2017 at 23:50, Richard Russell <news@...> wrote:
With immediate effect I'm dropping support for BBCSDL on the Raspberry Pi platform.  This is for two main reasons; firstly it has now been confirmed that the problem affecting Raspbian Stretch (causing it to run OpenGL apps at about a quarter of the speed of Jessie, making BBCSDL unusable without the GL Driver) will not be fixed.  Since the GL driver is 'experimental' and therefore an application program cannot 'require' its use, this effectively kills BBCSDL.

Secondly, my repeated (and increasingly desperate!) pleas for somebody to help port 'sdldebug.bbc' to the Raspberry Pi have gone unheeded (unless of course you count the response which effectively accused me of being lazy for not doing it myself - despite my lack of knowledge of the ARM CPU).  This means that the debugger (including the List Variables functionality) and profiler are not available, making development of BASIC programs on that platform difficult.

The Raspberry Pi edition of BBCSDL will continue to be available for download, but on an unsupported basis.  If you were planning to complain about it (it's the only kind of feedback I've received) please don't bother as I won't take any notice!  The other editions will remain supported for the time being, but (with the exception of the Windows edition) they sadly all have uncertain futures.

The Mac OS edition has only a few months left before Apple drop support for 32-bit apps.  The Linux edition is dependent on users installing 32-bit support, and increasingly people won't do that (some Linux geeks think 32-bit programs somehow pollute their 'pure' 64-bit environment).  And the Android edition has already stopped working on devices with x86 CPUs because of Google's extraordinary decision to allow only position-independent code (PIC) in apps.

Richard.

Richard Russell
 

On Wed, Aug 30, 2017 at 10:07 am, Storer, Darren wrote:
For what it's worth, I'm still very keen on a version of BBC Basic for Pi and Linux with network support but no graphics
When you say "no graphics" what kind of output are you expecting?  SDL2, as basically a games engine, doesn't treat character-based (text) output as being distinct from other kinds of graphics, indeed characters are themselves represented as textures and could just as well contain arbitrary images as glyphs.  Outputting text consists of rendering each character separately onto a graphics 'canvas'.

Richard.