Commit graph

404 commits

Author SHA1 Message Date
Unknown W. Brackets
1c7a5bbb49 Debugger: Fix off-by-one in func scanning.
This is inclusive.
2022-10-08 17:51:04 -07:00
Henrik Rydgård
ed3cd1dc26
Merge pull request #16150 from unknownbrackets/vram-mirrors
GPU: Mask away unused bits in framebuf/zbuf ptr, cleanup
2022-10-03 11:56:24 +02:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master 2022-10-03 07:49:13 +00:00
Unknown W. Brackets
09f0c0c8fd Fixed syntax accessing method reviewed by Unknown W. Brackets <checkins@unknownbrackets.org>
Signed-off-by: lainon <GermanAizek@yandex.ru>
2022-10-03 10:47:55 +03:00
Unknown W. Brackets
58a4376998 GPU: Normalize framebuf addresses.
In VRAM, always store without mirror.  In RAM, always store without
cache/kernel bits.
2022-10-02 21:28:53 -07:00
Unknown W. Brackets
753ac95307 Debugger: Fix game.reset by adding a reboot status.
We don't want EmuScreen to auto-exit, and we don't want to double-lock the
debugger lifecycle lock.  Let's just handle reboot specifically.
2022-10-01 18:13:22 -07:00
Unknown W. Brackets
ac335ad61a armips: Update to UTF-8/c++17 armips. 2022-09-30 19:48:14 -07:00
lainon
3cdf72b68b Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' 2022-09-30 12:35:28 +03:00
lainon
b304551747 Code readability, vec reserve() and remove excess c_str() 2022-09-30 12:31:32 +03:00
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Unknown W. Brackets
3b0c0f2916 Debugger: Add API to scan memory for funcs.
For example, when you know a range is being used or when you've deleted
the functions.
2022-09-27 19:14:32 -07:00
Unknown W. Brackets
b60217d962 Debugger: Fix doc typo for disasm/assemble names. 2022-09-27 19:02:33 -07:00
Henrik Rydgård
ecb84987ef Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. 2022-09-01 11:59:35 +02:00
Unknown W. Brackets
1233d1d376 Reporting: Disable when debugger methods used.
This won't catch all means of hacking memory, but will catch some.
Trying to reduce noise in reporting from debugging.
2022-07-30 18:21:32 -07:00
Unknown W. Brackets
7f07b4154a Debugger: Keep separate tag dirty for RAM.
VRAM and RAM can often be separately dirty, so keeping two ranges helps
reduce flushing, and flushing things together is more efficient.
2022-03-20 13:24:42 -07:00
Unknown W. Brackets
7eafbb54bd Debugger: Fast path write tag lookup. 2022-03-20 13:19:13 -07:00
Unknown W. Brackets
6945151384 Debugger: Improve tag on copies.
MemInit shows up sometimes when the allocation would be more useful.
2022-03-20 12:05:31 -07:00
Unknown W. Brackets
80e054b797 Debugger: Avoid write tag lookup on small alloc. 2022-02-06 09:28:48 -08:00
Unknown W. Brackets
2e2b222983 Debugger: Use detailed meminfo with breakpoints.
Usually there won't be any breakpoints, so it makes sense to enable detail
when they're added automatically.
2022-02-06 09:23:53 -08:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
48b597a1b9 Display: Move core counters/stats to HW file.
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
ad2e380987 Display: Move listeners to separate HW file.
Mixing this in with the HLE management funcs was messy.
2022-01-30 09:41:08 -08:00
Unknown W. Brackets
664d18cc9d Debugger: Encourage better meminfo accounting.
This makes MSVC generate a tighter loop and inline.
2022-01-30 08:03:54 -08:00
Unknown W. Brackets
0f2fc00f1b Debugger: Avoid flushing meminfo on write lookup.
Small improvement on frequent block transfers, etc.
2022-01-15 19:43:16 -08:00
Henrik Rydgård
cc767622d0
Merge pull request #15247 from unknownbrackets/debugger-hash
Debugger: Don't try to hash invalid RAM
2021-12-21 08:29:37 +01:00
Unknown W. Brackets
9017f91253 Debugger: Don't try to hash invalid RAM. 2021-12-20 16:17:18 -08:00
Unknown W. Brackets
db2eddcf27 Debugger: Remove double debug window updates.
Core_EnableStepping() is already marking the debug windows for update,
there's no need to call SetDebugMode() again.
2021-12-12 11:24:03 -08:00
Unknown W. Brackets
9155cd7491 Debugger: Reduce meminfo block check hazard.
If a debugger (i.e. the memory view) checks for memory block info while a
save state is being loaded, it can crash.  This was already rare, but this
change makes it significantly rarer.

Of course, it's still possible without a mutex, but I'm wanting to avoid
slowing down the lookups as they are used at runtime within emulation.
2021-12-04 14:51:02 -08:00
Unknown W. Brackets
e2425a1e00 Debugger: Speed up GetFunctionSize().
Tested games with lots of functions, it's just never worth generating the
full active symbols.  Direct lookup saves 0.005s startup on desktop in a
typical game.
2021-12-04 14:49:50 -08:00
Unknown W. Brackets
b8ab7f39df jit: Lock around changes to the jit pointer. 2021-11-28 10:04:22 -08:00
Unknown W. Brackets
fc2efe5dff Debugger: Add reason to cpu.stepping event. 2021-10-23 22:08:15 -07:00
Unknown W. Brackets
2bd13c5d9d Debugger: Track reason for entering stepping. 2021-10-23 16:56:15 -07:00
Unknown W. Brackets
83909f816e Debugger: Add APIs for GPU stats. 2021-10-19 10:01:41 -07:00
Unknown W. Brackets
ce3b80dcea Debugger: Add initial GPU stats shell. 2021-10-19 10:01:40 -07:00
Unknown W. Brackets
c48a203363 Debugger: Avoid infinite loop in disasm API.
This allows for wrap around, but prevents getting stuck looping in out of
bound addresses.
2021-08-29 11:11:01 -07:00
Henrik Rydgård
bea9f67c02 Fix assorted path issues 2021-07-19 17:34:51 +02:00
Henrik Rydgård
cd8cfcfcd7 Merge __CtrlSetAnalogX/Y into one function. Always called together. 2021-07-09 10:41:26 +02:00
Unknown W. Brackets
09bd12f6c9
Merge pull request #14502 from Kingcom/armips
Transform labels to lower case for armips
2021-06-04 23:59:32 -07:00
Kingcom
bb6f6051fc Transform labels to lower case for armips 2021-06-04 17:51:28 +02:00
Henrik Rydgård
914b4478b6
Merge pull request #14493 from unknownbrackets/replay
Add debugger APIs for replay recording
2021-05-31 11:45:39 +02:00
Unknown W. Brackets
6e128eb510 Debugger: Expose API to reset game.
This can be useful to put the game back to a known-good state before
setting up breakpoints, overwriting memory, and processing replay data.
2021-05-30 21:12:30 -07:00
Unknown W. Brackets
ea59fa3562 Debugger: Add replay execute/flush APIs. 2021-05-30 15:25:07 -07:00
Unknown W. Brackets
85c64d3ec3 Replay: Properly load RTC time on load file. 2021-05-29 14:50:57 -07:00
Unknown W. Brackets
64e007c0ce Debugger: Add stub API for replay functionality. 2021-05-29 14:50:57 -07:00
Henrik Rydgård
4d344f556a Additional feedback. 2021-05-13 10:39:17 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Henrik Rydgård
f4a6d291e1 Common: Capitalize setCurrentThreadName(). 2021-04-30 23:02:36 -07:00
Unknown W. Brackets
56bcf04c49 Debugger: Try harder to validate UTF-8.
When sending this in the websocket debugger, it needs to be valid utf-8 or
it will cause clients to abort the connection.  We want to reject invalid
utf-8 anyway.
2021-04-23 23:24:47 -07:00
Unknown W. Brackets
012d47bcbf Debugger: Show string in status bar for li, etc.
This is helpful when stepping through the debugger.  Only shows likely
UTF-8 or similar formatted text, but often names or error messages are.
2021-04-21 23:50:59 -07:00
Unknown W. Brackets
5904900d37 Debugger: Add APIs to set/list/search mem tags. 2021-04-06 12:09:39 -07:00