Commit Graph

443 Commits

Author SHA1 Message Date
Aaron Culliney
55cba116e4 Revert adding A2V3 format as it is unnecessary
- Re-gzipping ejected images is based solely on the file extension and not the actual file stream contents
    - Read/write disk images with extension ".gz" are re-gzipped in-place upon ejection
    - Read/write disk images without extension ".gz" are not changed upon ejection
    - Read-only disk images maintain current behavior (no modifications performed at all)
2017-07-06 19:36:37 -10:00
Aaron Culliney
f8b570869f Ensure we use run-as 2017-07-04 08:02:42 -10:00
Aaron Culliney
c00a52cbc6 unbreak testui 2017-07-04 08:00:52 -10:00
Aaron Culliney
d872ad3cdd Add link to licenses page 2017-07-01 11:50:40 -10:00
Aaron Culliney
25a0f69a5f Clean up disk selection 2017-07-01 11:40:38 -07:00
Aaron Culliney
7411a987fa Disk chooser can now also choose .a2state files
- Internal save/restore API now uses file descriptors (supports restrictive app environments)
2017-07-01 11:03:15 -07:00
Aaron Culliney
d98c4afa84 Rename emulator.state to emulator.a2state and handle migration 2017-06-28 22:05:11 -07:00
Aaron Culliney
dacf0de80e More nonsensical changes that Android Studio insists upon making 2017-06-25 16:16:54 -07:00
Aaron Culliney
8e91d1f7de Clean up some Android cruft that we don't want to support (for now, possibly ever) because of platform fragmentation and rockstarz and ninjaz 2017-06-25 16:06:54 -07:00
Aaron Culliney
dd0de51d64 Disentangle new-school and old-school disk selection and misc cleanup 2017-06-13 09:51:52 -07:00
Aaron Culliney
2a263e2418 Avoid a crash in nativeStateExtractDiskPaths() 2017-06-07 02:21:48 -07:00
Aaron Culliney
c731c2a310 Do not show disk insertion dialog if nothing chosen 2017-06-05 16:41:17 -07:00
Aaron Culliney
e020817068 Bump Gradle version 2017-06-05 16:06:19 -07:00
Aaron Culliney
91fdf7b8e5 Add ability to choose disk images via the Android system chooser 2017-06-05 16:05:44 -07:00
Aaron Culliney
b300e60e2a Persist disk image 'was_gzipped' state
- 'was_gzipped' state is persisted in .apple2.json preferences
    - This removes all file-renaming codepaths at the cost of temporarily nonconformance to naming convesion (e.g., disk
      images inserted read/write are still called 'foo.dsk.gz' although they are not compressed)
    - Unclean shutdown of emulator leaves any disk images that were inserted read/write in their non-gzipped state
      (regardless of file name extension) on disk until emulator restarted and disk images explictly ejected or clean
      shudown.  App removal after unclean shutdown will potentially leave mis-named disk images lingering.
    - Emulator will handle edge cases of non-gzipped disk images with '.gz' extension and gzipped disk images without
      '.gz' extension
2017-05-29 08:05:38 -10:00
Aaron Culliney
399daf16fa More changes insisted upon by Android Studio 2017-05-28 10:09:14 -10:00
Aaron Culliney
8873fe09d1 U5 soft touch keyboard 2017-05-28 08:51:30 -10:00
Aaron Culliney
5dfa2e8797 Changes insisted upon by Android Studio 2017-05-28 08:49:38 -10:00
Aaron Culliney
4c893cc197 Beginnings of trace testing on Droid
- Currently broken because !CONFORMANT_TRACKS
2017-05-28 08:48:24 -10:00
Aaron Culliney
9bd59661ed Refactor disk image UI to use file descriptors and not paths
- Push path opening responsibility out of disk6 API in favor of using file descriptors
    - Improves handling of readonly gzipped disk images (now data is read without gunzipping or mmap()ing the file)
    - Currently represents an API-breaking change for macOS, iOS, GNU/Linux desktop ports (but should be easy to fix)
2017-05-28 08:48:11 -10:00
Aaron Culliney
2ca742650f Remove Intent handling of disk paths in preparation for refactoring this 2017-05-28 08:48:04 -10:00
Aaron Culliney
6bfbe3cc88 Bump Android version to 1.1.10 2016-11-07 19:37:24 -08:00
Aaron Culliney
086c7e585a Update Android Studio 2016-10-30 12:18:23 -07:00
Aaron Culliney
a13caa8bd1 Bump Android version to 1.1.9 2016-10-30 11:43:23 -07:00
Aaron Culliney
c0a4ced573 Silence a LOG 2016-10-23 18:30:08 -07:00
Aaron Culliney
07c2f3cba8 Fix issue that stricter compiler warned about 2016-10-23 17:38:36 -07:00
Aaron Culliney
d6656a4fff Insure that preferences are loaded when handling early crashes 2016-10-23 12:11:15 -07:00
Aaron Culliney
2f8381e4df Don't run lint in Android release builds for now
- This currently blows up if we're missing I18N/L10N strings for a [currently] non-supported translation
    - We have our own release procedure that should be sufficient at this point
2016-10-22 12:05:01 -07:00
Aaron Culliney
85668fbe35 Moar changes insisted upon by Android Studio 2016-10-22 12:04:14 -07:00
Aaron Culliney
db04d330c7 Expose save-state file in /sdcard/apple2ix 2016-10-22 11:41:16 -07:00
Aaron Culliney
a6516fc1ad Changes that Android Studio insists upon 2016-10-16 16:01:01 -07:00
Aaron Culliney
f6e2ebc028 Add testui target for Android 2016-10-15 19:29:15 -07:00
Aaron Culliney
039063d9b0 Fix test build break 2016-10-15 19:16:12 -07:00
Aaron Culliney
c80e16de3b Unbreak tests on Android 2016-10-09 12:21:41 -07:00
Aaron Culliney
5805822bd4 Android : bring in scripts needed by toolchain_edits/ndk-gdb from NDK r10e 2016-09-15 10:07:56 -07:00
Aaron Culliney
bc46b2d24e Update Android Studio and components 2016-08-21 08:53:58 -10:00
Aaron Culliney
1a6c1292f3 Fix Android native build script on Mac
- Darwin/BSD 'wc' utility injects extra whitespace, so strip it out
2016-08-21 08:51:15 -10:00
Aaron Culliney
838bf0496a Include Mac breakpad binaries for CLI native builds from Mac development box
- NOTE : Darwin dump_syms is really 'dump_syms_elf' from my copy of Breakpad
2016-08-21 08:51:05 -10:00
Aaron Culliney
2f156d4262 Improve genglue.sh script for generating trampoline functions 2016-07-23 17:24:10 -07:00
Aaron Culliney
fc9ad6d4e1 Excise unused preprocessor macro 2016-07-23 17:23:58 -07:00
Aaron Culliney
cc9a164bec Audio codepaths now always enabled
- Supported platforms:
        - Mac/iOS (OpenAL)
        - Desktop Linux/POSIX (OpenAL)
        - Android (OpenSLES)
    - TODO : for POSIX builds we should provide our own "null" audio backend if OpenAL/OpenSL not found by build script
2016-07-23 17:23:54 -07:00
Aaron Culliney
06f8015959 Misc fixes for test stubs 2016-07-23 17:23:36 -07:00
Aaron Culliney
4aa78f7a65 Update Android Studio components 2016-06-26 11:29:41 -07:00
Aaron Culliney
e06620b57d http -> https 2016-06-19 12:43:35 -07:00
Aaron Culliney
bc6719d712 Allow access to toplevel of external storage 2016-06-12 09:19:02 -07:00
Aaron Culliney
b7a49137c0 AndroidStudio updated 2016-05-11 21:11:54 -07:00
Aaron Culliney
54712f8423 Bump Android version to 1.1.8 2016-05-11 21:05:42 -07:00
Aaron Culliney
7dc83521ec Show visual spacebar glyph when custom selecting keypad-joystick controls 2016-05-09 23:00:26 -07:00
Aaron Culliney
95e7964912 Revert "Remove Android Studio file that always changes from revision control"
This reverts commit 9f1f6e4fe1.

    - OK apparently we do need to keep an eye on this, because Android Studio will clobber it every so often and result
      in a "weird" state where it can't build the project...
2016-05-08 14:33:03 -07:00
Aaron Culliney
abfa461227 Misc stuff for Android build 2016-05-08 13:39:17 -07:00
Aaron Culliney
b8ab6e2be0 Fix testcpu build break when targeting latest NDK 2016-05-08 12:33:00 -07:00
Aaron Culliney
9f1f6e4fe1 Remove Android Studio file that always changes from revision control 2016-05-08 12:16:22 -07:00
Aaron Culliney
093c99466f Various tweaks to get release build working 2016-05-08 12:06:57 -07:00
Aaron Culliney
254e013342 Migrate legacy Android-managed preferences to our custom JSON preferences 2016-05-08 12:06:31 -07:00
Aaron Culliney
b0c1703b23 Send JSON preferences in crash report 2016-05-07 16:33:51 -07:00
Aaron Culliney
9e9d0333cc Ensure that crash prompt shows up when in portrait mode
- (Android lifecycle change was killing our previous Alert!)
2016-05-07 16:33:23 -07:00
Aaron Culliney
44b2e564d4 Bugfix keyboard min alpha 2016-05-06 20:38:18 -07:00
Aaron Culliney
edaab3e110 Experiment with -Os optimization level 2016-05-05 21:55:12 -07:00
Aaron Culliney
2de03fd849 Stuff changed by Android Studio 2016-05-05 21:54:45 -07:00
Aaron Culliney
7d21391efe Bugfix : force a full load of preferences when going to background 2016-05-05 21:50:47 -07:00
Aaron Culliney
ab59b089d9 Revert to using GCC 4.9 toolchain for Android because GCC can x86!
- While LLVM/Clang appears to be very stable with codegen for ARM architectures, I have trust issues with Clang
      producing optimized codegen for the 32bit x86 architecture.
    - I have witnessed a number of examples where Clang generates invalid x86 code for both Chromium Breakpad and JSMN
      in this project, as well as similar issues discovered at the day job.  (This is for the LLVM toolchain in the
      latest NDK as well as previous ones)
2016-05-05 20:45:24 -07:00
Aaron Culliney
d2261815a1 Do not build for Android x86_64
- I have only 32bit native and 64bit-running-PAE devices for testing
    - Paraphrasing Billy G, "32 bits ought to be enough for anybody"
2016-05-04 21:48:57 -07:00
Aaron Culliney
13701b5497 Add a few more crash tests for Android 2016-05-04 21:48:27 -07:00
Aaron Culliney
3c45c455ec Upgrade Android Studio 2016-05-03 21:05:49 -07:00
Aaron Culliney
7b3eabb12f Fix x86 and x86_64 __PIC__ code for Linux and Mac 2016-05-01 18:49:18 -07:00
Aaron Culliney
30b203e3da Changes insisted upon by Android Studio 2016-04-24 18:31:32 -07:00
Aaron Culliney
a5a498f96c Tweaks for arch builds 2016-04-21 22:06:42 -07:00
Aaron Culliney
b2acb4a1ed Ensure we don't unnecessarily sync preferences to native 2016-04-18 21:30:01 -07:00
Aaron Culliney
2bf379aad4 Improve Android keypad joystick selection routine
- Changes Skip button to not set anything
    - Adds a None button to explicitly choose that
    - Will dismiss selection routine instead of looping
2016-04-18 21:07:34 -07:00
Aaron Culliney
399617e77f Avoid NullPointerException when choosing custom keypad joystick keys 2016-04-18 20:30:29 -07:00
Aaron Culliney
d416edc7d8 Change splash screen preferences button to a reset-preferences button
- Reset should be the only thing potentially needed from the splash screen (and even then hopefully not).  The main
      preferences menus can be accessed after starting emulation via back button or top right touch menu
2016-04-17 18:13:26 -07:00
Aaron Culliney
7607126f7c Avoid resetting joystick buttons too soon (to allow for ClosedApple-Reset to trigger) 2016-04-17 12:51:23 -07:00
Aaron Culliney
76f29d0865 Allow emulator shutdown state to be queried as needed 2016-04-17 12:18:48 -07:00
Aaron Culliney
3ed159dd0b Lightly refactor joystick and button handling during reset
- Remove unused button2 variable
    - Remake little-used backend joystick reset function as function pointer
    - Allow soft reset and self-test on Android (although there is still a race condition due to code that directly sets
      joy_button[12] values
2016-04-17 11:42:13 -07:00
Aaron Culliney
04f22686fa Do not hide touchmenu for portrait calibration 2016-04-13 21:22:26 -07:00
Aaron Culliney
fd7578a862 Always show touch joystick azimuth (if we're rendering the joystick axis) 2016-04-13 19:50:03 -07:00
Aaron Culliney
2a405f028f Streamline and fix test codepaths on Desktop Linux and Android 2016-04-13 19:33:08 -07:00
Aaron Culliney
9c1cfedf7d Fix some envvars on Android 2016-04-12 22:16:01 -07:00
Aaron Culliney
db816ad502 Refactor Android variant to use common shared JSON preferences
- Eliminates a whole bunch of boilerplate setter/getter code in various places
    - Accesses preferences directly from JSON data through custom json_parse.h API
    - Improves code locality for Java menus/settings
2016-04-11 22:01:30 -07:00
Aaron Culliney
b87273e742 Expand coverage of heap memory checking of debug builds and simplify FREE() calls 2016-02-26 21:26:57 -08:00
Aaron Culliney
b5dfd86310 Changes insited upon by Android Studio 2016-02-23 00:10:41 -08:00
Aaron Culliney
3120b75e00 Enforce module ctor priorities 2016-02-22 22:41:37 -08:00
Aaron Culliney
c5ed0bb5c6 Switch Android toolchain to stable Clang 2016-02-20 13:48:00 -08:00
Aaron Culliney
44b9c4c408 Bump Android version to 1.1.7 2016-02-20 13:39:59 -08:00
Aaron Culliney
03930d6acb Add missing (nontranslated) strings to get release build "lint" check passing
- Sweeps the problem under the rug, but contributions from native speakers are always welcome =)
2016-02-20 11:59:57 -08:00
Aaron Culliney
15d64cf24e Render thread will actually eject the disks through emulator_shutdown() 2016-02-20 11:09:24 -08:00
Aaron Culliney
dcbf1ace18 Remove an assertion that can be wrong if user is spamming app lifecycle backgrounding/foregrounding
- Unlikely to be a real problem if CPU thread is not paused when we are initializing the render thread
2016-02-20 11:07:29 -08:00
Aaron Culliney
89d12ce29d Misc fixes for Android portrait/landscape mode settings 2016-02-15 14:10:29 -08:00
Aaron Culliney
545376b1be Improve testcpu on desktop and fix it on Android 2016-02-15 13:32:05 -08:00
Aaron Culliney
829291feba Refactor all drawing to run on video thread in one scanner pass
- Moves extra work off CPU/audio thread
    - Prepares the way to possibly remove the vestigal intermediate indexed framebuffer and do direct RGBA_8888 writes
      to XImage or OpenGL texture
    - Prepares the ground for possible better emulation of video scanner hardware

Conflicts:
	src/display.c
	src/video/glvideo.c
	src/video/video.h
2016-02-15 13:29:58 -08:00
Aaron Culliney
bd9b38cd65 Allow calibration of portrait mode on Android 2016-02-14 20:40:51 -08:00
Aaron Culliney
261ae2efae Refactor to not use video_backend in so many places 2016-02-07 14:42:32 -08:00
Aaron Culliney
5fec80a33a Refactor video_shutdown() to appease Valgrind
- This likely breaks Darwin ports ... will fix soon[ish]
2016-02-07 14:42:28 -08:00
Aaron Culliney
edaae0bc89 Refactor glvideo to be the root glnode, begin to privatize video_backend APIs 2016-02-07 14:42:16 -08:00
Aaron Culliney
51fb905260 Upgrade Android Studio stuff-n-things 2016-02-07 13:20:15 -08:00
Aaron Culliney
c5298eb6f0 Mockingboard is now default enabled on Android ... temporarily force this upgrade in version 16 2016-01-30 14:46:03 -08:00
Aaron Culliney
1358a52eee Add but disable CPU trace on Android 2016-01-24 09:47:57 -08:00
Aaron Culliney
dfbccaeb7f Changes insisted upon by new AndroidStudio 2016-01-23 13:08:44 -08:00
Aaron Culliney
c6503021c2 Bump Android version to 1.1.6 2016-01-09 22:45:48 -08:00
Aaron Culliney
b2824e9145 Improve tap responsiveness in GL touch joystick 2016-01-08 00:28:57 -08:00