From 240923a801382c86545d10be167a15892a556fb6 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 2 Aug 2010 20:34:47 +0000 Subject: [PATCH] Rockbox as an application: Commit current Android port progress. General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too). Problems: - Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now. - no cabbiev2 (only some preliminary files for it), no other default theme. - screen flickers sometimes if the updates are too frequent - no multi screen apk/package - strange behavior when a phone call comes in The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder. I've put a small README in there for instructions. There are some steps needed after the make part, which are described there, and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657 --- android/.classpath | 7 + android/.project | 33 ++ android/AndroidManifest.xml | 18 ++ android/README | 34 ++ android/default.properties | 11 + android/gen/org/rockbox/R.java | 22 ++ android/res/drawable-hdpi/icon.png | Bin 0 -> 4147 bytes android/res/drawable-ldpi/icon.png | Bin 0 -> 1723 bytes android/res/drawable-mdpi/icon.png | Bin 0 -> 2574 bytes android/res/layout/main.xml | 7 + android/res/values/strings.xml | 5 + android/src/org/rockbox/RockboxActivity.java | 148 +++++++++ .../src/org/rockbox/RockboxFramebuffer.java | 98 ++++++ android/src/org/rockbox/RockboxPCM.java | 155 ++++++++++ android/src/org/rockbox/RockboxTimer.java | 93 ++++++ apps/codecs/codec_crt0.c | 4 + apps/codecs/libwavpack/wavpack.h | 2 + backdrops/cabbiev2.320x480x16.bmp | Bin 0 -> 614454 bytes bootloader/common.c | 3 +- bootloader/common.h | 2 +- firmware/SOURCES | 11 + firmware/common/rbpaths.c | 8 + firmware/drivers/audio/android.c | 61 ++++ firmware/export/audiohw.h | 2 +- firmware/export/config.h | 14 +- firmware/export/config/application.h | 28 +- firmware/export/config/sim.h | 3 +- firmware/export/debug.h | 7 +- firmware/export/thread.h | 14 +- firmware/sound.c | 2 +- .../target/hosted/android/app/adc-target.h | 25 ++ .../hosted/android/app/backlight-target.h | 25 ++ .../hosted/android/app/button-application.c | 29 ++ .../target/hosted/android/app/button-target.h | 64 ++++ .../target/hosted/android/app/i2c-target.h | 25 ++ .../target/hosted/android/app/usb-target.h | 25 ++ .../target/hosted/android/button-android.c | 87 ++++++ firmware/target/hosted/android/buttonmap.h | 43 +++ .../target/hosted/android/kernel-android.c | 106 +++++++ firmware/target/hosted/android/lcd-android.c | 291 ++++++++++++++++++ firmware/target/hosted/android/pcm-android.c | 174 +++++++++++ .../target/hosted/android/system-android.c | 59 ++++ .../target/hosted/android/system-target.h | 39 +++ .../hosted/android/thread-android-arm.c | 98 ++++++ firmware/thread.c | 15 +- tools/buildzip.pl | 2 + tools/configure | 144 ++++++--- uisimulator/common/io.c | 37 ++- uisimulator/common/stubs.c | 6 +- uisimulator/uisimulator.make | 1 - wps/WPSLIST | 5 + wps/cabbiev2.320x480x16.wps | 79 +++++ wps/cabbiev2/wpsbackdrop-320x480x16.bmp | Bin 0 -> 614454 bytes 53 files changed, 2103 insertions(+), 68 deletions(-) create mode 100644 android/.classpath create mode 100644 android/.project create mode 100644 android/AndroidManifest.xml create mode 100644 android/README create mode 100644 android/default.properties create mode 100644 android/gen/org/rockbox/R.java create mode 100644 android/res/drawable-hdpi/icon.png create mode 100644 android/res/drawable-ldpi/icon.png create mode 100644 android/res/drawable-mdpi/icon.png create mode 100644 android/res/layout/main.xml create mode 100644 android/res/values/strings.xml create mode 100644 android/src/org/rockbox/RockboxActivity.java create mode 100644 android/src/org/rockbox/RockboxFramebuffer.java create mode 100644 android/src/org/rockbox/RockboxPCM.java create mode 100644 android/src/org/rockbox/RockboxTimer.java create mode 100644 backdrops/cabbiev2.320x480x16.bmp create mode 100644 firmware/drivers/audio/android.c create mode 100644 firmware/target/hosted/android/app/adc-target.h create mode 100644 firmware/target/hosted/android/app/backlight-target.h create mode 100644 firmware/target/hosted/android/app/button-application.c create mode 100644 firmware/target/hosted/android/app/button-target.h create mode 100644 firmware/target/hosted/android/app/i2c-target.h create mode 100644 firmware/target/hosted/android/app/usb-target.h create mode 100644 firmware/target/hosted/android/button-android.c create mode 100644 firmware/target/hosted/android/buttonmap.h create mode 100644 firmware/target/hosted/android/kernel-android.c create mode 100644 firmware/target/hosted/android/lcd-android.c create mode 100644 firmware/target/hosted/android/pcm-android.c create mode 100644 firmware/target/hosted/android/system-android.c create mode 100644 firmware/target/hosted/android/system-target.h create mode 100644 firmware/target/hosted/android/thread-android-arm.c create mode 100644 wps/cabbiev2.320x480x16.wps create mode 100644 wps/cabbiev2/wpsbackdrop-320x480x16.bmp diff --git a/android/.classpath b/android/.classpath new file mode 100644 index 0000000000..6efcbb739a --- /dev/null +++ b/android/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/android/.project b/android/.project new file mode 100644 index 0000000000..7e8d136317 --- /dev/null +++ b/android/.project @@ -0,0 +1,33 @@ + + + Rockbox + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml new file mode 100644 index 0000000000..a22c393379 --- /dev/null +++ b/android/AndroidManifest.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/README b/android/README new file mode 100644 index 0000000000..e41bfa6c0c --- /dev/null +++ b/android/README @@ -0,0 +1,34 @@ +This folder contains the java parts needed to build an Rockbox as an +application for android. + +* Build instructions + +Until there's a script which does all the work the procedure is documented here. + +First, make sure you have the ANDROID_NDK_PATH environment variable set up, +otherwise configure will fail to find the compiler. + +Use this as your build folder, using '../tools/configure' etc. + $ ../tools/configure + $ make + +After the build finished, you need to copy librockbox.so to libs/armeabi/. + $ cp librockbox.so libs/armeabi + +For the other files (codecs, themes), you execute 'make zip'. Then you copy the +zip to libs/armeabi, using the name libmisc.so. This is needed, since there's no +way to bundle stuff into apk's and have access to them from native code other +than pretending it was a library. + $ make zip + $ cp rockbox.zip lib/armeabi/libmisc.so + +rockbox.zip..err, libmisc.so will be unpacked at runtime. + +To finish, you can follow this guide [1], or use eclipse. Simply install eclipse +and the android plugins, then import this folder as a new Android project and run it. +See [2] for a guide on how to set up eclipse for android development. + + + +[1]: http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/ +[2]: http://developer.android.com/sdk/installing.html diff --git a/android/default.properties b/android/default.properties new file mode 100644 index 0000000000..9d79b12c71 --- /dev/null +++ b/android/default.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-4 diff --git a/android/gen/org/rockbox/R.java b/android/gen/org/rockbox/R.java new file mode 100644 index 0000000000..38c177ef36 --- /dev/null +++ b/android/gen/org/rockbox/R.java @@ -0,0 +1,22 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package org.rockbox; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int icon=0x7f020000; + } + public static final class layout { + public static final int main=0x7f030000; + } + public static final class string { + public static final int app_name=0x7f040000; + } +} diff --git a/android/res/drawable-hdpi/icon.png b/android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8074c4c571b8cd19e27f4ee5545df367420686d7 GIT binary patch literal 4147 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 literal 0 HcmV?d00001 diff --git a/android/res/drawable-ldpi/icon.png b/android/res/drawable-ldpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1095584ec21f71cd0afc9e0993aa2209671b590c GIT binary patch literal 1723 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 + + diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml new file mode 100644 index 0000000000..6c3c8464fd --- /dev/null +++ b/android/res/values/strings.xml @@ -0,0 +1,5 @@ + + + + Rockbox + diff --git a/android/src/org/rockbox/RockboxActivity.java b/android/src/org/rockbox/RockboxActivity.java new file mode 100644 index 0000000000..791cad90ff --- /dev/null +++ b/android/src/org/rockbox/RockboxActivity.java @@ -0,0 +1,148 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +package org.rockbox; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +import android.app.Activity; +import android.graphics.Rect; +import android.os.Bundle; +import android.util.Log; +import android.view.Window; +import android.view.WindowManager; + +public class RockboxActivity extends Activity { + /** Called when the activity is first created. */ + public RockboxFramebuffer fb; + private Thread rb; + static final int BUFFER = 2048; + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + LOG("start rb"); + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN + ,WindowManager.LayoutParams.FLAG_FULLSCREEN); + fb = new RockboxFramebuffer(this); + if (true) { + try + { + BufferedOutputStream dest = null; + BufferedInputStream is = null; + ZipEntry entry; + File file = new File("/data/data/org.rockbox/lib/libmisc.so"); + /* use arbitary file to determine whether extracting is needed */ + File file2 = new File("/data/data/org.rockbox/app_rockbox/rockbox/codecs/mpa.codec"); + if (!file2.exists() || (file.lastModified() > file2.lastModified())) + { + ZipFile zipfile = new ZipFile(file); + Enumeration e = zipfile.entries(); + File folder; + while(e.hasMoreElements()) { + entry = (ZipEntry) e.nextElement(); + LOG("Extracting: " +entry); + if (entry.isDirectory()) + { + folder = new File(entry.getName()); + LOG("mkdir "+ entry); + try { + folder.mkdirs(); + } catch (SecurityException ex){ + LOG(ex.getMessage()); + } + continue; + } + is = new BufferedInputStream(zipfile.getInputStream(entry)); + int count; + byte data[] = new byte[BUFFER]; + folder = new File(new File(entry.getName()).getParent()); + LOG("" + folder.getAbsolutePath()); + if (!folder.exists()) + folder.mkdirs(); + FileOutputStream fos = new FileOutputStream(entry.getName()); + dest = new BufferedOutputStream(fos, BUFFER); + while ((count = is.read(data, 0, BUFFER)) != -1) { + dest.write(data, 0, count); + } + dest.flush(); + dest.close(); + is.close(); + } + } + } catch(Exception e) { + e.printStackTrace(); + }} + Rect r = new Rect(); + fb.getDrawingRect(r); + LOG(r.left + " " + r.top + " " + r.right + " " + r.bottom); + rb = new Thread(new Runnable() + { + public void run() + { + main(); + } + },"Rockbox thread"); + System.loadLibrary("rockbox"); + rb.setDaemon(false); + setContentView(fb); + } + + private void LOG(CharSequence text) + { + Log.d("RockboxBootloader", (String) text); + } + + public synchronized void onStart() + { + super.onStart(); + if (!rb.isAlive()) + rb.start(); + } + + public void onPause() + { + super.onPause(); + } + + public void onResume() + { + super.onResume(); + switch (rb.getState()) { + case BLOCKED: LOG("BLOCKED"); break; + case RUNNABLE: LOG("RUNNABLE"); break; + case NEW: LOG("NEW"); break; + case TERMINATED: LOG("TERMINATED"); break; + case TIMED_WAITING: LOG("TIMED_WAITING"); break; + case WAITING: LOG("WAITING"); break; + } + } + + + private native void main(); +} \ No newline at end of file diff --git a/android/src/org/rockbox/RockboxFramebuffer.java b/android/src/org/rockbox/RockboxFramebuffer.java new file mode 100644 index 0000000000..f947806bb4 --- /dev/null +++ b/android/src/org/rockbox/RockboxFramebuffer.java @@ -0,0 +1,98 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +package org.rockbox; + +import java.nio.ByteBuffer; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.os.Handler; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; + +public class RockboxFramebuffer extends View +{ + private Bitmap btm; + private ByteBuffer native_buf; + private Handler update_handler; + private Runnable cb; + + + public RockboxFramebuffer(Context c) + { + super(c); + update_handler = new Handler(); + cb = new Runnable() { + public void run() + { + btm.copyPixelsFromBuffer(native_buf); + invalidate(); + } + }; + btm = null; + } + + public void onDraw(Canvas c) + { + if (btm != null) + c.drawBitmap(btm, 0.0f, 0.0f, null); + } + + public void java_lcd_init(int lcd_width, int lcd_height, ByteBuffer native_fb) + { + btm = Bitmap.createBitmap(lcd_width, lcd_height, Bitmap.Config.RGB_565); + native_buf = native_fb; + } + + public void java_lcd_update() + { + update_handler.post(cb); + } + + private void LOG(CharSequence text) + { + Log.d("RockboxBootloader", (String) text); + } + + public boolean onTouchEvent(MotionEvent me) + { + LOG("onTouchEvent"); + switch (me.getAction()) + { + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: + touchHandler(0); + break; + case MotionEvent.ACTION_MOVE: + case MotionEvent.ACTION_DOWN: + touchHandler(1); + break; + + } + pixelHandler((int)me.getX(), (int)me.getY()); + return true; + } + + public native void pixelHandler(int x, int y); + public native void touchHandler(int down); +} diff --git a/android/src/org/rockbox/RockboxPCM.java b/android/src/org/rockbox/RockboxPCM.java new file mode 100644 index 0000000000..f098df6991 --- /dev/null +++ b/android/src/org/rockbox/RockboxPCM.java @@ -0,0 +1,155 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +package org.rockbox; + +import android.media.AudioFormat; +import android.media.AudioManager; +import android.media.AudioTrack; +import android.util.Log; + +public class RockboxPCM extends AudioTrack +{ + byte[] raw_data; + + private void LOG(CharSequence text) + { + Log.d("RockboxBootloader", (String) text); + } + + public RockboxPCM() + { + super(AudioManager.STREAM_MUSIC, + 44100, + /* should be CHANNEL_OUT_STEREO in 2.0 and above */ + AudioFormat.CHANNEL_CONFIGURATION_STEREO, + AudioFormat.ENCODING_PCM_16BIT, + 24<<10, + AudioTrack.MODE_STREAM); + int buf_len = 24<<10; + + raw_data = new byte[buf_len*2]; + for(int i = 0; i < raw_data.length; i++) raw_data[i] = (byte) 0x00; + /* fill with silence */ + write(raw_data, 0, raw_data.length); + if (getState() == AudioTrack.STATE_INITIALIZED) + { + if (setNotificationMarkerPosition(bytes2frames(buf_len*2)/4) != AudioTrack.SUCCESS) + LOG("setNotificationMarkerPosition Error"); + setPlaybackPositionUpdateListener(new PCMListener(buf_len*2)); + } + } + + + + int bytes2frames(int bytes) { + /* 1 sample is 2 bytes, 2 samples are 1 frame */ + return (bytes/4); + } + + int frames2bytes(int frames) { + /* 1 frame is 2 samples, 1 sample is 2 bytes */ + return (frames*4); + } + + @SuppressWarnings("unused") + private void play_pause(boolean pause) { + LOG("play_pause()"); + if (pause) + pause(); + else + { + if (getPlayState() == AudioTrack.PLAYSTATE_STOPPED) + { + for(int i = 0; i < raw_data.length; i++) raw_data[i] = (byte) 0x00; + LOG("Writing silence"); + /* fill with silence */ + write(raw_data, 0, raw_data.length); + } + play(); + } + LOG("play_pause() return"); + } + + @SuppressWarnings("unused") + private void set_volume(int volume) + { + /* volume comes from 0..-990 from Rockbox */ + /* TODO volume is in dB, but this code acts as if it were in %, convert? */ + float fvolume; + /* special case min and max volume to not suffer from floating point accuracy */ + if (volume == 0) + fvolume = 1.0f; + else if (volume == -990) + fvolume = 0.0f; + else + fvolume = (volume + 990)/990.0f; + setStereoVolume(fvolume, fvolume); + } + + public native void pcmSamplesToByteArray(byte[] dest); + + private class PCMListener implements OnPlaybackPositionUpdateListener { + int max_len; + byte[] buf; + public PCMListener(int len) { + max_len = len; + buf = new byte[len/2]; + } + @Override + public void onMarkerReached(AudioTrack track) { + // push new data to the hardware + int result = 1; + pcmSamplesToByteArray(buf); + //LOG("Trying to write " + buf.length + " bytes"); + result = track.write(buf, 0, buf.length); + if (result > 0) + { + //LOG(result + " bytes written"); + track.setPlaybackPositionUpdateListener(this); + track.setNotificationMarkerPosition(bytes2frames(max_len)/4); + switch(track.getPlayState()) + { + case AudioTrack.PLAYSTATE_PLAYING: + //LOG("State PLAYING"); + break; + case AudioTrack.PLAYSTATE_PAUSED: + LOG("State PAUSED"); + break; + case AudioTrack.PLAYSTATE_STOPPED: + LOG("State STOPPED"); + break; + } + } + else + { + LOG("Error in onMarkerReached"); + track.stop(); + } + } + + @Override + public void onPeriodicNotification(AudioTrack track) { + // TODO Auto-generated method stub + + } + } +} diff --git a/android/src/org/rockbox/RockboxTimer.java b/android/src/org/rockbox/RockboxTimer.java new file mode 100644 index 0000000000..c7239b4ee6 --- /dev/null +++ b/android/src/org/rockbox/RockboxTimer.java @@ -0,0 +1,93 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +package org.rockbox; + +import java.util.Timer; +import java.util.TimerTask; + +import android.util.Log; + +public class RockboxTimer extends Timer +{ + RockboxTimerTask task; + long interval; + + private class RockboxTimerTask extends TimerTask { + private RockboxTimer t; + public RockboxTimerTask(RockboxTimer parent) { + super(); + t = parent; + } + + @Override + public void run() { + timerTask(); + synchronized(t) { + t.notify(); + } + } + } + + public void pause() + { + cancel(); + } + public void resume() + { + try { + schedule(task, 0, interval); + } catch (IllegalStateException e) { + /* not an error */ + } catch (Exception e) { + LOG(e.toString()); + } + } + + public RockboxTimer(long period_inverval_in_ms) + { + super("tick timer", false); + task = new RockboxTimerTask(this); + schedule(task, 0, period_inverval_in_ms); + interval = period_inverval_in_ms; + } + + private void LOG(CharSequence text) + { + Log.d("RockboxBootloader", (String) text); + } + + + /* methods called from native, keep them simple */ + public void java_wait_for_interrupt() + { + synchronized(this) { + try { + this.wait(); + } catch (InterruptedException e) { + /* wakeup and return */ + } catch (Exception e) { + LOG(e.toString()); + } + } + } + public native void timerTask(); +} diff --git a/apps/codecs/codec_crt0.c b/apps/codecs/codec_crt0.c index dd0f99ffd8..c680030fee 100644 --- a/apps/codecs/codec_crt0.c +++ b/apps/codecs/codec_crt0.c @@ -34,6 +34,10 @@ extern unsigned char plugin_end_addr[]; extern enum codec_status codec_main(void); +/* stub, the entry point is called via its reference in __header to + * avoid warning with certain compilers */ +int _start(void) {return 0;} + enum codec_status codec_start(void) { #if (CONFIG_PLATFORM & PLATFORM_NATIVE) diff --git a/apps/codecs/libwavpack/wavpack.h b/apps/codecs/libwavpack/wavpack.h index 5b5385a521..ee7c969b4c 100644 --- a/apps/codecs/libwavpack/wavpack.h +++ b/apps/codecs/libwavpack/wavpack.h @@ -16,7 +16,9 @@ typedef unsigned char uchar; typedef unsigned short ushort; +#if 0 // unused and causing compiler errrors typedef unsigned int uint; +#endif #include diff --git a/backdrops/cabbiev2.320x480x16.bmp b/backdrops/cabbiev2.320x480x16.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6933fd06755c94d957e661d1d15daa31ea7dc79d GIT binary patch literal 614454 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 V* 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 a4t(8#uRHK{2fpsW*B$t}1OLC>f&T+f`R0fK literal 0 HcmV?d00001 diff --git a/bootloader/common.c b/bootloader/common.c index 362c3b4d11..1099b9f453 100644 --- a/bootloader/common.c +++ b/bootloader/common.c @@ -68,7 +68,7 @@ void reset_screen(void) #endif } -void printf(const char *format, ...) +int printf(const char *format, ...) { int len; unsigned char *ptr; @@ -91,6 +91,7 @@ void printf(const char *format, ...) if(remote_line >= LCD_REMOTE_HEIGHT/SYSFONT_HEIGHT) remote_line = 0; #endif + return len; } char *strerror(int error) diff --git a/bootloader/common.h b/bootloader/common.h index 6713585ad8..7d5425c9c8 100644 --- a/bootloader/common.h +++ b/bootloader/common.h @@ -41,7 +41,7 @@ extern bool verbose; /* Functions common to all bootloaders */ void reset_screen(void); -void printf(const char *format, ...); +int printf(const char *format, ...); char *strerror(int error); void error(int errortype, int error, bool shutdown); int load_firmware(unsigned char* buf, char* firmware, int buffer_size); diff --git a/firmware/SOURCES b/firmware/SOURCES index d8cfadef11..4092f71e04 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -1698,3 +1698,14 @@ target/coldfire/mpio/fmradio_i2c-mpio.c #endif /* BOOTLOADER */ #endif /* SIMULATOR */ #endif + + +#if (CONFIG_PLATFORM & PLATFORM_ANDROID) +target/hosted/android/lcd-android.c +target/hosted/android/button-android.c +target/hosted/android/kernel-android.c +target/hosted/android/pcm-android.c +target/hosted/android/system-android.c +drivers/audio/android.c +thread.c +#endif diff --git a/firmware/common/rbpaths.c b/firmware/common/rbpaths.c index 69bc1387ef..b63586c9f4 100644 --- a/firmware/common/rbpaths.c +++ b/firmware/common/rbpaths.c @@ -33,9 +33,13 @@ void paths_init(void) { /* make sure $HOME/.config/rockbox.org exists, it's needed for config.cfg */ +#if (CONFIG_PLATFORM & PLATFORM_ANDROID) + mkdir("/sdcard/rockbox"); +#else char home_path[MAX_PATH]; snprintf(home_path, sizeof(home_path), "%s/.config/rockbox.org", getenv("HOME")); mkdir(home_path); +#endif } const char* get_user_file_path(const char *path, @@ -50,7 +54,11 @@ const char* get_user_file_path(const char *path, pos += ROCKBOX_DIR_LEN; if (*pos == '/') pos += 1; +#if (CONFIG_PLATFORM & PLATFORM_ANDROID) + if (snprintf(buf, bufsize, "/sdcard/rockbox/%s", pos) +#else if (snprintf(buf, bufsize, "%s/.config/rockbox.org/%s", getenv("HOME"), pos) +#endif >= (int)bufsize) return NULL; diff --git a/firmware/drivers/audio/android.c b/firmware/drivers/audio/android.c new file mode 100644 index 0000000000..300bb08482 --- /dev/null +++ b/firmware/drivers/audio/android.c @@ -0,0 +1,61 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright © 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include "config.h" +#include "audiohw.h" + +const struct sound_settings_info audiohw_settings[] = { + [SOUND_VOLUME] = {"dB", 0, 1, VOLUME_MIN / 10, VOLUME_MAX / 10, -25}, +/* Bass and treble tone controls */ +#ifdef AUDIOHW_HAVE_BASS + [SOUND_BASS] = {"dB", 0, 1, -24, 24, 0}, +#endif +#ifdef AUDIOHW_HAVE_TREBLE + [SOUND_TREBLE] = {"dB", 0, 1, -24, 24, 0}, +#endif + [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0}, + [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0}, + [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100}, +#if defined(HAVE_RECORDING) + [SOUND_LEFT_GAIN] = {"dB", 1, 1,-128, 96, 0}, + [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0}, + [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16}, +#endif +#if defined(AUDIOHW_HAVE_BASS_CUTOFF) + [SOUND_BASS_CUTOFF] = {"", 0, 1, 1, 4, 1}, +#endif +#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF) + [SOUND_TREBLE_CUTOFF] = {"", 0, 1, 1, 4, 1}, +#endif +}; + + +void audiohw_set_volume(int volume) +{ + extern void pcm_set_mixer_volume(int); + pcm_set_mixer_volume(volume); +} + +void audiohw_set_balance(int balance) +{ + (void)balance; +} diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index d4861aac5a..658dd1301c 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h @@ -66,7 +66,7 @@ #elif defined(HAVE_AK4537) #include "ak4537.h" #endif -#if defined(HAVE_SDL_AUDIO) +#if (CONFIG_PLATFORM & PLATFORM_HOSTED) /* #include gives errors in other code areas, * we don't really need it here, so don't. but it should maybe be fixed */ #ifndef SIMULATOR /* simulator gets values from the target .h files */ diff --git a/firmware/export/config.h b/firmware/export/config.h index 1b8a782f39..3b59004549 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -78,8 +78,10 @@ * bit fields to allow PLATFORM_HOSTED to be OR'ed e.g. with a * possible future PLATFORM_ANDROID (some OSes might need totally different * handling to run on them than a stand-alone application) */ -#define PLATFORM_NATIVE (1<<0) -#define PLATFORM_HOSTED (1<<1) +#define PLATFORM_NATIVE (1<<0) +#define PLATFORM_HOSTED (1<<1) +#define PLATFORM_ANDROID (1<<2) +#define PLATFORM_SDL (1<<3) /* CONFIG_KEYPAD */ #define PLAYER_PAD 1 @@ -427,6 +429,8 @@ Lyre prototype 1 */ #elif defined(APPLICATION) #include "config/application.h" +#define CONFIG_CPU 0 +#define CONFIG_STORAGE 0 #else /* no known platform */ #endif @@ -689,11 +693,17 @@ Lyre prototype 1 */ #define HAVE_EXTENDED_MESSAGING_AND_NAME #define HAVE_WAKEUP_EXT_CB + +#if (CONFIG_PLATFORM & PLATFORM_ANDROID) +#define HAVE_PRIORITY_SCHEDULING +#endif + #if (CONFIG_PLATFORM & PLATFORM_NATIVE) #define HAVE_PRIORITY_SCHEDULING #define HAVE_SCHEDULER_BOOSTCTRL #endif /* PLATFORM_NATIVE */ + #define HAVE_SEMAPHORE_OBJECTS #if defined(HAVE_USBSTACK) && CONFIG_USBOTG == USBOTG_ARC diff --git a/firmware/export/config/application.h b/firmware/export/config/application.h index a5583ded75..988f0d51ac 100644 --- a/firmware/export/config/application.h +++ b/firmware/export/config/application.h @@ -4,11 +4,13 @@ #define TARGET_TREE /* this target is using the target tree system */ /* We don't run on hardware directly */ -#define CONFIG_PLATFORM PLATFORM_HOSTED +#ifdef ANDROID +#define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_ANDROID) +#else +#define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_SDL) +#endif /* For Rolo and boot loader */ -/* -#define MODEL_NUMBER 24 -*/ +#define MODEL_NUMBER 100 #define MODEL_NAME "Rockbox" @@ -37,9 +39,17 @@ /* define this if you would like tagcache to build on this target */ #define HAVE_TAGCACHE -/* LCD dimensions */ +/* LCD dimensions + * + * overriden by configure for application builds */ +#ifndef LCD_WIDTH #define LCD_WIDTH 320 -#define LCD_HEIGHT 240 +#endif + +#ifndef LCD_HEIGHT +#define LCD_HEIGHT 480 +#endif + #define LCD_DEPTH 16 #define LCD_PIXELFORMAT 565 @@ -62,10 +72,10 @@ #define CONFIG_CODEC SWCODEC #define CONFIG_KEYPAD COWON_D2_PAD + +#if (CONFIG_PLATFORM & PLATFORM_SDL) /* Use SDL audio/pcm in a SDL app build */ #define HAVE_SDL - -#ifdef HAVE_SDL #define HAVE_SDL_AUDIO #endif @@ -92,3 +102,5 @@ /* Define this if a programmable hotkey is mapped */ //#define HAVE_HOTKEY + +#define BOOTDIR "/.rockbox" diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h index 5dcb4f6f2d..066201ad08 100644 --- a/firmware/export/config/sim.h +++ b/firmware/export/config/sim.h @@ -99,7 +99,8 @@ #define DEFAULT_BRIGHTNESS_SETTING MAX_BRIGHTNESS_SETTING #endif +#define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_SDL) #define HAVE_SDL #define HAVE_SDL_AUDIO -#define CONFIG_PLATFORM PLATFORM_HOSTED + #define _ISOC99_SOURCE 1 diff --git a/firmware/export/debug.h b/firmware/export/debug.h index f7f0f32426..f19a96c526 100644 --- a/firmware/export/debug.h +++ b/firmware/export/debug.h @@ -21,6 +21,7 @@ #ifndef DEBUG_H #define DEBUG_H +#include "config.h" #include "gcc_extensions.h" extern void debug_init(void); @@ -34,7 +35,11 @@ extern void ldebugf(const char* file, int line, const char *fmt, ...) /* */ #if defined(SIMULATOR) && !defined(__PCTOOL__) #define DEBUGF debugf -#define LDEBUGF(...) ldebugf(__FILE__, __LINE__, __VA_ARGS__) +#define LDEBUGF(...) ldebugf(__FILE__, __LINE__, __VA_ARGS__) && defined(DEBUG) +#elif (CONFIG_PLATFORM & PLATFORM_ANDROID) +#include "system-target.h" +#define DEBUGF LOG +#define LDEBUGF(...) #else #if defined(DEBUG) diff --git a/firmware/export/thread.h b/firmware/export/thread.h index c4b7d1fa22..2853c0b121 100644 --- a/firmware/export/thread.h +++ b/firmware/export/thread.h @@ -79,9 +79,19 @@ #define MAXTHREADS (BASETHREADS+TARGET_EXTRA_THREADS) +/* + * We need more stack when we run under a host + * maybe more expensive C lib functions? + * + * simulator doesn't simulate stack usage anyway but well ... */ +#if ((CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SIMULATOR)) #define DEFAULT_STACK_SIZE 0x400 /* Bytes */ +#else +#define DEFAULT_STACK_SIZE 0x1000 /* Bytes */ +#endif -#if (CONFIG_PLATFORM & PLATFORM_NATIVE) + +#if (CONFIG_PLATFORM & (PLATFORM_NATIVE|PLATFORM_ANDROID)) /* Need to keep structures inside the header file because debug_menu * needs them. */ #ifdef CPU_COLDFIRE @@ -101,7 +111,7 @@ struct regs uint32_t pr; /* 32 - Procedure register */ uint32_t start; /* 36 - Thread start address, or NULL when started */ }; -#elif defined(CPU_ARM) +#elif defined(CPU_ARM) || (CONFIG_PLATFORM & PLATFORM_ANDROID) struct regs { uint32_t r[8]; /* 0-28 - Registers r4-r11 */ diff --git a/firmware/sound.c b/firmware/sound.c index 76f1dd0df6..4cc63f4583 100644 --- a/firmware/sound.c +++ b/firmware/sound.c @@ -273,7 +273,7 @@ static void set_prescaled_volume(void) #elif defined(HAVE_TLV320) || defined(HAVE_WM8978) || defined(HAVE_WM8985) audiohw_set_headphone_vol(tenthdb2master(l), tenthdb2master(r)); -#elif defined(HAVE_JZ4740_CODEC) || defined(HAVE_SDL_AUDIO) +#elif defined(HAVE_JZ4740_CODEC) || defined(HAVE_SDL_AUDIO) || defined(ANDROID) audiohw_set_volume(current_volume); #endif #else /* HAVE_SDL_AUDIO */ diff --git a/firmware/target/hosted/android/app/adc-target.h b/firmware/target/hosted/android/app/adc-target.h new file mode 100644 index 0000000000..f8069be6f5 --- /dev/null +++ b/firmware/target/hosted/android/app/adc-target.h @@ -0,0 +1,25 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __ADC_TARGET_H__ +#define __ADC_TARGET_H__ + +#endif /* __ADC_TARGET_H__ */ diff --git a/firmware/target/hosted/android/app/backlight-target.h b/firmware/target/hosted/android/app/backlight-target.h new file mode 100644 index 0000000000..f753e7c1dd --- /dev/null +++ b/firmware/target/hosted/android/app/backlight-target.h @@ -0,0 +1,25 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __BACKLIGHT_TARGET_H__ +#define __BACKLIGHT_TARGET_H__ + +#endif /* __BACKLIGHT_TARGET_H__ */ diff --git a/firmware/target/hosted/android/app/button-application.c b/firmware/target/hosted/android/app/button-application.c new file mode 100644 index 0000000000..a27f769718 --- /dev/null +++ b/firmware/target/hosted/android/app/button-application.c @@ -0,0 +1,29 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************9*************************/ + + +#include "button.h" + +int key_to_button(int keyboard_key) +{ + (void)keyboard_key; + return BUTTON_NONE; +} diff --git a/firmware/target/hosted/android/app/button-target.h b/firmware/target/hosted/android/app/button-target.h new file mode 100644 index 0000000000..329ed651af --- /dev/null +++ b/firmware/target/hosted/android/app/button-target.h @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 by Rob Purchase + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _BUTTON_TARGET_H_ +#define _BUTTON_TARGET_H_ + +#include +#include "config.h" + +#undef button_init_device +void button_init_device(void); +int button_read_device(int *data); + +/* Main unit's buttons */ +#define BUTTON_POWER 0x00000001 +#define BUTTON_PLUS 0x00000002 +#define BUTTON_MINUS 0x00000004 +#define BUTTON_MENU 0x00000008 + +/* Compatibility hacks for flipping. Needs a somewhat better fix. */ +#define BUTTON_LEFT BUTTON_MIDLEFT +#define BUTTON_RIGHT BUTTON_MIDRIGHT +#define BUTTON_UP BUTTON_TOPMIDDLE +#define BUTTON_DOWN BUTTON_BOTTOMMIDDLE + +/* Touch Screen Area Buttons */ +#define BUTTON_TOPLEFT 0x00000010 +#define BUTTON_TOPMIDDLE 0x00000020 +#define BUTTON_TOPRIGHT 0x00000040 +#define BUTTON_MIDLEFT 0x00000080 +#define BUTTON_CENTER 0x00000100 +#define BUTTON_MIDRIGHT 0x00000200 +#define BUTTON_BOTTOMLEFT 0x00000400 +#define BUTTON_BOTTOMMIDDLE 0x00000800 +#define BUTTON_BOTTOMRIGHT 0x00001000 + +#define BUTTON_MAIN 0x1FFF + +/* No remote */ +#define BUTTON_REMOTE 0 + +/* Software power-off */ +#define POWEROFF_BUTTON BUTTON_POWER +#define POWEROFF_COUNT 10 + +#endif /* _BUTTON_TARGET_H_ */ diff --git a/firmware/target/hosted/android/app/i2c-target.h b/firmware/target/hosted/android/app/i2c-target.h new file mode 100644 index 0000000000..89f0436b9e --- /dev/null +++ b/firmware/target/hosted/android/app/i2c-target.h @@ -0,0 +1,25 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __I2C_TARGET_H__ +#define __I2C_TARGET_H__ + +#endif /* __I2C_TARGET_H__ */ diff --git a/firmware/target/hosted/android/app/usb-target.h b/firmware/target/hosted/android/app/usb-target.h new file mode 100644 index 0000000000..10e04677f9 --- /dev/null +++ b/firmware/target/hosted/android/app/usb-target.h @@ -0,0 +1,25 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __USB_TARGET_H__ +#define __USB_TARGET_H__ + +#endif /* __USB_TARGET_H__ */ diff --git a/firmware/target/hosted/android/button-android.c b/firmware/target/hosted/android/button-android.c new file mode 100644 index 0000000000..67e8ca1f89 --- /dev/null +++ b/firmware/target/hosted/android/button-android.c @@ -0,0 +1,87 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include +#include "config.h" +#include "kernel.h" +#include "system.h" +#include "touchscreen.h" + +static long last_touch; +static int last_y, last_x; + +static enum { + STATE_UNKNOWN, + STATE_UP, + STATE_DOWN, +} last_state = STATE_UNKNOWN; + + +/* + * this writes in an interrupt-like fashion the last pixel coordinates + * that the user pressed on the screen */ +JNIEXPORT void JNICALL +Java_org_rockbox_RockboxFramebuffer_pixelHandler(JNIEnv*env, jobject this, + int x, int y) +{ + (void)env; + (void)this; + last_x = x; + last_y = y; + last_touch = current_tick; +} + +/* + * this notifies us in an interrupt-like fashion whether the user just + * began or stopped the touch action */ +JNIEXPORT void JNICALL +Java_org_rockbox_RockboxFramebuffer_touchHandler(JNIEnv*env, jobject this, + int down) +{ + (void)env; + (void)this; + if (down) + last_state = STATE_DOWN; + else + last_state = STATE_UP; +} + +void button_init_device(void) +{ + last_touch = current_tick; +} + +int button_read_device(int *data) +{ + /* get grid button/coordinates based on the current touchscreen mode */ + int btn = touchscreen_to_pixels(last_x, last_y, data); + if (last_state == STATE_DOWN) + { + return btn; + } + else + { + *data = last_x = last_y = 0; + return 0; + } +} diff --git a/firmware/target/hosted/android/buttonmap.h b/firmware/target/hosted/android/buttonmap.h new file mode 100644 index 0000000000..e90b8a40d4 --- /dev/null +++ b/firmware/target/hosted/android/buttonmap.h @@ -0,0 +1,43 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Fred Bauer + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __BUTTONMAP_H__ +#define __BUTTONMAP_H__ +/* Button maps: simulated key, x, y, radius, name */ +/* Run sim with --mapping to get coordinates */ +/* or --debugbuttons to check */ +/* The First matching button is returned */ +struct button_map { + int button, x, y, radius; + char *description; +}; + +extern struct button_map bm[]; + +int xy2button( int x, int y); + +/* for the sim, these function is implemented in uisimulator/buttonmap/ *.c */ +int key_to_button(int keyboard_button); +#ifdef HAVE_TOUCHSCREEN +int key_to_touch(int keyboard_button, unsigned int mouse_coords); +#endif + +#endif /* __BUTTONMAP_H__ */ diff --git a/firmware/target/hosted/android/kernel-android.c b/firmware/target/hosted/android/kernel-android.c new file mode 100644 index 0000000000..9594516460 --- /dev/null +++ b/firmware/target/hosted/android/kernel-android.c @@ -0,0 +1,106 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "config.h" +#include "system.h" + +extern JNIEnv *env_ptr; +extern jclass RockboxActivity_class; +extern jobject RockboxActivity_instance; + +static jclass RockboxTimer_class; +static jobject RockboxTimer_instance; +static jmethodID java_wait_for_interrupt; +static bool initialized = false; + +/* + * This is called from the separate Timer java thread. I have not added any + * interrupt simulation to it (like the sdl counterpart does), + * I think this is probably not needed, unless code calls disable_interrupt() + * in order to be protected from tick tasks, but I can't remember a place right + * now. + * + * No synchronisation mechanism either. This could possibly be problematic, + * but we'll see :) + */ +JNIEXPORT void JNICALL +Java_org_rockbox_RockboxTimer_timerTask(JNIEnv *env, jobject this) +{ + (void)env; + (void)this; + call_tick_tasks(); +} + +void tick_start(unsigned int interval_in_ms) +{ + JNIEnv e = *env_ptr; + /* first, create a new Timer instance */ + RockboxTimer_class = e->FindClass(env_ptr, "org/rockbox/RockboxTimer"); + jmethodID constructor = e->GetMethodID(env_ptr, + RockboxTimer_class, + "", + "(J)V"); + /* the constructor will do the tick_start */ + RockboxTimer_instance = e->NewObject(env_ptr, + RockboxTimer_class, + constructor, + (jlong)interval_in_ms); + + /* get our wfi func also */ + java_wait_for_interrupt = e->GetMethodID(env_ptr, + RockboxTimer_class, + "java_wait_for_interrupt", + "()V"); + /* it's now safe to call java_wait_for_interrupt */ + initialized = true; +} + +void wait_for_interrupt(void) +{ + if (LIKELY(initialized)) + { + (*env_ptr)->CallVoidMethod(env_ptr, + RockboxTimer_instance, + java_wait_for_interrupt); + } +} + +bool timer_register(int reg_prio, void (*unregister_callback)(void), + long cycles, void (*timer_callback)(void)) +{ + (void)reg_prio; + (void)unregister_callback; + (void)cycles; + (void)timer_callback; + return false; +} + +bool timer_set_period(long cycles) +{ + (void)cycles; + return false; +} + +void timer_unregister(void) +{ +} diff --git a/firmware/target/hosted/android/lcd-android.c b/firmware/target/hosted/android/lcd-android.c new file mode 100644 index 0000000000..ef4004ef2a --- /dev/null +++ b/firmware/target/hosted/android/lcd-android.c @@ -0,0 +1,291 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "config.h" +#include "system.h" +#include "lcd.h" + +extern JNIEnv *env_ptr; +extern jclass RockboxActivity_class; +extern jobject RockboxActivity_instance; + +static jobject Framebuffer_instance; +static jmethodID java_lcd_update; + +void lcd_init_device(void) +{ + /* get the RockboxFramebuffer instance allocated by the activity */ + jfieldID id = (*env_ptr)->GetFieldID(env_ptr, + RockboxActivity_class, + "fb", + "Lorg/rockbox/RockboxFramebuffer;"); + + Framebuffer_instance = (*env_ptr)->GetObjectField(env_ptr, + RockboxActivity_instance, + id); + + jclass Framebuffer_class = (*env_ptr)->GetObjectClass(env_ptr, + Framebuffer_instance); + + /* get the java init function and call it. it'll set up a bitmap + * based on LCD_WIDTH, LCD_HEIGHT and the ByteBuffer which directly maps + * our framebuffer */ + + jmethodID java_init_lcd = (*env_ptr)->GetMethodID(env_ptr, + Framebuffer_class, + "java_lcd_init", + "(IILjava/nio/ByteBuffer;)V"); + java_lcd_update = (*env_ptr)->GetMethodID(env_ptr, + Framebuffer_class, + "java_lcd_update", + "()V"); + + /* map the framebuffer to a ByteBuffer, this way lcd updates will + * be directly feched from the framebuffer */ + jobject buf = (*env_ptr)->NewDirectByteBuffer(env_ptr, + lcd_framebuffer, + sizeof(lcd_framebuffer)); + + (*env_ptr)->CallVoidMethod(env_ptr, + Framebuffer_instance, + java_init_lcd, + LCD_WIDTH, LCD_HEIGHT, buf); +} + +void lcd_update() +{ + /* tell the system we're ready for drawing */ + (*env_ptr)->CallVoidMethod(env_ptr, Framebuffer_instance, java_lcd_update); +} + +void lcd_update_rect(int x, int y, int height, int width) +{ + /* can't do partial updates yet */ + (void)x; (void)y; (void)height; (void)width; + lcd_update(); +} + +/* below is a plain copy from lcd-sdl.c */ + +/** + * |R| |1.000000 -0.000001 1.402000| |Y'| + * |G| = |1.000000 -0.334136 -0.714136| |Pb| + * |B| |1.000000 1.772000 0.000000| |Pr| + * Scaled, normalized, rounded and tweaked to yield RGB 565: + * |R| |74 0 101| |Y' - 16| >> 9 + * |G| = |74 -24 -51| |Cb - 128| >> 8 + * |B| |74 128 0| |Cr - 128| >> 9 + */ +#define YFAC (74) +#define RVFAC (101) +#define GUFAC (-24) +#define GVFAC (-51) +#define BUFAC (128) + +static inline int clamp(int val, int min, int max) +{ + if (val < min) + val = min; + else if (val > max) + val = max; + return val; +} + +void lcd_yuv_set_options(unsigned options) +{ + (void)options; +} + +/* Draw a partial YUV colour bitmap - similiar behavior to lcd_blit_yuv + in the core */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + const unsigned char *ysrc, *usrc, *vsrc; + int linecounter; + fb_data *dst, *row_end; + long z; + + /* width and height must be >= 2 and an even number */ + width &= ~1; + linecounter = height >> 1; + +#if LCD_WIDTH >= LCD_HEIGHT + dst = &lcd_framebuffer[y][x]; + row_end = dst + width; +#else + dst = &lcd_framebuffer[x][LCD_WIDTH - y - 1]; + row_end = dst + LCD_WIDTH * width; +#endif + + z = stride * src_y; + ysrc = src[0] + z + src_x; + usrc = src[1] + (z >> 2) + (src_x >> 1); + vsrc = src[2] + (usrc - src[1]); + + /* stride => amount to jump from end of last row to start of next */ + stride -= width; + + /* upsampling, YUV->RGB conversion and reduction to RGB565 in one go */ + + do + { + do + { + int y, cb, cr, rv, guv, bu, r, g, b; + + y = YFAC*(*ysrc++ - 16); + cb = *usrc++ - 128; + cr = *vsrc++ - 128; + + rv = RVFAC*cr; + guv = GUFAC*cb + GVFAC*cr; + bu = BUFAC*cb; + + r = y + rv; + g = y + guv; + b = y + bu; + + if ((unsigned)(r | g | b) > 64*256-1) + { + r = clamp(r, 0, 64*256-1); + g = clamp(g, 0, 64*256-1); + b = clamp(b, 0, 64*256-1); + } + + *dst = LCD_RGBPACK_LCD(r >> 9, g >> 8, b >> 9); + +#if LCD_WIDTH >= LCD_HEIGHT + dst++; +#else + dst += LCD_WIDTH; +#endif + + y = YFAC*(*ysrc++ - 16); + r = y + rv; + g = y + guv; + b = y + bu; + + if ((unsigned)(r | g | b) > 64*256-1) + { + r = clamp(r, 0, 64*256-1); + g = clamp(g, 0, 64*256-1); + b = clamp(b, 0, 64*256-1); + } + + *dst = LCD_RGBPACK_LCD(r >> 9, g >> 8, b >> 9); + +#if LCD_WIDTH >= LCD_HEIGHT + dst++; +#else + dst += LCD_WIDTH; +#endif + } + while (dst < row_end); + + ysrc += stride; + usrc -= width >> 1; + vsrc -= width >> 1; + +#if LCD_WIDTH >= LCD_HEIGHT + row_end += LCD_WIDTH; + dst += LCD_WIDTH - width; +#else + row_end -= 1; + dst -= LCD_WIDTH*width + 1; +#endif + + do + { + int y, cb, cr, rv, guv, bu, r, g, b; + + y = YFAC*(*ysrc++ - 16); + cb = *usrc++ - 128; + cr = *vsrc++ - 128; + + rv = RVFAC*cr; + guv = GUFAC*cb + GVFAC*cr; + bu = BUFAC*cb; + + r = y + rv; + g = y + guv; + b = y + bu; + + if ((unsigned)(r | g | b) > 64*256-1) + { + r = clamp(r, 0, 64*256-1); + g = clamp(g, 0, 64*256-1); + b = clamp(b, 0, 64*256-1); + } + + *dst = LCD_RGBPACK_LCD(r >> 9, g >> 8, b >> 9); + +#if LCD_WIDTH >= LCD_HEIGHT + dst++; +#else + dst += LCD_WIDTH; +#endif + + y = YFAC*(*ysrc++ - 16); + r = y + rv; + g = y + guv; + b = y + bu; + + if ((unsigned)(r | g | b) > 64*256-1) + { + r = clamp(r, 0, 64*256-1); + g = clamp(g, 0, 64*256-1); + b = clamp(b, 0, 64*256-1); + } + + *dst = LCD_RGBPACK_LCD(r >> 9, g >> 8, b >> 9); + +#if LCD_WIDTH >= LCD_HEIGHT + dst++; +#else + dst += LCD_WIDTH; +#endif + } + while (dst < row_end); + + ysrc += stride; + usrc += stride >> 1; + vsrc += stride >> 1; + +#if LCD_WIDTH >= LCD_HEIGHT + row_end += LCD_WIDTH; + dst += LCD_WIDTH - width; +#else + row_end -= 1; + dst -= LCD_WIDTH*width + 1; +#endif + } + while (--linecounter > 0); + +#if LCD_WIDTH >= LCD_HEIGHT + lcd_update_rect(x, y, width, height); +#else + lcd_update_rect(LCD_WIDTH - y - height, x, height, width); +#endif +} diff --git a/firmware/target/hosted/android/pcm-android.c b/firmware/target/hosted/android/pcm-android.c new file mode 100644 index 0000000000..91978f422b --- /dev/null +++ b/firmware/target/hosted/android/pcm-android.c @@ -0,0 +1,174 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include +#include +#include "pcm.h" + +extern JNIEnv *env_ptr; +extern jclass RockboxActivity_class; +extern jobject RockboxActivity_instance; + +/* infos about our pcm chunks */ +static size_t pcm_data_size; +static char *pcm_data_start; + +/* cache frequently called methods */ +static jmethodID play_pause_method; +static jmethodID stop_method; +static jmethodID set_volume_method; +static jclass RockboxPCM_class; +static jobject RockboxPCM_instance; + + +/* + * transfer our raw data into a java array + * + * a bit of a monster functions, but it should cover all cases to overcome + * the issue that the chunk size of the java layer and our pcm chunks are + * differently sized + * + * afterall, it only copies the raw pcm data from pcm_data_start to + * the passed byte[]-array + * + * it is called from the PositionMarker callback of AudioTrack + **/ +JNIEXPORT void JNICALL +Java_org_rockbox_RockboxPCM_pcmSamplesToByteArray(JNIEnv *env, + jobject this, + jbyteArray arr) +{ + (void)this; + size_t len; + size_t array_size = (*env)->GetArrayLength(env, arr); + if (array_size > pcm_data_size) + len = pcm_data_size; + else + len = array_size; + + (*env)->SetByteArrayRegion(env, arr, 0, len, pcm_data_start); + + if (array_size > pcm_data_size) + { /* didn't have enough data for the array ? */ + size_t remaining = array_size - pcm_data_size; + size_t offset = len; + retry: + pcm_play_get_more_callback((void**)&pcm_data_start, &pcm_data_size); + if (pcm_data_size == 0) + return; + if (remaining > pcm_data_size) + { /* got too little data, get more ... */ + (*env)->SetByteArrayRegion(env, arr, offset, pcm_data_size, pcm_data_start); + /* advance in the java array by the amount we copied */ + offset += pcm_data_size; + /* we copied at least a bit */ + remaining -= pcm_data_size; + /* let's get another buch of data and try again */ + goto retry; + } + else + (*env)->SetByteArrayRegion(env, arr, offset, remaining, pcm_data_start); + len = remaining; + } + pcm_data_start += len; + pcm_data_size -= len; +} + +void pcm_play_lock(void) +{ +} + +void pcm_play_unlock(void) +{ +} + +void pcm_dma_apply_settings(void) +{ +} + +void pcm_play_dma_start(const void *addr, size_t size) +{ + pcm_data_start = (char*)addr; + pcm_data_size = size; + + pcm_play_dma_pause(false); +} + +void pcm_play_dma_stop(void) +{ + (*env_ptr)->CallVoidMethod(env_ptr, + RockboxPCM_instance, + stop_method); +} + +void pcm_play_dma_pause(bool pause) +{ + (*env_ptr)->CallVoidMethod(env_ptr, + RockboxPCM_instance, + play_pause_method, + (int)pause); +} + +size_t pcm_get_bytes_waiting(void) +{ + return pcm_data_size; +} + +const void * pcm_play_dma_get_peak_buffer(int *count) +{ + uintptr_t addr = (uintptr_t)pcm_data_start; + *count = pcm_data_size / 4; + return (void *)((addr + 3) & ~3); +} + +void pcm_play_dma_init(void) +{ + /* in order to have background music playing after leaving the activity, + * we need to allocate the PCM object from the Rockbox thread (the Activity + * runs in a separate thread because it would otherwise kill us when + * stopping it) + * + * Luckily we only reference the PCM object from here, so it's safe (and + * clean) to allocate it here + **/ + JNIEnv e = *env_ptr; + /* get the class and its constructor */ + RockboxPCM_class = e->FindClass(env_ptr, "org/rockbox/RockboxPCM"); + jmethodID constructor = e->GetMethodID(env_ptr, RockboxPCM_class, "", "()V"); + /* instance = new RockboxPCM() */ + RockboxPCM_instance = e->NewObject(env_ptr, RockboxPCM_class, constructor); + /* cache needed methods */ + play_pause_method = e->GetMethodID(env_ptr, RockboxPCM_class, "play_pause", "(Z)V"); + set_volume_method = e->GetMethodID(env_ptr, RockboxPCM_class, "set_volume", "(I)V"); + stop_method = e->GetMethodID(env_ptr, RockboxPCM_class, "stop", "()V"); + /* get initial pcm data, if any */ + pcm_play_get_more_callback((void*)&pcm_data_start, &pcm_data_size); +} + +void pcm_postinit(void) +{ +} + +void pcm_set_mixer_volume(int volume) +{ + (*env_ptr)->CallVoidMethod(env_ptr, RockboxPCM_instance, set_volume_method, volume); +} diff --git a/firmware/target/hosted/android/system-android.c b/firmware/target/hosted/android/system-android.c new file mode 100644 index 0000000000..07dff2ed56 --- /dev/null +++ b/firmware/target/hosted/android/system-android.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2010 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "config.h" +#include "system.h" + +void system_exception_wait(void) { } +void system_reboot(void) { } +void power_off(void) { } +void system_init(void) { } + + +/* global fields for use with various JNI calls */ +JNIEnv *env_ptr; +jobject RockboxActivity_instance; +jclass RockboxActivity_class; + +uintptr_t *stackbegin; +uintptr_t *stackend; + +extern int main(void); +/* this is the entry point of the android app initially called by jni */ +JNIEXPORT void JNICALL +Java_org_rockbox_RockboxActivity_main(JNIEnv *env, jobject this) +{ + /* hack!!! we can't have a valid stack pointer otherwise. + * but we don't really need it anyway, thread.c only needs it + * for overflow detection which doesn't apply for the main thread + * (it's managed by the OS) */ + + (void)env; + (void)this; + volatile uintptr_t stack = 0; + stackbegin = stackend = &stack; + env_ptr = env; + RockboxActivity_instance = this; + RockboxActivity_class = (*env)->GetObjectClass(env, this); + main(); +} diff --git a/firmware/target/hosted/android/system-target.h b/firmware/target/hosted/android/system-target.h new file mode 100644 index 0000000000..210d191d6c --- /dev/null +++ b/firmware/target/hosted/android/system-target.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef __SYSTEM_TARGET_H__ +#define __SYSTEM_TARGET_H__ + +#define disable_irq() +#define enable_irq() +#define disable_irq_save() 0 +#define restore_irq(level) (void)level + +void power_off(void); + +#include +#define LOG_TAG "Rockbox" +#define LOG(args...) \ + __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, ##args); + +#endif /* __SYSTEM_TARGET_H__ */ + +#define NEED_GENERIC_BYTESWAPS + diff --git a/firmware/target/hosted/android/thread-android-arm.c b/firmware/target/hosted/android/thread-android-arm.c new file mode 100644 index 0000000000..baf8b84b65 --- /dev/null +++ b/firmware/target/hosted/android/thread-android-arm.c @@ -0,0 +1,98 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2005 by Thom Johansen + * Copyright (C) 2010 by Thomas Martitz (Android-suitable core_sleep()) + * + * Generic ARM threading support + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +/*--------------------------------------------------------------------------- + * Start the thread running and terminate it if it returns + *--------------------------------------------------------------------------- + */ +static void __attribute__((naked,used)) start_thread(void) +{ + /* r0 = context */ + asm volatile ( + "ldr sp, [r0, #32] \n" /* Load initial sp */ + "ldr r4, [r0, #40] \n" /* start in r4 since it's non-volatile */ + "mov r1, #0 \n" /* Mark thread as running */ + "str r1, [r0, #40] \n" + "mov lr, pc \n" /* Call thread function */ + "bx r4 \n" + ); /* No clobber list - new thread doesn't care */ + thread_exit(); +} + +/* For startup, place context pointer in r4 slot, start_thread pointer in r5 + * slot, and thread function pointer in context.start. See load_context for + * what happens when thread is initially going to run. */ +#define THREAD_STARTUP_INIT(core, thread, function) \ + ({ (thread)->context.r[0] = (uint32_t)&(thread)->context, \ + (thread)->context.r[1] = (uint32_t)start_thread, \ + (thread)->context.start = (uint32_t)function; }) + + +/*--------------------------------------------------------------------------- + * Store non-volatile context. + *--------------------------------------------------------------------------- + */ +static inline void store_context(void* addr) +{ + asm volatile( + "stmia %0, { r4-r11, sp, lr } \n" + : : "r" (addr) + ); +} + +/*--------------------------------------------------------------------------- + * Load non-volatile context. + *--------------------------------------------------------------------------- + */ +static inline void load_context(const void* addr) +{ + asm volatile( + "ldr r0, [%0, #40] \n" /* Load start pointer */ + "cmp r0, #0 \n" /* Check for NULL */ + + /* If not already running, jump to start */ + "ldmneia %0, { r0, pc } \n" + "ldmia %0, { r4-r11, sp, lr } \n" /* Load regs r4 to r14 from context */ + : : "r" (addr) : "r0" /* only! */ + ); +} + +/* + * this core sleep suspends the OS thread rockbox runs under, which greatly + * reduces cpu usage (~100% to <10%) + * + * it returns when the RockboxTimer notified us, i.e. at each tick + * (after it called the tick tasks) + * + * wait_for_interrupt is implemented in kernel-android.c + **/ + +extern void wait_for_interrupt(void); +static inline void core_sleep(void) +{ + wait_for_interrupt(); +} + + diff --git a/firmware/thread.c b/firmware/thread.c index c00fc36e3f..b3d8ec3970 100644 --- a/firmware/thread.c +++ b/firmware/thread.c @@ -123,8 +123,13 @@ static struct core_entry cores[NUM_CORES] IBSS_ATTR; struct thread_entry threads[MAXTHREADS] IBSS_ATTR; static const char main_thread_name[] = "main"; +#if (CONFIG_PLATFORM & PLATFORM_NATIVE) extern uintptr_t stackbegin[]; extern uintptr_t stackend[]; +#else +extern uintptr_t *stackbegin; +extern uintptr_t *stackend; +#endif static inline void core_sleep(IF_COP_VOID(unsigned int core)) __attribute__((always_inline)); @@ -170,7 +175,9 @@ void switch_thread(void) /**************************************************************************** * Processor-specific section - include necessary core support */ -#if defined(CPU_ARM) +#if defined(ANDROID) +#include "thread-android-arm.c" +#elif defined(CPU_ARM) #include "thread-arm.c" #if defined (CPU_PP) #include "thread-pp.c" @@ -1150,7 +1157,7 @@ void switch_thread(void) store_context(&thread->context); /* Check if the current thread stack is overflown */ - if (UNLIKELY(thread->stack[0] != DEADBEEF)) + if (UNLIKELY(thread->stack[0] != DEADBEEF) && thread->stack_size > 0) thread_stkov(thread); #if NUM_CORES > 1 @@ -2319,7 +2326,9 @@ static int stack_usage(uintptr_t *stackptr, size_t stack_size) */ int thread_stack_usage(const struct thread_entry *thread) { - return stack_usage(thread->stack, thread->stack_size); + if (LIKELY(thread->stack_size > 0)) + return stack_usage(thread->stack, thread->stack_size); + return 0; } #if NUM_CORES > 1 diff --git a/tools/buildzip.pl b/tools/buildzip.pl index 7a127dea20..094214de72 100755 --- a/tools/buildzip.pl +++ b/tools/buildzip.pl @@ -631,6 +631,8 @@ sub runone { } else { unless (".rockbox" eq $rbdir) { + mkpath($rbdir); + rmtree($rbdir); move(".rockbox", $rbdir); print "mv .rockbox $rbdir\n" if $verbose; } diff --git a/tools/configure b/tools/configure index ce23c2a965..7504d562c9 100755 --- a/tools/configure +++ b/tools/configure @@ -14,6 +14,7 @@ CCOPTS="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe" # global LD options for all platforms GLOBAL_LDOPTS="" +extradefines="" use_logf="#undef ROCKBOX_HAS_LOGF" use_bootchart="#undef DO_BOOTCHART" @@ -25,7 +26,10 @@ bindir= libdir= bindir_full= libdir_full= - + +app_platform= +app_lcd_width= +app_lcd_height= # # Begin Function Definitions # @@ -47,6 +51,59 @@ prefixtools () { OC=${prefix}objcopy } +app_get_platform() { + echo "Select your platform: (S)DL, (A)ndroid (default: Android)" + choice=`input` + case $choice in + s|S*) app_platform="sdl" ;; + *|a|A*) app_platform="android" ;; + esac + + echo "Selected $app_platform platform" + echo "Select the LCD resolution seperated with enter: XxY (default: 320x480)" + app_lcd_width=`input` + if [ -z "$app_lcd_width" ]; then app_lcd_width="320"; fi + app_lcd_height=`input` + if [ -z "$app_lcd_height" ]; then app_lcd_height="480"; fi + echo "Selected $app_lcd_width x $app_lcd_height resolution" + + app_lcd_width="#define LCD_WIDTH $app_lcd_width" + app_lcd_height="#define LCD_HEIGHT $app_lcd_height" + # setup files and paths depending on the platform + if [ "$app_platform" = "sdl" ]; then + if [ -z "$PREFIX" ]; then + rbdir="/usr/local/share/rockbox" + bindir="/usr/local/bin" + bindir_full=$bindir + libdir="/usr/local/lib" + libdir_full=$libdir + else + rbdir=`realpath $PREFIX/share/rockbox` + bindir="$PREFIX/bin" + libdir="$PREFIX/lib" + if [ -d bindir ]; then + bindir_full=`realpath $bindir` + fi + if [ -d libdir ]; then + libdir_full=`realpath $libdir` + fi + fi + output="rockbox" + bootoutput="rockbox" + elif [ "$app_platform" = "android" ]; then + if [ -n "$PREFIX" ]; then + echo "WARNING: PREFIX not supported on Android. You can however use --rbdir" + fi + rbdir="/data/data/org.rockbox/app_rockbox/rockbox" + bindir="/data/data/org.rockbox/lib" + bindir_full=$bindir + libdir="/data/data/org.rockbox/app_rockbox" + libdir_full=$libdir + output="librockbox.so" + bootoutput="librockbox.so" + fi +} + findarmgcc() { if [ "$ARG_ARM_EABI" != "0" ]; then prefixtools arm-elf-eabi- @@ -102,6 +159,15 @@ findsdl(){ done } +appcc () { + if [ "$1" = "sdl" ]; then + simcc "sdl-app" + elif [ "$1" = "android" ]; then + app_type=$1 + androidcc + fi +} + simcc () { # default tool setup for native building @@ -114,15 +180,17 @@ simcc () { GCCOPTIMIZE='' LDOPTS='-lm' # button-sdl.c uses sqrt() - # default output binary name - output="rockboxui" + # default output binary name, don't override app_get_platform() + if [ "$app_type" != "sdl-app" ]; then + output="rockboxui" + fi # default share option, override below if needed SHARED_FLAG="-shared" if [ "$win32crosscompile" = "yes" ]; then LDOPTS="$LDOPTS -mconsole" - output="rockboxui.exe" + output="$output.exe" winbuild="yes" else case $uname in @@ -130,7 +198,7 @@ simcc () { echo "Cygwin host detected" LDOPTS="$LDOPTS -mconsole" - output="rockboxui.exe" + output="$output.exe" winbuild="yes" ;; @@ -138,7 +206,7 @@ simcc () { echo "MinGW host detected" LDOPTS="$LDOPTS -mconsole" - output="rockboxui.exe" + output="$output.exe" winbuild="yes" ;; @@ -188,6 +256,7 @@ simcc () { LDOPTS="$LDOPTS `$sdl --libs`" fi fi + GCCOPTS="$GCCOPTS -I\$(SIMDIR)" @@ -379,6 +448,18 @@ mipselcc () { gccchoice="4.1.2" } +androidcc () { + gccchoice="4.4.0" + prefixtools $ANDROID_NDK_PATH/build/prebuilt/linux-x86/arm-eabi-$gccchoice/bin/arm-eabi- + GCCOPTS=`echo $CCOPTS | sed -e s/-ffreestanding// -e s/-nostdlib// -e s/-Wundef//` + GCCOPTS="$GCCOPTS -std=gnu99 -ffunction-sections -fno-short-enums -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer" + GLOBAL_LDOPTS="$GLOBAL_LDOPTS -nostdlib -lc -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -L$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/lib/ -Wl,-rpath-link=$ANDROID_NKD_PATH/build/platforms/android-4/arch-arm/usr/lib" + LDOPTS="$LDOPTS -shared -nostdlib -lm -ldl -llog" + extradefines="$extradefines -DANDROID" + endian="little" + SHARED_FLAG="-shared" +} + whichadvanced () { atype=`echo "$1" | cut -c 2-` ################################################################## @@ -975,7 +1056,7 @@ cat < autoconf.h \ -e "s<@have_backlight@<$have_backlight autoconf.h \ @config_rtc@ @have_rtc_alarm@ +/* lcd dimensions for application builds from configure */ +@lcd_width@ +@lcd_height@ + /* root of Rockbox */ #define ROCKBOX_DIR "@RBDIR@" #define ROCKBOX_BINARY_PATH "@binpath@" @@ -3089,6 +3159,10 @@ if test -n "$t_cpu"; then TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/sdl/" TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/hosted/" fi + if [ -n "$app_platform" -a "$app_platform" = "android" ]; then + # android's gcc doesn't add this :/ + TARGET_INC="$TARGET_INC -I$ANDROID_NDK_PATH/build/platforms/android-4/arch-arm/usr/include" + fi TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu/$t_manufacturer" TARGET_INC="$TARGET_INC -I\$(FIRMDIR)/target/$t_cpu" GCCOPTS="$GCCOPTS" diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c index 260e880b62..4c0fa33be5 100644 --- a/uisimulator/common/io.c +++ b/uisimulator/common/io.c @@ -25,7 +25,11 @@ #include #include #include -#ifndef WIN32 +#include "config.h" + +#define HAVE_STATVFS (0 == (CONFIG_PLATFORM & PLATFORM_ANDROID) && !defined(WIN32)) + +#if HAVE_STATVFS #include #endif @@ -41,14 +45,18 @@ #endif #include +#if (CONFIG_PLATFORM & PLATFORM_SDL) #include #include +#include "thread-sdl.h" +#else +#define sim_thread_unlock() NULL +#define sim_thread_lock(a) +#endif #include "thread.h" #include "kernel.h" #include "debug.h" -#include "config.h" #include "ata.h" /* for IF_MV2 et al. */ -#include "thread-sdl.h" #include "rbpaths.h" /* keep this in sync with file.h! */ @@ -193,7 +201,7 @@ static unsigned int rockbox2sim(int opt) /** Simulator I/O engine routines **/ #define IO_YIELD_THRESHOLD 512 -enum +enum io_dir { IO_READ, IO_WRITE, @@ -225,7 +233,7 @@ int ata_spinup_time(void) return HZ; } -static ssize_t io_trigger_and_wait(int cmd) +static ssize_t io_trigger_and_wait(enum io_dir cmd) { void *mythread = NULL; ssize_t result; @@ -246,6 +254,9 @@ static ssize_t io_trigger_and_wait(int cmd) case IO_WRITE: result = write(io.fd, io.buf, io.count); break; + /* shut up gcc */ + default: + result = -1; } /* Regain our status as current */ @@ -480,7 +491,7 @@ void fat_size(IF_MV2(int volume,) unsigned long* size, unsigned long* free) if (free) *free = free_clusters * secperclus / 2 * (bytespersec / 512); } -#else +#elif HAVE_STATVFS struct statvfs vfs; if (!statvfs(".", &vfs)) { @@ -490,9 +501,9 @@ void fat_size(IF_MV2(int volume,) unsigned long* size, unsigned long* free) *size = vfs.f_blocks / 2 * (vfs.f_frsize / 512); if (free) *free = vfs.f_bfree / 2 * (vfs.f_frsize / 512); - } + } else #endif - else { + { if (size) *size = 0; if (free) @@ -537,9 +548,19 @@ void *sim_codec_load_ram(char* codecptr, int size, void **pd) to find an unused filename */ for (codec_count = 0; codec_count < 10; codec_count++) { +#if (CONFIG_PLATFORM & PLATFORM_ANDROID) + /* we need that path fixed, since get_user_file_path() + * gives us the folder on the sdcard where we cannot load libraries + * from (no exec permissions) + */ + snprintf(path, sizeof(path), + "/data/data/org.rockbox/app_rockbox/libtemp_codec_%d.so", + codec_count); +#else char name[MAX_PATH]; const char *_name = get_user_file_path(ROCKBOX_DIR, 0, name, sizeof(name)); snprintf(path, sizeof(path), "%s/_temp_codec%d.dll", get_sim_pathname(_name), codec_count); +#endif fd = OPEN(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, S_IRWXU); if (fd >= 0) break; /* Created a file ok */ diff --git a/uisimulator/common/stubs.c b/uisimulator/common/stubs.c index 6d7d7de06b..a9011b9aa5 100644 --- a/uisimulator/common/stubs.c +++ b/uisimulator/common/stubs.c @@ -21,8 +21,6 @@ #include #include #include -#include "thread-sdl.h" - #include "debug.h" #include "screens.h" @@ -35,7 +33,6 @@ #include "ata.h" /* for volume definitions */ -extern char having_new_lcd; static bool storage_spinning = false; #if CONFIG_CODEC != SWCODEC @@ -211,10 +208,13 @@ bool spdif_powered(void) } #endif +#ifdef ARCHOS_PLAYER bool is_new_player(void) { + extern char having_new_lcd; return having_new_lcd; } +#endif #ifdef HAVE_USB_POWER bool usb_powered(void) diff --git a/uisimulator/uisimulator.make b/uisimulator/uisimulator.make index b06b48c0d2..dcbd79988f 100644 --- a/uisimulator/uisimulator.make +++ b/uisimulator/uisimulator.make @@ -30,7 +30,6 @@ $(SIMLIB): $$(SIMOBJ) $(UIBMP) $(SILENT)$(shell rm -f $@) $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null -# SIMLIB needs to be linked twice for some reason $(BUILDDIR)/$(BINARY): $$(OBJ) $(SIMLIB) $(VOICESPEEXLIB) $(FIRMLIB) $(SKINLIB) $(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(SIMLIB) $(LDOPTS) $(GLOBAL_LDOPTS) diff --git a/wps/WPSLIST b/wps/WPSLIST index 3068f48513..938caa13fa 100644 --- a/wps/WPSLIST +++ b/wps/WPSLIST @@ -292,6 +292,7 @@ RSBS: Author: Johannes Voggenthaler, Apoo Maha, Marc Guay, Alex Vanderpol, Jerry Lange, Keith Perri, Mark Fawcus, and Marianne Arnold with support from Rockbox developers and forums. Based on Cabbie by Yohann Misquitta. # Preferred font (including .fnt extension - leave blank for player): +Font.320x480x16: 16-Adobe-Helvetica.fnt Font.320x240x16: 15-Adobe-Helvetica.fnt Font.240x400x16: 16-Adobe-Helvetica.fnt Font.240x320x16: 15-Adobe-Helvetica.fnt @@ -320,6 +321,7 @@ line selector text color: 000000 filetype colours: #backdrop - remember this is the source file name in your SVN folder, not dest name! +backdrop.320x480x16: backdrops/cabbiev2.320x480x16.bmp backdrop.320x240x16: backdrops/cabbiev2.320x240x16.bmp backdrop.128x128x16: backdrops/cabbiev2.128x128x16.bmp backdrop.132x80x16: backdrops/cabbiev2.132x80x16.bmp @@ -333,6 +335,7 @@ backdrop.240x320x16: backdrops/cabbiev2.240x320x16.bmp backdrop.240x400x16: backdrops/cabbiev2.240x400x16.bmp #selection bar settings for color targets +selector type.320x480x16: bar (gradient) selector type.320x240x16: bar (gradient) selector type.128x128x16: bar (gradient) selector type.132x80x16: bar (gradient) @@ -346,6 +349,7 @@ selector type.160x128x2: bar (inverse) selector type.138x110x2: bar (inverse) #icons +iconset.320x480x16: icons/tango_small.bmp iconset.320x240x16: icons/tango_small.bmp iconset.128x128x16: icons/tango_small.bmp iconset.132x80x16: icons/tango_small.bmp @@ -359,6 +363,7 @@ iconset.240x320x16: icons/tango_small.bmp iconset.240x400x16: icons/tango_small.bmp #viewer icons +viewers iconset.320x480x16: icons/tango_small_viewers.bmp viewers iconset.320x240x16: icons/tango_small_viewers.bmp viewers iconset.128x128x16: icons/tango_small_viewers.bmp viewers iconset.132x80x16: icons/tango_small_viewers.bmp diff --git a/wps/cabbiev2.320x480x16.wps b/wps/cabbiev2.320x480x16.wps new file mode 100644 index 0000000000..a64fa6fcf7 --- /dev/null +++ b/wps/cabbiev2.320x480x16.wps @@ -0,0 +1,79 @@ +# cabbie 2.0 +# (C) 2007, Johannes Voggenthaler (Zinc Alloy) +# (C) 2009, Maurus Cuelenaere (mcuelenaere) ported to Onda VX747 +# derived from "cabbie" (C) Yohann Misquitta + +%wd +%X(wpsbackdrop-240x400x16.bmp) +%Cl(55,50,130,130,c,c) +%pb(22,284,199,13,pb-240x320x16.bmp) +%T(22,284,199,13,progressbar) +%T(90,238,60,20,playlist) +%?Tl(2.5)<%Vd(t)|%Vd(u)> +%V(0,0,240,330,1) + + +%?C<|> +%?C<|> +%?C<|%s%ac%?it<%it|%fn>> +%?C<|%s%ac%?ia<%ia|%?d(2)<%d(2)|%(root%)>>> +%?C<|%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>> +%?C<|%ac%?iy<%iy|>> +%?C<|> +%?C<|%ac%?ig<%ig|>> +%?C<|%ac%?fv<%(vbr%) |>%fb kbit/s %fc> +%?C<|> +%?C<%s%ac%?it<%it|%fn>|> +%?C<%s%ac%?ia<%ia|%?d(2)<%d(2)|%(root%)>>|%ac%Sx(Next Track:)> +%?C<%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>|%ac%s%?It<%It|%Fn>> +%?C<|%s%ac%?Ia<%Ia|%?D(2)<%D(2)|%(root%)>>> +%?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?D(2)<%D(2)|%(root%)>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>> + + + %pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr + +%?C<%Cd> + +%xl(A,lock-240x320x16.bmp,11,0,2) +%xl(B,battery-240x320x16.bmp,46,0,10) +%xl(C,volume-240x320x16.bmp,98,0,10) +%xl(D,shuffle-240x320x16.bmp,139,0) +%xl(E,repeat-240x320x16.bmp,182,0,4) +%xl(F,playmode-240x320x16.bmp,206,0,5) + +%V(0,372,240,-,1) +%?mh<%xd(Aa)|%xd(Ab)> +%?bp<%?bc<%xd(Ba)|%xd(Bb)>|%?bl<|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>> +%?pv<%xd(Ca)|%xd(Cb)|%xd(Cc)|%xd(Cd)|%xd(Ce)|%xd(Cf)|%xd(Cg)|%xd(Ch)|%xd(Ci)|%xd(Cj)> +%?ps<%xd(D)> +%?mm<|%xd(Ea)|%xd(Eb)|%xd(Ec)|%xd(Ed)> +%?mp<%xd(Fa)|%xd(Fb)|%xd(Fc)|%xd(Fd)|%xd(Fe)> + +%T(206,0,24,24,play) +%T(206,0,24,24,&stop) +%T(182,0,18,92,repmode) +%T(139,0,37,23,shuffle) +%T(98,0,33,23,volume) + +#viewport for the touch icons +%xl(G,browser-320x240x16.bmp,0,0) +%xl(I,pitch-320x240x16.bmp,39,0) +%xl(H,context-320x240x16.bmp,58,0) +%xl(J,quick-320x240x16.bmp,86,0) +%xl(K,rew-320x240x16.bmp,115,0) +%xl(L,ff-320x240x16.bmp,144,0) + +%Vl(t,70,335,-,30,1) +%xd(G) %xd(H) %xd(I) %xd(J) %xd(K) %xd(L) +%T(0,0,37,24,browse) +%T(39,5,24,24,pitch) +%T(58,0,24,24,contextmenu) +%T(86,0,24,24,quickscreen) +%T(115,0,24,23,&rwd) +%T(144,0,24,23,&ffwd) +%T(115,0,24,23,prev) +%T(144,0,24,23,next) + +%Vl(u,70,335,-,30,1) +#purposely left blank + diff --git a/wps/cabbiev2/wpsbackdrop-320x480x16.bmp b/wps/cabbiev2/wpsbackdrop-320x480x16.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3278c0d96551f007a077dcba8e7453db21f0437f GIT binary patch literal 614454 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

9#issi_Nu=cluNBN*^hlWrhY9qI;_9G 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 P9hkZUQ+MEh@*VhpUyr#r literal 0 HcmV?d00001