Mercurial > repos > blastem
changeset 1843:13abdc98379e mame_interp
Get Android build target working on mame_interp branch
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 18 Apr 2019 22:06:47 -0700 |
parents | 49f65d240299 |
children | 374a5ae694e8 |
files | Android.mk android/jni/Android.mk android/jni/Application.mk android/src/org/libsdl/app/SDLActivity.java musashi/m68kcpu.h nuklear_ui/font_android.c nuklear_ui/nuklear.h |
diffstat | 7 files changed, 31 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/Android.mk Sun Apr 14 23:38:02 2019 -0700 +++ b/Android.mk Thu Apr 18 22:06:47 2019 -0700 @@ -8,12 +8,12 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include -LOCAL_CFLAGS += -std=gnu99 -DX86_32 -DUSE_GLES +LOCAL_CFLAGS += -std=gnu99 -DUSE_GLES # Add your application source files here... LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \ - 68kinst.c debug.c gst.c psg.c z80_to_x86.c backend.c io.c render_sdl.c \ - tern.c backend_x86.c gdb_remote.c m68k_core.c romdb.c m68k_core_x86.c \ + 68kinst.c psg.c z80.c backend.c io.c render_sdl.c \ + tern.c m68k_core.c musashi/m68kops.c musashi/m68kcpu.c \ util.c wave.c blastem.c gen.c mem.c vdp.c ym2612.c config.c gen_x86.c \ terminal.c z80inst.c menu.c arena.c zlib/adler32.c zlib/compress.c \ zlib/crc32.c zlib/deflate.c zlib/gzclose.c zlib/gzlib.c zlib/gzread.c \ @@ -22,7 +22,7 @@ nuklear_ui/font_android.c nuklear_ui/blastem_nuklear.c nuklear_ui/sfnt.c \ ppm.c controller_info.c png.c system.c genesis.c sms.c serialize.c \ saves.c hash.c xband.c zip.c bindings.c jcart.c paths.c megawifi.c \ - nor.c i2c.c sega_mapper.c realtec.c multi_game.c net.c + nor.c i2c.c sega_mapper.c realtec.c multi_game.c net.c romdb.c LOCAL_SHARED_LIBRARIES := SDL2
--- a/android/jni/Android.mk Sun Apr 14 23:38:02 2019 -0700 +++ b/android/jni/Android.mk Thu Apr 18 22:06:47 2019 -0700 @@ -1,2 +1,1 @@ -APP_ABI=x86 include $(call all-subdir-makefiles)
--- a/android/jni/Application.mk Sun Apr 14 23:38:02 2019 -0700 +++ b/android/jni/Application.mk Thu Apr 18 22:06:47 2019 -0700 @@ -3,6 +3,5 @@ # See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information # APP_STL := stlport_static -APP_ABI := x86 APP_PLATFORM := android-16 APP_OPTIM := release
--- a/android/src/org/libsdl/app/SDLActivity.java Sun Apr 14 23:38:02 2019 -0700 +++ b/android/src/org/libsdl/app/SDLActivity.java Thu Apr 18 22:06:47 2019 -0700 @@ -4,6 +4,7 @@ import java.io.InputStream; import java.util.Arrays; import java.lang.reflect.Method; +import java.lang.NullPointerException; import java.util.Objects; import android.app.*; @@ -195,7 +196,12 @@ SDL.setContext(this); if (Build.VERSION.SDK_INT >= 11) { - mClipboardHandler = new SDLClipboardHandler_API11(); + try { + mClipboardHandler = new SDLClipboardHandler_API11(); + } catch (NullPointerException e) { + //deal with shitty emulation boxes + mClipboardHandler = new SDLClipboardHandler_Old(); + } } else { /* Before API 11, no clipboard notification (eg no SDL_CLIPBOARDUPDATE) */ mClipboardHandler = new SDLClipboardHandler_Old();
--- a/musashi/m68kcpu.h Sun Apr 14 23:38:02 2019 -0700 +++ b/musashi/m68kcpu.h Thu Apr 18 22:06:47 2019 -0700 @@ -510,12 +510,6 @@ /* =============================== PROTOTYPES ============================= */ /* ======================================================================== */ -union fp_reg -{ - uint64_t i; - double f; -}; - void m68ki_exception_interrupt(m68000_base_device *m68k, uint32_t int_level);
--- a/nuklear_ui/font_android.c Sun Apr 14 23:38:02 2019 -0700 +++ b/nuklear_ui/font_android.c Thu Apr 18 22:06:47 2019 -0700 @@ -2,6 +2,7 @@ #include <stdlib.h> #include <stdint.h> #include <limits.h> +#include <string.h> #include "../util.h" #include "../paths.h" #include "sfnt.h" @@ -186,9 +187,9 @@ } error: //try some likely suspects if we failed to parse fonts.xml or failed to find the indicated font - ret = try_load_font("/system/fonts/Roboto-Regular.ttf", size_out); + ret = try_load_font(strdup("/system/fonts/Roboto-Regular.ttf"), size_out); if (!ret) { - ret = try_load_font("/system/fonts/DroidSans.ttf", size_out); + ret = try_load_font(strdup("/system/fonts/DroidSans.ttf"), size_out); } return ret; }
--- a/nuklear_ui/nuklear.h Sun Apr 14 23:38:02 2019 -0700 +++ b/nuklear_ui/nuklear.h Thu Apr 18 22:06:47 2019 -0700 @@ -5557,23 +5557,35 @@ { /* 32-Bit MurmurHash3: https://code.google.com/p/smhasher/wiki/MurmurHash3*/ #define NK_ROTL(x,r) ((x) << (r) | ((x) >> (32 - r))) - union {const nk_uint *i; const nk_byte *b;} conv = {0}; const nk_byte *data = (const nk_byte*)key; const int nblocks = len/4; nk_uint h1 = seed; const nk_uint c1 = 0xcc9e2d51; const nk_uint c2 = 0x1b873593; const nk_byte *tail; +#if defined(X86_32) || defined(X86_64) const nk_uint *blocks; +#else + const nk_byte *blocks; +#endif nk_uint k1; int i; /* body */ if (!key) return 0; - conv.b = (data + nblocks*4); - blocks = (const nk_uint*)conv.i; - for (i = -nblocks; i; ++i) { - k1 = blocks[i]; +#if defined(X86_32) || defined(X86_64) + blocks = (const nk_uint*)(data + nblocks*4); + for (i = -nblocks; i; ++i) { + k1 = blocks[i]; +#else + blocks = data + nblocks*4; + for (i = -4 * nblocks; i; ++i) { + k1 = blocks[i++] << 24; + k1 |= blocks[i++] << 16; + k1 |= blocks[i++] << 8; + k1 |= blocks[i] << 16; +#endif + k1 *= c1; k1 = NK_ROTL(k1,15); k1 *= c2;