BBC BASIC for Linux update

67 views
Skip to first unread message

Richard Russell

unread,
Dec 26, 2015, 5:36:21 PM12/26/15
to BB4W
Almost as soon as I announced that I was working on an SDL (86) version of BBC BASIC (initially targetted to Linux) the comments from self-declared 'experts' began.  It was confidently stated that licensing conditions would be difficult or impossible to overcome unless I made it Open Source, that variability between Linux 'flavours' would make it essential to compile custom 'packages' for each one, or even that it might be so difficult to make it work on multiple varieties of Linux that I should target just one.

I have made no secret of the fact that my knowledge of Linux is next to non-existent, so initially I believed these comments as being authoritative.  However they did not altogether accord with what my 'common sense' suggested, and the more I did my own research the more I doubted their accuracy.  As far as licensing conditions are concerned I was able to establish that the most onerous applicable licence is LGPL, and that permits dynamic linking from a Closed Source application.  And as far as variability between different varieties of Linux was concerned I couldn't understand how an executable compiled without any statically-linked libraries could be platform-specific in the way claimed.

But the only way to be sure was to try it.  So I have now attempted to run 'BBC BASIC for Linux' (that is, just a compiled executable in Elf format, not a 'package'') on each of the following Linux platforms:

1.  Ubuntu Linux 14.04.3 (32-bits), installed on hard drive.
2.  Ubuntu Linux 14.04.3 (64-bits), installed on hard drive.
3.  Linux Mint 17.3 (32-bits), booted from 'live' CD.
4.  Fedora 23 (32-bits), booted from 'live' CD.
5.  Puppy Linux slacko-6.3.0 (32-bits), booted from 'live' CD.

And what do you know?  In every case it ran straightforwardly without any of the predicted problems!  I will refrain from speculating on the motives of those who were so pessimistic.

For those who may be interested, here is how to run 'BBC BASIC for Linux' on the various platforms.  In each case you will need to have downloaded http://www.rtr.myzen.co.uk/bbclinux.zip:

1. Ubuntu and Linux Mint, 32-bits:

    Issue the following commands at a terminal prompt:
      sudo apt-get install libsdl2-2.0-0
      sudo apt-get install libsdl2-ttf-2.0-0
      unzip bbclinux.zip
      ./bbcsdl

2. Ubuntu, 64-bits (this assumes that support for running 32-bit executables on a 64-bit platform has been installed, which it probably will have been - especially if Wine is loaded - but not if booted from a live CD).

    Issue the following commands at a terminal prompt:
      sudo apt-get install libsdl2-2.0-0:i386
      sudo apt-get install libsdl2-ttf-2.0-0:i386
      unzip bbclinux.zip
      ./bbcsdl

3.  Fedora, 32-bits (n.b. I found that SDL2 was installed by default):

    Issue the following commands at a terminal prompt:
      sudo dnf install SDL2_ttf
      unzip bbclinux.zip
      ./bbcsdl

3.  Puppy Linux (although libsdl2 is available 'pre-packaged' as a .pet file, libsdl2-ttf isn't so rebuilding from the source is required):

    Carry out the steps listed at the forum here:


In each case you can alternatively specify a BBC BASIC program to be run, for example:

      ./bbcsdl examples/graphics/persian.bbc

Richard.
Reply all
Reply to author
Forward
0 new messages