Commit Graph

755 Commits

Author SHA1 Message Date
Vicki Pfau c49f09dabc Util: Add PS Vita SFO generator 2022-10-28 00:04:26 -07:00
Vicki Pfau ad2a7a748a GB MBC: Add GGB-81 support 2022-10-17 01:31:04 -07:00
bigfarts 42f7876731 Add range watchpoints.
These are accessible via the following new CLI debugger commands:

 - rw: watchr minAddr maxAddr [cond]
 - r: watchr/r minAddr maxAddr [cond]
 - w: watchr/w minAddr maxAddr [cond]
 - c: watchr/c minAddr maxAddr [cond]

This also makes all watchpoints range watchpoints under the hood.

Preliminary benchmark results:

Time taken to run 10000 frames of Megaman Battle Network 1 (U) with a write watchpoint set at 0x02000000 in milliseconds, 10 runs each:

control (no watchpoint):
[4184, 4185, 4197, 4207, 4220, 4178, 4304, 4226, 4234, 4292]
mean = 4223, stdev = 43.95

old (single address watchpoint):
[4743, 4685, 4679, 4670, 4782, 4704, 4698, 4875, 4746, 4718]
mean = 4730, stdev = 61.67

new (range watchpoint):
[4683, 4691, 4693, 4706, 4782, 4674, 4746, 4768, 4770, 4776]
mean = 4728, stdev = 43.36
2022-10-16 02:10:38 -07:00
Vicki Pfau ffda3e1c9b GB MBC: Add Li Cheng support 2022-10-16 01:28:27 -07:00
Vicki Pfau e370f64801 GB MBC: Add NT (old 2) support 2022-10-15 23:41:51 -07:00
Vicki Pfau 1f36728244 GB Serialize: Add missing savestate support for MBC6 and NT (newer) 2022-10-15 04:42:10 -07:00
Vicki Pfau 0bd4ad034e GB MBC: Add NT (old 1) support 2022-10-15 04:13:37 -07:00
Vicki Pfau e1c43b9287 macOS: Disable OpenGL 1.x on newer macOS 2022-10-10 00:11:40 -07:00
Vicki Pfau 8665b28f0d Core: Interrupt timing during reset (fixes #2651) 2022-10-09 22:07:58 -07:00
Vicki Pfau e23d04afc5 GB Memory: Fix bounds of TAMA5 registers in savestates 2022-10-06 03:24:06 -07:00
Vicki Pfau bb711d311f GBA Savedata: Store RTC data in savegames (closes #240) 2022-10-06 02:57:26 -07:00
Vicki Pfau 91fb63c484 Scripting: Add "internal" marker to classes, exported to docgen 2022-09-29 03:11:59 -07:00
Vicki Pfau 8e898b02cc Scripting: Add doc structs and exporting documentation from engines 2022-09-25 17:31:49 -07:00
Vicki Pfau 73d19cc02a Scripting: Add reference to the top-level engine in engine contexts 2022-09-25 17:30:30 -07:00
Vicki Pfau 95336463bf Scripting: Add root scope function for engines 2022-09-25 17:30:30 -07:00
Vicki Pfau 7520d8fc06 Scripting: MSVC build fixes 2022-09-21 22:57:22 -07:00
Vicki Pfau d4b3bcde0f Util: More buildfixes 2022-09-21 20:41:40 -07:00
Vicki Pfau 536170c331 Windows: Buildfixes 2022-09-21 20:22:26 -07:00
Vicki Pfau c57075a539 Scripting: Buildfix 2022-09-21 20:04:56 -07:00
Adam Higerd d852c7c8f0 Scripting: add socket bindings 2022-09-21 20:01:12 -07:00
Adam Higerd a11b103a9c Util: Add DNS resolution and SO_REUSEADDR to sockets 2022-09-21 20:01:12 -07:00
Vicki Pfau 5dbe240442 Qt: Resume crashed game when loading a save state 2022-09-11 02:51:24 -07:00
Vicki Pfau c305c377db GB MBC: Finish TAMA6 timer (non-alarm) emulation 2022-08-31 00:12:33 -07:00
Vicki Pfau 9b35e76416 GB MBC: Add more TAMA6 commands 2022-08-31 00:12:33 -07:00
Vicki Pfau e2084b4a98 macOS: Fix very old Xcode build 2022-08-30 00:20:13 -07:00
Vicki Pfau 0b50e7163e GB MBC: Start work on TAMA6 RTC pages 2022-08-28 21:29:10 -07:00
Vicki Pfau 1985713c3a GB MBC: Emulate TAMA6 timer disabling 2022-08-28 19:15:03 -07:00
Vicki Pfau bac42c9027 GB MBC: Partial TAMA5 RTC 2022-08-28 03:53:51 -07:00
Vicki Pfau ba27062842 Vita, Wii: Build fixes 2022-08-08 13:05:32 -07:00
Vicki Pfau 9b07a63056 All: Preliminary shift to C11 2022-08-08 12:54:49 -07:00
Adam Higerd 519968d37e fix SocketConnect for IPv6 2022-08-07 23:01:32 -07:00
Vicki Pfau 902c7aade4 Scripting: Add missing forward declarations 2022-08-07 15:29:47 -07:00
Vicki Pfau ad32c0f750 GB Audio: Fix regressions 2022-08-07 15:29:10 -07:00
Vicki Pfau 1fb7d7a4a3 GB Audio: Increase sample rate 2022-08-06 23:08:28 -07:00
Vicki Pfau 82ce165211 FFmpeg: Support dynamic audio sample rate 2022-08-06 18:20:36 -07:00
Vicki Pfau 004f317aba GBA Video: Mark framebuffer as dirty if the output texture changes 2022-07-13 19:53:44 -07:00
Vicki Pfau 8997055fc0 Core: Migrate SDL logging enhancements into core 2022-07-09 02:34:10 -07:00
Vicki Pfau 01c881d18d Debugger: Minor parser refactoring; fix crash 2022-07-06 23:55:49 -07:00
Vicki Pfau 57880bf674 Core: Add romSize function 2022-07-02 22:49:47 -07:00
Vicki Pfau d053058ea3 Scripting: Add boolean type 2022-07-01 02:02:55 -07:00
Vicki Pfau 9515de7212 Scripting: Add loading API 2022-07-01 00:34:33 -07:00
Vicki Pfau 0979380c74 Debugger: Shaving recursive yaks takes a lot of work 2022-06-28 18:43:15 -07:00
Vicki Pfau 2969a8bf7a Core: Fix cache writes that span multiple tiles 2022-06-27 21:10:16 -07:00
Vicki Pfau 99f067e539 Scripting: Fix typo 2022-06-27 20:10:18 -07:00
Vicki Pfau e8a39fea95 All: Clean up some warnings 2022-06-24 17:48:52 -07:00
Vicki Pfau 840e2806b5 Scripting: Basic void type bringup 2022-06-16 23:40:11 -07:00
Vicki Pfau 4851109027 Core: Add wallclock offset RTC type 2022-06-16 21:57:45 -07:00
Vicki Pfau 6159c5a70b GBA Audio: Decrunchify GB audio 2022-06-15 20:34:06 -07:00
Vicki Pfau 33b3d33da2 Core: Rename GBAStereoSample to mStereoSample 2022-06-15 18:39:38 -07:00
Vicki Pfau 7f453ce202 GBA Video: Fix horizontal lines in GL when charbase is changed (fixes #1631) 2022-06-14 00:13:51 -07:00
Vicki Pfau 97cb18d3fd GBA Video: Fix two sprite boundary conditions in OpenGL 2022-06-08 01:53:35 -07:00
Vicki Pfau f9e03e7182 GBA Memory: Implement adjustable EWRAM waitstates (closes #1276) 2022-06-07 00:05:27 -07:00
Vicki Pfau 11837ffc15 ARM: Disassemble Thumb mov pseudo-instruction properly 2022-06-05 20:59:30 -07:00
Vicki Pfau 3687863cbc Scripting: Add callback removing 2022-06-05 20:36:54 -07:00
Vicki Pfau 6289c1a4d1 GBA Serialize: Fix doc error 2022-06-05 20:36:26 -07:00
Vicki Pfau 10eb2b9784 Scripting: Add root-scope docstrings 2022-06-05 03:29:18 -07:00
Vicki Pfau 00bd093fe3 Scripting: Add bitmask handling functions 2022-06-05 03:29:18 -07:00
Vicki Pfau d6accc4ef6 Scripting: Add calling functions with lists 2022-06-05 03:29:18 -07:00
Vicki Pfau 9f5267e24e GBA Audio: Claw back some performance 2022-06-03 22:36:19 -07:00
Vicki Pfau 3c0d9f7197 GBA Audio: Sample FIFOs at SOUNDBIAS-set frequency 2022-06-01 19:13:05 -07:00
Vicki Pfau cdabfd491b GB Audio: Minor optimizations 2022-06-01 01:29:33 -07:00
Vicki Pfau 76a8f4da2b GB Audio: Migrate channel 3 into GBRunAudio 2022-06-01 01:29:33 -07:00
Vicki Pfau 779e7bc94b GB Audio: Migrate channel 4 into GBRunAudio 2022-06-01 01:11:45 -07:00
Vicki Pfau 68f628a211 GB Audio: Redo channels 1 and 2 2022-06-01 01:11:40 -07:00
Vicki Pfau b6ec54dadf Merge branch 'feature/scripting' 2022-05-29 13:29:20 -07:00
Vicki Pfau bd20540276 Scripting: MSVC fixes 2022-05-29 02:44:17 -07:00
Vicki Pfau e93d780db7 Scripting: Fix indentation 2022-05-29 02:44:17 -07:00
Vicki Pfau 2471648dd0 Scripting: Start bringing up composite wrapper types 2022-05-29 02:44:17 -07:00
Vicki Pfau 38299f397f GBA: Overdue constant prefixing 2022-05-28 20:58:57 -07:00
Vicki Pfau 42efdc46eb Scripting: Add class-level docstrings 2022-05-27 20:19:29 -07:00
Vicki Pfau 7ab5f3d690 Scripting: Allow "opaque" pointers a bit more clarity 2022-05-27 20:19:28 -07:00
Vicki Pfau b3476a997a Scripting: Pass filenames down to scripting engines 2022-05-27 20:19:28 -07:00
Vicki Pfau 7a6b16dc41 Scripting: Fix up Lua tables 2022-05-27 20:19:28 -07:00
Vicki Pfau 304d8d1a4d Scripting: More API cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 28d7bfdffc Scripting: Add prototype "buffer" pseudo-TUI interface 2022-05-27 20:19:28 -07:00
Vicki Pfau 304a8d1655 Scripting: Split macros into separate header 2022-05-27 20:19:28 -07:00
Vicki Pfau 1895ed34fc Scripting: Add making strings from non-UTF8-clean text 2022-05-27 20:19:28 -07:00
Vicki Pfau 5c84278667 Scripting: Start exporting some constants 2022-05-27 20:19:28 -07:00
Vicki Pfau cb9d45caee Scripting: Add savestate slot access 2022-05-27 20:19:28 -07:00
Vicki Pfau e228857eef Scripting: Add default arguments 2022-05-27 20:19:28 -07:00
Vicki Pfau f3ba5f7692 Scripting: API cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau ca073379fb Scripting: Add Table iteration 2022-05-27 20:19:28 -07:00
Vicki Pfau c14fb54a74 Scripting: Add callback API 2022-05-27 20:19:28 -07:00
Vicki Pfau e8e9a3e3c3 Scripting: Bring up lists 2022-05-27 20:19:28 -07:00
Vicki Pfau 076299a5f6 Scripting: Start bringing up constructors/destructors 2022-05-27 20:19:28 -07:00
Vicki Pfau bbf6d94fe2 Scripting: More table scaffolding 2022-05-27 20:19:28 -07:00
Vicki Pfau deff3585bd Scripting: Default "get" handling a la Python and casting a struct into one of its members 2022-05-27 20:19:28 -07:00
Vicki Pfau aa91ffabfd Scripting: Revamp pointer handling, struct casting 2022-05-27 20:19:28 -07:00
Vicki Pfau c296ea79ff Scripting: Add flag for freeing the value buffer 2022-05-27 20:19:28 -07:00
Vicki Pfau 0c28e34a7e Scripting: Remove static members 2022-05-27 20:19:28 -07:00
Vicki Pfau 17d2373975 Scripting: Add "console" logger bridge 2022-05-27 20:19:28 -07:00
Vicki Pfau e3758597f8 Scripting: Hook up Lua strings and add context autodrain pool 2022-05-27 20:19:28 -07:00
Vicki Pfau af44a65c3d Scripting: Add weak references for opaque runtime access 2022-05-27 20:19:28 -07:00
Vicki Pfau 7bb051b01d Scripting: Start hooking things together 2022-05-27 20:19:28 -07:00
Vicki Pfau 8326ecddce Scripting: Add missing C++ guard ends 2022-05-27 20:19:28 -07:00
Vicki Pfau b9f88061ca Scripting: Add error reporting 2022-05-27 20:19:28 -07:00
Vicki Pfau 8c45d51b8e Scripting: Code cleanup, add parameter names 2022-05-27 20:19:28 -07:00
Vicki Pfau ce3710323b Scripting: Start working on mCore bridge 2022-05-27 20:19:28 -07:00
Vicki Pfau 7226b7ee31 Scripting: Interface cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 5c67c3b600 Scripting: Lua method calling cleanup and testing 2022-05-27 20:19:28 -07:00
Vicki Pfau 7c9ea1ec9b Scripting: Add basic inheritance + struct struct member access + const casting 2022-05-27 20:19:28 -07:00
Vicki Pfau 9ddada00f2 Scripting: Add struct setter 2022-05-27 20:19:28 -07:00
Vicki Pfau b0567832f8 Scripting: More const bringup 2022-05-27 20:19:28 -07:00
Vicki Pfau eadc0c677b Scripting: Minor code cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 3179419f52 Scripting: Add static dispatch to classes 2022-05-27 20:19:28 -07:00
Vicki Pfau e912450e85 Scripting: Attempt to add const structs 2022-05-27 20:19:28 -07:00
Vicki Pfau 1a6fa25a33 Scripting: Add struct dynamic dispatch binding 2022-05-27 20:19:28 -07:00
Vicki Pfau af2e226cc4 Scripting: First pass on structs/classes 2022-05-27 20:19:28 -07:00
Vicki Pfau c8848876fa Scripting: Add 8/16-bit integer types for struct interop 2022-05-27 20:19:28 -07:00
Vicki Pfau 2e00104d1a Scripting: Clean up function binding CPP 2022-05-27 20:19:28 -07:00
Vicki Pfau 9d92c185c6 Scripting: Minor cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau ce97d86906 Scripting: Start bringing up Lua bindings 2022-05-27 20:19:28 -07:00
Vicki Pfau 512572769e Scripting: Rework functions; add wrapper type for stack references 2022-05-27 15:57:38 -07:00
Vicki Pfau c507157ab8 Scripting: Start bringing up execution contexts 2022-05-27 15:57:38 -07:00
Vicki Pfau 2a81e5a1ba Scripting: Add 64-bit types 2022-05-27 15:57:38 -07:00
Vicki Pfau cbae6a61e5 Scripting: Start adding type-aware casting 2022-05-27 15:57:38 -07:00
Vicki Pfau 9955d0d19b Scripting: Start string bringup 2022-05-27 15:57:38 -07:00
Vicki Pfau 8818bf4048 Scripting: Move equality into type implementation 2022-05-27 15:57:38 -07:00
Vicki Pfau 16563fe4d2 Scripting: Typing cleanup 2022-05-27 15:57:38 -07:00
Vicki Pfau a2b0230c71 Scripting: Add some helper macros 2022-05-27 15:57:38 -07:00
Vicki Pfau 34752e95d5 Scripting: Adapt Table type to use HashTableCustom 2022-05-27 15:57:38 -07:00
Vicki Pfau 1a33a71771 Scripting: Initial runtime bringup work 2022-05-27 15:57:38 -07:00
Vicki Pfau f3c26add07 Core: Add mCoreTakeScreenshotVF function 2022-05-27 14:29:17 -07:00
Vicki Pfau fe10c00289 Util: Implement HashTableEnumerateCustom 2022-05-27 00:44:33 -07:00
Vicki Pfau 4c1d44692c Util: Add Table iterators 2022-05-26 23:58:35 -07:00
Vicki Pfau 68c57df1f6 Util: Add custom callbacks for hash tables 2022-05-26 23:58:35 -07:00
Vicki Pfau 0035b5a22b Util: Reformat hashing and let it use 64-bit regions 2022-05-26 23:52:06 -07:00
Vicki Pfau 87738ba8f3 Core: Migrate register access API from debugger into core 2022-05-16 15:58:50 -07:00
Vicki Pfau af043e0792 Core: Add getKeys API 2022-05-16 15:12:21 -07:00
Vicki Pfau e76698ae59 Util: Add latin1ToUtf8 2022-05-15 21:44:36 -07:00
Vicki Pfau 155c57b19e Util: Add utf8strlen, tests 2022-05-15 21:44:20 -07:00
Vicki Pfau f326d02e33 Qt: Boot both a multiboot image and ROM with CLI args (closes #1941) 2022-04-21 22:09:46 -07:00
Vicki Pfau 4556d4b121 Feature: Modernize argument parsing API 2022-04-21 19:27:26 -07:00
Vicki Pfau bc9bb43f88 Debugger: Add poll interrupting 2022-04-03 02:49:05 -07:00
Vicki Pfau 5418bb066f Debugger: Add callback for updating while the runloop is suspended; use for GDB 2022-03-27 02:33:32 -07:00
Vicki Pfau 64d8dd1b69 GBA Cheats: Implement "never" type codes (closes #915) 2022-02-22 19:40:21 -08:00
Vicki Pfau 7c8a06816b GBA Video: Implement layer placement for OpenGL renderer (fixes #1962) 2022-02-20 19:45:13 -08:00
Vicki Pfau ad00b2f883 Core: Fix the runloop resuming after a game has crashed (fixes #2451) 2022-02-18 22:09:14 -08:00
Vicki Pfau cf06497456 GBA DMA: Enhanced logging (closes #2454) 2022-02-18 20:31:52 -08:00
Vicki Pfau 8289222c18 3DS: Update ifdef macros 2022-02-14 22:48:28 -08:00
Vicki Pfau 8ac1ece17a GB: Support for GBX ROMs 2022-02-10 14:25:21 -08:00
aldelaro5 6f697744d1 GDB Stub: allow to override GDB's handling logic of write watchpoint
Also allow to break on nonmodifying writes.
2022-02-09 21:52:50 -08:00
Vicki Pfau 0676769b68 GB MBC: Sachen MMC2 support 2022-02-08 18:36:12 -08:00
Vicki Pfau a5976e6c34 GB MBC: Sachen MMC1 support 2022-02-07 22:20:46 -08:00
Vicki Pfau d33471e117 GB MBC: Add NT (new) support (closes #2435) 2022-02-06 21:44:55 -08:00
Vicki Pfau 26aea8544f GB MBC: Initial HuC-3 save format 2022-02-04 23:48:27 -08:00
Vicki Pfau c829cd2e70 GB MBC: Improved support for HuC-3 mapper 2022-02-04 02:32:07 -08:00
Vicki Pfau 16df8fe957 GBA Video: Clean up flag calculation 2022-01-30 14:57:32 -08:00
Vicki Pfau d071bffe0a GBA Video: Fix Hblank timing (fixes #2131, #2310) 2022-01-26 18:26:56 -08:00
Vicki Pfau b127178377 GB: More selective savegame dirt, unify logic 2022-01-20 22:30:04 -08:00