Commit Graph

1164 Commits

Author SHA1 Message Date
Aaron Culliney
721ea2c172 Also copy external-disks and use them if available 2016-09-02 12:39:09 -07:00
Aaron Culliney
99953ea90a Fix genglue for paths with spaces 2016-08-27 15:18:26 -07:00
Aaron Culliney
8921f79a14 Beginnings of Mockingboard tracing for automated testing 2016-08-27 13:33:05 -07:00
Aaron Culliney
5883545390 Ensure CPU speeds in test prefs are correctly set 2016-08-27 12:10:36 -07:00
Aaron Culliney
d4581eb492 Enable testing of 3rd-party disk images 2016-08-27 09:17:23 -07:00
Aaron Culliney
94ca64f08d Avoid a segfault if shader is not found ('make install' not run) 2016-08-27 09:17:16 -07:00
Aaron Culliney
35e3d6a969 Fix building with stricter Android NDK gcc 4.9 2016-08-21 08:53:39 -10:00
Aaron Culliney
b4c72c15c6 Formally disable SSI263 (speech synthesis) codepaths for now
- SSI263Thread was previously disabled (doesn't appear to be used for most games, e.g., U4 and U5)
    - As written this code would initialize 64 backend audio buffers ... this seems excessive, especially for low-end
      platforms we support (e.g., Android 2.3.3)
    - My limited understanding of these codepaths would suggest that only one phoneme should play at a time so
      presumably we should only need one additional backend audio buffer
    - We may also need to augment the soundcore/backend API to support playing/stopping these "one-shot" phonemes
    - Added assert(false) for DEBUG builds to discover which disk images blow up
2016-07-31 12:59:33 -07:00
Aaron Culliney
fe894b6ac2 Clarify codepaths for my Windoze-weary eyes 2016-07-25 21:22:36 -07:00
Aaron Culliney
eeba82ba24 Merge Mockingboard implementation from upstream AppleWin 2016-07-24 17:55:50 -07:00
Aaron Culliney
7a82bbf471 Unbreak Mockingboard codepaths 2016-07-24 17:55:07 -07:00
Aaron Culliney
7ad7b65d11 Add speaker tracing API and tests 2016-07-23 17:35:11 -07: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
19178b751c Unbreak tests on desktop Linux 2016-07-22 20:54:21 -07:00
Aaron Culliney
4457e9e722 Tests running and passing again on iOS devices 2016-07-22 20:43:47 -07:00
Aaron Culliney
59e6c4fabc Fix HOMEDIR on mobile devices 2016-07-22 20:43:42 -07:00
Aaron Culliney
635075f34b iOS port is beginning to build again 2016-07-15 21:23:37 -07:00
Aaron Culliney
ed8942f82d Fix testtrace by testing with more determinism ;) 2016-07-15 20:28:23 -07:00
Aaron Culliney
d7413dae01 Allow for more deterministic typing/stepping of CPU thread from debugger 2016-07-15 20:28:23 -07:00
Aaron Culliney
4ca642a715 Remove duplicate code paths for stepping/typing-into the debugger 2016-07-15 20:28:23 -07:00
Aaron Culliney
b62f5e9e7f Hackishly enforce determinism to trace testing 2016-07-15 20:28:23 -07:00
Aaron Culliney
c393ea81a0 Simplify code paths for POSIX desktop testing and fix testcpu breakage 2016-07-02 13:44:59 -07:00
Aaron Culliney
4fee1ee0be Fix a test break when converting to http[s] URL 2016-07-02 13:35:20 -07:00
Aaron Culliney
7af88b3568 Tests are starting to run in iOS simulator 2016-06-30 21:03:58 -07:00
Aaron Culliney
ca73750c44 Various tests works again on Mac 2016-06-26 09:31:56 -07:00
Aaron Culliney
e06620b57d http -> https 2016-06-19 12:43:35 -07:00
Aaron Culliney
fd5b97189a HACK : get iOS building again
- TODO FIXME : actually get proper __PIC__ code written for Mac/i386
2016-05-15 18:13:20 -07:00
Aaron Culliney
8ce1fffe89 Fix x86 __PIC__ bug when indirecting in GLUE_BANK_MAYBEREAD() 2016-05-10 22:17:37 -07:00
Aaron Culliney
28ecb323ba Be more resilient in tap/swipe gesture handler 2016-05-09 22:03:23 -07:00
Aaron Culliney
ac912ffd54 Ensure an intelligent default setting for mockingboard volume 2016-05-08 21:38:41 -07:00
Aaron Culliney
dadf5e02a1 Persist the current soft touch keyboard variant 2016-05-06 21:17:02 -07:00
Aaron Culliney
aad2f0a71e Speculative fix from a crash report from the wild 2016-05-05 21:06:52 -07:00
Aaron Culliney
70e203303e HACK : fix a test suite breakage caused by joystick button reset delay 2016-05-02 22:14:42 -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
da4e5eb75a Get testtrace building again on Desktop Linux
- These tests are currently somewhat unstable, TODO FIXME
2016-04-26 21:10:16 -07:00
Aaron Culliney
28cdb24d18 Move an assert to avoid firing on load of Mac app 2016-04-23 12:38:55 -07:00
Aaron Culliney
14108fb97b Fix Mac assembly 2016-04-23 11:52:20 -07:00
Aaron Culliney
ae75ce2798 Avoid calling glGetError() on thread without OpenGL context 2016-04-23 11:51:02 -07:00
Aaron Culliney
a77075c881 Set a lower limit to avoid thread starvation 2016-04-22 20:19:40 -07:00
Aaron Culliney
90b52702d6 Refactor __PIC__ codepaths on x86_64 2016-04-21 22:09:04 -07:00
Aaron Culliney
a5a498f96c Tweaks for arch builds 2016-04-21 22:06:42 -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
13184ec4be Change the button gesture recognizer state machine
- Use a synchronized event queue rather than overwriting "current" button state
    - Use aggressive assertions to ensure state machine is coherent
2016-04-16 14:16:34 -07:00
Aaron Culliney
9c9ba6e7ef Render the correct activeChar when initially setting touch joystick preferences 2016-04-16 14:15:21 -07:00
Aaron Culliney
dcb35226b7 Lightly refactor max CPU speed checks
- Better naming of the pivot point (@4.0x CPU)
    - Use floating point values divisible by 2 as the constants
2016-04-16 14:08:00 -07:00
Aaron Culliney
f53dbea81e Pause CPU on Linux desktop initialization 2016-04-16 13:33:50 -07:00
Aaron Culliney
65882152a8 Insure preferences are propagated regardless of enabled state 2016-04-13 21:23:37 -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
23a874456c Better audio defaults 2016-04-13 19:45:55 -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
b59e1ca7ab json_parse module passes new tests 2016-03-29 22:39:59 -07:00
Aaron Culliney
a03c074a52 Moar JSON/prefs tests including new array tests 2016-03-29 22:38:28 -07:00
Aaron Culliney
b065da9f4b Various test suite improvements
- Possibly breaking changes for mobile ... #willunbreaklater
2016-03-26 14:56:34 -07:00
Aaron Culliney
74a5b74ae3 Refactor prefs into JSON publish/subscribe API
- Breaking changes currently only tested on Linux desktop build =P
    - Goal is to eventually eliminate most/many of the disparate getter/setter functions to allow better
      modularity/scaling and platform portability
2016-03-26 13:44:13 -07:00
Aaron Culliney
163035b0c7 Add a bunch of new JSON tests 2016-03-25 20:44:03 -07:00
Aaron Culliney
fdfe312a2b Changes needed after jsmn subtree upgrade 2016-03-09 22:21:15 -08:00
Aaron Culliney
a87092bbd8 Add JSON mutation functions and tests 2016-03-09 21:06:00 -08:00
Aaron Culliney
01b25527fe Add JSON serialization and tests
- Encourage use of opaque reference rather than internal struct
2016-03-04 23:31:15 -08: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
0663141589 Misc tweaks 2016-02-25 21:04:23 -08:00
Aaron Culliney
6e978810db First cut at testsuite for json/prefs 2016-02-25 20:56:59 -08:00
Aaron Culliney
3120b75e00 Enforce module ctor priorities 2016-02-22 22:41:37 -08:00
Aaron Culliney
f0e55af6f0 Fix a glitch rerendering pressed ctrl key ... codegen error in ARM gcc 4.8 toolchain? 2016-02-19 21:41:34 -08:00
Aaron Culliney
699f4697df Don't leak azimuth model objects 2016-02-19 20:00:42 -08:00
Aaron Culliney
efcf0afa4e Set framebuffer dirty on restore state 2016-02-17 22:38:50 -08:00
Aaron Culliney
00a5f6e102 Fix "re-insert" disk edge case 2016-02-17 22:32:01 -08:00
Aaron Culliney
e073954ec8 Add a test case that shows a problem with "re-inserted" disks 2016-02-17 22:24:07 -08:00
Aaron Culliney
afeaba8b2a Lock access to zlib functions and unlinking image files to prevent data loss 2016-02-17 21:31:43 -08:00
Aaron Culliney
a2b7603e53 Only reset disk stepper_phases during VM initialization and allow for save/restoring it 2016-02-17 21:10:09 -08:00
Aaron Culliney
0dbcfbc9a2 Various fixes to get Mac and iOS building 2016-02-15 21:10:16 -08:00
Aaron Culliney
fccd2629d4 Clear color should be solid and should be set by toplevel glnode 2016-02-15 14:03:52 -08:00
Aaron Culliney
bac745845b Don't allow reaching beyond buffer row bounds 2016-02-15 14:01:59 -08:00
Aaron Culliney
545376b1be Improve testcpu on desktop and fix it on Android 2016-02-15 13:32:05 -08:00
Aaron Culliney
7ef70e7943 Make use of the video memory dirty bit 2016-02-15 13:30:35 -08:00
Aaron Culliney
5ce91fa96d Do not test internal implementation detail that no longer exists 2016-02-15 13:30:31 -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
5354b0cfd5 First cut at allowing portrait mode (on mobile devices) 2016-02-14 20:18:07 -08:00
Aaron Culliney
70afe71c82 Add various new JSON data format parsing functions 2016-02-13 21:19:06 -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
c0b7b8dd9b Simplify XEvent processing loop and fix non-MITSHM codepath 2016-01-31 13:21:38 -08:00
Aaron Culliney
e638c13d9d Lock access to INTERFACE_CLASSIC thread on desktop POSIX 2016-01-31 13:18:19 -08:00
Aaron Culliney
433f4baafa Eliminate unnecessary variable and draw axis/buttons for duration of tracking touch 2016-01-30 14:46:49 -08:00
Aaron Culliney
8f03d0ca6f Enforce pointer index tracking for touch lifecycle
- Fixes glitch where GLTouchMenu would capture a joystick event if the movement came into its portion of the screen
    - Prepares the way for allowing both keyboard and joystick access to same screen real-estate
2016-01-30 14:46:43 -08:00
Aaron Culliney
c29daf006e Refactor : naming RB -> Azimuth 2016-01-30 14:46:31 -08:00
Aaron Culliney
ac151ae9e9 Bugfix Mockingboard volume getting improperly reset 2016-01-30 14:46:08 -08:00
Aaron Culliney
1912428ed3 Properly account for mockingboard card enabled/disabled 2016-01-30 14:45:51 -08:00
Aaron Culliney
ba07bcc274 Avoid resetting Mockingboard state machine when all we need to do is reset the backend
- Also slightly disentangles audio initialization from reinitialization
2016-01-30 14:45:35 -08:00
Aaron Culliney
b5fbf29f21 Don't let FLASH text counter overflow 2016-01-24 11:03:50 -08:00
Aaron Culliney
661b4220ef Unbreak TOUCH_JOY_LOG() macro 2016-01-24 10:25:45 -08:00
Aaron Culliney
1358a52eee Add but disable CPU trace on Android 2016-01-24 09:47:57 -08:00
Aaron Culliney
b9acdc7d4c reset FBSHA after LORES80 iteration 2016-01-24 09:47:44 -08:00
Aaron Culliney
d44aad062a ARM bugfix: actually return the correct value when reading from slot I/O card
- Allows NSCT.dsk to boot on ARM architecture devices
2016-01-23 13:00:45 -08:00
Aaron Culliney
f8e4ba3551 FLASHing text is handled by CPU timing and not render loop 2016-01-20 23:17:39 -08:00
Aaron Culliney
175df18401 Don't use long word for cycles counter
- Lightly optimize a hot code path
    - Include debug code for testing counter overflow
2016-01-20 23:17:30 -08:00
Aaron Culliney
edfd5243ff First cut at LORES80 graphics
- This comes with the caveat that all video modes will need to be refactored to take into account proper timing
2016-01-20 23:16:42 -08:00
Aaron Culliney
090f5f4db4 Don't actually draw unless byte written to active page or page was swapped
- Avoids "flicker" in 80's apps that use double buffering
    - Possibly improves performance since we only take the render hit in page swap (or direct render to visible page)
2016-01-20 23:16:34 -08:00
Aaron Culliney
a8e6f4fc92 Refactor : coalesced text/mixed drawing codepath 2016-01-16 22:05:28 -08:00
Aaron Culliney
8626215205 Silence a number of spurious compiler warnings
- Existing warnings are now a good proxy for areas of code smell ;-)
2016-01-10 12:09:04 -08:00
Aaron Culliney
1dc08f4a25 Silence compiler warning about asprintf() when running flex 2016-01-10 11:41:54 -08:00
Aaron Culliney
0c77e4a659 Fix testdisk assertions in debug builds 2016-01-09 14:00:33 -08:00
Aaron Culliney
144086c667 Don't LOG() in Breakpad callback 2016-01-09 12:44:11 -08:00
Aaron Culliney
b2824e9145 Improve tap responsiveness in GL touch joystick 2016-01-08 00:28:57 -08:00
Aaron Culliney
a64941694f Expose timespec_add 2016-01-07 22:42:04 -08:00
Aaron Culliney
18c02d3673 Fix broken assert 2016-01-07 20:57:22 -08:00
Aaron Culliney
659a338d26 Avoid crashing if azimuth model is unavailable (shader failed to compile) 2016-01-05 23:19:12 -08:00
Aaron Culliney
4436b9b7ca Fix semi-opaque glyph shading with scales > 2
- Also add defensive coding in debug builds
2016-01-05 23:04:27 -08:00
Aaron Culliney
3089b98a30 For now, enable logging in release builds on Android 2016-01-05 21:39:04 -08:00
Aaron Culliney
f7cb3da434 Mark certain core emulation modules as problematic on iOS/Mac, and something we should fix 2016-01-05 00:11:58 -08:00
Aaron Culliney
086f7d0da2 Do not free the model positions prematurely ... since we occasionally change them 2016-01-05 00:11:16 -08:00
jvernet
b6a9f667ef Latest commit from mauiaaron need common.h in imagutil for FREE and MALLOC macros 2016-01-04 21:25:27 -08:00
jvernet
4d89d173f4 Here we are: now everything work for iPad. 2016-01-04 21:25:27 -08:00
jvernet
a3040dfb05 IOS stuff 2016-01-04 21:25:26 -08:00
jvernet
5d86735a69 Fixed Crash on reboot
It crash ? Killing // ;)
2016-01-04 21:25:25 -08:00
Aaron Culliney
97f52ef2ff Get Android build unstuck 2016-01-04 20:34:27 -08:00
Aaron Culliney
5737e89150 Initial iOS target compiles, links, and appears to run in simulator and on device =) 2016-01-04 20:34:27 -08:00
Aaron Culliney
5a2529651c Fix recent Android build break 2016-01-03 13:09:23 -08:00
Aaron Culliney
08a6d99334 Fix assert/crash on desktop Linux introduced by overzealous malloc fencing 2016-01-03 13:01:48 -08:00
Aaron Culliney
c2014e2cde Add simple display of touch joystick azimuth 2016-01-03 12:36:13 -08:00
Aaron Culliney
29282dcac6 Expose identity matrix and only calculate it once 2016-01-03 12:02:06 -08:00
Aaron Culliney
9219fa7053 Creation of GLCustom model is slightly more RAII 2016-01-03 11:57:48 -08:00
Aaron Culliney
2ec88ad433 Iterate on GLTouchJoystick
- Use smaller models/textures
    - Slightly change the joystick/kpad glyphs
2016-01-02 15:08:06 -08:00
Aaron Culliney
691dbd5ac2 Coalesce duplicate fade-out codepaths 2016-01-02 14:23:09 -08:00
Aaron Culliney
8b3f288018 Reduce duplicate OpenGL plumbing codepaths
- Apple //e "framebuffer" OpenGL model/texture is now a complete GLModel object
    - Readability FTW! ... use args struct in quadCreation function to allow for named args
2016-01-02 13:39:07 -08:00
Aaron Culliney
7ca679350d Move shader/program creation into video_util module 2016-01-02 11:33:47 -08:00
Aaron Culliney
b59672815f Allow setting keyboard and HUD menu glyph scale 2016-01-02 00:14:21 -08:00
Aaron Culliney
904d89aff8 Get touch menu min/max alpha matching touch keyboard 2016-01-01 21:38:35 -08:00
Aaron Culliney
f5bbda4c6e Refactor HUD model to allow scaling font glyphs
- Should be less pixelation of touch keyboard on large tablet screens
2016-01-01 15:02:29 -08:00
Aaron Culliney
a54a69efcc Call "super init" during HUD model creation 2015-12-31 22:54:34 -08:00
Aaron Culliney
abae59767c Enable simple heap memory fencing/scribbling in debug builds 2015-12-31 22:50:43 -08:00
Aaron Culliney
9fd288c0b9 Remove aggressive assert that fired on Cyanogen device (even with a valid CPU pause/resume lifecycle) ... 2015-12-20 15:04:20 -08:00
Aaron Culliney
d69b416c58 Lightly refactor emulator joystick API in preparation for more comprehensive refactor 2015-12-19 13:01:28 -08:00
Aaron Culliney
c7c209907b Allow for keyboard to completely own/cover screen
- Includes updated alternate/custom keyboards
2015-12-19 12:56:24 -08:00
Aaron Culliney
5bd7ff2fe1 Simplify switching to "useralt" touch keyboard 2015-12-16 22:15:19 -08:00
Aaron Culliney
69b096ec14 Avoid showing redundant 0 nibble 2015-12-16 21:33:25 -08:00
Aaron Culliney
f872e0c05c fix i386 variant of op_SBC_dec (now re-passes tests on x86 Android) 2015-12-16 21:12:45 -08:00
Aaron Culliney
5211722d63 Switch to using DSK to speed up tests on Android 2015-12-16 21:11:52 -08:00
Aaron Culliney
785577e252 Fix some compiler warnings in testdisk.c 2015-12-16 21:11:35 -08:00
Aaron Culliney
3a20c96296 Check more paths in attempt to satisfy test suite disk insertion
- This is mainly to accommodate disk locations on Android
2015-12-16 21:01:50 -08:00
Aaron Culliney
9e5274ee18 Flip-flop test to correctly account for e5f08849 2015-12-16 20:56:20 -08:00
Aaron Culliney
26e452c3a3 Avoid bufover in testsuite -- sprintf() already writes terminating null byte! 2015-12-16 20:53:16 -08:00
Aaron Culliney
2dbd77e344 Excise uthash.h from testcpu suite
- Works around issue where Android NDK GCC 4.8/4.9 would take an inordinate amount of time when compiling testcpu with -O2
2015-12-14 23:56:48 -08:00
Aaron Culliney
699746a743 Alleviate compiler warnings in testvm/testdisplay 2015-12-14 23:55:08 -08:00
Aaron Culliney
74e97ccc97 Alleviate compiler warnings in testcpu 2015-12-14 22:11:29 -08:00
Aaron Culliney
1f0021667b Fix display test failures
- New framebuffer SHAs result of recent improvements to DHIRES colors
2015-12-14 18:59:44 -08:00
Aaron Culliney
341885e233 Undo selected character highlight when keyboard fades out 2015-12-13 13:38:03 -08:00
Aaron Culliney
87761df512 Avoid using magic row/column numbers when redrawing adjacent characters 2015-12-13 13:24:25 -08:00
Aaron Culliney
22914de79c Enable setting to show/hide disk read/write HUD messages 2015-12-12 12:01:41 -08:00
Aaron Culliney
edf42b81f9 Improve disk quick save/restore
- Flush disk I/O on save
    - Ignore ephemeral track_valid/track_dirty bits
    - Insure disks are ejected if there was a problem loading state
2015-12-12 00:21:27 -08:00
Aaron Culliney
0aed046b5e Simplify modulo offset calculations in trackimage 2015-12-12 00:17:58 -08:00
Aaron Culliney
ef1963a175 Avoid potential read off end of trackimage 2015-12-12 00:16:14 -08:00
Aaron Culliney
0f98a34e06 Refactor naming of user-chosen alternate keyboard 2015-12-09 22:11:44 -08:00
Aaron Culliney
1147ce7cd7 Avoid crash potential by doing less during resource acquisition
- (This also would have fixed ctrlPressed background bug -- previous 02147f3d commit)
2015-12-09 21:56:28 -08:00
Aaron Culliney
02147f3d9a Refactor and avoid NULL deref edge-case
- Bug was triggered if ctrlPressed was true when going to background.  Foregrounding would reset/NULLify the
      GLModel, but attempt to render the ctrl key highlighted before the new GLModel was fully created.
2015-12-09 21:25:09 -08:00
Aaron Culliney
943b8842f7 Show disk track sector change animations 2015-12-07 23:03:44 -08:00
Aaron Culliney
05698c6a5e Avoid another audio buffer overflow manifesting on Kindle 2015-11-29 22:14:55 -08:00
Aaron Culliney
5a9770829e Fix commentary and ignore expected_bytes if set to zero 2015-11-29 13:31:17 -08:00
Aaron Culliney
ff204a4300 Slight refactor to move common ".gz" extension handling code to interface module 2015-11-29 13:23:13 -08:00
Aaron Culliney
b9d6d38b17 First cut at save/restore emulator state feature
- This adds to overall UX ... (you can finally finish some very difficult arcade games by strategically leveraging
      this feature)
    - Currently enabled for Android, but not Android-specific
2015-11-22 18:22:01 -10:00
Aaron Culliney
46c286719f Fix Android build after Mac iteration 2015-11-14 11:09:33 -08:00
Aaron Culliney
29fd1f5025 Bugfix : avoid massively overflowing heap memory 2015-11-14 09:56:11 -08:00
Aaron Culliney
33160be9ac Disambiguate texture name from texture() function in basic fragment shader 2015-11-14 08:09:10 -08:00
Aaron Culliney
0aacdfa9e5 Various fixes from Apple Clang static analyzer 2015-11-14 08:03:44 -08:00
Aaron Culliney
a61fd339a6 Various fixes to get Mac build compiling 2015-11-14 08:01:20 -08:00
Aaron Culliney
a41dc46eee Fix broken menus on x86 Android
- Make it explicit that we are dealing with uint8_t values and not ambiguous signed int values
2015-11-10 22:22:31 -08:00
Aaron Culliney
e4c669f016 x86 builds and basically works on Android x86 devices 2015-11-09 22:45:52 -08:00
Aaron Culliney
f06257b2c5 Add ARM assembly PIC without TEXTREL
- Adds codepaths that allow for Position Independent Code (PIC) that also avoids having TEXT relocations (TEXTREL)
      that the dynamic linker needs to patch up
2015-11-08 14:42:03 -08:00
Aaron Culliney
7a8c4dda63 Update generated file 2015-11-07 10:44:08 -08:00
Aaron Culliney
63b6e0a29a Fix my blended rendering on Tegra 2 (and arguably globally) 2015-11-07 10:36:20 -08:00
Aaron Culliney
f423c2dbe6 Work around broken Tegra 2 GPU 2015-11-06 22:18:16 -08:00
Aaron Culliney
dd7727f757 Simplify fragment shader and remove dead macro 2015-11-06 21:20:33 -08:00
Aaron Culliney
9b56050c1e All the Broken Adrenos! 2015-11-02 20:46:16 -08:00
Aaron Culliney
20f79dc5eb Avoid buffer overflow
- Appears to fix a crash on Kindle Fire 1st Gen
2015-10-30 23:14:20 -07:00
Aaron Culliney
84fe0dd479 Fix crash on Nexus 10 device due to regfree()ing something not regcomp()ed 2015-10-30 23:12:12 -07:00
Aaron Culliney
616428a03f Slightly improved DHIRES colors 2015-10-26 23:11:29 -07:00
Aaron Culliney
e5f08849ae revert back to sync byte and state reason 2015-10-25 13:51:54 -07:00
Aaron Culliney
aa9a89a3e4 Flag an assert that needs to be rethought 2015-10-24 14:29:52 -07:00
Aaron Culliney
2cc23cf35d Upgrade to GPLv3 "or later" and update copyrights 2015-10-22 21:09:13 -07:00
Aaron Culliney
01dfff2b1b Fix a build break on desktop Linux 2015-10-22 20:44:47 -07:00
Aaron Culliney
4ae7e3e735 Silence potentially abusive logging in disk VM callbacks 2015-10-20 20:57:52 -07:00
Aaron Culliney
4742d4e03e Misc moar logging 2015-10-20 20:51:21 -07:00
Aaron Culliney
df38695779 HACKish commit to ignore SIGABRTs
- FIXME TODO ... investigate why these are triggering occasionally on Droid builds
2015-10-20 20:47:08 -07:00
Aaron Culliney
d23a435b56 Use mmap for disk I/O 2015-10-18 16:27:07 -07:00
Aaron Culliney
d46a62a4dd Refactor to load whole disk image into memory 2015-10-18 15:24:34 -07:00
Aaron Culliney
b496d771f6 Moar data for disk write tracing 2015-10-18 12:44:24 -07:00
Aaron Culliney
41ae0266e2 Bugfix : flush disk buffer data on initialize
- Fixes disk image corruption issue that was manifesting in testing
    - Out-of-space test(s) now results in a disk image with a correct length byte of 0x20 for the final "JUNK7" file in
      the disk image's VTOC
2015-10-18 12:11:09 -07:00
Aaron Culliney
7a2f919175 Refactor load/save track data API 2015-10-17 14:28:08 -07:00
Aaron Culliney
39c09a042f Do not return sync bytes if no image inserted
- This really should be backed by more testing or research =P
2015-10-17 13:23:49 -07:00
Aaron Culliney
053a4c8c93 Safety : flush/close file before calling zlib_deflate on it 2015-10-17 12:02:21 -07:00
Aaron Culliney
1d5c20cc5f Remove deadc0de 2015-10-17 11:40:56 -07:00
Aaron Culliney
c6244f696f tweak temp error handling 2015-10-17 10:58:51 -07:00
Aaron Culliney
3ab75c6214 Refactor : improved error handling of track write 2015-10-17 10:58:29 -07:00
Aaron Culliney
989a5ce7c1 Refactor : improved error handling of track read 2015-10-17 10:51:37 -07:00
Aaron Culliney
8261590899 Refactor : improved error handling in disk6_insert 2015-10-16 22:49:59 -07:00
Aaron Culliney
984e15dc04 Get rid of sector deadc0de
- unnecessary with the skew_table
2015-10-16 22:15:58 -07:00
Aaron Culliney
0f9cd3a265 Refactor disk file_name to a char* 2015-10-16 21:47:56 -07:00
Aaron Culliney
10bb19ecc5 Minor refactor internal API 2015-10-16 20:34:15 -07:00
Aaron Culliney
4e478d369c Refactor disk interface API function names 2015-10-15 22:51:44 -07:00
Aaron Culliney
52d74aa43c Improved disk prefix utility functions 2015-10-15 21:02:52 -07:00
Aaron Culliney
57b7d930d6 User lower-level I/O with temp failure retries 2015-10-15 20:59:31 -07:00
Aaron Culliney
9eee9293bc Some defensive coding and moar flushing 2015-10-15 20:44:40 -07:00
Aaron Culliney
ce7596754b Refactor various codepaths for clarity #3 2015-10-13 20:52:10 -07:00
Aaron Culliney
a5854a20f6 Refactor various codepaths for clarity #2 2015-10-12 23:11:23 -07:00
Aaron Culliney
7a0255ff8b Refactor various codepaths for clarity 2015-10-12 22:30:21 -07:00
Aaron Culliney
6d60116c92 BUGFIX : nasty classic assign versus equality check
- I blame myself, but WTF did I not previously see a warning from GCC or Clang with -Wall ?!
    - Hooray for pedantic testing!
2015-10-12 21:29:54 -07:00
Aaron Culliney
3b832a1aba No really, post out-of-space stability testing of raw disk image bytes 2015-10-12 20:30:54 -07:00
Aaron Culliney
427a90d755 Post out-of-space stability testing of raw disk image bytes 2015-10-12 20:17:05 -07:00
Aaron Culliney
b8a3521ee5 Calculate disk reverse translate table once at CTOR time 2015-10-11 13:21:45 -07:00
Aaron Culliney
ddd479f271 BUGFIX : don't read past the track buffer
- Causes a disk image stability test to go green =)
2015-10-11 12:19:36 -07:00
Aaron Culliney
aa225d6e48 Add some new disk I/O tests for stability
- test that BLOADing a bunch of junk files results in expected data
    - test that disk image files themselves are unchanged after the battery of tests
2015-10-11 11:51:51 -07:00
Aaron Culliney
7c7a96af71 Refactor : rename to track_width for clarity 2015-10-10 22:38:57 -07:00
Aaron Culliney
51f5bc64ba Expose macro globally 2015-10-04 14:39:53 -07:00
Aaron Culliney
f4fa5670b4 Add function-call time tracing for Linux/Android 2015-10-04 14:22:26 -07:00
Aaron Culliney
b3ad0ae4ac Seems more symmetric =P 2015-10-04 14:14:04 -07:00
Aaron Culliney
d93a91cca8 Tests build and run on Desktop Linux and Android 2015-10-04 13:29:17 -07:00
Aaron Culliney
236b8e358a INITHELLO with -UCONFORMANT_TRACKS now passes 2015-10-04 12:35:38 -07:00
Aaron Culliney
aa5b9eb971 Safer CPU/audio lifecycle management that appears to fix a deadlock on Kindle Fire 1st Gen 2015-10-02 00:11:49 -07:00
Aaron Culliney
be797efce5 Remove some deadc0de
- No longer worrying about softkeyboard showing on mobile since we have a custom GL touch keyboard
    - Move some stuff that is desktop-only to that codepath
2015-09-30 21:58:33 -07:00
Aaron Culliney
f7acde244c Work around broken Adreno 200 GPU
- Rework checks to compare with POSIX Regexs ... which themselves appear broken with android-10 NDK ... sigh
2015-09-30 21:55:07 -07:00
Aaron Culliney
518738304f Defensive coding around glGetString() 2015-09-27 14:29:10 -07:00
Aaron Culliney
e51aaa1695 Work around broken Adreno 200 GPU 2015-09-27 11:51:40 -07:00
Aaron Culliney
f627ccef3f Fix n00b shader mistake (conditional code in shader) =D 2015-09-27 11:49:58 -07:00
Aaron Culliney
d90b523440 process crashes in-situ on Android device 2015-09-26 15:20:54 -07:00
Aaron Culliney
47ce10b3a4 Remove some deadc0de from timing.c 2015-09-26 14:49:13 -07:00
Aaron Culliney
b8921b8441 Integrate Breakpad crash dumper and tools into Android build
- Includes Linux x86_64 binaries dump_syms and minidump_stackwalk
    - Includes adb_sanitize.c tool (gcc -std=gnu11 -o adb_sanitize adb_sanitize.c) for easily pulling local minidumps
2015-09-19 13:11:27 -07:00
Aaron Culliney
5692c1dc95 Submit a number of quiet samples on first initialization
This seems to make it a little less choppy on mobile first launch
2015-09-15 22:18:43 -07:00
Aaron Culliney
d25acb1da0 Silence logging in touch dispatch by default 2015-09-15 20:39:30 -07:00
Aaron Culliney
5dadc922fd Simplify mobile lifecycle at the expense of holding onto audio resources
- This does not seem to be a problem with both modern and older Gingerbread devices
2015-09-13 14:24:17 -07:00
Aaron Culliney
97f8ef1f45 Just assume is on button side if not on axis side 2015-09-13 14:12:16 -07:00
Aaron Culliney
f343ad9dbd Get Mockingboard working somewhat better 2015-09-13 12:43:34 -07:00
Aaron Culliney
c8d7f9cba3 Let chooser interface handle skipping rather than native 2015-09-13 11:23:59 -07:00
Aaron Culliney
b2cb35c182 Lifecycle tweaks that get Android building again 2015-09-12 15:33:22 -07:00
Aaron Culliney
0321c27de6 Improve video cleanup codepaths from what I can discern are the OpenGL best practices for memory management 2015-09-12 15:06:06 -07:00
Aaron Culliney
d263478e83 Use calloc() for soundcore allocations
- Avoids potential for transacting upon uninitialized memory, thank you Valgrind
2015-09-12 15:04:09 -07:00
Aaron Culliney
db46b281cc Fix -UCONFORMANT_TRACKS testing (with vanilla gzipped test disk images) 2015-09-11 23:37:52 -07:00
Aaron Culliney
ed60b2ea73 Refactor VM initialization and shutdown 2015-09-11 23:03:17 -07:00
Aaron Culliney
ea43b56644 Avoid leaking PQList_s 2015-09-07 11:27:32 -07:00
Aaron Culliney
2cbc53ef45 Correctly zero-out entire structure 2015-09-07 11:07:49 -07:00
Aaron Culliney
ef7472b3ac Fix invalid assert ... system_buffer_size can be modified lower 2015-09-07 11:05:22 -07:00
Aaron Culliney
411e474c4b cpu suspend mutex does not need to be recursive ... this should not be re-entrant 2015-09-07 11:00:07 -07:00
Aaron Culliney
0b8f9d2dfb Test parameters change when not -DCONFORMANT_TRACKS=1
- BUG : INIT HELLO not working for DO and PO images with CONFORMANT_TRACKS undefined
2015-09-06 23:31:02 -07:00
Aaron Culliney
cd1669dfca Refactor out abusive traces into different test file 2015-09-06 22:57:51 -07:00