Date   
Re: Should I bundle Rubik.bbc with the Android edition? #poll

Richard Russell
 

On Wed, Mar 7, 2018 at 09:22 am, R.E. wrote:
I would rather have them separate I believe. 
You are rather late to the party!  The poll produced a conclusive result, and the Android edition complete with Rubik.bbc has already been released!

Perhaps a smaller visual presentation that shows it's capabilities
> would be more appropriate.

You can't show its "capabilities" in one, or even a few, demonstration programs - you need dozens, or more.  Every single example program distributed with BBC BASIC, and there are more than 60 of them currently, demonstrates some capability.  Since all the desktop editions have included Rubik.bbc for a while, omitting it from the Android edition was always an anomaly, and that has now been rectified.  The new iOS edition includes it too.

If you consider that "an attractive visual demo of what BBC Basic can do" is somehow superfluous, I totally disagree.  
There was recently a comment posted to this group requesting "a debate on how we can make it appeal to the younger person... David Williams FOD is exactly what we need but sadly is a bit big to bundle".  A "bit big" indeed, at about 50 Mbytes (!), but Rubik is not in that ball park.

Richard.

Re: Invitation to test the iOS edition of BBC BASIC

Richard Russell
 

On Wed, Mar 7, 2018 at 08:07 am, Storer, Darren wrote:
Seemingly/annoyingly the UDID "finder" family of 3rd party apps stopped working after iOS 7.
Had Apple wanted the UDID to be discoverable on the device itself they would have displayed it in the settings!  For whatever reason (and I've given up trying to decode Apple's motives) they evidently don't think that is desirable, so any app that does it is presumably using some undocumented and unsupported method.  It's hardly surprising, therefore, that it stops working after an iOS update (and frankly I don't know how it got into the App Store in the first place).

Of all the platforms on which I am trying to support BBC BASIC, the Apple ones (both Mac OS and iOS) give me far more grief than the others.  I wouldn't say I am an 'Apple hater' but I am far from being a fan of their Big Brother, 'we know best', attitude to everything.

Richard.

Re: Invitation to test the iOS edition of BBC BASIC

Richard Russell
 

When you start either the Android or iOS edition of BBC BASIC the program that initially runs is the 'Touch IDE' (touchide.bbc in the tools directory).  It is this program that allows you to navigate the file hierarchy, run a program by tapping on its name, scroll and zoom the file list, edit and copy programs etc.  Brief instructions for the use of the Touch IDE can be found at the website.

There's nothing to stop you running 'touchide.bbc' in the same way as any of the other supplied example programs (by navigating to the tools directory and tapping on it).  The difference is that, since it's the program that is already running, nothing obvious happens - the program simply CHAINs itself!  Sadly some people completely misinterpret this apparent lack of action and report that "touchide is not working"!

Richard.

Re: BBC BASIC in 'Hello World' magazine

Dagfinn
 

That is good to hear!

I learned computing on a Beeb "back in the day" and I am still thanking the British Broadcasting Corporation :-)

Today I got BBCSDL running from a 32-bit Puppy Linux live CD. Sound and graphics worked beautifully. Indeed, there is something about the aesthetics and mentality of Puppy Linux that reminds me of the Beeb, and which makes it a good fit for "modern" BBC Basic.

However, the point is that my first thought upon seeing it run was: I want to use this to teach kids about computing!

So I just wanted to thank you for all your work on BBC Basic, and preserving it for future generations :-)

Best regards,
Dagfinn




Re: Should I bundle Rubik.bbc with the Android edition? #poll

R.E.
 

OK Mr Russell, you've got my interest/curiosity way up.   I first learned to program on  a CPM machine and basic in the 80s
, now many years ago.  Most of my life I preferred C++ , but now I really want to try your Basic.
  So is there a way I can get BBC Basic and put it on my windows 7 machine?  perhaps a file I can download?
Does it have a compiler to make stand alone programs? 
  I would appreciate trying out your program.
Stephen Hatch
Dewey AZ USA

Re: Should I bundle Rubik.bbc with the Android edition? #poll

Richard Russell
 

On Thu, Mar 8, 2018 at 08:32 am, R.E. wrote:
So is there a way I can get BBC Basic and put it on my windows 7 machine?
For Windows your options are the free trial version of 'BBC BASIC for Windows' (BB4W), the full paid-for version of BB4W or the freeware 'BBC BASIC for SDL 2.0' (BBCSDL); all are available from the website.  The Rubik's cube program will run on the second or third option, but not on the trial version of BB4W because there is insufficient memory.  

Does it have a compiler to make stand alone programs? 

Of the three options, only the paid-for version of BB4W currently supports creating standalone Windows executables.  On the other hand developing programs using BBCSDL offers the prospect of creating standalone Android apps!

Richard.

Re: Should I bundle Rubik.bbc with the Android edition? #poll

R.E.
 

 I just found your web site and downloaded the free version and the Paid version.   I now have a lot of reading to do.
  I shall explore your product with great interest as well as curiosity.
-Stephen Hatch
Dewey AZ

Re: Should I bundle Rubik.bbc with the Android edition? #poll

Richard Russell
 

On Thu, Mar 8, 2018 at 08:55 am, R.E. wrote:
 I just found your web site and downloaded the free version and the Paid version. 
You might want to download the free BBCSDL too.  There are pros and cons compared with BB4W: BBCSDL doesn't provide access to the Windows API but it does give you access to SDL's high-performance 2D games engine.  So for example David Williams' prizewinning Forces of Darkness game needed his own assembly-language graphics library to run in BB4W, but in BBCSDL it required only BASIC code.

These days I try to write programs so that they will run in either BB4W or BBCSDL without modification.  That's usually pretty easy, although occasionally I need to include a conditional test so that different code can be executed according to the platform.  For example in Rubik.bbc the names of the 3D graphics library and its initialisation routine are different depending on the platform, so there is conditional code to allow for that.

Richard.

Re: Invitation to test the iOS edition of BBC BASIC

Richard Russell
 

After some rather intense 'forensic debugging' I've discovered what was making the graphics so slow on iOS - a 'feature' of SDL2, when running on iOS (only), which results in the SDL_PumpEvents function (and the SDL_PollEvent function, which calls it) running very slowly.   It's even commented in the code of SDL if you know where to look: 

    /* Let the run loop run for a short amount of time: long enough for
       touch events to get processed (which is important to get certain
       elements of Game Center's GKLeaderboardViewController to respond
       to touch input), but not long enough to introduce a significant
       delay in the rest of the app.
    */
    const CFTimeInterval seconds = 0.000002;

Two microseconds may not sound like much, but it's an age on a modern CPU (and in fact I suspect the pause is much longer).  The comment "not long enough to introduce a significant delay in the rest of the app" is far from the case with BBC BASIC!

Fortunately a workaround in my code was possible, so those of you who have downloaded the iOS edition of BBCSDL please replace it with the latest version.  You should notice a worthwhile speed improvement, indeed in a few cases it will be very marked (I reckon 'scarab.bbc' is now running about a hundred times faster than it was!).

Richard.

Re: 64-bit BBC BASIC (again)

Richard Russell
 

I've updated the Windows edition of the '64-bit' BBCSDL, it may be downloaded from the previously advertised address or from here.  This has been compiled from the same source code that was used to build today's release of the iOS edition, so is as up-to-date as it gets!  64-bit libraries are provided in the Zip but I have not included the 64-bit-compatible example programs; they may be extracted from either the most recent Android release (0.20f) or the iOS edition.

Note that some of the restrictions of the previous '64-bit' Windows release have now been lifted.  The heap and stack do not need to be within the bottom 4 Gbytes of memory (and indeed in iOS they are not); all memory addresses - e.g. as returned from ^ or DIM or the pseudo-variables - are now 64-bits.  The SYS statement passes 64-bit parameters to the called API function.  To get the memory address of a string you must use the new PTR(string$) function.

Richard.

Re: Should I bundle Rubik.bbc with the Android edition? #poll

Richard Russell
 

Somebody today reported that the latest Android edition doesn't run - and indeed it doesn't if you install it from scratch rather than upgrading!  Sorry about that, I've replaced it now with one that works.

Richard.

Re: Invitation to test the iOS edition of BBC BASIC

Richard Russell
 

I've updated 'BBC BASIC for iOS' so that @usr$ now points to a 'shared' directory.  This means that you can easily transfer files (e.g. BASIC programs) into or out of BBC BASIC using iTunes or a file manager like iMazing.  Also, I believe that iTunes will automatically backup any files and programs you store in @usr$.

To update your copy simply re-visit the original download URL and tap on the blue link again.  I've not changed the displayed version number (0.20i) but the internal build number has increased.  Let me know if you have any problems with this new release.

If you've got a suitable iOS device (anything that can run iOS 11 should be OK) and haven't yet asked to try BBC BASIC, what are you waiting for?!  Just contact me privately with your UDID, obtained as described at the beginning of this thread.

Richard.

Re: BBC BASIC in 'Hello World' magazine

Richard Russell
 

BBC BASIC also mentioned in the Letters page of Computer Shopper magazine ('Star letter', May 2018 edition, page 363).  One can never have too much publicity.

Richard.

Re: Invitation to test the iOS edition of BBC BASIC

Dagfinn
 

I received the iOS app last night and it installed without problem. First impressions:

Sound and graphics worked great, as did touch input. Happily, I can also report that file transfer via iTunes went smooth. Note: I wrote the file to be transferred on my desktop BBC4W editor in order to get the right file format.

To be able to write and run BBC Basic programs on the PC and then distribute them cross-platform, even to iPhones and iPads, is a very fine thing indeed. To my mind it would justify resurrecting BBC Basic both as a pedagogical tool and an all-round coding tool.

Actually I have now tried SDL BBC Basic on Android, iOS, PC and Linux. Overall impression very favorable! In particular the speed is mindboggling for an interpreted  language.

Best regards,
Dagfinn

Re: Invitation to test the iOS edition of BBC BASIC

Dagfinn
 

PS. This was on an iPhone SE running iOS 11.2.6.

Taking stock

Richard Russell
 

With the release of the iOS edition of BBC BASIC I think I can reasonably claim 'job done' as far as my own contributions are concerned. All the popular general-purpose computing platforms, both desktop and mobile, are now supported.

It is almost certain that at some point it will be necessary to update the non-Windows editions to 64-bits (and possibly even the Windows edition, eventually) but given the likely timescales it's probable that it won't be me that does that.

The major hurdles to overcome in order to achieve those future updates are the creation of 64-bit x86 and ARM assemblers (for Linux/Mac OS and Android respectively). I am hoping that these will be contributed by users - I lend no credence to claims that such a task is beyond their abilities.

Now I intend to take a 'back seat'. I will, of course, fix any reported bugs, if I am able. I will also from time to time try to post updates to the Facebook group. But you may see little evidence of me here or at the other forum, which I'm sure will be appreciated.

Richard.

Re: Taking stock

Dagfinn
 

The last couple of days I have dug out all I have of devices, old and new, in order to get the complete SDL BBC Basic cross-platform experience. I have successfully run it on:

10 yr old MacBook
Windows 10 desktop PC
Raspberry Pi 3
iPhone SE
Samsung S7 phone
Samsung Galaxy Tab E
Puppy Linux (32-bit)

As far as I can tell it runs well, and in a very consistent manner. Actually I can hardly think of any useful or interesting software I have that can be run so consistently on all my platforms.

So in addtion to the technical issues Richard points to, I think the most important thing is to open the eyes of the world to this project! That will also lend support to the technical work.

And I would like to congratulate Richard on completing the Herculean task of making all this run!

A proud chapter has been added to the saga of BBC Basic.

Dagfinn

Unexpected feature

Richard Russell
 

I'm not at all sure that this should work - I doubt that it was intentional - but it does:

      PROC1
      SWAP PROC1,PROC2
      PROC1
      END

      DEF PROC1
      PRINT "one"
      ENDPROC

      DEF PROC2
      PRINT "two"
      ENDPROC

Richard.

Re: Unexpected feature

Dagfinn
 

It did :-)

But not on the original BBC4W - so there is an interesting discrepancy.

Dagfinn

Re: Unexpected feature

Howard
 

Really? it worked on BB4W for me!

Howard