Commit Graph

128 Commits

Author SHA1 Message Date
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
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
e4a849e6ae Allow choosing alternate keyboard.kbd.json file from /sdcard (or internal dataDir) 2015-08-28 22:23:43 -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
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
3f934ecd3f Fix cycling between different touch devices in the GL touch menu 2015-08-21 23:33:08 -07:00
Aaron Culliney
d2b526783a Improve joystick calibration modes and keypad menus 2015-08-21 20:34:19 -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
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
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
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
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
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
37a8985f79 First cut at audio settings menu 2015-07-24 22:39:46 -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
951b4518c1 Expose device-preferred audio parameters to native 2015-06-28 12:49:26 -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
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
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
fe8aa03360 Updates for Android build 2015-05-10 14:06:20 -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
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
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
bbf10565a8 Eliminate flicker when main menu showing by continuing to render 2015-04-07 22:50:00 -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
30236cb400 First cut at GL Touch Joystick 2015-04-01 19:59:38 -07:00
Aaron Culliney
e878ff7750 tests run again on Android 2015-03-22 21:44:03 -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
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
1ee52c1d02 Renamespace Android app 2015-03-10 13:38:14 -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