Commit Graph

195 Commits

Author SHA1 Message Date
Aaron Culliney
18d831b04c Fast disk loading is enabled from a pref 2018-11-07 06:49:16 -08:00
Aaron Culliney
227098ec52 Refactor video/display rendering
- Import NTSC video display modes
    - Migrate to using full-color framebuffers
    - Mac and Android builds somewhat working
    - TODO : likely breaks display testing
2018-11-04 14:07:30 -08:00
Aaron Culliney
20b085d9f7 Ensure that HUD color default matches true default 2017-11-26 11:35:10 -08:00
Aaron Culliney
7a99b72f20 Allow different colorschemes with HUD devices 2017-11-11 16:02:38 -08:00
Aaron Culliney
021604471b Avoid potential NPE 2017-11-11 12:06:26 -08:00
Aaron Culliney
dc5e7eee25 Allow showing system soft touch keyboard 2017-11-11 11:59:20 -08:00
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
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
dd0de51d64 Disentangle new-school and old-school disk selection and misc cleanup 2017-06-13 09:51:52 -07:00
Aaron Culliney
c731c2a310 Do not show disk insertion dialog if nothing chosen 2017-06-05 16:41:17 -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
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
d6656a4fff Insure that preferences are loaded when handling early crashes 2016-10-23 12:11:15 -07:00
Aaron Culliney
db04d330c7 Expose save-state file in /sdcard/apple2ix 2016-10-22 11:41:16 -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
7dc83521ec Show visual spacebar glyph when custom selecting keypad-joystick controls 2016-05-09 23:00:26 -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
7d21391efe Bugfix : force a full load of preferences when going to background 2016-05-05 21:50:47 -07:00
Aaron Culliney
13701b5497 Add a few more crash tests for Android 2016-05-04 21:48:27 -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
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
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
89d12ce29d Misc fixes for Android portrait/landscape mode settings 2016-02-15 14:10:29 -08:00
Aaron Culliney
bd9b38cd65 Allow calibration of portrait mode on Android 2016-02-14 20:40:51 -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
b2824e9145 Improve tap responsiveness in GL touch joystick 2016-01-08 00:28:57 -08:00
Aaron Culliney
9bbfca3193 Take into account device screen small axis when calculating button switch threshold 2016-01-07 22:41:50 -08:00
Aaron Culliney
94882c48bc Send app version in crash report 2016-01-05 20:58:57 -08:00
Aaron Culliney
c89ee87bd4 Tweak heuristic calculation of when to use 2x glyphs 2016-01-03 12:58:12 -08:00
Aaron Culliney
d8fc04ec2e Expose ability to set azimuth visibility on Android 2016-01-03 12:49:23 -08:00
Aaron Culliney
b59672815f Allow setting keyboard and HUD menu glyph scale 2016-01-02 00:14:21 -08:00
Aaron Culliney
39c654ae9d Simplify and coalesce touch menu settings into keyboard settings for now 2016-01-01 21:35:49 -08:00
Aaron Culliney
20278ca91e Migration to 1.1.3+ should remove disks that were excised 2015-12-24 22:17:29 -08:00
Aaron Culliney
4d9eda4862 Work around another UI race exposed by NVIDIA Shield Portable 2015-12-22 21:53:14 -08:00
Aaron Culliney
4deedb2215 Move main menu dialog code into Apple2MainMenu 2015-12-20 16:45:59 -08:00