Please could someone build a new beebdroid

bbc/electron apps, languages, utils, educational progs, demos + more
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Please could someone build a new beebdroid

Post by tricky »

Please could someone build a new beebdroid with hoglet's fix viewtopic.php?f=4&t=9036&p=111679&hilit ... id#p111679.

I know this is a bit pathetic, but I just can't build for Android! I have used many IDEs on many platforms for many targets, but my brain just doesn't seem to work with IDEs targetting Android.

It took a while to download android studio on my slow connection, but after four hours plus more downloads, I still can't build beebdroid; either the original, updated or the one with local .ssd storage and wireframe keys viewtopic.php?f=4&t=4564&p=52831&hilit= ... ame#p52831.

Ideally, I would like the one with local .ssd storage as even though the new little fluffy animals one has a longer list of supported games, not being able to load other (OK, my) disks is pretty much a deal breaker.
User avatar
vanekp
Posts: 1413
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: Please could someone build a new beebdroid

Post by vanekp »

hmm I did find one after lots of serching where i could load my own disc images from the phone itself and was not stuck to dling them from stl but that was a while ago and for the life of me don't remember. but see i have a apk on my phone that i think is the one i down loaded, wont let me upload it (Sorry, the board attachment quota has been reached.) so if your intrested let me know.
Regards,
Peter.
User avatar
vanekp
Posts: 1413
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: Please could someone build a new beebdroid

Post by vanekp »

O should maybe mention the name and think that’s where I downloaded it from as well :- com.littlefluffytoys.beebdroid-1.apk
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Thanks, but I have that one; from the source, it has the same bug (sbc sets the carry incorrectly IIRC) as the wireframe one (which is the one I most want) and probably the same as the one that requires an external keyboard (http://fiskur.eu/?page_id=401 except for typing) and has the whole of the sth archive (games menu maybe) pre-installed.

I nearly have the wireframe one with fixed ARM asm building, but somewhere between Android Studio and the NDK, it doesn't know how to build the .S files. I have tried several times over the years to get an android app working, but only got one to run once, then, the Eclipse plugin would never talk to the emulator or my phone again!
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

If possible, I would like to know where I am going wrong as I also want to add an analogue input.
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Just bumping this again, as I have now spent another week trying to build any of these to fix the sbc bug.
User avatar
sPhilMainwaring
Posts: 314
Joined: Tue Jan 15, 2013 7:57 pm
Location: Mid Wales
Contact:

Re: Please could someone build a new beebdroid

Post by sPhilMainwaring »

I'd like a copy of this too please :D

There must be someone wiv da skillz :p
MoleskiCoder
Posts: 4
Joined: Sat Jun 13, 2015 8:31 pm
Contact:

Re: Please could someone build a new beebdroid

Post by MoleskiCoder »

Since I've got an interest in Android programming, I thought I'd give this a go.

Honestly, this isn't a pretty build! I've *just* about managed to build an apk, but haven't tested it.

Anyway, here are my notes. I'll try to explain any steps that aren't obvious...

1. Install android studio
2. Open Project (as the *directory* containing the .iml)
* 2.1. Spot that it's missing "android-23"!
* 2.1.1 Install "android-23"!
* 2.2 Spot that it's missing build tools 23
* 2.2.1 Install build tools 23
* 2.3 Allow android studio to update gradle...
3. Select build variant: app, ouyaRelease
* 3.1. Realise that the NDK is required
* 3.1.1. Install LLDB,CMake,NDK (via SDK manager)
?* 3.3. Notice Android 6.0 is only partially installed
?* 3.4. Install Android 6.0
* 3.5. Realise that ndk-build can't be found
* 3.5.1 Modify build.gradle, line 21, since I'm on Windows
* 3.6. Build error:
* 3.6.1 jni/main.c:311:9 return void thingy
* 3.6.2 I modified to "return 0;"
* 3.7. Link error:
* 3.7.1 ld: warning: shared library text segment is not shareable
* 3.7.2 Add "LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true" to Android.mk
* 3.7.3 But put it after the "clean vars" thingy
* 3.8. Assembler errors
* 3.8.1 x86 assembler stuff looks dodgey
* 3.8.2 Remove x86 from APP_ABI in application.mk
* 3.9 Resource compilation issues
* 3.9.1 Feeling tired now
* 3.9.2 Use special namespace "http://schemas.android.com/apk/res-auto" in "activity_beebdroid.xml"

There's two steps (with a very loose definition of steps!) that probably aren't necessary (3.3 and 3.4), but it's difficult to be absolutely sure.

The key build problems (on my Windows machine at least) are:

1) Not being able to find "ndk-build.cmd", required modification of "build.gradle"
2) "jni/main.c" build error on line 311
3) Linker error corrected by disabling fatal warnings
4) Complete failure of x86 6502 assembly, requiring disabling of x86 android build
5) Special auto resource namespace required, rather than explicit specification

Hopefully this'll help...

Adrian
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Apart from cmake, android 6 and removing x86, I had muddled my way through the rest. Is it cmake that allows the arm assembly to be assembled, that was the bit I never got working.

Thanks, I'll try again tonight.
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Fresh extract of project and install of Android Studio with: Gradle updated, CMake, apis 14, 17 and 23, Android SDK build-tools, LLDB and NDK. Already added directory with ndk-build.cmd to path.
Opened project directory with .iml

Code: Select all

Error:Failed to find target with hash string 'Google Inc.:Google APIs:14' in: C:\DATA\Programming\Android\android-sdk
<a href="openAndroidSdkManager">Open Android SDK Manager</a>
Installed Google 14 APIs (only SDK and sources were installed), Install ARM EABI v7a System Image (needed?), uninstalled 23.0.0 (obsolete) something and installed 23.0.3 instead (sorry, can't find it now!).
Build:

Code: Select all

Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugUnitTestSources, :app:compileDebugAndroidTestSources]
C:\DATA\BBC\BeebDroid\Beebdroid-master-AndroidStudio\Beebdroid-master1\app\src\main\java\com\littlefluffytoys\beebdroid\BeebKeys.java
Error:(19, 51) error: unmappable character for encoding UTF-8
Error:(191, 52) error: unmappable character for encoding UTF-8
C:\DATA\BBC\BeebDroid\Beebdroid-master-AndroidStudio\Beebdroid-master1\app\src\main\java\com\littlefluffytoys\beebdroid\UserPrefs.java
Error:(2, 14) error: unmappable character for encoding UTF-8
Error:Execution failed for task ':app:compileDebugNdk'.
> Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
 https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
 http://tools.android.com/tech-docs/new-build-system/gradle-experimental.
Information:BUILD FAILED
Reloaded BeebKeys.java as windows encoding, changed funny character to £, so probably better!
Build:

Code: Select all

Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugUnitTestSources, :app:compileDebugAndroidTestSources]
Error:Execution failed for task ':app:compileDebugNdk'.
> Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
 https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
 http://tools.android.com/tech-docs/new-build-system/gradle-experimental.
Information:BUILD FAILED
Change project and build SDKs to 23 and 23.0.3 (changed from this in an earlier attempt to fix something)
change a few occurrences of £ in comments to pound.
Build:

Code: Select all

C:\DATA\BBC\BeebDroid\Beebdroid-master-AndroidStudio\Beebdroid-master1\app\src\main\java\common\Network.java
Error:(9, 23) error: package org.apache.http does not exist
...
Added useLibrary 'org.apache.http.legacy' after buildToolsVersion '23.0.3' in one of the build.gradle files (may be caused by something else I did).
suggested here http://stackoverflow.com/questions/3143 ... -not-exist
Build, now I am back to here, looks like 23 wasn't the answer!

Code: Select all

Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
Error:Execution failed for task ':app:compileDebugNdk'.
> Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
 https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
 http://tools.android.com/tech-docs/new-build-system/gradle-experimental.
Information:BUILD FAILED
Set build and compile SDKs back to 25... and everything seems OK!

Code: Select all

Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources]
Information:BUILD SUCCESSFUL
Try running, selected a Nexus 5 SDK 23 as it is the ARM asm I want to fix:

Code: Select all

C:\DATA\Programming\Android\android-sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5_API_23
WARNING: init: Missing WGL extension WGL_ARB_make_current_read
audio: Failed to create voice `goldfish_audio_in'
qemu-system-armel.exe: warning: opening audio input failed
emulator: Listening for console connections on port: 5554
emulator: Serial number of this emulator (for ADB): emulator-5554
Still that is probably OK, I'll try it on a phone later...10 minutes later emulator is still booting, so later is now!

Just tried build again and all the apache errors are back, so I don't think it was ever working - giving up again!

If anyone has a working project file (whatever this is in this case) I would love to give it a go.
I may try removing all http code, as I don't need it anyway.
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Stripped out the network stuff and now back to this again, I guess it didn't get sorted!

Code: Select all

Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
Error:Execution failed for task ':app:compileDebugNdk'.
> Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
 https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
 http://tools.android.com/tech-docs/new-build-system/gradle-experimental.
Information:BUILD FAILED
MoleskiCoder
Posts: 4
Joined: Sat Jun 13, 2015 8:31 pm
Contact:

Re: Please could someone build a new beebdroid

Post by MoleskiCoder »

I've forked the original repository into one which does seem to build on my machine:

https://github.com/MoleskiCoder/Beebdroid

The only to *really* watch out for is the modification to "app/build.gradle" which is peculiar to my machine.

Fingers crossed, this'll get you a little further. Or at least, we'll have a common set to move forward from...

Good luck,

Adrian
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Cheers, nice 50th present for me for tomorrow ;)
User avatar
daveejhitchins
Posts: 7875
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Please could someone build a new beebdroid

Post by daveejhitchins »

tricky wrote:Cheers, nice 50th present for me for tomorrow ;)
Yo . . . tricky . . .

Happy Birthday

Dave H :D
Available: ARA II : ARA III-JR/PR : ABR : AP5 : AP6 : ABE : ATI : MGC : Plus 1 Support ROM : Plus 3 2nd DA : Prime's Plus 3 ROM/RAM : Pegasus 400 : Prime's MRB : ARCIN32 : Cross-32
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Fresh copy of your project, change the ndk-build.cmd path, "Unfortunately, Beebdroid has stopped".

Looks like this might be a problem:

E/dalvikvm: dlopen("/data/app-lib/com.littlefluffytoys.beebdroid-2/libbbcmicro.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "srand" referenced by "libbbcmicro.so"...

I'll have another look tonight.

Code: Select all

12/06 07:52:22: Launching app
No apk changes detected since last installation, skipping installation of C:\DATA\BBC\BeebDroid\Beebdroid-master-MoleskiCoder\Beebdroid-master\app\build\outputs\apk\app-ouya-debug.apk
$ adb shell am force-stop com.littlefluffytoys.beebdroid
$ adb shell am start -n "com.littlefluffytoys.beebdroid/com.littlefluffytoys.beebdroid.Beebdroid" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.littlefluffytoys.beebdroid.test | com.littlefluffytoys.beebdroid
Connecting to com.littlefluffytoys.beebdroid
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
D/jdwp: sendBufferedRequest : len=0x57
W/ActivityThread: Application com.littlefluffytoys.beebdroid is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
D/jdwp: sendBufferedRequest : len=0x14
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x7, cmdSet=0x1, len=0xB, id=0x57, flags=0x0, dataLen=0x0
I/dalvikvm: Debugger is active
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x1, cmdSet=0xF, len=0x11, id=0x59, flags=0x0, dataLen=0x6
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x1, cmdSet=0xF, len=0x11, id=0x5B, flags=0x0, dataLen=0x6
I/System.out: Debugger has connected
D/jdwp: +++ debugger interval=6
I/System.out: waiting for debugger to settle...
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x1, cmdSet=0x1, len=0xB, id=0x5D, flags=0x0, dataLen=0x0
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x11, cmdSet=0x1, len=0xB, id=0x5F, flags=0x0, dataLen=0x0
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0xC, cmdSet=0x1, len=0xB, id=0x61, flags=0x0, dataLen=0x0
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x14, cmdSet=0x1, len=0xB, id=0x63, flags=0x0, dataLen=0x0
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x5, cmdSet=0x1, len=0xB, id=0x65, flags=0x0, dataLen=0x0
D/jdwp: processIncoming
Connected to the target VM, address: 'localhost:8628', transport: 'socket'
D/jdwp: handlePacket : cmd=0x1, cmdSet=0xF, len=0x11, id=0x67, flags=0x0, dataLen=0x6
D/jdwp: processIncoming
D/jdwp: handlePacket : cmd=0x1, cmdSet=0xF, len=0x11, id=0x69, flags=0x0, dataLen=0x6
D/jdwp: +++ debugger interval=111
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=311
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=512
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=712
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=912
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=1113
I/System.out: waiting for debugger to settle...
D/jdwp: +++ debugger interval=1313
I/System.out: debugger has settled (1313)
D/dalvikvm: open_cached_dex_file : /data/app/com.littlefluffytoys.beebdroid-2.apk /data/dalvik-cache/data@app@com.littlefluffytoys.beebdroid-2.apk@classes.dex
D/jdwp: sendRequest : Len=0x61
D/jdwp: sendRequest : Len=0x57
D/jdwp: sendRequest : Len=0x63
D/jdwp: sendRequest : Len=0x4F
D/jdwp: sendRequest : Len=0x54
D/jdwp: sendRequest : Len=0x58
D/jdwp: sendRequest : Len=0x53
D/jdwp: sendRequest : Len=0x5A
D/jdwp: sendRequest : Len=0x63
D/jdwp: sendRequest : Len=0x61
D/jdwp: sendRequest : Len=0x62
I/dalvikvm: Could not find method android.app.Application.registerOnProvideAssistDataListener, referenced from method com.android.tools.fd.runtime.BootstrapApplication.registerOnProvideAssistDataListener
W/dalvikvm: VFY: unable to resolve virtual method 247: Landroid/app/Application;.registerOnProvideAssistDataListener (Landroid/app/Application$OnProvideAssistDataListener;)V
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
I/dalvikvm: Could not find method android.app.Application.unregisterOnProvideAssistDataListener, referenced from method com.android.tools.fd.runtime.BootstrapApplication.unregisterOnProvideAssistDataListener
W/dalvikvm: VFY: unable to resolve virtual method 250: Landroid/app/Application;.unregisterOnProvideAssistDataListener (Landroid/app/Application$OnProvideAssistDataListener;)V
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
I/InstantRun: Instant Run Runtime started. Android package is com.littlefluffytoys.beebdroid, real application class is com.littlefluffytoys.beebdroid.App.
D/jdwp: sendRequest : Len=0x52
W/InstantRun: No instant run dex files added to classpath
D/jdwp: sendRequest : Len=0x52
E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources
W/dalvikvm: VFY: unable to resolve check-cast 1808 (Landroid/util/ArrayMap;) in Lcom/android/tools/fd/runtime/MonkeyPatcher;
D/dalvikvm: VFY: replacing opcode 0x1f at 0x025e
E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
W/dalvikvm: VFY: unable to resolve const-class 1808 (Landroid/util/ArrayMap;) in Lcom/android/tools/fd/runtime/MonkeyPatcher;
D/dalvikvm: VFY: replacing opcode 0x1c at 0x0060
D/jdwp: sendRequest : Len=0x63
D/jdwp: sendRequest : Len=0x4E
D/jdwp: sendRequest : Len=0x58
D/jdwp: sendRequest : Len=0x66
D/dalvikvm: create interp thread : stack size=32KB
D/dalvikvm: create new thread
D/dalvikvm: new thread created
D/dalvikvm: update thread list
D/dalvikvm: threadid=11: interp stack at 0x5dc33000
D/dalvikvm: threadid=11: created from interp
D/dalvikvm: start new thread
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
D/jdwp: sendRequest : Len=0x58
D/dalvikvm: threadid=11: notify debugger
D/jdwp: sendRequest : Len=0x1D
D/dalvikvm: threadid=11 (Thread-367): calling run()
D/dalvikvm: Trying to load lib /data/app-lib/com.littlefluffytoys.beebdroid-2/libbbcmicro.so 0x4161e2f8
E/dalvikvm: dlopen("/data/app-lib/com.littlefluffytoys.beebdroid-2/libbbcmicro.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "srand" referenced by "libbbcmicro.so"...
D/jdwp: sendRequest : Len=0x5B
W/dalvikvm: Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/littlefluffytoys/beebdroid/Beebdroid;
W/dalvikvm: Class init failed in newInstance call (Lcom/littlefluffytoys/beebdroid/Beebdroid;)
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4132f9a8)
E/AndroidRuntime: FATAL EXCEPTION: main
                  java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "srand" referenced by "libbbcmicro.so"...
                      at java.lang.Runtime.loadLibrary(Runtime.java:365)
                      at java.lang.System.loadLibrary(System.java:514)
                      at com.littlefluffytoys.beebdroid.Beebdroid.<clinit>(Beebdroid.java:93)
                      at java.lang.Class.newInstanceImpl(Native Method)
                      at java.lang.Class.newInstance(Class.java:1319)
                      at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2223)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                      at android.app.ActivityThread.access$600(ActivityThread.java:156)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                      at android.os.Handler.dispatchMessage(Handler.java:99)
                      at android.os.Looper.loop(Looper.java:153)
                      at android.app.ActivityThread.main(ActivityThread.java:5297)
                      at java.lang.reflect.Method.invokeNative(Native Method)
                      at java.lang.reflect.Method.invoke(Method.java:511)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                      at dalvik.system.NativeStart.main(Native Method)
I/Process: Sending signal. PID: 6150 SIG: 9
Disconnected from the target VM, address: 'localhost:8628', transport: 'socket'
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Thanks Dave H.
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

EDIT: looks like a known issue although there does seem to be some disagreement on the solution!

https://github.com/cocos2d/cocos2d-x/issues/14034

I'll have a fiddle with SDK build/compile/minimal/targeted versions laster.
MoleskiCoder
Posts: 4
Joined: Sat Jun 13, 2015 8:31 pm
Contact:

Re: Please could someone build a new beebdroid

Post by MoleskiCoder »

If I get a chance, I'll take a look over lunch.

Happy birthday!

Adrian
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Thanks Adrian.
MoleskiCoder
Posts: 4
Joined: Sat Jun 13, 2015 8:31 pm
Contact:

Re: Please could someone build a new beebdroid

Post by MoleskiCoder »

I'm not going to say it's working well, but it does seem to run under the AndroidStudio emulator.

I chose a Nexus 10, Android 5.1 (22), arm ABI and it's definitely started up.

Your error sounds like it might be fixed by better matching the build to the runtime environment, but given this is the first time I've tried this, I could be way off the mark.

Lunchtime over now, and it might be a couple of days before I get a chance to look at this again.

I think there is hope of getting this going for you...

Adrian

p.s.
ARM emulation runs like a dog on my system. When I next look at this, I might install Android Studio into an ubuntu VM and see if that allows me to build the 6502 x86 assembler source. With that in place, I'd be able to run x86 native device emulation...
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Got closer, I removed the use of srand() and then it seems to hit a permissions issue.

If I just run the app, it does display the keyboard and screen, which seem to be the "real" one, not the "faster wireframe" one with local storage for disk images, but swapping over should be easy(ish) now you have done the necessary incantations with the project.

Code: Select all

...
I/SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=false mUpdateWindowNeeded=true mReportDrawNeeded=true redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true
I/SurfaceView: Cur surface: Surface(name=null, identity=192)
I/SurfaceView: New surface: Surface(name=null, identity=192), vis=true, frame=Rect(0, 243 - 1080, 1279)
I/SurfaceView: surfaceRedrawNeeded
I/SurfaceView: finishedDrawing
V/SurfaceView: Layout: x=0 y=243 w=1080 h=1036, frame=Rect(0, 0 - 1080, 1036)
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
E/libEGL: error opening cache file /data/data/com.littlefluffytoys.beebdroid/cache/com.android.opengl.shaders_cache: Permission denied (13)
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
W/Trace: Unexpected value from nativeGetEnabledTags: 0
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1), thread 12358 (ytoys.beebdroid)
Disconnected from the target VM, address: 'localhost:8618', transport: 'socket'
User avatar
sPhilMainwaring
Posts: 314
Joined: Tue Jan 15, 2013 7:57 pm
Location: Mid Wales
Contact:

Re: Please could someone build a new beebdroid

Post by sPhilMainwaring »

Belated Birthday Greets Tricky :)

Are we nearly there yet? :p
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Thanks.
I think I have the wireframe building, using bits from the new report, but, it fails immediately saying in the debugger that it doesn't have WAKE_ something permission. I'll have another play tomorrow ;)
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

Neither user 10094 nor current process has android.permission.WAKE_LOCK
Seems unnecessary, I'll try removing it ;)
...
removed and now it runs, except no display except the keyboard and menu - beeb screen is black.
Sound is working and disc seems to load correctly.
Time got some GL debugging!
...
Selecting activity_beebdroid.xml gives: java.lang.NoClassDefFoundError: Could not initialize class com.littlefluffytoys.beebdroid.Beebdroid
That might be a clue ;)
...
OK, display does work, but doesn't update without minimising and putting back, may be something to do with WAKE!
...
Giving up again for now, I'll try cutting down the new version instead.
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

OK, I can't get any further!

The wireframe version works, but only updates the screen when you minimise and restore.

EDIT: In the emulator, the same build works fine on the nexus 5!

The other version crashes during loading with:
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1), thread 22662 (ytoys.beebdroid)

It appears to be in ActivityThread.java
private void handleCreateBackupAgent(CreateBackupAgentData data) {
inside:
LoadedApk packageInfo = getPackageInfoNoCheck(data.appInfo, data.compatInfo);
but it does say that the bytecode does not match the source!
User avatar
sPhilMainwaring
Posts: 314
Joined: Tue Jan 15, 2013 7:57 pm
Location: Mid Wales
Contact:

Re: Please could someone build a new beebdroid

Post by sPhilMainwaring »

Just a thought ... would HTML5 converted to an app for jsbeeb be too slow using Eclipse, Android Studio or PhoneGap?

Have you tried any of these?
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

I haven't tried any those, except eclipse, but only for Java. If they support native assembler and jsbeeb was rewritten in assembler, maybe.
In chrome on my phone for example beebdroid runs at 50fps+, while jsbeeb runs at 3fps.
For a faster phone, you could just run jsbeeb, but I suspect battery drain and thermal cutout may be an issue. It may just be that chrome is failing to use hardware acceleration, but it does work for other apps.
Stainy
Posts: 61
Joined: Sun Apr 15, 2012 10:07 pm
Contact:

Re: Please could someone build a new beebdroid

Post by Stainy »

Hi all..
Did anyone manage to get a working build of this ? I use the fluffytoys version on my GPD but it just seems to be lacking a bit..
Thanks
User avatar
tricky
Posts: 7692
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Please could someone build a new beebdroid

Post by tricky »

I did find someone who had ported b-em to android with a great little ui and performance, but I failed to persuade them to share it further.
User avatar
vanekp
Posts: 1413
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: Please could someone build a new beebdroid

Post by vanekp »

Yes its a pity it's not been developed or improved anymore it's a lovely app, I had a version where you could load your own disc images it did not have to be the ones from STH, but have no idea where i got it from :(
Regards Peter.
Post Reply

Return to “8-bit acorn software: other”