Vicki Pfau
21d4f0f5fc
All: Split ENABLE_VFS out from MINIMAL_CORE=2
2024-04-22 03:07:54 -07:00
Vicki Pfau
fa2fe8eed4
Third-Party: Remove blip_buf
2024-04-22 00:49:34 -07:00
Vicki Pfau
f51cb153d1
Core: Switch from blip to mAudioResampler
2024-04-22 00:47:42 -07:00
Vicki Pfau
89866aff95
GBA Audio: Remove broken XQ audio pending rewrite
...
Gone but not forgotten.
2024-04-22 00:29:11 -07:00
Vicki Pfau
7b2edbd1bd
Core: Add functions to get native sample rates
2024-04-16 21:02:55 -07:00
Vicki Pfau
73a39dea65
Core: Finally kill off GBAAudioCalculateRatio
2024-04-16 21:02:55 -07:00
Vicki Pfau
d1a6e6b747
Qt: Add option to lock the maximum frame size ( closes #1493 )
2024-04-14 20:39:58 -07:00
Vicki Pfau
fd4175ebf8
Util: Rename CircleBuffer to mCircleBuffer
2024-04-12 23:27:37 -07:00
Vicki Pfau
0e441527c8
CMake: Rename USE_DEBUGGERS and USE_GDB_STUB to ENABLE_DEBUGGERS and ENABLE_GDB_STUB
...
ENABLE flags are for optional features, USE flags are for optional dependencies
2024-04-08 03:08:10 -07:00
Vicki Pfau
e61a324df2
Core: More threading cleanup
2024-04-04 23:00:41 -07:00
Vicki Pfau
008a6f3f23
Scripting: Attempt to fix MSVC build
2024-04-04 00:31:47 -07:00
Vicki Pfau
5ff777d301
Scripting: Add overloads, overload isKeyActive
2024-04-02 22:53:02 -07:00
Vicki Pfau
a430f58c15
GB, GBA: Move more override-adjacent stuff to public API
2024-03-25 01:47:32 -07:00
Vicki Pfau
318c5d7435
GBA: Move GBAHardwareDevice to public API
2024-03-25 01:24:50 -07:00
Vicki Pfau
4a17ed3b9c
GBA: Remove legacy "mirroring" field from overrides
2024-03-25 01:23:39 -07:00
Vicki Pfau
e48acb6b97
GB, GBA: Move override structs to public API
2024-03-24 23:03:59 -07:00
Vicki Pfau
ea5339304a
GBA Savedata: Prefix SavedataType constants and type name
2024-03-24 22:57:51 -07:00
Vicki Pfau
49d9b70e6f
Core: Move rewind state coalescing into mCoreRewindRestore
2024-02-08 17:15:18 -08:00
Vicki Pfau
1fc37e9962
Core: Migrate thread context TLS to its own key
2024-01-30 02:59:52 -08:00
Vicki Pfau
05bf592dec
SDL: Refactor out layer recentering, fix for GB
2024-01-30 02:59:52 -08:00
Steveice10
398df56ac9
core: Add support for specifying an arbitrary portable directory.
2024-01-29 20:21:18 -08:00
Vicki Pfau
328bebbc01
GBA Video: Migrate window precalculation into a function
2024-01-09 23:26:14 -08:00
Vicki Pfau
18a35b3928
Feature: Move command-line patch/cheats argument handling
2023-11-24 22:28:05 -08:00
Vicki Pfau
319bdbd106
Feature: Move command-line debugger argument handling
2023-11-24 22:28:05 -08:00
Vicki Pfau
b7284542bc
Debugger: Move CLIDebugerEditLine implementation into debugger/
2023-11-24 22:28:05 -08:00
Vicki Pfau
131b983894
Debugger: Move platform-specific flag lookup to mDebuggerPlatform
2023-09-15 23:36:03 -07:00
Vicki Pfau
d55a13c9ba
Debugger: Initial memory access logger support
2023-09-15 23:36:03 -07:00
Vicki Pfau
c6316edf2a
GB, GBA: Move CLI debugger headers
2023-09-15 22:08:12 -07:00
Vicki Pfau
7015a104be
Debugger: Clean up layering violation
2023-09-15 22:08:12 -07:00
Vicki Pfau
b46278b3ed
GBA: Make sure unloading a ROM frees the AGBPrint buffer
2023-09-15 22:06:33 -07:00
Vicki Pfau
8520ad8f1f
GBA I/O: Prefix GBA registers with GBA_REG_
2023-09-07 00:12:19 -07:00
Vicki Pfau
4c03970ffe
GBA I/O: More legibility improvements
2023-09-07 00:12:19 -07:00
Vicki Pfau
a4d8c433c6
Scripting: Silence warnings
2023-08-10 12:03:15 -07:00
Vicki Pfau
3d0c982d6e
Scripting: Add handling of wrapper type specification in function signatures
2023-08-03 19:32:04 -07:00
Vicki Pfau
09b7eea127
Script: Add mScriptContextInvoke for context-specific invocation and thread handling
2023-08-02 23:41:40 -07:00
Vicki Pfau
200e846b81
Core: Begin modernizing game override API ( fixes #2963 )
2023-06-26 04:43:26 -07:00
Vicki Pfau
4d94ab7a38
GB: Prevent incompatible BIOSes from being used on differing models
2023-06-26 04:41:07 -07:00
Vicki Pfau
e7bbc60e79
All: Fix several warnings
2023-06-01 00:12:32 -07:00
Vicki Pfau
294470d940
Core: Add getPeripheral function
2023-06-01 00:05:41 -07:00
Vicki Pfau
a161dfeb31
Debugger: Fill in segment in debugger entry
2023-05-29 00:53:53 -07:00
Vicki Pfau
257122796c
Debugger: Add debugger polling to avoid blocking
2023-05-09 21:43:19 -07:00
Vicki Pfau
a00f2939ad
Debugger: Allow attaching multiple debugger modules independently
2023-05-09 21:43:19 -07:00
Vicki Pfau
8efb3fb5df
Debugger: Make created debug items, e.g. breakpoints, owned by modules
2023-05-09 21:17:46 -07:00
Vicki Pfau
b21a6158f4
Debugger: Break out debugger functionality into modules
2023-05-09 21:17:46 -07:00
Vicki Pfau
201f0df4c2
Merge branch 'feature/canvas'
2023-05-01 21:40:57 -07:00
Vicki Pfau
55dd3e28db
Scripting: Add canvas internal scaling factor
2023-05-01 21:38:30 -07:00
Vicki Pfau
dda5634189
Scripting: Add canvas API
2023-05-01 21:38:30 -07:00
Vicki Pfau
dc6639b30b
Video: Add backend call proxying for cross-thread interaction
2023-05-01 21:38:30 -07:00
Vicki Pfau
0b79184bf3
Scripting: Add lambdas that bind an object method call
2023-05-01 21:38:30 -07:00
Vicki Pfau
b8261a0c66
Scripting: Add lambdas with 0 arguments and 0 return values
2023-05-01 21:38:30 -07:00
Martin Murtiono
c9585b8abe
Qt: Make rewind speed adjustable ( #2902 )
2023-04-29 00:36:01 -07:00
Vicki Pfau
5f6948351b
Feature: Move video-backend.c to a sensible place
2023-04-19 05:35:36 -07:00
David Spickett
225456a39c
Debugger: Send flags information for cpsr register
...
There is a feature of target XML called flags. It allows
you to describe what a register contains.
https://sourceware.org/gdb/onlinedocs/gdb/Target-Description-Format.html
GDB has supported this for a long time and I recently added support
in LLDB:
e07a421dd5
This change adds this flags information for the cpsr register of the ARM7TDMI.
Based on the information in https://developer.arm.com/documentation/ddi0210/c/ .
This is what it looks like when using GDB:
```
(gdb) info registers
r0 0x0 0
<...>
cpsr 0x6000001f [ Z C M=31 ]
```
And LLDB:
```
(lldb) register read cpsr
cpsr = 0x6000001f
= (N = 0, Z = 1, C = 1, V = 0, I = 0, F = 0, T = 0, M=31)
```
(the format is up to the debugger, lldb is a lot more verbose at the moment)
To enable this I have increased the GDB stub's outgoing buffer to 1400 bytes.
The target XML is just above 130 bytes with the flags added.
2023-04-15 01:30:35 -07:00
Vicki Pfau
5bf048e380
GB Serialize: Add missing Pocket Cam state to savestates
2023-04-13 02:56:12 -07:00
Vicki Pfau
2fca2f4395
Scripting: Export current image API
2023-04-02 03:39:14 -07:00
Vicki Pfau
ed69b9f741
Scripting: Separate object freeing and deiniting
2023-04-02 03:39:14 -07:00
Vicki Pfau
1fd974272c
Scripting: Make functions able to have default arguments
2023-03-31 00:32:02 -07:00
Vicki Pfau
64408b8fd1
Scripting: Tidy up public headers
2023-03-31 00:32:02 -07:00
Vicki Pfau
e80b533549
Scripting: Add read-only struct members
2023-03-31 00:32:02 -07:00
Vicki Pfau
603c1800d5
Util: Move some image stuff around
2023-03-21 21:59:49 -07:00
Vicki Pfau
96d0193136
Merge branch 'feature/canvas'
2023-03-19 02:25:31 -07:00
Vicki Pfau
ea3e6d6b54
Core: Fixx M_*8 macros
2023-03-15 20:53:01 -07:00
Vicki Pfau
dd531637c2
Core: Revise screen size/info API
2023-03-03 19:25:14 -08:00
Vicki Pfau
123532ed6e
Scripting: Add `callbacks:oneshot` for single-call callbacks
2023-02-08 19:14:36 -08:00
Vicki Pfau
63d96ab712
Scripting: Add flushing/reloading
2023-02-08 01:27:33 -08:00
Vicki Pfau
8b65f3772c
Scripting: Initial deserialization work
2023-02-08 01:27:33 -08:00
Vicki Pfau
0c6b443065
Scripting: Initial serialization work
2023-02-08 01:27:33 -08:00
Vicki Pfau
00a34e0d07
Scripting: Add skeleton of storage API
2023-02-08 01:27:33 -08:00
Vicki Pfau
5c0bd1b245
Scripting: Add faux "NUL" type for type matching
2023-02-04 23:56:56 -08:00
Vicki Pfau
004f68496f
Scripting: Add type-overloadable setters
2023-02-04 01:15:51 -08:00
Vicki Pfau
bfab9dc9f2
Scripting: Specific wrapper types shouldn't compare equal with wrapped type
2023-02-04 01:15:51 -08:00
Vicki Pfau
39e3b5181a
Scripting: Add WTABLE
2023-02-04 01:15:51 -08:00
Vicki Pfau
f2e9ea6a6b
Scripting: Remove unused type macros
2023-02-04 01:15:51 -08:00
Vicki Pfau
5164b888d8
Scripting: Allow Lua to pass nested tables to the scripting subsystem
2023-02-04 01:15:51 -08:00
Vicki Pfau
e95bd06321
Scripting: Clear down keys when the window is deactivated
2023-02-02 21:34:14 -08:00
Vicki Pfau
a4d1268db4
Core: Export screenshot dimensions in savedata extdata
2023-01-28 17:49:00 -08:00
Vicki Pfau
7ee2be6c96
Scripting: Export Input API docs
2023-01-27 21:22:33 -08:00
Vicki Pfau
c0d4e2c347
Scripting: Expose gamepad name to scripts
2023-01-27 21:20:46 -08:00
Vicki Pfau
dfe2f62f16
Scripting: Basic gamepad support
2023-01-27 21:20:46 -08:00
Vicki Pfau
a154690694
Scripting: Migrate some stuff from docgen into libmgba
2023-01-27 21:08:43 -08:00
Vicki Pfau
697e80a5a1
Qt: Start hooking up input events into scripting
2023-01-27 21:08:43 -08:00
Vicki Pfau
e5ed2b4119
Scripting: Add base input, supports key events
2023-01-27 21:08:43 -08:00
Vicki Pfau
fcfab847fc
Scripting: Add callback arguments
2023-01-27 21:08:43 -08:00
Vicki Pfau
fc2b94f9f7
Scripting: Allow basic pointer following
2023-01-27 21:07:57 -08:00
Vicki Pfau
8545271e9e
GBA Memory: Modernize constant names
2023-01-26 18:59:35 -08:00
Vicki Pfau
b5f600c0c5
Scripting: Allow weakrefs to be marked for auto-collection
2023-01-26 03:32:28 -08:00
Vicki Pfau
dfd772d2ca
Scripting: Add missing type export
2023-01-25 04:19:12 -08:00
Vicki Pfau
53abcfd28e
Scripting: Fix mSCRIPT_TYPE_MS_PCS macro
2023-01-23 21:03:59 -08:00
Vicki Pfau
1584023f34
Core: Round out input API pre-revamp
2023-01-22 19:38:01 -08:00
Vicki Pfau
fa3b0d0875
Scripting: Fix internal socket header
2023-01-08 22:59:15 -08:00
Luna Mittelbach
694b80d289
GBA: Verify ELF entrypoint against ROM header ( #2714 )
2022-11-05 01:44:29 -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