Commit Graph

3631 Commits

Author SHA1 Message Date
Jeffrey Pfau 59f1018dd2 Speculative fixes for SDL fallback and failing configuring 2014-10-08 04:48:23 -07:00
Jeffrey Pfau 0890d21645 Fix types for some LP64 systems 2014-10-08 01:16:50 -07:00
Jeffrey Pfau b12f7a136e Fix printf format string to use unsigned instead of signed 2014-10-08 01:04:19 -07:00
Jeffrey Pfau 6560db2ef5 Merge branch 'master' into qt
Conflicts:
	CMakeLists.txt
2014-10-07 02:50:57 -07:00
Jeffrey Pfau ad7f1ae939 Fix build when PNG support is not enabled 2014-10-06 23:38:48 -07:00
Jeffrey Pfau e9864cbc99 Add some missing usage documentation 2014-10-06 23:36:52 -07:00
Jeffrey Pfau bac0d35034 Enhance perf-main with higher granularity output, optional parseable output and higher granularity duration setting 2014-10-06 23:32:26 -07:00
Jeffrey Pfau 4f8c021f95 Enhance CMake lists to have unified feature detection, summaries 2014-10-05 23:08:11 -07:00
Jeffrey Pfau 996cfe8a26 Fix crashes in sdl/sw-main 2014-10-01 01:59:03 -07:00
Jeffrey Pfau 4fb42d58b6 Clean up setting up vsync on SDL port 2014-09-01 00:51:45 -07:00
Jeffrey Pfau ca3e1c428e Add missing newline in perf usage 2014-08-28 05:11:16 -07:00
Jeffrey Pfau a78772ee47 Add mGBA icon for OS X 2014-08-13 00:14:25 -07:00
Jeffrey Pfau 8f5145f4b8 Rename Qt frontend 2014-08-12 23:43:52 -07:00
Jeffrey Pfau 2b3631dc91 Merge branch 'master' into qt
Conflicts:
	CMakeLists.txt
2014-08-12 23:37:29 -07:00
Jeffrey Pfau 30fa9d8675 Remove prototype for removed function 2014-08-12 23:23:14 -07:00
Jeffrey Pfau 94d091b6ed Use DualShock 3 button mapping for now 2014-08-12 23:19:13 -07:00
Jeffrey Pfau 2805cc5fea Fix gamepad input 2014-08-12 22:50:24 -07:00
Jeffrey Pfau d7968ccc0d Merge branch 'ffmpeg' 2014-08-12 22:28:13 -07:00
Jeffrey Pfau 9ed4fad33c Add library versions and installation targets 2014-08-12 22:18:06 -07:00
Jeffrey Pfau 09c49d5f3b Clean up list usage in CMakeLists 2014-08-12 22:06:31 -07:00
Jeffrey Pfau 408223cfef External support for changing codecs in FFmpeg encoder 2014-08-12 02:11:43 -07:00
Jeffrey Pfau 11c00d8958 Use FFV1 for reduced filesize 2014-08-09 04:17:34 -07:00
Jeffrey Pfau 88695a5ab1 Rough FFmpeg video encoder 2014-08-09 03:59:31 -07:00
Jeffrey Pfau f005326800 Add backslash as another frame advance key 2014-08-07 00:23:05 -07:00
Jeffrey Pfau 82b31c46f1 RR starting from savegame (currently broken) and savestate 2014-08-04 23:37:37 -07:00
Jeffrey Pfau f8fff828e3 Start working on ability to bundle save data with movies 2014-08-04 01:11:46 -07:00
Jeffrey Pfau 220d836f13 Save initialization type and metadata magic number 2014-08-04 00:54:50 -07:00
Jeffrey Pfau ff200093ca Fix crashing when trying to start recording while recording 2014-08-03 20:19:19 -07:00
Jeffrey Pfau dbc6567317 Only make GUI_MOD SDL events happen when no other modifiers are active 2014-07-29 22:48:55 -07:00
Jeffrey Pfau b115cb564d Fix GBARR not starting in SDL port 2014-07-27 18:22:53 -07:00
Jeffrey Pfau f39d7e3640 Move screenshot function to gba-thread.h 2014-07-27 18:21:58 -07:00
Jeffrey Pfau a872bd3642 Remove some ifdefed code by adding a constant for number of bytes per pixel 2014-07-26 13:28:44 -07:00
Jeffrey Pfau 15ece309b7 PNG savestate loading 2014-07-26 13:20:29 -07:00
Jeffrey Pfau 89bb9c7eac Code for embedding savestates in PNG chunk, loading not yet implemented 2014-07-26 00:04:24 -07:00
Jeffrey Pfau deb278dc22 Add function to GBAVideoRenderer for taking screenshot 2014-07-26 00:03:54 -07:00
Jeffrey Pfau bbe52bf632 Add screenshot capability 2014-07-25 05:44:20 -07:00
Jeffrey Pfau a701a6d9dd Benchmark option to disable video rendering fully 2014-07-24 03:23:41 -07:00
Jeffrey Pfau 6c9ee4c212 Modernize egl-main 2014-07-23 22:57:58 -07:00
Jeffrey Pfau 754d3f50ce Check if we have a subparser before trying to use it 2014-07-23 22:57:44 -07:00
Jeffrey Pfau 94001b1133 Fix crashes when GBARR is not initialized 2014-07-23 00:09:14 -07:00
Jeffrey Pfau 3051143fa3 First pass at input mapping 2014-07-23 00:06:44 -07:00
Jeffrey Pfau 08fee36c20 Window resizing options 2014-07-22 03:26:16 -07:00
Jeffrey Pfau d020bf4f0a Add FPS target options 2014-07-22 03:14:28 -07:00
Jeffrey Pfau 0717e4ab76 Use lambda syntax for audio buffer size slots 2014-07-22 02:33:01 -07:00
Jeffrey Pfau a7588f25bb Sync pause setting with the menu properly 2014-07-22 02:22:03 -07:00
Jeffrey Pfau 42041fa059 Fix frame advance 2014-07-22 02:11:41 -07:00
Jeffrey Pfau 04823fb06c Merge branch 'master' into qt 2014-07-22 01:53:34 -07:00
Jeffrey Pfau d1eda4250d Thread pausing refining 2014-07-22 01:52:16 -07:00
Jeffrey Pfau b0662fe766 Run audio pausing in the right thread 2014-07-22 01:13:27 -07:00
Jeffrey Pfau fe7deb0aab Only try to stop audio output if there is an audio output device 2014-07-22 00:44:43 -07:00
Jeffrey Pfau 8ff6d77869 Make shutdown disabled when a game is not running 2014-07-22 00:43:53 -07:00
Jeffrey Pfau 6403d531bd Add reset option and reshuffle menu items a bit 2014-07-22 00:40:42 -07:00
Jeffrey Pfau 71211bac46 Add sound buffer resizing menu options 2014-07-22 00:32:38 -07:00
Jeffrey Pfau 62f6471c0d Move AudioThread into AudioProcessor, run in its own thread 2014-07-22 00:10:38 -07:00
Jeffrey Pfau d5c0dffb29 Remove unused member in GameController 2014-07-21 23:08:31 -07:00
Jeffrey Pfau ae534aff74 Merge branch 'master' into qt 2014-07-21 22:51:26 -07:00
Jeffrey Pfau 6e727db553 Set buffer size to 512 samples in the SDL/GL port 2014-07-21 00:29:38 -07:00
Jeffrey Pfau eabac4c413 Variable FPS target 2014-07-20 23:45:30 -07:00
Jeffrey Pfau b14f22191c Function for calculating audio rate for target FPS 2014-07-20 23:24:02 -07:00
Jeffrey Pfau ad5cdb97a8 Fix memory leak 2014-07-20 22:07:08 -07:00
Jeffrey Pfau a57f911ecc Handle closing games a bit safer 2014-07-20 21:44:06 -07:00
Jeffrey Pfau c9f74b43af Make SDL port QUIT events thread-safe 2014-07-20 21:32:05 -07:00
Jeffrey Pfau a77f7f0be2 Cleanup merge issues 2014-07-20 21:28:25 -07:00
Jeffrey Pfau 489b932c52 Header include cleanup 2014-07-20 20:28:01 -07:00
Jeffrey Pfau 23679adc38 Fix build after GBAThread API changes 2014-07-20 16:38:27 -07:00
Jeffrey Pfau f62ccde49d Merge branch 'master' into qt 2014-07-20 16:28:12 -07:00
Jeffrey Pfau b4d6d11d19 Add ability to resume recording as soon as a movie ends 2014-07-20 03:14:55 -07:00
Jeffrey Pfau 74dae5033b Rewrite rr to be streaming-only 2014-07-20 02:50:43 -07:00
Jeffrey Pfau 7172e6428c Create concept of state directory 2014-07-19 17:48:37 -07:00
Jeffrey Pfau e8a78c9547 Very basic movie saving/loading 2014-07-19 17:38:25 -07:00
Jeffrey Pfau 79301a365f Fix perf build 2014-07-19 15:58:58 -07:00
Jeffrey Pfau 14636f5b8a Beginning of rerecording code, ability to record/replay from a savegame 2014-07-19 00:09:18 -07:00
Jeffrey Pfau ee5c918ff2 Directory mode for loading the first ROM in a directory, still a bit buggy 2014-07-17 00:53:17 -07:00
Jeffrey Pfau e53135a7b9 Clean up command line args 2014-07-16 23:47:47 -07:00
Jeffrey Pfau 7bb5e29a98 Now that mapping is done through a different code path, we can properly allocate large memory chunks on Windows 2014-07-16 02:20:29 -07:00
Jeffrey Pfau f1f55cea47 Use VFiles for all file operations 2014-07-16 02:08:54 -07:00
Jeffrey Pfau d8654f3b88 Use stdbool for readability 2014-07-16 01:02:34 -07:00
Jeffrey Pfau 6716b13621 Ability to reset emulator while running 2014-07-15 00:01:35 -07:00
Jeffrey Pfau 0b9d6e03f1 Support 5_6_5 in SDL/GL port 2014-07-13 18:31:28 -07:00
Jeffrey Pfau 5b7da978d1 Remove project name strings from the code 2014-07-12 04:29:12 -07:00
Jeffrey Pfau 55977796f3 Move UNUSED macro to common.h 2014-07-10 01:00:38 -07:00
Jeffrey Pfau 0a48d4cc2f Draw a polygon every frame, even when paused, to make sure screen is not stale (fixes #87) 2014-07-09 23:18:34 -07:00
Jeffrey Pfau 3ee3f7625f Link with SDL2_LIBDIR if necessary 2014-07-09 01:46:40 -07:00
Jeffrey Pfau 79cfc4fd0a Make GBAThreadInterrupt work properly with paused threads again 2014-07-09 00:36:04 -07:00
Jeffrey Pfau ecee71cfa1 Resizing of SDL2 windows 2014-07-09 00:03:05 -07:00
Jeffrey Pfau a62a932282 Ensure interrupting the GBA thread actually gets to a safe point to read from the thread 2014-07-08 00:04:38 -07:00
Jeffrey Pfau f420232bbf IPS patch loading support 2014-07-06 23:39:27 -07:00
Jeffrey Pfau 28ba251cfb Fix some warnings 2014-07-05 16:29:31 -07:00
Jeffrey Pfau 107f91aac8 Fix typo in documentation 2014-07-05 00:13:54 -07:00
Jeffrey Pfau 678c5465ff Add (currently undocumented) command line flag for setting logging level 2014-07-04 18:43:07 -07:00
Jeffrey Pfau 12e5425b9b Use subparsers instead of stuffing everything into one parser 2014-04-26 16:05:09 -07:00
Jeffrey Pfau 6ca25e44aa Add some NEON resizing code 2014-04-26 03:31:53 -07:00
Jeffrey Pfau 6e32ade69e Clear alpha channel in fragment shader (fixes #51) 2014-04-25 23:48:51 -07:00
Jeffrey Pfau 084f0f037e Fix fullscreen initialization 2014-04-25 21:33:07 -07:00
Jeffrey Pfau 0386d41b40 Add option of not using GL 2014-04-25 03:34:21 -07:00
Jeffrey Pfau 7e90eb2631 Start porting sw-main to SDL2 2014-04-25 03:34:03 -07:00
Jeffrey Pfau 82f3a45888 Build fix in case no debuggers are being built 2014-04-23 21:50:26 -07:00
Jeffrey Pfau 16608a408c Bring sw-main into line 2014-04-23 02:09:27 -07:00
Jeffrey Pfau ffea820148 Remove some redundant flags 2014-04-23 02:09:06 -07:00
Jeffrey Pfau 53389684db Add more command line options and perf-main duration 2014-04-20 22:15:17 -07:00
Jeffrey Pfau 810c35c318 Disentagle graphics flags from global flags 2014-04-20 21:54:05 -07:00
Jeffrey Pfau 5b300bbcff Make command line arguments more dynamic 2014-04-20 21:41:21 -07:00
Jeffrey Pfau 7334b89833 Add more command line options + usage 2014-04-20 21:33:27 -07:00
Jeffrey Pfau 7c356ffd07 Move debugger creation off the stack 2014-04-20 04:19:03 -07:00
Jeffrey Pfau 89ccb41b03 Start moving command line parsing into a separate file 2014-04-20 04:06:44 -07:00
Jeffrey Pfau b8ecabbaa9 Fix the build 2014-04-03 00:00:06 -07:00
Jeffrey Pfau ecb1939ff1 Move common headers to common.h, remove util and debugger from being first class include directories 2014-04-02 23:51:35 -07:00
Jeffrey Pfau 2f39a57567 Get RPi EGL port building again 2014-03-29 22:58:58 -07:00
Jeffrey Pfau c5d243fca2 Merge branch 'master' into qt 2014-02-10 23:59:12 -08:00
Jeffrey Pfau 4d8a00c180 Add thread-interrupt functions for having multiple threads that want to pause the GBA thread 2014-02-10 23:59:07 -08:00
Jeffrey Pfau e9c4412819 Put missing returns in SDL event handling 2014-02-10 23:13:39 -08:00
Jeffrey Pfau 90760a30a3 Move key mapping into its own function 2014-02-03 22:28:49 -08:00
Jeffrey Pfau b691c93416 Add joypad support via SDL to Qt build 2014-02-03 22:28:28 -08:00
Jeffrey Pfau edc6de0467 Move key mapping into its own function 2014-02-03 22:27:58 -08:00
Jeffrey Pfau 7bee813846 Make GDB server able to be detached before GBA thread starts 2014-02-03 03:45:43 -08:00
Jeffrey Pfau 844cee07e8 Make sure GDB window is created in sync with GDB server state 2014-02-03 03:44:39 -08:00
Jeffrey Pfau 8c53fbeb4f Make GDB server able to be attached when the emulator starts 2014-02-03 03:42:29 -08:00
Jeffrey Pfau 6d12ef81a5 Reuse an audio thread instead of shutting it down and making a new one 2014-02-03 01:13:52 -08:00
Jeffrey Pfau 186e0b1ee5 GBA thread can be shut down and opened again, cleanly 2014-02-03 00:44:19 -08:00
Jeffrey Pfau 9f3cf19c2d Add missing ellipses for menu items that open windows 2014-02-02 04:01:41 -08:00
Jeffrey Pfau c621fb16d8 Add missing GDB classes 2014-02-02 03:58:40 -08:00
Jeffrey Pfau 243cf2236b Ability to fullscreen the window in SDL2 2014-02-02 03:05:30 -08:00
Jeffrey Pfau 19142a2881 Use command key on OS X 2014-02-02 02:56:02 -08:00
Jeffrey Pfau ad38ae63ec Properly support 16-bit color 2014-02-02 02:47:50 -08:00
Jeffrey Pfau 02aec4fc65 Add SDL2 support 2014-02-02 02:39:34 -08:00
Jeffrey Pfau 3b7dbdecba Use C++11 override and nullptr 2014-02-02 01:42:36 -08:00
Jeffrey Pfau 1a7656fe36 Support creating the GDB stub in Qt 2014-02-01 20:47:44 -08:00
Jeffrey Pfau 11e3bdc585 Merge branch 'master' into qt
Conflicts:
	CMakeLists.txt
	src/gba/gba.c
2014-02-01 17:37:18 -08:00
Jeffrey Pfau 6616ca9111 Always enable the debugger framework 2014-02-01 01:14:41 -08:00
Jeffrey Pfau 6822a0d770 Start separating out debugger logic 2014-02-01 00:27:53 -08:00
Jeffrey Pfau bab92ba659 Squelch compiler warning in perf shutdown 2014-01-31 02:30:56 -08:00
Jeffrey Pfau bce620e717 Split SDL build into its own CMake list 2014-01-31 00:13:33 -08:00
Jeffrey Pfau 80511fcb9f Fix perf main after adding BIOS loading 2014-01-31 00:11:55 -08:00
Jeffrey Pfau 9022deed9e Split SDL build into its own CMake list 2014-01-31 00:11:19 -08:00
Jeffrey Pfau 22ef0977dc Fix perf main after adding BIOS loading 2014-01-31 00:10:56 -08:00
Jeffrey Pfau 2ee3d17d33 Put OpenGL include explicitly in Qt CMake file 2014-01-31 00:06:37 -08:00
Jeffrey Pfau 8e3d104625 Qt audio thread should mark itself as exiting 2014-01-30 04:05:39 -08:00
Jeffrey Pfau 6834401e67 Close process cleanly 2014-01-30 04:00:52 -08:00
Jeffrey Pfau 6407ad3adc Video drawing in separate thread 2014-01-30 04:00:30 -08:00
Jeffrey Pfau 2f98f542e5 Add frame advance 2014-01-29 23:58:57 -08:00
Jeffrey Pfau 1eeeb36015 Add emulation menu with Pause option 2014-01-29 23:39:24 -08:00
Jeffrey Pfau 5abd1572dc Use an initializer for GBAThread in Qt 2014-01-29 23:39:09 -08:00
Jeffrey Pfau a076e88bb5 Ditch uic 2014-01-29 23:14:23 -08:00
Jeffrey Pfau 3d339b1327 Key input 2014-01-29 23:14:23 -08:00
Jeffrey Pfau 98c9121ac2 Move audio initialization into thread 2014-01-29 23:14:23 -08:00
Jeffrey Pfau 0ca3afa3e6 Run audio on separate thread 2014-01-29 23:14:23 -08:00
Jeffrey Pfau baeaf8729f Audio rendering in Qt 2014-01-29 23:14:23 -08:00
Jeffrey Pfau 8a82144ceb Ensure the GBA thread exits when destroying the game controller 2014-01-29 23:14:23 -08:00
Jeffrey Pfau 4659635fb5 Start Qt frontend 2014-01-29 23:14:23 -08:00
Jeffrey Pfau f0481d9413 Enable piping through BIOS 2014-01-29 23:13:44 -08:00
Jeffrey Pfau 70afe23fe4 Add log handling 2014-01-29 22:49:24 -08:00
Jeffrey Pfau 9d351d4a58 SDL audio should use now centralized audio functions 2014-01-29 22:49:09 -08:00
Jeffrey Pfau ef66e4a8c7 Only unpause from state operations when we paused manually 2014-01-26 23:17:17 -08:00
Jeffrey Pfau 705b6e9b13 Simple rewind buffer 2014-01-26 02:50:28 -08:00
Jeffrey Pfau b1a648e46e Don't sync on audio and video at the same time--this can cause audio skipping 2014-01-25 18:08:33 -08:00
Jeffrey Pfau 0e379fed41 Fix audio buffer reading in SDL audio 2014-01-23 20:59:15 -08:00
Jeffrey Pfau 968dbe55db Properly sync to frame only when not in turbo 2014-01-22 03:25:09 -08:00
Jeffrey Pfau 7132c873e3 Make viewport size not-hardcoded 2014-01-21 23:51:52 -08:00
Jeffrey Pfau f8de62ba71 Null out frameCallback on perf-main 2014-01-21 22:36:40 -08:00
Jeffrey Pfau 98c8b42b0f Slow down audio slightly to match target FPS 2014-01-20 20:02:44 -08:00
Jeffrey Pfau 26c1fbd48f Add frame advance 2014-01-20 16:39:46 -08:00
Jeffrey Pfau 1f8c1bcdfa Fix signal handling for debugger 2014-01-19 23:42:34 -08:00
Jeffrey Pfau daf12994db Start savestates 2014-01-19 01:59:35 -08:00
Jeffrey Pfau f2b031467f Fix non-debugger build 2014-01-19 01:24:29 -08:00
Jeffrey Pfau 7b682dd7c5 Break into debugger with F11 2014-01-19 00:37:53 -08:00
Jeffrey Pfau 94cc48faf1 Account for floating point error in resampling 2014-01-16 02:12:35 -08:00
Jeffrey Pfau 39025dedff Ensure that video buffers are flushed to the GPU before unlocking the mutex 2014-01-16 01:05:32 -08:00
Jeffrey Pfau 48e89fb5eb Fix buffer size in SDL audio 2014-01-16 00:27:15 -08:00
Jeffrey Pfau 5758964617 Unlock mutex before swapping buffers 2014-01-16 00:26:59 -08:00
Jeffrey Pfau 3837213f94 Support Win32 threads on Vista and higher 2014-01-15 23:46:47 -08:00
Jeffrey Pfau 2b558a5a65 Rearchitect audio copying to make it cleaner and more atomic 2014-01-15 03:43:56 -08:00
Jeffrey Pfau b8167f55b1 Create Windows and POSIX platform directories 2014-01-15 01:28:30 -08:00
Jeffrey Pfau dd1f1bc79e Initial support for Windows 2014-01-15 00:32:54 -08:00
Jeffrey Pfau 620adbd577 Remove extra free in SDL code 2013-11-11 19:40:37 -08:00
Jeffrey Pfau f09e44062f Use gettimeofday for perf-main instead of clock_gettime 2013-11-06 22:20:29 -08:00
Jeffrey Pfau 3005c6c9fb Add per-second perf updating 2013-11-04 21:07:41 -08:00
Jeffrey Pfau 09888a8852 Add performance-monitoring main thread 2013-10-27 05:16:07 -07:00
Jeffrey Pfau c12eca835f Don't busy-wait if the emulator is paused 2013-10-24 01:09:01 -07:00
Jeffrey Pfau 093c86c943 Add channel 4 envelope, fix audio timing 2013-10-18 09:33:07 -07:00
Jeffrey Pfau a55b4dc87f Fix valgrind-found uninitialized values 2013-10-18 08:42:15 -07:00
Jeffrey Pfau 3edb2da58d Make platform directory for ports 2013-10-16 01:35:49 -07:00