Commit Graph

108 Commits

Author SHA1 Message Date
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