Commit Graph

714 Commits

Author SHA1 Message Date
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
aldelaro5 8564f5fef4 GDB Stub: Add target descriptior and memory map xml
This allows gdb to know the memory mapping as well as the architecture once connected. It also allows us to not send dummy data for the fpr because we explicitly do not mention them.
2022-01-20 20:03:53 -08:00
Vicki Pfau 1f53174270 GBA Video: Bump OpenGL requirement to 3.3 (closes #2425) 2022-01-20 18:10:53 -08:00
Vicki Pfau ddca55347e GBA Video: Fix OpenGL rendering on M1 Macs 2022-01-19 23:06:19 -08:00
Vicki Pfau 9a85fc8a5a Core: Frame counter should be unsigned 2022-01-15 15:30:41 -08:00
Vicki Pfau cb0af1b77b GBA: Remove obsolete RTC API 2022-01-15 15:29:40 -08:00
Vicki Pfau 70f75bba49 GB Video: Draw SGB border pieces that overlap GB graphics (fixes #1339) 2022-01-13 18:07:01 -08:00
Vicki Pfau 27d59e5ed6 mGUI: Add read-only menu items 2022-01-09 15:05:57 -08:00
Vicki Pfau 9f0d184e4b Wii: Add text cursor 2022-01-05 22:10:01 -08:00
Vicki Pfau f176c096b0 Wii: Initial OSK implementation 2022-01-05 00:29:45 -08:00
Vicki Pfau ea1abe2fcc Core: Add creator metadata extdata to savestates 2022-01-04 03:55:28 -08:00
Vicki Pfau 398ee0c827 GB I/O: Fix erroneously added registers 2022-01-04 03:49:43 -08:00
Vicki Pfau 23a815b99c GB I/O: Add placeholder names for some unimplemented registers 2021-12-28 15:27:25 -08:00
Vicki Pfau a1641f7fae GBA Savedata: Add GSV importing 2021-12-21 20:36:18 -08:00
Vicki Pfau fa2975a4ab GBA Serialization: Serials key IRQ state, update docs 2021-12-06 12:38:08 -08:00
Vicki Pfau 58ddecb830 Core: Add mCoreConfigGetBoolValue 2021-12-02 17:55:02 -08:00
Vicki Pfau 603de394d8 mGUI: Refactor menu code into separate functions 2021-11-29 23:11:17 -08:00
Vicki Pfau 283196ceb3 Qt: Save converter now supports importing SharkPort saves 2021-11-29 14:09:14 -08:00
nia eeeefa4532
NetBSD build fixes (#2366) 2021-11-29 01:53:18 -08:00
Vicki Pfau dfd44b280f Qt: Pay down technical debt with map caches 2021-11-17 17:52:25 -08:00
Vicki Pfau 858267da3f GBA: Add flag to allow opposing inputs in key callbacks (fixes #2334) 2021-11-10 13:12:55 -08:00
Vicki Pfau f696619b11 GBA I/O: Redo internal key input, enabling edge-based key IRQs 2021-10-14 01:59:59 -07:00
shuffle2 40d4c430fc msvc : fix compilation for c11/c17 lang standards
msvc currently supports up to c17 but does not implement some optional features. see https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160 and https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=msvc-160
2021-09-30 13:57:34 -07:00
Vicki Pfau 86fe869087 ARM7: Fix unsigned multiply timing 2021-09-20 15:59:28 -07:00
Vicki Pfau f603fcdb72 mGUI: Add 9-slice drawing 2021-09-09 14:30:08 -07:00
Vicki Pfau bc37f48e29 CMake: Attempt to fix #1839 again 2021-08-28 22:05:49 -07:00
Vicki Pfau c6167470eb All: Fix indentation errors 2021-08-26 03:35:19 -07:00
Vicki Pfau 2d5f6dd675 All: Add updater stub and hook it into the Qt frontend 2021-08-10 22:09:24 -07:00
Vicki Pfau 4a7feb66f9 Qt: Add update checking infrastructure 2021-08-10 22:04:46 -07:00
Vicki Pfau 9a26c1a679 mGUI: Use variants for menu data 2021-06-28 21:13:05 -07:00
Vicki Pfau 78d3a1f17e GB Memory: Add cursory cartridge open bus emulation (fixes #2032) 2021-06-23 20:34:11 -07:00
Vicki Pfau b1ff578201 Qt: Only set default controller bindings if loading fails (fixes #799) 2021-06-20 00:34:45 -07:00
Vicki Pfau 3e1793d3f8 GBA Savedata: Support for 64 kiB SRAM saves 2021-06-07 18:47:22 -07:00
Vicki Pfau 1640d00e87 GB: Add SGB palettes, options for selecting which palettes 2021-05-08 16:23:52 -07:00
Vicki Pfau e00987ddeb GB: Support for combo "Super Game Boy Color" SGB + GBC ROM hacks 2021-05-07 14:37:19 -07:00
Vicki Pfau 2a316ee1dc Core: Suspend runloop when a core crashes 2021-05-06 00:14:10 -07:00
Vicki Pfau 6c3fb29d53 mGUI: Add arrow keys to symbol and add unicode codepoints 2021-05-02 16:37:00 -07:00
Vicki Pfau a713d51e05 GB: Presets for Game Boy palettes 2021-05-01 19:27:23 -07:00
Vicki Pfau 4ba921ccc5 mGUI: Initial OSK support 2021-04-23 00:24:27 -07:00
Vicki Pfau 926e8fcccb Util: Add toUtf16 function 2021-04-23 00:18:18 -07:00
Vicki Pfau 950767e6ad Util: 2D convolve with channels 2021-04-15 22:10:58 -07:00
Vicki Pfau 3b781c00e6 GBA e-Reader: Initial error detection and retrying 2021-04-11 16:08:39 -07:00