Date   

Re: Android version - bad news

Richard Russell
 

On Mon, Feb 8, 2016 at 12:21 am, <j@...> wrote:

Currently, for my project I need a machine running BBC Basic :), having a touch screen ( for signaturing ), GPS, Wifi, 3g/lte ( which is very unstable on both devices comparing to smartphones), Bluetooth ( for the printer, though it can be possible with Wifi as well ) and a real USB port for reading external cameras.

I would expect that your main problems will be accessing all those devices from BBC BASIC.  I posted a couple of routines at the forum which illustrate how it is typically significantly more difficult to access the native Android API than it is to do equivalent things in Windows.  That isn't the fault of BBC BASIC, it's the same for any language that isn't Java!  You are forced to use JNI (the Java Native Interface) and that isn't easy.

The solution of course is for somebody - and it won't be me! - to create a set of BBC libraries that wrap all the JNI messiness and present a nice clean FN/PROC interface to the BASIC programmer.  Maybe if you plan to go ahead with your project you may create some useful libraries as a spin-off!

Richard.


Re: Android version - bad news

Richard Russell
 

---In bb4w@yahoogroups.com, <jgh@mdfs.net> wrote :
> If the bug in mmap gets fixed quickly enough (and probably will as
> it seems to be impacting lots of applications)


I don't think we can assume that it will. Java applications (which the great majority are) probably aren't affected so that only leaves the small number of native applications (e.g. written in C) which may be, and then only a small fraction of those that actually are. If you look at the Google hits, everybody is wanting solutions.


Even assuming it is acknowledged to be a bug, I expect it would be fixed only in the next major version of Android: Marshmallow. Most of the reported issues can be argued not to result from a bug, but rather from a legitimate (if unexpected) change in memory management behaviour. My own observations, if accurate, would suggest a bug but that would have to be confirmed.


> you could just document that BBC BASIC for Android doesn't work...


That hardly helps me with testing! I need it to work on my Hudl2!


Richard.


Re: Android version - bad news

j@...
 

Richard,

I didn't have much complains about Microsft Windows, either. Windows 10 has some various rarities which feels more like a beta program of Windows.
I think there will be only enough animo for BBC Basic for Android as it will run on all devices but that will be a whole different story.

Currently, for my project I need a machine running BBC Basic :), having a touch screen ( for signaturing ), GPS, Wifi, 3g/lte ( which is very unstable on both devices comparing to smartphones), Bluetooth ( for the printer, though it can be possible with Wifi as well ) and a real USB port for reading external cameras.
At the moment I can am testing this software with an "expensive" Lenovo Thinkpad 10 as well as a cheaper ASUS 2-in-1 tablet ( lacking GPS and 3G though USB ). Both running Windows 10.


I know to get this working on an Android ans BBC Basic is a long way ahead :) but I think the external fitters ( which will be using this device ) would love such a smaller device much more than a Lenovo Thinkpad 10.  ... it's also less painful if they break a 130 euro device instead of a 800 euro device.

... I am not sure this is more effiencienty that the old fashion A4 paper prints they currently use, but for me it's a nice project.









Re: Android version - bad news

J.G.Harston
 

rtrussell wrote:
I'm 99% certain the problem is related to mmap
http://man7.org/linux/man-pages/man2/mmap.2.html, and a Google search
for 'lollipop mmap' finds many reports of apps failing after an
upgrade, although not exactly matching the symptoms I am seeing.

If the bug in mmap gets fixed quickly enough (and probably will as it
seems
to be impacting lots of applications) you could just document that BBC
BASIC
for Android doesn't with Android Version X.YZ due to a bug in mmap A.BC,
rather than coding BBC BASIC to try and work around it.


--
J.G.Harston - jgh@mdfs.net - mdfs.net/jgh


Re: Android version - bad news

Richard Russell
 

I'm 99% certain the problem is related to mmap http://man7.org/linux/man-pages/man2/mmap.2.html, and a Google search for 'lollipop mmap' finds many reports of apps failing after an upgrade, although not exactly matching the symptoms I am seeing.

It's hard to understand how it could happen, but what I seem to be observing is that mmap is returning a 'successful' memory allocation when in fact the memory address range it returns clashes with the requirements of the OS!

It's easily fixed in an ad-hoc fashion but if mmap can incorrectly report memory as being free when it isn't, the problem could recur at any time without warning.

Richard.


Re: Android version - bad news

Richard Russell
 

I'm 99% certain the problem is related to mmap, and a Google search for 'lollipop mmap' finds many reports of apps failing after an upgrade, although not exactly matching the symptoms I am seeing.

It's hard to understand how it could happen, but what I seem to be observing is that mmap is returning a 'successful' memory allocation when in fact the memory address range it returns clashes with the requirements of the OS!

It's easily fixed in an ad-hoc fashion but if mmap can incorrectly report memory as being free when it isn't, the problem could recur at any time without warning.

Richard.


Re: Android version - bad news

Richard Russell
 

On Sun, Feb 7, 2016 at 02:56 am, <j@...> wrote:
I understand you updated to android lollipop. It's the most sold android version on new tablets, I think. 

I'm spoilt by Windows!  Microsoft - though far from perfect - put a lot of effort into maintaining compatibility with earlier versions, and it's very rare for even a major update to Windows to cause any compatibility issues with BBC BASIC.  So, probably naively, I expected the Android update to be just as trouble-free.

I still have my Lenovo K900 phone, which runs Android Jelly Bean (and is too old to be updated anyway) so I can run BBC BASIC on that.  But obviously it will be essential to ensure that any 'released' version of BBC BASIC for Android (x86) runs on all common devices and OS versions.

If nothing else this illustrates the importance of having testers with a range of different machines who can try it out.  I hope that some other BBC BASIC users may follow your lead and obtain an Android (x86) device for themselves.

Richard.


Re: Android version - bad news

j@...
 

Richard,
That's bad news indeed.
I understand you updated to android lollipop. It's the most sold android version on new tablets, I think. 

I discover more comparability issues with my Zenbook comparing to a x86 android 4.4 based TF103c tablet. 

However these Apps do run on a android 5 Galaxy Tab A and the TF103c did enjoy some sort of ARM emulation so I think this is a different x86 problem.

Jeroen


Re: Android version - bad news

Richard Russell
 


Re: Android version - bad news

Richard Russell
 

I suspect the problem may be related to this issue, because BBC BASIC does attempt to allocate quite a lot of memory using mmap:

http://stackoverflow.com/questions/30180268/android-ndk-mmap-call-broken-on-32-bit-devices-after-upgrading-to-lollipop

Richard.


Android version - bad news

Richard Russell
 

I switched on my Hudl2 this evening to be greeted with an invitation to upgrade it to Android Lollipop. I saw no reason not to, so I allowed it to perform the upgrade. But now BBC BASIC just crashes.

I've run the Android debugger but the reason for the failure isn't evident (to me); it certainly doesn't seem to be anything trivial. My guess is that it's some kind of incompatibility between SDL 2.0 and Lollipop (maybe specific to the x86 version).

So sadly I'm completely stuck. A Google search hasn't found any references to the issue, and I don't have any detailed understanding of the internals of either SDL or Android that would allow me to debug it myself.

Richard.


Android version - bad news

Richard Russell
 

I switched on my Hudl2 this evening to be greeted with an invitation to upgrade it to Android Lollipop. I saw no reason not to, so I allowed it to perform the upgrade. But now BBC BASIC just crashes. sad

I've run the Android debugger but the reason for the failure isn't evident (to me); it certainly doesn't seem to be anything trivial. My guess is that it's some kind of incompatibility between SDL 2.0 and Lollipop (maybe specific to the x86 version).

So sadly I'm completely stuck. A Google search hasn't found any references to the issue, and I don't have any detailed understanding of the internals of either SDL or Android that would allow me to debug it myself.

Richard.


Re: Android purchases

j@...
 

Richard,

Option 1 van be done.thanks.

I am nog in a hurry. For personal uae, I am just interested. 

For my work it can be useful, one BBC Basic project running on Windows 10 "tablets" is as good as finished but I think Android is more stable for its purpose.

Jeroen




Re: Android purchases

Richard Russell
 

On Sat, Feb 6, 2016 at 10:25 am, <j@...> wrote:
I have one asus zenbook C 7.0 . Its containing an Intel Atom x86 6.5d.1 @ 900 MHz. GPU is a Mali-450 MP which seems to be an  ARM instruction set.
I would love to test BBC basic ob this device.
Jeroen

There are two possibilities:

1. I can make available the current debug build.  That is very easy for me to do but I don't think you'll be able to run it straightforwardly; you would probably need to enable USB debugging on your tablet and transfer it from a PC (on which you'd need to install the Android NDK).

2. I can create a proper signed app.  That makes it easy for you to download onto your device but I've never done it before and I think there's quite a lot of work involved in creating the self-signed certificate.

So it rather depends on how much of a hurry you're in!

Richard.


Re: Android purchases

j@...
 

I have one asus zenbook C 7.0 . Its containing an Intel Atom x86 6.5d.1 @ 900 MHz. GPU is a Mali-450 MP which seems to be an  ARM instruction set.

I would love to test BBC basic ob this device.

Jeroen


Re: Android purchases

j@...
 

Richard,

I am interested in bb4w for Android. I will buy an Asus Zenbok tablet containing an Intel processor. 

I can use this device for testing.

Best regards,
Jeroen Groenendaal


Android purchases

Richard Russell
 

Can I encourage all BBC BASIC enthusiasts, when they are next thinking about purchasing a tablet or smartphone, to consider choosing an 'Intel Inside' Android product? Although most such devices currently use ARM processors there is a reasonable choice of both new and second-hand Intel-based tablets at least.


As far as phones are concerned, I'm not sure that there is a current model which uses an Intel CPU but there are older models still available 'as new' (in their original manufacturer's packaging) which do. I recently purchased a Lenovo K900, which is a high-spec all-singing-all-dancing smartphone (thinner even than my wife's iPhone!), for the very reasonable price of £120:


http://www.ebay.co.uk/itm/Lenovo-K900-5-5-FHD-Gorilla-Glass-3G-GPS-13-0MP-Android-4-2-Smartphone-/321491012311?hash=item4ada5b8ad7:g:ST8AAOxyYSdTCiqN http://www.ebay.co.uk/itm/Lenovo-K900-5-5-FHD-Gorilla-Glass-3G-GPS-13-0MP-Android-4-2-Smartphone-/321491012311?hash=item4ada5b8ad7:g:ST8AAOxyYSdTCiqN


Purchasing an Intel Android (x86) device will mean that you can run BBC BASIC (full BBC BASIC for Windows specification interpreter) on it, and - if you are willing - help test future versions as they are developed.


Richard.


Android purchases

Richard Russell
 

Can I encourage all BBC BASIC enthusiasts, when they are next thinking about purchasing a tablet or smartphone, to consider choosing an 'Intel Inside' Android product?  Although most such devices currently use ARM processors there is a reasonable choice of both new and second-hand Intel-based tablets at least.

As far as phones are concerned, I'm not sure that there is a current model which uses an Intel CPU but there are older models still available 'as new' (in their original manufacturer's packaging) which do.  I recently purchased a Lenovo K900, which is a high-spec all-singing-all-dancing smartphone (thinner even than my wife's iPhone!), for the very reasonable price of £120:


Purchasing an Intel Android (x86) device will mean that you can run BBC BASIC (full BBC BASIC for Windows specification interpreter) on it, and - if you are willing - help test future versions as they are developed.

Richard.


File - reminder.txt

bb4w@...
 

(This message is posted automatically once a month)

If you are currently receiving emails from the group but would
prefer not to, you can change your email delivery settings. To
do that click on 'Edit Membership' above (if you are reading this
on the group's web page) or connect to the internet and click on
this link: http://groups.yahoo.com/group/bb4w/join

Scroll down to the section entitled Message Delivery and you will
see four radio-button options:

o Individual Email
o Daily Digest
o Special Notices
o Web Only

Select 'Special Notices' or 'Web Only', then confirm by clicking
Save Changes, and you won't be troubled by group emails (if you
select Special Notices you will still receive important messages
such as announcements of new versions of BBC BASIC for Windows).

Richard.


BBC BASIC for Linux poll

bb4w@...
 

3201 - 3220 of 23891