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
Vicki Pfau
9fa607b30f
Util: More palette support
2023-04-17 04:37:36 -07:00
Vicki Pfau
618a51cabb
Util: Preliminary palette support
2023-04-17 04:37:36 -07:00
Vicki Pfau
65f04ee408
Util: PNGWrite*A is dead, long live PNGWrite*
2023-04-17 04:37: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
45762c8f9f
Util: Partially evaluate preprocessor utility macros to help MSVC chew
2023-04-03 04:45:36 -07:00
Vicki Pfau
c884560fdb
Util: Add alpha-based mImage compositing functions
2023-04-03 03:00:23 -07:00
Vicki Pfau
cfd5572fb6
Util: Add basic mImage blit with no blending
2023-04-03 01:56:22 -07:00
Vicki Pfau
5b18089e85
Util: Add mRectangleIntersection
2023-04-03 00:39:53 -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
42527b4c5e
Util: More image creation functions
2023-04-02 03:39:14 -07:00
Vicki Pfau
6d719b529a
Util: Add mImage saving
2023-03-31 02:42:01 -07:00
Vicki Pfau
c8ce215d58
Util: Add image format conversion
2023-03-31 02:23:24 -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
2cba34d83a
Util: Add image loading API
2023-03-26 17:49:15 -07:00
Vicki Pfau
e79ae2860b
Util: Start mImage/mColor APIs and tests
2023-03-22 01:42:27 -07:00
Vicki Pfau
603c1800d5
Util: Move some image stuff around
2023-03-21 21:59:49 -07:00
Vicki Pfau
9a4cf28776
Util: Namespace geometry structs to avoid conflicts
2023-03-19 03:03:55 -07:00
Vicki Pfau
96d0193136
Merge branch 'feature/canvas'
2023-03-19 02:25:31 -07:00
Vicki Pfau
e3e8296105
OpenGL: Separate sizes of image and drawn layer for image
2023-03-19 02:23:37 -07:00
Vicki Pfau
fc35395ab8
Core: Handle relative paths for saves, screenshots, etc consistently ( fixes #2826 )
2023-03-16 23:37:54 -07:00
Vicki Pfau
ea3e6d6b54
Core: Fixx M_*8 macros
2023-03-15 20:53:01 -07:00
Vicki Pfau
efbc4a49ce
Util: Add some basic geometry math
2023-03-03 19:25:14 -08:00
Vicki Pfau
d6c3b012d1
Video: Start revising VideoBackend API
2023-03-03 19:25:14 -08:00
Vicki Pfau
dd531637c2
Core: Revise screen size/info API
2023-03-03 19:25:14 -08:00
Vicki Pfau
e06fa02d14
Util: Fix potential socket leak
2023-03-02 20:28:48 -08:00
Vicki Pfau
9b2ba64bc6
Windows: Fix build clang-cl
2023-02-24 22:06:55 -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
4e85de3a42
Util: Fix some macro best practices
2023-02-03 01:54:30 -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
2df70ee45e
Util: Add debug bounds checking to vector
2023-01-22 19:44:57 -08:00
Vicki Pfau
62c84ab815
Util: Add some base vector implementations
2023-01-22 19:44:57 -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
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