Commit Graph
14759 Commits
Author SHA1 Message Date
Unknown W. Brackets f66738eac7 Debugger: Add cpu.evaluate method.
Probably useful for a bunch of things, really.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets 8a0e02e223 Debugger: Prevent crazy disasm range.
Also add some documentation.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets 1c107308cd Debugger: Add additional encoding/symbol info. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets 944948a5f4 Debugger: Initial disasm API. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets 4da97b3f9e Debugger: Lock during startup/shutdown.
Otherwise things can get freed while we're trying to inspect them.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets b756d92139 Debugger: Add version event for future proofing.
Game isn't precisely right, but it's close enough.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets 05c560b52d Debugger: Include PC and ticks in stepping events. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets 3dac5f2103 Debugger: Add current game info. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets 77131e737b Log: Use a separate field for the timestamp.
Better than parsing it since we already have the header separate.  Simpler
too.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets 6bec3db3fb Debugger: Disconnect on shutdown/disable.
Although, it could be made safe to keep them up when restarting with
debugging still enabled.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets f81fa27abe Debugger: Add config for remote debugger on start. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets f02bd4daff Debugger: Use a counter when entering stepping.
This allows us to poll coreState and know if a new stepping needs to be
sent.  This is useful to allow e.g. regs to show changes per step.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets d67a1d4a3a Debugger: Allow pinging current status.
Helps especially when reconnecting.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets c44d8dbe2d Debugger: Name the WebSocket debugger thread. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets a341994622 Debugger: Add cpu.stepping and cpu.resume. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets a4044fd6a0 Debugger: Reorganize state handling.
Looking like this will be needed for disasm caches, etc.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets 0a21063525 Debugger: Cleanup, add initial API docs. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets 3c458310ed Debugger: Allow setting regs to inf/nan. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets be3b50dd74 Debugger: Improve JSON number parsing.
With gason, this becomes doable without overflow issues.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets 1f987bf1c1 Debugger: Initial register get/set APIs. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets 98cddad73a Debugger: Minor cleanup in MIPSDebugInterface. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets 123723286d Debugger: Synchronize error events using tickets. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets b37d59e8fa Debugger: Organize WebSocket event handling.
Just a starting point to organize it.  Trying to keep it simple.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets c2b9b5a9e8 Debugger: Serve a simple log listener WebSocket.
Planning to add more functionality to it, and sharing the reporting port
is possibly not ideal - although it would make discovery easier.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets 3a8a2ff933 http: Move web server to core and use flags.
This way we can independently control the debugger and disc sharing, since
debugger could have security impact.
2018-06-07 16:28:01 -07:00
Unknown W. Brackets 4c3fe47372 jit: Remove unused breakpoint code. 2018-06-06 17:31:56 -07:00
Unknown W. Brackets 5510a69d41 armjit: Enable breakpoints. 2018-06-06 17:31:56 -07:00
Unknown W. Brackets eb4b59b530 arm64jit: Enable breakpoints.
Memory breakpoints not yet really tested.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets 395ac32d63 Debugger: Run memory breakpoints on mobile. 2018-06-06 17:31:56 -07:00
Unknown W. Brackets ffa4c18f6c Core: Remove sleep on stepping.
This doesn't seem needed and has been there since day 1.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets 97b0c17038 Core: Wake up inactive waits on game exit.
Fixes menu hangs since the refactor.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets 3c8cc5ab64 Debugger: Fix initialization issues.
Sometimes temp breakpoints had log set by accident.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets 2e2d8f2989 Core: Process stepping on other platforms.
This includes Android.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets c15ade3b1b Core: Refactor stepping and locking.
This should fix some race conditions with the cond vars.
2018-06-06 17:31:56 -07:00
Henrik RydgårdandGitHub df699c67b2 Merge pull request #10960 from unknownbrackets/debugger-json
Switch json to gason, include json writer in build
2018-06-06 21:19:13 +02:00
Henrik RydgårdandGitHub f9cfb05895 Merge pull request #10987 from unknownbrackets/debugger-core
Improve debugger threadsafety and consistency
2018-06-06 21:10:14 +02:00
Henrik RydgårdandGitHub bc6f211724 Merge pull request #11093 from unknownbrackets/debugger-armips
Include armips assembler in build
2018-06-06 20:41:20 +02:00
Henrik RydgårdandGitHub 708ea740d2 Merge pull request #11094 from unknownbrackets/ctrl-minor
Ctrl: Always mark non-user buttons released.
2018-06-06 20:15:23 +02:00
Henrik RydgårdandGitHub 3d12f9acc2 Merge pull request #11132 from unknownbrackets/reporting
Reporting: Provide suggestions on negative compat reports
2018-06-06 20:14:58 +02:00
Henrik RydgårdandGitHub 67fec95c59 Merge pull request #11145 from unknownbrackets/qt-texreplace
Qt: Load texture replacement images
2018-06-06 20:14:33 +02:00
Unknown W. Brackets 289928a170 Sas: Correct calculation of VAG end.
Not sure why everything is negative one indexed, but this prevents reading
beyond the size of the buffer.

This shouldn't change sound output, but it may fix a crash if VAG is at
the edge of memory (unlikely, though.)
2018-06-06 06:08:31 -07:00
Unknown W. Brackets b56e3e8e94 Sas: Correct delay in playing samples.
We still need to walk during the delay to "use it up."  Need to test more
to see if we can just walk once directly into ATTACK - might depend on
pitch.

This also makes the first play ignore the resampleHist, which matches
samples to tests properly, and ignores linear interp for exact pitch.

These changes fix all the sascore tests that used to work.
2018-06-06 06:04:25 -07:00
Unknown W. Brackets 082ddf5120 json: Switch to gason instead of vjson.
From the same author.  Most importantly, reads numbers as doubles rather
than as signed ints and floats.  This allows us to actually read 32 bit
unsigned int parameters.

Moved all the native customization to a separate json_reader.cpp.
2018-06-06 05:59:35 -07:00
Unknown W. Brackets e21753bc93 Debugger: Add assembler to build. 2018-06-06 05:59:24 -07:00
Unknown W. Brackets 6fbd0e27bb Core: Remove some unused coreState funcs. 2018-06-06 05:58:50 -07:00
Unknown W. Brackets 0f84c2e995 Debugger: Consistently handle invalid addresses. 2018-06-06 05:58:49 -07:00
Unknown W. Brackets 0b8359fd77 Debugger: Add mutexing to disassembly manager.
It was crashing when accessing from another thread.

If in the future we go down to only the remote debugger, we could
potentially remove this.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets e313a9bf6c Debugger: Lock startup/shutdown for threadsafety.
Otherwise things can get freed while we're trying to inspect them.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets 77609bbea2 Debugger: Track a counter when entering stepping.
This allows us to poll coreState and know if a new stepping needs to be
sent.  This is useful to allow e.g. regs to show changes per step.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets e9cc1ee463 Debugger: Allow multiple clients more properly.
Otherwise we lose wakeups and hang.
2018-06-06 05:58:49 -07:00