Commit Graph

1405 Commits

Author SHA1 Message Date
Jeffrey Pfau d1f8e58b13 Attempt to stabilize PPC asm across compilers 2014-10-01 12:41:51 +00:00
Jeffrey Pfau 43e5aa698a Fix modes 3 and 5 after vram load refactor 2014-10-01 23:30:26 -07:00
Jeffrey Pfau fb10622946 Clean up background charBase shifting 2014-10-01 23:24:15 -07:00
Jeffrey Pfau f9ebe36fac Fix regression caused by converting DISPSTAT into a bitfield 2014-10-01 23:19:26 -07:00
Jeffrey Pfau 38e8cc1ee4 Preliminary pass at straightening out VRAM loads 2014-10-01 04:00:15 -07:00
Jeffrey Pfau 56a105e3da Fix addresses being truncated 2014-10-01 03:23:16 -07:00
Jeffrey Pfau 14b6393b51 Replace BGCNT with bitfield 2014-10-01 02:50:10 -07:00
Jeffrey Pfau 0a5a099059 Make PPC asm directives a bit more resilient to different compilers 2014-10-01 09:33:37 +00:00
Jeffrey Pfau 996cfe8a26 Fix crashes in sdl/sw-main 2014-10-01 01:59:03 -07:00
Jeffrey Pfau 5afd8ea1bb The old implementation of endian swapping was sufficient, put it back 2014-10-01 00:57:52 -07:00
Jeffrey Pfau f4d27e5e40 Use new bitfields for DMAs 2014-10-01 00:17:51 -07:00
Jeffrey Pfau 7e4dc6c15c Replace dispstat assorted variables with a bitfield 2014-09-30 23:29:30 -07:00
Jeffrey Pfau 015e6700d7 Remove unused union 2014-09-30 22:57:05 -07:00
Jeffrey Pfau 5874d416df Start replacing packed structs with flags 2014-09-30 22:50:27 -07:00
Jeffrey Pfau 3cd0b50bce Add phony strndup implementation for when we do not have one 2014-09-30 22:05:07 -07:00
Jeffrey Pfau b6b1060676 Fix PPC asm directives on older GCCs 2014-09-30 22:03:49 -07:00
Jeffrey Pfau 6672aebfe4 Proper endian swapping on older PPC ISAs 2014-09-30 10:08:43 +00:00
Jeffrey Pfau d8b0bba968 Make GBAIsROM more portable 2014-09-30 01:48:04 -07:00
Jeffrey Pfau c035d97286 Make libPNG/zlib optional dependencies 2014-09-30 01:43:43 -07:00
Jeffrey Pfau 834395d5d9 Add customizable parsers per command 2014-09-02 21:54:19 -07:00
Jeffrey Pfau 232ae47a6c CLI debugger help 2014-09-02 09:55:05 -07:00
Jeffrey Pfau 9cdc93eeed Add watchpoints to gdb stub 2014-09-01 02:24:00 -07:00
Jeffrey Pfau 21437e91f6 Implement watchpoint removing 2014-09-01 02:23:31 -07:00
Jeffrey Pfau 98cb4698f8 Fix GDB stub not responding to invalid Z packets 2014-09-01 02:06:07 -07:00
Jeffrey Pfau c1abe54ec9 Fix debuggers not logging 2014-09-01 02:05:37 -07:00
Jeffrey Pfau be13627d37 Send correct signal back to gdb when stepping 2014-09-01 01:57:11 -07:00
Jeffrey Pfau be46f2bac9 Fix frames redrawing in the middle of syncing 2014-09-01 00:52:16 -07:00
Jeffrey Pfau 4fb42d58b6 Clean up setting up vsync on SDL port 2014-09-01 00:51:45 -07:00
Jeffrey Pfau 2c5fd6acd5 HLE BIOS SVC handler stores r11 and r12 instead of r4 and r5 2014-08-31 04:20:40 -07:00
Jeffrey Pfau 8a6254cc73 Implement HFlip for 256 color partial tiles (fixes #39) 2014-08-31 04:19:13 -07:00
Jeffrey Pfau 610982fdcf Add makefile for regenerating hle-bios.c so I can stop doing it by hand 2014-08-30 04:25:20 -07:00
Jeffrey Pfau 9a87840e7e Add invalid commands to the CLI debugger history instead of discarding them 2014-08-30 04:02:19 -07:00
Jeffrey Pfau e6148ddb13 Add p/t to CLI debugger 2014-08-30 04:00:17 -07:00
Jeffrey Pfau 383c630891 Selectable disassemble modes in CLI debugger (fixes #113) 2014-08-30 03:48:14 -07:00
Jeffrey Pfau d41b8c5df6 Fix uninitialized memory for OAM count 2014-08-30 01:26:33 -07:00
Jeffrey Pfau cdd6d5a815 Initialize previous uninitialzed audio channel members 2014-08-29 02:39:01 -07:00
Jeffrey Pfau 270c09c26e Fix palette pointer in GBALoad8 2014-08-29 02:31:15 -07:00
Jeffrey Pfau a825c6e4a6 Use bitshift instead of bitmask for determining load/store region 2014-08-29 01:58:39 -07:00
Jeffrey Pfau 1e1b0fc89e Check active region instead of pc for BIOS loads 2014-08-29 01:46:46 -07:00
Jeffrey Pfau 6cff3d423e Remove unnecessarily duplicated code in ARMStep 2014-08-29 01:41:32 -07:00
Jeffrey Pfau 4d2ccd5df4 Add busy loop optimization back 2014-08-29 00:35:43 -07:00
Jeffrey Pfau 5002cf44f4 Fix savestate loading after prefetch changes 2014-08-29 00:34:12 -07:00
Jeffrey Pfau baa71027e3 Reimplement prefetch, temporarily removing busy loop optimization 2014-08-28 05:45:37 -07:00
Jeffrey Pfau ca3e1c428e Add missing newline in perf usage 2014-08-28 05:11:16 -07:00
Jeffrey Pfau 433f0ba360 Tighter looping for ARMRun 2014-08-28 05:00:38 -07:00
Jeffrey Pfau 61c410154f Use older const png_bytep instead of png_const_bytep 2014-08-15 01:54:13 -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 6291a62860 Fix stream recording resumption 2014-08-07 02:01:17 -07:00
Jeffrey Pfau 484a7f299a Add rerecord count 2014-08-07 01:13:50 -07:00
Jeffrey Pfau e732448aa4 Write full finalization data when stopping recording 2014-08-07 01:13:34 -07:00
Jeffrey Pfau a4cd807b70 Fix writing max strem ID in RR metadata 2014-08-07 01:13:03 -07:00
Jeffrey Pfau ba993980dc Big cleanup to how RR handles separate segments, and adding lots of logging (fixes #106) 2014-08-07 00:24:25 -07:00
Jeffrey Pfau f005326800 Add backslash as another frame advance key 2014-08-07 00:23:05 -07:00
Jeffrey Pfau 06da7fcb09 Fix rr writing to the wrong file 2014-08-06 21:57:35 -07:00
Jeffrey Pfau 0389237fc6 Loading savestates now changes the active branch 2014-08-05 23:52:08 -07:00
Jeffrey Pfau 5ee336d274 Fix masking savegames so it can write to a masked savegame 2014-08-04 23:46:33 -07:00
Jeffrey Pfau 82b31c46f1 RR starting from savegame (currently broken) and savestate 2014-08-04 23:37:37 -07:00
Jeffrey Pfau 86a2edbdf1 Save/load state with file parameter 2014-08-04 22:40:11 -07:00
Jeffrey Pfau d979e04606 Unmask savedata if reseting while a movie is not recording or replaying 2014-08-04 22:24:43 -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 fabdfc86f3 Add magic numbers to movie files 2014-08-03 20:15:34 -07:00
Jeffrey Pfau a09bb6d51a Detect basic desync in rr 2014-08-03 19:47:02 -07:00
Jeffrey Pfau 4534574f50 Fix game ID for Wario Ware Twisted override 2014-07-30 01:50:22 -07:00
Jeffrey Pfau 5ca6888840 Savestate loading during recording and replaying 2014-07-30 00:13:11 -07:00
Jeffrey Pfau 28218b2465 Fix .log -> .dat for the first chunk, and make sure it bails if the load fails 2014-07-30 00:03:19 -07:00
Jeffrey Pfau 9cc97410d3 Make sure not to reload an old rr stream chunk when reaching the end of a file 2014-07-29 23:39:55 -07:00
Jeffrey Pfau e3410fc457 Fix _readTag to not crash if the VFile has been closed 2014-07-29 23:15:08 -07:00
Jeffrey Pfau fade994137 Clean up logic with an EOF tag 2014-07-29 23:13:16 -07:00
Jeffrey Pfau 6845454969 Add more rr tags, some implemented 2014-07-29 22:50:46 -07:00
Jeffrey Pfau 35bf1f3990 Keep max stream ID separate from current stream ID 2014-07-29 22:50:19 -07:00
Jeffrey Pfau 0023613625 Clean up movie state when exiting 2014-07-29 22:49:24 -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 9873da0eb7 Ability to chunk movie streams into multiple files 2014-07-27 19:06:30 -07:00
Jeffrey Pfau b115cb564d Fix GBARR not starting in SDL port 2014-07-27 18:22:53 -07:00
Jeffrey Pfau 45b8ffb9cf New movie format 2014-07-27 18:22:39 -07:00
Jeffrey Pfau f39d7e3640 Move screenshot function to gba-thread.h 2014-07-27 18:21:58 -07:00
Jeffrey Pfau b4d90e7e84 Restore pixels from PNG when loading savestate 2014-07-26 14:06:28 -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 103bef17c9 Avoid compiler warnings 2014-07-25 03:45:54 -07:00
Jeffrey Pfau 5189d9afd4 Add mechanism for adding halts to busy loops 2014-07-24 04:21:33 -07:00
Jeffrey Pfau a701a6d9dd Benchmark option to disable video rendering fully 2014-07-24 03:23:41 -07:00
Jeffrey Pfau 8e49360ffd Add missing dummy video functions 2014-07-24 03:20:12 -07:00
Jeffrey Pfau e2c3c4068d Pull out vram pointer 2014-07-24 02:52:02 -07:00
Jeffrey Pfau 553f345bbd Remember to initialize rr 2014-07-24 02:38:36 -07:00
Jeffrey Pfau 436c53b0a6 Remove redefinition of COMPOSITE_16_NO_OBJWIN 2014-07-24 02:37:04 -07:00
Jeffrey Pfau 900d1684a9 Fix window edge case that might cause 0-width windows to draw 2014-07-24 02:34:42 -07:00
Jeffrey Pfau a855f53355 Fix mosiac on edges of mode 0 regions 2014-07-24 02:02:44 -07:00
Jeffrey Pfau cbb522a702 Fix *mull, *mlal instructions in disassembler 2014-07-23 23:12:54 -07:00
Jeffrey Pfau 5477c891c5 Fix cmp and related opcodes in disassembler 2014-07-23 23:12:28 -07:00
Jeffrey Pfau 5eb729faf6 Remove unused HLE BIOS length constant 2014-07-23 23:05:17 -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 ec4eb253e5 Unify swi state saving, keep I bit 2014-07-23 03:06:09 -07:00
Jeffrey Pfau f1a58c7254 Fix ObjAffineSet over multiple inputs 2014-07-23 00:54:11 -07:00
Jeffrey Pfau c7f7d0f752 Don't make empty savestate files when loading savestates 2014-07-23 00:19:50 -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 f55d085162 Change log handler API 2014-07-22 22:34:08 -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 2ce9806de5 Fix ability to make audio buffers as big as they initially were 2014-07-22 02:33:45 -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 e527220398 Ability to resize internal sound buffers 2014-07-21 00:14:48 -07:00
Jeffrey Pfau 10fc916425 Revise circle buffer types 2014-07-20 23:56:12 -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 4da65d0f2f Merge branch 'master' into qt 2014-07-20 16:38:00 -07:00
Jeffrey Pfau d48dad27d1 Fix build against C++ 2014-07-20 16:37:54 -07:00
Jeffrey Pfau f62ccde49d Merge branch 'master' into qt 2014-07-20 16:28:12 -07:00
Jeffrey Pfau e77238e5ef Fix typos in savestate format documentation 2014-07-20 15:53:37 -07:00
Jeffrey Pfau 3915158c96 Update GPIO for serialization 2014-07-20 15:53:15 -07:00
Jeffrey Pfau 381fc94d73 Move file CRC32 code into crc32.h 2014-07-20 15:11:22 -07:00
Jeffrey Pfau 7a0f86ae99 Serialize ROM CRC32 for error checking 2014-07-20 15:10:59 -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 a95e2c06b7 Remove unused function 2014-07-20 01:40:05 -07:00
Jeffrey Pfau 16cf389986 Make writing to RO mapped memory perform COW 2014-07-20 01:36:18 -07:00
Jeffrey Pfau 5825c2ee5f Move vfs-zip into vfs folder 2014-07-19 22:15:39 -07:00
Jeffrey Pfau 7d4f1fb661 Fix loading too many states from a file 2014-07-19 17:54:29 -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 c6cd179101 Fix scanline rendering when parameters change mid-scanline 2014-07-19 15:59:27 -07:00
Jeffrey Pfau 79301a365f Fix perf build 2014-07-19 15:58:58 -07:00
Jeffrey Pfau 3202811e41 Be more rigorous when reseting 2014-07-19 14:34:24 -07:00
Jeffrey Pfau 6456a88669 Reset memory when reseting the board (fixes #94) 2014-07-19 04:13:25 -07:00
Jeffrey Pfau 823b97603a Properly account for LDR I cycles (fixes #90) 2014-07-19 00:39:51 -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 c50bd95258 Fix naming of savegames from files with no . 2014-07-18 00:53:08 -07:00
Jeffrey Pfau 5a0247ac78 Place save files in directories when loading in dirmode 2014-07-18 00:52:53 -07:00
Jeffrey Pfau a14ce5c815 Add some missing cleanup 2014-07-18 00:52:22 -07:00
Jeffrey Pfau c9ec91b75f Forcibly disable some currently unsupported zip operations 2014-07-18 00:52:07 -07:00
Jeffrey Pfau 2367abe67d Don't crash if no ROM is loaded 2014-07-17 02:55:13 -07:00
Jeffrey Pfau 74fcdf54e0 Fix reading more than a block but less than the rest of the file 2014-07-17 02:51:38 -07:00
Jeffrey Pfau 793a89d091 Fix seeking to end of file 2014-07-17 02:51:17 -07:00
Jeffrey Pfau d2272ba9ba Support reading from ZIPs 2014-07-17 02:45:17 -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 73425e80b5 Move VFile to vfs.h and add VDirs 2014-07-17 00:52:21 -07:00
Jeffrey Pfau 80c61379a0 Clean up GBAThread variables 2014-07-16 23:53:11 -07:00
Jeffrey Pfau e53135a7b9 Clean up command line args 2014-07-16 23:47:47 -07:00
Jeffrey Pfau 6519fad652 Fix some signatures 2014-07-16 03:02:16 -07:00
Jeffrey Pfau 42484bbcc3 Allow save file to be specified externally 2014-07-16 02:57:04 -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 0584c19229 Remove declaration for unimplemented function 2014-07-16 02:09:19 -07:00
Jeffrey Pfau f1f55cea47 Use VFiles for all file operations 2014-07-16 02:08:54 -07:00
Jeffrey Pfau 377d8e60a7 VFiles for abstract file operations, used at first in patches 2014-07-16 01:31:10 -07:00
Jeffrey Pfau d8654f3b88 Use stdbool for readability 2014-07-16 01:02:34 -07:00
Jeffrey Pfau fce2fb9252 Move flags and masks into defines to avoid making enums with values that are too large 2014-07-15 23:38:44 -07:00
Jeffrey Pfau e89a705419 Revise macros for stricter C99 conformance 2014-07-15 23:30:55 -07:00
Jeffrey Pfau 6716b13621 Ability to reset emulator while running 2014-07-15 00:01:35 -07:00
Jeffrey Pfau 939c349533 Slightly more accurate waitstate emulation 2014-07-13 22:21:37 -07:00
Jeffrey Pfau 94438e141e Only assemble NEON code when NEON is enabled 2014-07-13 18:32:10 -07:00
Jeffrey Pfau 0b9d6e03f1 Support 5_6_5 in SDL/GL port 2014-07-13 18:31:28 -07:00
Jeffrey Pfau ca23c47aeb Add missing include 2014-07-13 05:47:16 -07:00
Jeffrey Pfau 5958d8c0da Fix missing value for divide precedence 2014-07-12 18:41:11 -07:00
Jeffrey Pfau 4638e4a017 Add parenthesis support 2014-07-12 17:58:03 -07:00
Jeffrey Pfau a58f8f8675 Support identifiers 2014-07-12 17:25:51 -07:00
Jeffrey Pfau b89d6216ac Free identifiers 2014-07-12 17:13:58 -07:00
Jeffrey Pfau ce1dd4416f Proper parser, without identifier support currently 2014-07-12 17:12:35 -07:00
Jeffrey Pfau f71edb1684 Parse expressions in a separate function 2014-07-12 14:50:09 -07:00
Jeffrey Pfau f74815988b Remove redundant includes 2014-07-12 04:43:41 -07:00
Jeffrey Pfau 5b7da978d1 Remove project name strings from the code 2014-07-12 04:29:12 -07:00
Jeffrey Pfau 8f151ec90f DebugVectors should inherit failure 2014-07-12 04:12:04 -07:00
Jeffrey Pfau 903f384e05 Operations on numbers in CLI debugger 2014-07-12 04:04:15 -07:00
Jeffrey Pfau 5b7a551ed8 Add disassemble CLI debugger command 2014-07-12 03:36:04 -07:00
Jeffrey Pfau aefa5f0ab8 Merge branch 'decoder'
Conflicts:
	src/debugger/cli-debugger.c
2014-07-12 00:40:40 -07:00
Jeffrey Pfau 3261dd482c Fix should-be-zero operands being listed 2014-07-12 00:39:05 -07:00
Jeffrey Pfau b41e11d4c1 Decode MSR and MRS 2014-07-12 00:29:00 -07:00
Jeffrey Pfau a2eec31632 Show s flag for ARM instructions 2014-07-12 00:13:11 -07:00
Jeffrey Pfau d245eb3f88 Remove leftover code 2014-07-11 23:52:17 -07:00
Jeffrey Pfau 027a6f129c Fix ordering of flags and condition 2014-07-11 23:31:46 -07:00
Jeffrey Pfau a09d8649ee Begin work on ARM disassembler 2014-07-11 03:50:29 -07:00
Jeffrey Pfau ba4874f8b7 Cleaning up writeback and add some TODOs 2014-07-11 03:19:02 -07:00
Jeffrey Pfau 874f23fc59 Add mnemonics and fourth operand for ARM 2014-07-11 01:28:02 -07:00
Jeffrey Pfau 2b0dccb243 Fold direction into memory format 2014-07-11 01:27:32 -07:00
Jeffrey Pfau 45c6299b3b Fix decoding Thumb TST 2014-07-11 01:26:57 -07:00
Jeffrey Pfau 2921ba8842 Split ARM emitters into own file 2014-07-10 23:21:28 -07:00
Jeffrey Pfau fde2107a6b Fix disassembler memory boundary conditions 2014-07-10 03:31:24 -07:00
Jeffrey Pfau 64cc5ada86 Merge Thumb mnemonics into ARM mnemonics in preparation for ARM decoder 2014-07-10 03:30:59 -07:00
Jeffrey Pfau a22c89fedb Remove notion of special register 2014-07-10 02:33:16 -07:00
Jeffrey Pfau 6c1476403e Reorder log levels so more important ones have lower numbers 2014-07-10 01:12:25 -07:00
Jeffrey Pfau b810e38bd7 Fix a compiler warning in SIO code 2014-07-10 01:05:28 -07:00
Jeffrey Pfau d56dec79e7 Fix function prototype for GBAThreadInterrupt 2014-07-10 01:03:02 -07:00
Jeffrey Pfau c2fc2dbac3 Remove unused variable 2014-07-10 01:02:13 -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 87913a4c33 Add missing return statement 2014-07-09 23:17:51 -07:00
Jeffrey Pfau 642cbf3429 Hopefully fix edge cases for windows for real this time (fixes #88) 2014-07-09 23:09:28 -07:00
Jeffrey Pfau b762ce41a0 Only take slow mosaic path when mosiac is actually in play 2014-07-09 23:01:03 -07:00
Jeffrey Pfau e6863a6cc5 Fix mosaic drawing of 256-color mirrored background tiles 2014-07-09 22:49:05 -07:00
Jeffrey Pfau c3136b914e Fix sampling order of sound channel 3 2014-07-09 03:53:23 -07:00
Jeffrey Pfau 3e827c24a8 Fix 8-bit IO writes on SOUND3CNT_X 2014-07-09 03:53:23 -07:00
Jeffrey Pfau 78bd884a05 Fix setting window sizes to 0xFFFF from actually making a window 2014-07-09 03:53:23 -07:00
Jeffrey Pfau 3ee3f7625f Link with SDL2_LIBDIR if necessary 2014-07-09 01:46:40 -07:00
Jeffrey Pfau f1b4e7039f Fix sprites whose tiles go out of bounds 2014-07-09 01:32:02 -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 548793e551 Remove audio processing loop now that there is an event processing loop 2014-07-08 22:00:53 -07:00
Jeffrey Pfau 83e16d56c0 Fix a case where deserializing the FIFO may not restore up to three bytes 2014-07-08 21:56:03 -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 8c9790bb3b Add audio FIFOs to savestates 2014-07-08 00:02:39 -07:00
Jeffrey Pfau 6bf0e704d2 Allow for savestates to be loaded between BIOS versions so long as they aren't in BIOS code 2014-07-07 22:59:24 -07:00
Jeffrey Pfau ea656f188e Remove out-of-date TODO 2014-07-07 03:00:58 -07:00
Jeffrey Pfau a450b0470a UPS patch loading support 2014-07-07 01:54:40 -07:00
Jeffrey Pfau f420232bbf IPS patch loading support 2014-07-06 23:39:27 -07:00
Jeffrey Pfau a6c8089601 Add read watchpoints (fixes #69) 2014-07-05 22:30:20 -07:00
Jeffrey Pfau 28ba251cfb Fix some warnings 2014-07-05 16:29:31 -07:00
Jeffrey Pfau ced5220975 Out of bounds start coordinates are treated as 0 for windows (fixes #82) 2014-07-05 14:40:15 -07:00
Jeffrey Pfau 7142a0f820 Fix WININ priority trampling over the active windows (fixes #75) 2014-07-05 14:34:10 -07:00
Jeffrey Pfau ae12dd907c Reduce the code size of division by zero a bit 2014-07-05 13:55:36 -07:00
Jeffrey Pfau 2fd9ab1197 Emulate division by zero edge cases (fixes #80) 2014-07-05 05:19:58 -07:00
Jeffrey Pfau 26c33b18e1 Properly do bounds checking in CpuSet and CpuFastSet (fixes #81) 2014-07-05 03:52:07 -07:00
Jeffrey Pfau 34145543f2 Remove redundant checks that are in the BIOS code already 2014-07-05 01:03:04 -07:00
Jeffrey Pfau dea143829a Prevent lr from being trampled in the middle of long-running CpuSet 2014-07-05 01:01:29 -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 80d1764e6c Save some registers we were overwriting in IntrWait 2014-07-04 18:41:13 -07:00
Jeffrey Pfau d6a28c8a6e Log SWIs in debug 2014-07-04 18:17:34 -07:00
Jeffrey Pfau 599537a41b Fix and optimize CpuSet and CpuFastSet a bit 2014-07-04 17:48:38 -07:00
Jeffrey Pfau fde6515a56 Implement CpuSet/CpuFastSet in assembly (fixes #31 and #76) 2014-07-03 03:51:53 -07:00
Jeffrey Pfau e5245b6cbb Reset timers when enabling them (fixes #78) 2014-07-02 00:48:20 -07:00
Jeffrey Pfau 2693f9d09b Implement high VRAM mirroring for writes 2014-07-01 00:26:57 -07:00
Jeffrey Pfau a7eced1324 Fix stub debugger entering 2014-04-26 18:25:45 -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 64e8d3fb83 Fix GBDStub build on Windows 2014-04-23 21:42:08 -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 232abab7f4 Add long-missing arm-algo.S 2014-04-23 02:05:50 -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 e739e4000b Initialize halt 2014-04-20 01:05:29 -07:00
Jeffrey Pfau 9bf77f6653 Call ARMDeinit 2014-04-20 00:52:37 -07:00
Jeffrey Pfau 7a4ca414e5 Restructure watchpoints 2014-04-20 00:47:49 -07:00
Jeffrey Pfau 0f68dbc832 Redo component model/type punning 2014-04-20 00:19:55 -07:00
Jeffrey Pfau c0eb7c81f7 Remove ARMMemory and ARMBoard shims 2014-04-19 18:14:17 -07:00
Jeffrey Pfau 775e417cc6 Move halting functionality out of GBAHalt 2014-04-16 23:05: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 73d32e7cc7 Initialize some SIO variables properly 2014-04-02 23:16:37 -07:00
Jeffrey Pfau fec4040691 Load/store with immediate width corrections 2014-03-29 23:08:32 -07:00
Jeffrey Pfau fc132b4d93 Some instructions can write to pc directly 2014-03-29 23:08:32 -07:00
Jeffrey Pfau 01d4672f56 Reclassify thumb load/store multiple instructions 2014-03-29 23:08:32 -07:00
Jeffrey Pfau 764d9740ee Fix exporting of ARMDecodeThumb 2014-03-29 23:08:32 -07:00
Jeffrey Pfau c8a2f595d4 Start cycle counting 2014-03-29 23:08:32 -07:00
Jeffrey Pfau 9b2cd97505 Split out decoder files in preparation of ARM decoder 2014-03-29 23:08:31 -07:00
Jeffrey Pfau c8e1a9cd59 PC-relative disassembling 2014-03-29 23:08:31 -07:00
Jeffrey Pfau 39e1a85ffc Implement memory decoding 2014-03-29 23:06:07 -07:00
Jeffrey Pfau f32155526b More thumb decompilation 2014-03-29 23:06:07 -07:00
Jeffrey Pfau e60cbfaf84 Begin disassembler 2014-03-29 23:06:07 -07:00
Jeffrey Pfau 58545f112e Rename decompiler to decoder 2014-03-29 22:59:40 -07:00
Jeffrey Pfau 65c1d67dfd Descriptions of all opcodes 2014-03-29 22:59:40 -07:00
Jeffrey Pfau 5d19919df2 Extract emittor macros into headers 2014-03-29 22:59:39 -07:00
Jeffrey Pfau 66d1c0c55c Start fleshing out decompiler 2014-03-29 22:59:39 -07:00
Jeffrey Pfau 5b91d6d336 Small framework for decompiler 2014-03-29 22:59:39 -07:00
Jeffrey Pfau 4c1014685f Fix some valgrind errors 2014-03-29 22:58:58 -07:00
Jeffrey Pfau 2cd4bb3cff Initialize memory->eventDiff; fixes a valgrind warning 2014-03-29 22:58:58 -07:00
Jeffrey Pfau 2f39a57567 Get RPi EGL port building again 2014-03-29 22:58:58 -07:00
Jeffrey Pfau 8f241e2cfb Partially implement SOUNDBIAS 2014-03-29 22:53:56 -07:00
Jeffrey Pfau 683e90fa06 Remove special treatment for DISPSTAT 2014-03-29 22:53:52 -07:00
Jeffrey Pfau 8e51ffbf2c Add function for connecting to an already-open TCP port 2014-02-11 00:19:29 -08: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 eb5580f719 Make DriverSet setting read in normal driver 2014-02-10 01:42:44 -08:00
Jeffrey Pfau 6451aeaefc Support normal mode drivers 2014-02-10 01:42:44 -08:00
Jeffrey Pfau 764b3fce10 Fix SIO loading of a driver that is for the current mode 2014-02-10 01:42:44 -08:00
Jeffrey Pfau 9c8e5fc222 SIO registers can now be read and written properly 2014-02-10 01:42:40 -08:00
Jeffrey Pfau 3422527d5a Read SIO registers from sio field 2014-02-10 01:41:20 -08:00
Jeffrey Pfau a2a3f317b5 Make driver loading signal failure, and fix case where setting a driver can cause a null pointer deref 2014-02-05 01:50:01 -08:00
Jeffrey Pfau 043d396320 Make socket shims inline 2014-02-05 01:22:34 -08:00
Jeffrey Pfau 924c6cf5a6 Clarify some function names and add more essenital SIO architecture 2014-02-05 01:03:34 -08:00
Jeffrey Pfau e5ee1aa07f Fill out SIO driver infrastructure 2014-02-04 01:28:16 -08:00
Jeffrey Pfau 70e1661342 Begin SIO 2014-02-04 00:39:55 -08:00
Jeffrey Pfau 20a5fa8476 Abstract out sockets 2014-02-03 23:01:26 -08:00
Jeffrey Pfau 23e0737649 Add missing GBA_KEY_NONE 2014-02-03 22:56:24 -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 2eb5a7a639 Partially implement SOUNDBIAS 2014-02-03 05:22:29 -08:00
Jeffrey Pfau 5a17030c65 Automatically break into the debugger if it was provided at launch time 2014-02-03 03:48:39 -08:00
Jeffrey Pfau 285b94b66a Add thread-safe function for telling if the GBA thread has started 2014-02-03 03:48:39 -08:00
Jeffrey Pfau 0f6523941c Null out threadContext->gba when shutting down 2014-02-03 03:48:39 -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 d16737ccf2 Automatically break into the debugger if it was provided at launch time 2014-02-03 03:42:02 -08:00
Jeffrey Pfau eb23269011 Add thread-safe function for telling if the GBA thread has started 2014-02-03 03:41:32 -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 acc58fccc9 Null out threadContext->gba when shutting down 2014-02-03 00:42:20 -08:00
Jeffrey Pfau 9f3cf19c2d Add missing ellipses for menu items that open windows 2014-02-02 04:01:41 -08:00
Jeffrey Pfau 56c51181e1 Debugger can get detached during a callback, clean up appropriately 2014-02-02 03:59:03 -08:00
Jeffrey Pfau c621fb16d8 Add missing GDB classes 2014-02-02 03:58:40 -08:00
Jeffrey Pfau 412890d838 Debugger can get detached during a callback, clean up appropriately 2014-02-02 03:57:41 -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 020aec4e7b The debugger should not stop by default 2014-02-01 20:49:12 -08:00
Jeffrey Pfau 0c332d972b Add ability to detach debugger 2014-02-01 20:49:12 -08:00
Jeffrey Pfau 6341172813 The debugger should not stop by default 2014-02-01 20:48:25 -08:00
Jeffrey Pfau 1a7656fe36 Support creating the GDB stub in Qt 2014-02-01 20:47:44 -08:00
Jeffrey Pfau adcfc37db2 Add ability to detach debugger 2014-02-01 20:24:38 -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 cc53b06cae Implement OBJWIN for OBJs 2014-02-01 16:58:55 -08:00
Jeffrey Pfau d09004cf01 Fix infinite listen errors 2014-02-01 16:27:48 -08:00
Jeffrey Pfau 69d188668d Fix debugging shim to work even if there is no GBA struct at the moment 2014-02-01 16:27:27 -08:00
Jeffrey Pfau b9f8955890 Add debugging logging interface 2014-02-01 16:26:48 -08:00
Jeffrey Pfau d97976d0df Add stepping and clean up 2014-02-01 15:50:12 -08:00
Jeffrey Pfau 325380989c Clean up unnecessary operation in GDB stub 2014-02-01 15:39:47 -08:00
Jeffrey Pfau 9435226c58 Breakpoint clearing in CLI debugger 2014-02-01 15:39:30 -08:00
Jeffrey Pfau c30807117f Breakpoint clearing 2014-02-01 15:37:15 -08:00
Jeffrey Pfau ea6b129509 LLDB compatibility 2014-02-01 15:21:17 -08:00
Jeffrey Pfau 1541e6e0b0 Expand packet size for lldb compat 2014-02-01 05:44:40 -08:00
Jeffrey Pfau cc9575228c Add support for qHostInfo command for lldb 2014-02-01 05:40:39 -08:00
Jeffrey Pfau e4375fd3d9 Stub out [qQvV].* commands 2014-02-01 05:23:56 -08:00
Jeffrey Pfau 1c60ada7de Add support for g, m and p GDB packets 2014-02-01 05:02:54 -08:00
Jeffrey Pfau 434099ac77 Parse GDB packet format 2014-02-01 04:10:22 -08:00
Jeffrey Pfau 244f197742 Begin GDB stub 2014-02-01 03:08:32 -08:00
Jeffrey Pfau 38aac38a0c Remove obsolete, dead code 2014-02-01 01:41:25 -08:00
Jeffrey Pfau 6616ca9111 Always enable the debugger framework 2014-02-01 01:14:41 -08:00
Jeffrey Pfau a214481b76 Fix typo in type 2014-02-01 01:02:26 -08:00
Jeffrey Pfau 5bbf7f2308 Separate out CLI debugger from debugging interface 2014-02-01 00:47:36 -08:00
Jeffrey Pfau 6822a0d770 Start separating out debugger logic 2014-02-01 00:27:53 -08:00
Jeffrey Pfau 6ad2b673b1 Omit sprites that are off-screen vertically from OAM calculations 2014-01-31 22:40:21 -08:00
Jeffrey Pfau bab92ba659 Squelch compiler warning in perf shutdown 2014-01-31 02:30:56 -08:00
Jeffrey Pfau 4255d10f08 Squelch compiler warning about type punning 2014-01-31 02:29:27 -08:00
Jeffrey Pfau d6a4fbd25a Squelch a compiler warning about an uninitialized variable 2014-01-31 02:27:17 -08:00
Jeffrey Pfau f8449482de Squelch warnings in software renderer 2014-01-31 02:17:41 -08:00
Jeffrey Pfau 2122ff1f43 Change override structure to not use multi-byte char literals 2014-01-31 02:17:41 -08:00
Jeffrey Pfau 4eb705ca91 Squelch warnings in software renderer 2014-01-31 02:15:43 -08:00
Jeffrey Pfau 307404adf7 Change override structure to not use multi-byte char literals 2014-01-31 02:05:01 -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 95cf2909c1 Unblock on audio when closing thread 2014-01-30 04:05:53 -08:00
Jeffrey Pfau 8e3d104625 Qt audio thread should mark itself as exiting 2014-01-30 04:05:39 -08:00
Jeffrey Pfau e27c10ab78 Unblock on audio when closing thread 2014-01-30 04:03:54 -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 79d4011650 Initialize OAM 2014-01-29 23:02:12 -08:00
Jeffrey Pfau 13d3146d0b Add LOG_FATAL 2014-01-29 22:49:34 -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 5fde0d8c35 GBAAudioResampleNN returns how many (destination) samples were read 2014-01-29 22:49:09 -08:00
Jeffrey Pfau a79a592c1e Move audio resampling out of SDL code 2014-01-29 22:48:38 -08:00
Jeffrey Pfau 2e2ca19220 Add GBAThreadEnd function for manually shutting down the GBA thread 2014-01-29 22:48:38 -08:00
Jeffrey Pfau c8b04a2ca5 Ensure rewind buffer is null if we are not enabling rewinding 2014-01-29 22:48:38 -08:00
Jeffrey Pfau 48a3522fbc Move inline struct definitions out of place for C++ compatibility 2014-01-29 22:48:19 -08:00
Jeffrey Pfau a72c77a3df Update DMA timings, and higher priority DMAs always take precedence, regardless of timing 2014-01-28 21:56:14 -08:00
Jeffrey Pfau 8e5b806cdd Have board re-read CPSR when it is modified by MSR 2014-01-27 00:21:14 -08:00
Jeffrey Pfau ef66e4a8c7 Only unpause from state operations when we paused manually 2014-01-26 23:17:17 -08:00
Jeffrey Pfau c3a5fb497a Fix rewind buffer sizing itself wrong 2014-01-26 12:47:47 -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 9c2c93220b Implement most of audio serialization 2014-01-25 18:01:31 -08:00
Jeffrey Pfau 668c4f68b7 Fix OAM deserialization 2014-01-25 15:06:28 -08:00
Jeffrey Pfau 941c629f8b Serialize timers and DMA state 2014-01-25 15:02:55 -08:00
Jeffrey Pfau 408d39a297 Move mode 0 into macro-land so that much of the logic can be inlined 2014-01-25 14:47:21 -08:00
Jeffrey Pfau 0e379fed41 Fix audio buffer reading in SDL audio 2014-01-23 20:59:15 -08:00
Jeffrey Pfau 709269ee5c Fix initial DMA count 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 1e0f400091 Precompute some parameters in mode 0 2014-01-22 01:39:48 -08:00
Jeffrey Pfau 7132c873e3 Make viewport size not-hardcoded 2014-01-21 23:51:52 -08:00
Jeffrey Pfau a8921116dc Preprocess OBJ heights 2014-01-21 23:49:10 -08:00
Jeffrey Pfau 04c3b61d1c Basic OAM dirtying 2014-01-21 23:41:41 -08:00
Jeffrey Pfau 2553b96e9b Skip table lookup in ARMStep if not needed 2014-01-21 23:15:51 -08:00
Jeffrey Pfau f08e466fce Partially unroll video clearing loop 2014-01-21 22:37:08 -08:00
Jeffrey Pfau 52808da265 Inline CPU stepping 2014-01-21 22:36:40 -08:00
Jeffrey Pfau f8de62ba71 Null out frameCallback on perf-main 2014-01-21 22:36:40 -08:00
Jeffrey Pfau e432c66249 Fix some uninitialized values 2014-01-21 22:36:40 -08:00
Jeffrey Pfau 86bc662d9f Support proper DMA timings and priority 2014-01-21 21:07:15 -08:00
Jeffrey Pfau 3c100a5e31 Prevent bank switching when reloading CPU state 2014-01-20 23:42:07 -08:00
Jeffrey Pfau 98c8b42b0f Slow down audio slightly to match target FPS 2014-01-20 20:02:44 -08:00
Jeffrey Pfau dccde662c6 Minor cleanup 2014-01-20 18:01:49 -08:00
Jeffrey Pfau 728f6481d6 Abort in invalid memory instead of SEGVing 2014-01-20 17:46:17 -08:00
Jeffrey Pfau aa99196700 Smarter I/O serialization 2014-01-20 17:42:30 -08:00
Jeffrey Pfau 872c3ceba3 Savestate game checks 2014-01-20 17:18:12 -08:00
Jeffrey Pfau 26c1fbd48f Add frame advance 2014-01-20 16:39:46 -08:00
Jeffrey Pfau e7d4f3ae8a Fix MSR with immediate 2014-01-20 15:40:56 -08:00
Jeffrey Pfau 12f4ff6cbb Fix ARM_ROR 2014-01-20 15:40:44 -08:00
Jeffrey Pfau 2db6d27496 Implement SWP, SWPB 2014-01-20 15:19:52 -08:00
Jeffrey Pfau fede211874 Remove checks for ARM writeback operations that fail on real hardware 2014-01-20 15:10:41 -08:00
Jeffrey Pfau 35a5e83465 Unified DISPSTAT representation 2014-01-20 14:18:24 -08:00
Jeffrey Pfau 5a1a04a353 Add basic IO and video serialization 2014-01-20 03:05:54 -08:00
Jeffrey Pfau 9f28b1ec73 Add missing version magic 2014-01-20 03:05:31 -08:00
Jeffrey Pfau a5d8be30d8 Don't block any signals on the run thread 2014-01-20 02:33:40 -08:00
Jeffrey Pfau 1f8c1bcdfa Fix signal handling for debugger 2014-01-19 23:42:34 -08:00
Jeffrey Pfau 4e98546cd6 Add missing header guard 2014-01-19 03:38:18 -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