Aaron Culliney
f343ad9dbd
Get Mockingboard working somewhat better
2015-09-13 12:43:34 -07:00
Aaron Culliney
54e6b7598e
Improved some alt keyboards
2015-09-13 11:37:27 -07:00
Aaron Culliney
11d4ed4c2f
Move a joystick-only configuration option to that menu
2015-09-13 11:25:48 -07:00
Aaron Culliney
c8d7f9cba3
Let chooser interface handle skipping rather than native
2015-09-13 11:23:59 -07:00
Aaron Culliney
104c0bbe6e
Keep track of all AlertDialog objects to properly dispose of them upon backgrounding
2015-09-13 10:43:53 -07:00
Aaron Culliney
9c475b58eb
Better lifecycle management of main menu and splash screen
2015-09-13 10:42:06 -07:00
Aaron Culliney
902cdff495
strict warnings about file I/O were getting annoying
2015-09-13 10:32:17 -07:00
Aaron Culliney
55f04d4f68
Gracefully handle case where /sdcard is removed or otherwise unavailable
2015-09-13 10:01:44 -07:00
Aaron Culliney
dada329a8b
Add script that starts Valgrind on Android device
2015-09-12 15:36:41 -07:00
Aaron Culliney
b2cb35c182
Lifecycle tweaks that get Android building again
2015-09-12 15:33:22 -07:00
Aaron Culliney
bc5559c1b0
Allow graphics thread to self-shutdown to avoid segfault on exit
2015-09-08 23:12:20 -07:00
Aaron Culliney
9c98745099
Remove unnecessary call to pump key handling codepath
2015-09-07 11:08:43 -07:00
Aaron Culliney
fa91a2806d
Get testing working on Android again
2015-09-06 23:43:26 -07:00
Aaron Culliney
2c97f7af19
Excise HEADLESS ... it was only being used by testcpu
2015-09-06 17:14:38 -07:00
Aaron Culliney
7d4b63e12d
Refactor : move reinitialize() to timing module and make static (mostly)
2015-09-06 14:05:18 -07:00
Aaron Culliney
d3ae7d1524
Get ndk-gdb Working For Me (tm)
...
- Force BASH script to be super verbose
- Subvert check for COMPAT_ABI (for now)
- Subvert apparently buggy and unnecessary check for android:debuggable
2015-09-06 13:53:53 -07:00
Aaron Culliney
909b785d07
vanilla ndk-gdb from android-ndk-r10e
2015-09-06 12:40:23 -07:00
Aaron Culliney
8666ca3603
Common baseline for CLI and Android Studio builds
...
- CLI is still super useful for GDB debugging and running emulator testcases
- Possibly this maintenance of two build systems can all go away when Android Studio has better NDK support
2015-09-05 14:40:44 -07:00
Aaron Culliney
c3702c54b5
Remove build variants because they are confusing and incompatible with CLI ant builds which I still want to maintain
2015-09-05 14:08:21 -07:00
Aaron Culliney
d7ae39b2a8
Fixes for olde CLI builds
2015-09-05 13:48:42 -07:00
Aaron Culliney
5b59e1c0c0
Android key click preference for GL touch keyboard
2015-09-03 22:25:38 -07:00
Aaron Culliney
2cd60c3c88
Expose all three touch interfaces in the sprouting menu for easier switching
2015-08-29 10:42:24 -07:00
Aaron Culliney
2cd1be791a
FTUE: add a button to load disk image on splash screen
2015-08-29 10:10:31 -07:00
Aaron Culliney
0743608a0b
UI/UX: default disable lowercase
2015-08-29 09:45:06 -07:00
Aaron Culliney
e4a849e6ae
Allow choosing alternate keyboard.kbd.json file from /sdcard (or internal dataDir)
2015-08-28 22:23:43 -07:00
Aaron Culliney
730a09880e
Changes insisted upon by AndroidStudio after upgrade
2015-08-27 21:41:04 -07:00
Aaron Culliney
49c99d5ab7
Beginnings of customized alt touch keyboard layout
2015-08-23 15:03:30 -07:00
Aaron Culliney
59cb3e49f9
Enable various GL Touch Keyboard settings
2015-08-23 11:42:45 -07:00
Aaron Culliney
ebe7f82f22
Persist settings for currently inserted disks, and provide a way to eject disks
2015-08-22 14:44:31 -07:00
Aaron Culliney
e39f61d44c
Bugfix : case-insensitive disk suffix checks
2015-08-22 13:17:44 -07:00
Aaron Culliney
e4435a1e18
Bugfix disk path persistence : defer applying path to avoid re-entrancy into Apple2DisksMenu constructor
2015-08-22 12:10:52 -07:00
Aaron Culliney
36cb44e1e8
Clean up first-time initialization and insure touch keypad has reasonable defaults
2015-08-22 11:36:12 -07:00
Aaron Culliney
5df1e2400e
Add ability to hide joystick controls overlay
2015-08-22 11:05:18 -07:00
Aaron Culliney
704c381ea8
Logging should automatically print function
2015-08-21 23:43:19 -07:00
Aaron Culliney
23bfd24054
Fix synchronization for showing splash screen
2015-08-21 23:35:30 -07:00
Aaron Culliney
3f934ecd3f
Fix cycling between different touch devices in the GL touch menu
2015-08-21 23:33:08 -07:00
Aaron Culliney
ec402cd765
Changes from Android Studio
2015-08-21 20:34:59 -07:00
Aaron Culliney
30d761521a
Improve splash screen visuals
2015-08-21 20:34:34 -07:00
Aaron Culliney
d2b526783a
Improve joystick calibration modes and keypad menus
2015-08-21 20:34:19 -07:00
Aaron Culliney
85407cfabb
Refactor GL Touch Joystick (PART II Java-is-not-native changes)
...
- Adds general key-tap-calibration callback to menus
- Adds Touch Joystick Keypad settings menu including chooser and calibration
2015-08-18 22:17:12 -07:00
Aaron Culliney
5c3791f5dc
Refactor GL Touch Joystick (PART I Native changes)
...
- Move touch-handling code for "regular" touch joystick into separate file
- Add new touch-handling code for "keypad" touch joystick. This is a somewhat complex state-machine to determine
which key to press depending on a full keypad rosette.
- Adds a callback to vm.c to hook into keyboard read callback. Allows us to immediately queue the next key if the
keypad touch joystick is long-pressed for either axis or button keys.
2015-08-18 21:59:41 -07:00
Aaron Culliney
01bbf5308a
Shuffle a bunch of settings around
2015-08-08 11:03:12 -07:00
Aaron Culliney
2673777be7
Various improvements to disk management
...
- Moves disk management form Apple2Activity to Apple2DisksMenu
- Handle reading/writing disk images in /sdcard/...
- Manage hirerarchical navigation
2015-08-08 10:59:14 -07:00
Aaron Culliney
2008c341d5
Move menu management into Apple2Activity
2015-08-05 22:36:07 -07:00
Aaron Culliney
d6f769bcef
Allow read/write to /sdcard/...
2015-08-05 22:28:28 -07:00
Aaron Culliney
f1fc3cd4ff
Misc stuff for Android build
2015-08-03 21:27:04 -07:00
Aaron Culliney
7344cadfbd
More joystick settings including calibration mode
2015-08-02 14:29:34 -07:00
Aaron Culliney
324d900c35
First cut at Android touch joystick configuration
2015-08-01 17:33:29 -07:00
Aaron Culliney
37bb0cc6d8
Refactor slider views and misc
2015-08-01 16:38:15 -07:00
Aaron Culliney
acfb60634e
Refactor common menu GUI code into abstract base class
2015-08-01 00:39:34 -07:00
Aaron Culliney
f2ac41e011
Tweak splash screen visuals and add a preferences button
2015-07-31 21:28:42 -07:00
Aaron Culliney
92f4f698db
Actually change the cpu timing
2015-07-31 20:30:30 -07:00
Aaron Culliney
0d658932b6
Expose particular settings back to Android so we can persist the values
2015-07-30 23:12:00 -07:00
Aaron Culliney
0bc8869627
nativeOnTouch() now returns various state flags
...
- Allows playing of a key click sound if a keyboard item tapped
- Improves stovepiping the native request to show the Android main menu
2015-07-30 22:05:21 -07:00
Aaron Culliney
f5fd2508bf
Better expose keyboard/joystick configurations
2015-07-29 21:24:55 -07:00
Aaron Culliney
7067d10949
Android touch menu configurations
2015-07-28 22:22:25 -07:00
Aaron Culliney
25b9f3d3f3
Android lifecycle cleanups
...
- Differentiate between cpu_pause() when going to menu (and app is still foregrounded, and cpu_pauseBackground()
when a system backgrounding event has occurred.
- Destroy/free audio resources owned by CPU thread when background is requested, put CPU thread into waiting upon
pthread condition to resume.
- Mobile device now always signals pthread condition to force CPU thread resume from background
2015-07-27 22:36:39 -07:00
Aaron Culliney
16a743fd50
First cut at splash screen on Android
2015-07-26 15:55:07 -07:00
Aaron Culliney
a0cadc83c6
Refactor timing locking behavior
...
- Do not start CPU thread until after splash screen
- Insure that only CPU thread can actually create/destroy the audio interfaces
2015-07-26 13:48:24 -07:00
Aaron Culliney
fcd367bd9e
Moar Android configuration menus
2015-07-25 14:51:37 -07:00
Aaron Culliney
9ac6448593
Allow configuration of device audio latency/buffersize on Android
2015-07-25 13:09:27 -07:00
Aaron Culliney
36baaa04d5
Allow dynamic configuration of audio latency
...
- This allows for user-configured device-specific tuning (which makes sense in the Android world with 10,000+
different devices out there ;-)
2015-07-25 12:57:16 -07:00
Aaron Culliney
38aed7fbf5
Add an about link and misc cleanup
2015-07-25 00:25:01 -07:00
Aaron Culliney
055f098811
Dynamically create audio menu for simplicity
2015-07-25 00:07:58 -07:00
Aaron Culliney
fe34a86c35
Maintain a menu page stack for simplicity
2015-07-25 00:06:20 -07:00
Aaron Culliney
933ef5533a
Hook in new audio menu and minor menu cleanup
2015-07-24 22:40:38 -07:00
Aaron Culliney
37a8985f79
First cut at audio settings menu
2015-07-24 22:39:46 -07:00
Aaron Culliney
c2fdebd040
Remove mParentView HACK now that we don't use the system soft keyboard
2015-07-24 22:36:57 -07:00
Aaron Culliney
a60ffb8eb9
Beginning of Android persistent settings
2015-07-21 21:38:28 -07:00
Aaron Culliney
87d7d8a115
Compile Android variant with optimization and debugging symbols
2015-07-12 15:38:28 -07:00
Aaron Culliney
7ca4a2646d
Optimize video drawing and API cleanup
...
- Enforces synchronized access to video dirty bit
2015-07-12 14:13:13 -07:00
Aaron Culliney
da301ded7c
Android build tweaks
...
- Build in ARM mode, not Thumb mode (cpu.S is written in common ARM dialect)
- Include various ABIs (phat APK)
2015-07-12 13:12:44 -07:00
Aaron Culliney
5f4bf6b1a7
Use single buffer queue callback for OpenSLES/Android
...
- OpenSLES Callback now performs simple mix of 2 sources (speaker and mockingboard)
- Avoids multiple callbacks which was a performance penalty especially for low-end droids
2015-07-12 12:59:49 -07:00
Aaron Culliney
66978056c9
Build system tweaks
2015-07-07 21:40:48 -07:00
Aaron Culliney
ada6d7a0be
Pause/resume CPU/audio together
2015-07-04 18:17:04 -07:00
Aaron Culliney
20b3e25915
Renamed to get Android build working
2015-07-04 18:14:21 -07:00
Aaron Culliney
2aba9a5ba1
Better OpenSLES backend implementation for Android
...
- Uses buffer values gleaned from Android system
- Removes completely unnecessary playq and uses ringBuffer instead with read/write heads
- ringBuffer includes a certain amount of "overflow" space for callback convenience
2015-07-04 18:01:44 -07:00
Aaron Culliney
951b4518c1
Expose device-preferred audio parameters to native
2015-06-28 12:49:26 -07:00
Aaron Culliney
38ef54bf57
Include class to detect audio capabilities of Android device
2015-06-28 11:50:32 -07:00
Aaron Culliney
f0f95a80ff
Project changes insisted upon by Android Studio
2015-06-27 13:12:38 -07:00
Aaron Culliney
9631e1e039
Remove > API 19 method call
2015-06-27 13:12:09 -07:00
Aaron Culliney
a72d6db296
Allow system to handle volume change keys
2015-06-27 12:59:59 -07:00
Aaron Culliney
bb8d51817b
First cut at Android OpenSLES backend
2015-06-27 11:48:00 -07:00
Aaron Culliney
1707c60701
Refactor : completely excise win-shim
...
- Moves remaining shim code into mockingboard.c
- Breaks Mac builds for now =P
2015-06-14 14:07:32 -07:00
Aaron Culliney
22037355c8
Enable StrictMode to detect potential issues when iterating on the Java side of things
2015-06-09 21:06:32 -07:00
Aaron Culliney
1da7acbaba
Properly hook up Android shutdown paths
2015-06-06 21:18:27 -07:00
Aaron Culliney
aa31141455
Ctrl-combo keys work with hardware keyboard
2015-06-06 21:17:15 -07:00
Aaron Culliney
2562c17d73
Record Java exceptions to app home directory
2015-06-06 12:55:14 -07:00
Aaron Culliney
f2abf4ce35
Fix emulator quit path on Android
2015-06-01 22:50:44 -07:00
Aaron Culliney
debd0370b3
Only choose 8888 color for now
2015-05-30 23:19:20 -07:00
Aaron Culliney
e6ec58a8ba
Fix Android build break
2015-05-29 21:48:39 -07:00
Aaron Culliney
9e9939a3a6
Only allow explicit main menu requests to bubble up
...
- Works around existing bugs in various gltouchwidget's logic
2015-05-23 23:17:33 -07:00
Aaron Culliney
da0b4c51cf
Changes Android Studio made when upgraded
2015-05-23 22:49:03 -07:00
Aaron Culliney
fe8aa03360
Updates for Android build
2015-05-10 14:06:20 -07:00
Aaron Culliney
5ec12f2e08
Remove unused configuration settings
2015-05-10 14:04:58 -07:00
Aaron Culliney
68011fa8f2
First cut at touch menu HUD
...
- Enables choosing touch keyboard or touch joystick
- Enables increasing/decreasing speed
- Enables opening main popup menu
- Also migrates all gesture responsibility away from Java side of things
2015-05-09 19:23:52 -07:00
Aaron Culliney
4e23795cfd
First cut at GL touch keyboard
2015-04-22 23:32:36 -07:00
Aaron Culliney
fc531ea8dd
Disk selection now just returns to emulation
2015-04-18 15:29:04 -07:00
Aaron Culliney
c2bd14f9b5
REFACTOR : glcpuanim now manages all generic alert messages
2015-04-18 15:15:09 -07:00
Aaron Culliney
c48e72c27f
Keep native side paused on "system" onResume()
2015-04-17 21:43:02 -07:00
Aaron Culliney
883403e6e8
Avoid android.view.WindowLeaked issue with lingering popups
...
- Was seeing android.view.WindowLeaked issue on certain devices if the main popup menu was left lingering (which was
previously by design ... bad design apparently)
- Simplifies lifecycle pause/resume (should be no Android UI showing now)
- Emulation resumes automatically, will handle pausing-CPU-on-resume on native side in subsequent commit
2015-04-17 21:42:45 -07:00
Aaron Culliney
ee8660e394
Prevent creating a second native CPU thread on multiple onCreate() calls
...
- This was blowing up in an assert on the native side, yay defensive coding!
2015-04-17 21:41:46 -07:00
Aaron Culliney
2bc846d1fe
Revert "Fix non-deterministic ctor load issues and use singleton for video_backend module access"
...
This reverts commit af95212a19
.
TODO : make ctor loads deterministic
2015-04-17 21:40:56 -07:00
Aaron Culliney
af95212a19
Fix non-deterministic ctor load issues and use singleton for video_backend module access
2015-04-16 21:53:12 -07:00
Aaron Culliney
ca139ee94a
REFACTOR : glanimation rechristend, touch handling genericized
...
- 'animation' was too constrained a name to what these do, so switch to the overloaded term 'node' ;-)
- Touch handling is no longer the sole purview of the touchjoy, (in prep for touchable HUD elements)
2015-04-12 15:55:06 -07:00
Aaron Culliney
19e1a8e3d8
REFACTOR : beginnings of object-oriented approach for HUD models
2015-04-12 00:40:43 -07:00
Aaron Culliney
101d78d160
Assure we use only landscape dimensions
2015-04-11 11:42:40 -07:00
Aaron Culliney
e876cd03b6
REFACTOR : begin consolidating common code for OpenGL HUD interfaces
2015-04-11 11:42:18 -07:00
Aaron Culliney
bbf10565a8
Eliminate flicker when main menu showing by continuing to render
2015-04-07 22:50:00 -07:00
Aaron Culliney
d298601bbe
Android main menu : quit choice should be last
2015-04-07 22:46:36 -07:00
Aaron Culliney
e808dd9861
First cut at Android disk selection interface
2015-04-07 22:42:47 -07:00
Aaron Culliney
ae27a891dd
Various updates to menu system
2015-04-07 22:18:25 -07:00
Aaron Culliney
10590052f2
Avoid NPEs when servicing gestures
2015-04-04 22:36:04 -07:00
Aaron Culliney
30236cb400
First cut at GL Touch Joystick
2015-04-01 19:59:38 -07:00
Aaron Culliney
ccca77908a
Tweaks to get ndk-gdb.py running again
...
- magick incantation : ndk-gdb.py --force --launch org.deadc0de.apple2ix.Apple2Activity
2015-03-30 22:03:38 -07:00
Aaron Culliney
e878ff7750
tests run again on Android
2015-03-22 21:44:03 -07:00
Aaron Culliney
c96f4ef6fb
Some Android build tweaks
2015-03-22 19:16:18 -07:00
Aaron Culliney
dc8ed4f611
Two flavors of the Android build
2015-03-22 19:14:15 -07:00
Aaron Culliney
a4987671d9
Android rotates to the sensor landscape
2015-03-22 19:13:28 -07:00
Aaron Culliney
47ff7b5c08
Android keyboard delete operates as expected
2015-03-22 19:12:52 -07:00
Aaron Culliney
af42dc36b2
Squashed commit of the following:
...
CPU speed animation touch-ups, and enable building for desktop
Rename/shuffle animation declarations and code
Refactor backend video system to be a dynamically initialized module
Basic CPU speed texture animation works on desktop Linux and Android
Use static pixel buffers to avoid malloc/free churn
Improve CPU animations
First cut at CPU speed message animation
Refactor some of the classic interface functions to be potentially reusable elsewhere
2015-03-22 18:53:13 -07:00
Aaron Culliney
1635cd5245
Android build system updates to support demo and full versions for both debug and release
2015-03-15 15:52:10 -07:00
Aaron Culliney
51617fa620
Android : use GestureDetector instead of raw touch handling
...
- Also simplifies general settings (now you can swipe to change emulation speed)
2015-03-14 15:42:02 -07:00
Aaron Culliney
45c59fcb56
Improved Android main menu and begin to implement the settings page
2015-03-12 23:08:38 -07:00
Aaron Culliney
99d9c3510e
Handle more key codes
2015-03-12 15:09:26 -07:00
Aaron Culliney
e5fde057c9
Don't create new cpu_thread on app resume
2015-03-12 14:45:17 -07:00
Aaron Culliney
91e7136b8f
A more visually-pleasing and functional main menu on Android
2015-03-11 19:08:12 -07:00
Aaron Culliney
2965afe12e
Two-finger-touch pops up softkeyboard and adjusts GL viewport
2015-03-11 12:54:50 -07:00
Aaron Culliney
d934e06d8a
First cut at Android main menu
2015-03-10 23:32:08 -07:00
Aaron Culliney
1d9ec627f8
Android CLI builds hiccup on this file ... comment for now
2015-03-10 14:39:08 -07:00
Aaron Culliney
febadf34eb
Add proper icons to Android Studio project
2015-03-10 14:32:48 -07:00
Aaron Culliney
31eff71a84
Android Studio appears to build and run the project
...
- Still need to pre-build the NDK component from CLI, but eh, diminishing returns at the moment
2015-03-10 14:20:58 -07:00
Aaron Culliney
1ee52c1d02
Renamespace Android app
2015-03-10 13:38:14 -07:00
Aaron Culliney
91c9790d87
Initial Android Studio Gradle project
2015-03-10 13:28:27 -07:00
Aaron Culliney
e839baa931
Updates to prepare/support Android Studio / Gradle builds
2015-03-10 13:15:36 -07:00
Aaron Culliney
2cb26b089f
First cut at translating Android keys to Emulator keys
2015-02-28 21:48:08 -08:00
Aaron Culliney
1d6e9cd0d5
Build testdisplay and testvm
...
- Build system is becoming a bit redundant, but eh, would rather just avoid the blackhole of build system refactoring that =P
2015-02-24 20:54:43 -08:00
Aaron Culliney
c3969f9d1d
Fixes to get Android tests rendering
2015-02-24 20:53:19 -08:00
Aaron Culliney
bf1e15b6c9
testdisk appears to work and is rendering on Android
2015-02-24 16:03:21 -08:00
Aaron Culliney
0c3121ac65
Android : copy stuff out of APK for ease of use, and pass data_dir to native side
...
- Also makes data_dir more useful for various platforms
2015-02-23 23:11:17 -08:00
Aaron Culliney
43fa9c9357
REFACTOR : Incremental changes to NDK builds
2015-02-18 23:06:08 -08:00
Aaron Culliney
1ac7c7e12d
Remove OpenSSL dependency, use public source SHA1
2015-02-18 15:54:04 -08:00
Aaron Culliney
fd346ce7eb
Break up build to accommodate multiple targets (including test targets)
2015-02-18 12:27:01 -08:00
Aaron Culliney
829ee225e6
Android variant compiles/links
2015-02-17 20:28:23 -08:00
Aaron Culliney
d9ce113aa0
WIP : Android armeabi target compiles
2015-02-16 08:47:26 -08:00
Aaron Culliney
eced1c9edf
WIP : script wrapper for Android ndk-build
2015-02-16 08:47:26 -08:00
Aaron Culliney
6947240d97
Skeleton project for Android NDK
2015-02-16 08:47:26 -08:00