BBC BASIC for SDL 2.0 v0.19b released

Richard Russell

On Wed, Nov 22, 2017 at 01:35 pm, Kendall Castor-Perry wrote:
Are there major obstacles to supporting Linux on Arm?
Linux on ARM is supported: it's called the Raspberry Pi!  If you know of another general-purpose (desktop) ARM-based Linux device the RPi edition may run, so long as it uses the Hard Float ABI, supports OpenGL, and SDL2 is available.  Some major Linux apps like Dropbox are x86-only.

I think BBCBasic on iOS would be an absolute hoot
Current iOS is 64-bits only, it does not run 32-bit apps.  There was a long discussion in another thread on why a 64-bit version of BBC BASIC isn't feasible, at least not without introducing major incompatibilities with existing 32-bit versions.



This is a rather trivial post, mostly to flag up that I do read the messages and have some interest in SDL.  I just needed to write a script to automate creation of a complex Excel formula in text form (because Excel can't do it and I have no time or inclination to figure VBA out).  BBCBasic has always been my scripting language of choice.  So I updated my SDL to the latest version and wrote the necessary program in BBCSDL (on Windows, using RTR's IDE) rather than in BB4W.  Naturally it worked fine.  I had an initial usage glitch because I started writing with lower case keywords before that option was set.  Setting the option doesn't recapture lines already written, you need to navigate to the lines themselves.  I suspect BB4W has this same behaviour.  Sorted out in a few seconds.  I expect that virtually all of the stuff I currently do with BB4W would work equally well in BBCSDL, which bodes well for cross-platform work, hence my next point.

I've been told that the Gemini PDA I supported on Indiegogo will be shipping in the new year.  For those who haven't heard of it, this is akin to a modern implementation of the clamshell Psion devices, except now with wifi, 4G (if you want it), lots of memory, a touchscreen as well as a proper mechanical keyboard, six ARM CPUs and dual boot to Linux or Android - neither of which I know how to use.

So one of my first familiarization tasks next year will be to install BBCSDL for Android and have a play, make sure I can do BBCBasic development on the move on that platform.  I'm not sure what use I'll make of Linux, and that triggers a question.  The release announcement for BBCSDL on Linux says x86 only.  Are there major obstacles to supporting Linux on Arm?  I'm not saying that I think there's any point to it, but I'm wondering whether the omission is simply due to there having been no reason to do it because Linux on Arm is not particularly common.

All this leaves my iPad as the only device that resolutely refuses to offer language support of the type that can get to the bare metal.  I think BBCBasic on iOS would be an absolute hoot, and of course it would be offered through an unparalled sales channel (the App Store).  I know from work I did with an app developer some years back that regular C code can be imported into the ObjectiveC framework that iOS apps use.  So, if Apple were to relent and make it possible to deliver at least some functionality of a BASIC interpreter on iOS, there are probably app developers out there that could take a C implementation, say BBCSDL, and bolt it into IOS.  That I would pay for!  All for now -- K

Richard Russell

I've updated BBC BASIC for SDL 2.0 (BBCSDL), to version 0.19b. This interim release improves performance when running programs that make heavy use of SDL API calls, such as Forces of Darkness. The various editions may be downloaded as follows:

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

I have also taken the opportunity to incorporate an enhancement requested by a user: the ARM assembler (i.e. as used in the Android/ARM and Raspberry Pi editions) now accepts the syntax Rn-Rm (where m > n) as an alternative to a comma-separated list of registers.

So whereas previously one would have had to write:

      push {r1,r2,r3,r6,r7,r8,r9} 

one can now write:

      push {r1-r3,r6-r9}