Commit Graph

655 Commits

Author SHA1 Message Date
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
Vicki Pfau a0360ec936 GBA e-Reader: Add visual dotcode parsing 2021-04-10 03:07:35 -07:00
Vicki Pfau adfc3c4ab2 FFmpeg: Add image scaling function 2021-04-10 03:07:35 -07:00
Vicki Pfau 207c64874a Util: Add bits of a convolution API 2021-04-10 03:07:35 -07:00
Vicki Pfau 23b5a458b8 GBA e-Reader: Refactor out of GPIO code 2021-04-03 13:37:29 -07:00
Vicki Pfau bc16a1bfe3 GBA Cart: Refactor hardware.c into cart/gpio.c etc 2021-04-03 01:31:55 -07:00
Vicki Pfau accb47b013 Python: Fix build 2021-03-28 14:59:50 -07:00
Vicki Pfau a5890bfea5 GBA SIO: Fix Dolphin connection when driver is inactive 2021-03-28 14:45:54 -07:00
Vicki Pfau 3a95b30d63 GBA SIO: Improve readability 2021-03-28 14:45:54 -07:00
Vicki Pfau b1828dbc59 GBA SIO: Dolphin connectivity 2021-03-28 14:45:54 -07:00
Vicki Pfau 00531d1180 mGUI: De-constify fonts 2021-03-27 22:35:29 -07:00
Antonio Niño Díaz c0cfa602af GBA Audio: Fix reads from CH3 Wave RAM
The previous code always read the state of bank 0. The correct behaviour
is to read from the bank that isn't selected. Most likely, no game has
ever tried to read from this RAM and verify the values because the
values are destroyed as soon as the channel starts to play the desired
sound.

Writes were done correctly: The values are saved to the bank that isn't
selected.

Also, when the sound hardware is off, it acts like bank 0 has been
selected in register SOUND3CNT_L.
2021-03-27 13:46:07 -07:00
Vicki Pfau 9ac9366257 Switch: Optimize font rendering (fixes #2078) 2021-03-24 19:13:59 -07:00
Vicki Pfau ffeb5cfe27 GB Video: Discard SGB packets in non-SGB mVLs 2021-03-23 19:37:53 -07:00
Vicki Pfau c5b78f9354 GB Audio: Add channel 4 batching back (fixes #1313) 2021-03-17 18:20:38 -07:00
Vicki Pfau f600c7c317 GB Audio: Remove redundant timing argument to GBAudioUpdateFrame 2021-03-15 21:39:27 -07:00
Vicki Pfau dd1d1a0a9d GBA Memory: Fix masking of misaligned jumps 2021-03-03 04:17:05 -08:00
Vicki Pfau 7d672a2215 All: Fix various build failure fallout 2021-02-26 02:02:25 -08:00
Vicki Pfau b966d71a2c GB: Clean up BIOS unmapping 2021-02-25 23:42:45 -08:00
Vicki Pfau 003e181add GB: Clean up cartridge removal codepath (fixes #398) 2021-02-24 20:18:13 -08:00
Vicki Pfau 1e017ade23 GBA Memory: Fix AGBPrint writing past 16MB ROMs 2021-02-24 18:44:41 -08:00
Vicki Pfau 67475a6da8 GBA Memory: Improved AGBPrint emulation of edge cases (fixes #1867) 2021-02-24 01:20:48 -08:00
Vicki Pfau 8926aeea01 ARM: Optimize PC-write functions 2021-02-21 12:27:07 -08:00
Vicki Pfau 49ec1ed702 ARM: Fix long and accumulate multiply timing 2021-02-15 23:40:49 -08:00
Vicki Pfau 3309892657 GB, GBA Serialize: Attempt to fix MSVC build 2021-02-09 01:28:21 -08:00
Vicki Pfau 2498f85cda VFS: Fix build with minizip 2021-02-03 21:08:52 -08:00
Vicki Pfau ca3050d76b Core: Add mCoreCreate function for making a core based on platform type 2021-01-14 23:14:02 -08:00
Vicki Pfau 527f235934 Core: Adding to library is now recursive 2021-01-05 00:23:52 -08:00
Vicki Pfau bda4316839 GB: Redo double speed emulation (closes #1515) 2021-01-02 22:20:54 -08:00
Vicki Pfau 466e0c5efa Utils: Clean up duplicated clamping code 2021-01-01 18:54:54 -08:00
Vicki Pfau 1c69a714c7 Core: Add memory block info lookup function 2021-01-01 17:24:09 -08:00
Vicki Pfau a760c7bb4a Core: Add prefix to platform enum names 2020-12-26 18:53:19 -08:00
Vicki Pfau 5781566717 Core: Improve support for ROM patch cheats, supporting disabling overlapping patches 2020-12-23 18:35:42 -08:00
Vicki Pfau 0cf138775b GBA Cheats: Allow unlimited ROM patch-type codes per set 2020-12-19 12:52:46 -08:00
easyaspi314 (Devin) 4ecf64a41c Remove arm-algo.S and references
It wasn't fully optimized and it doesn't even compile anymore.
2020-12-18 17:00:24 -08:00
Jeffrey Pfau f7d17d62b5 Util: Make clz consistent 2020-12-10 23:59:29 -08:00
Vicki Pfau f1592d350f Core: Clean up and extend config saving/loading 2020-12-08 23:09:51 -08:00
Vicki Pfau 5ecd28cdc6 GBA Video: Fix palette when being initialized mid-frame 2020-12-05 18:41:44 -08:00
Vicki Pfau fc3a6153e2 GBA Video: New GL palette approach, no more batch splitting on palette edits 2020-11-30 23:19:57 -08:00
Vicki Pfau 20f8baa82c GBA: Regrettably add VBA bug compat mode 2020-11-29 13:41:53 -08:00
Vicki Pfau 60b59ae312 GBA Hardware: Unpack RTC struct 2020-11-29 13:35:21 -08:00
Vicki Pfau fc3e47a4ba Feature: Allow configuring waiting on frame flushing in proxy 2020-11-27 18:24:11 -08:00
Vicki Pfau b169e6b0df ARM: Fix non-debugger build 2020-11-25 20:40:20 -08:00
Vicki Pfau 1a694b0b56 Debugger: Fix change watchpoints (fixes #1947) 2020-11-24 01:41:41 -08:00
Vicki Pfau 7918b5af45 GB Video: Fix SGB video logs 2020-11-22 15:08:45 -08:00
Vicki Pfau 4baa8b3d9b GB Video: Add highlighting 2020-11-21 20:29:16 -08:00
Vicki Pfau 6174858d0d Core: Add RGB8 to native color function 2020-11-21 20:29:16 -08:00
Vicki Pfau 0b0a70d9b7 Core: Make _mix public 2020-11-21 20:29:16 -08:00
Vicki Pfau ce97e265a3 GB Video: Add constants for OBJ maxima 2020-11-21 20:29:16 -08:00
Vicki Pfau c80cc1e307 Core: Replace GBA_COLOR_WHITE with M_COLOR_WHITE 2020-11-21 17:44:19 -08:00
Vicki Pfau 61f8f14694 Core: Rework thread state synchronization 2020-11-18 01:33:56 -08:00
Vicki Pfau 5a1e68beba ARM Debugger: Fix debugger API misdeclaration 2020-11-02 00:42:56 -08:00
Vicki Pfau 4aed125b3e GBA Video: Add window y offsetting 2020-10-22 20:31:58 -07:00
Vicki Pfau c8e1e14d3f GBA Video: Add window toggling 2020-10-22 19:49:26 -07:00
Vicki Pfau 064d0e992b GB: Add enum for the layer names 2020-10-21 21:32:08 -07:00
Vicki Pfau ac8d1e2bf6 GB I/O: Finally rename registers to have a prefix 2020-10-21 21:03:52 -07:00
Vicki Pfau c134c6cae1 ARM: Don't force passed opcodes to be truncated 2020-10-18 01:51:54 -07:00
Vicki Pfau 67d3eed8fb ARM Decoder: Revamp load/store interface, readability cleanup 2020-10-12 18:07:11 -07:00
Vicki Pfau 3b93e762ae GB Video: Clean up OBJ parsing outside of renderer 2020-10-11 23:56:51 -07:00
Vicki Pfau e11dc3fad0 GBA Video: Emulate sprite cycle limits in OpenGL renderer (fixes #1635) 2020-09-26 02:32:26 -07:00