Commit Graph

8 Commits

Author SHA1 Message Date
cf18e46ac7 #bugfix
synched rom browser and main emulation windows.
fixed window drift when taskbar is on the top or left.
2023-08-19 16:31:49 +02:00
4ce206f40d Debugger improvements (#11)
- Added selection and CTRL+C to copy lines.
    - Supports selection ranges larger than the ListView; scroll and Shift+Click to select all text from the anchor to the click location (even across multiple pages).
    - Scroll-on-select would be nice to have, but it is not implemented here.
    - Keyboard selection would also be nice. Shift + arrows/page up/page down seems like it would be a decent UX... TBD.
    - Right click to copy + deselect. Or hold left click and press Esc or right click to deselect without copying.
- Added support for scrolling with the mouse wheel.
- Added support for scrolling with the keyboard when the ListView has focus.
- Added support for scrolling with the scrollbar thumb.
- Switched to a fixed-width font for better readability.
- Show OpCodes (instruction bytes).
- Increased the window size to accommodate the better font and OpCode column.
- Normalized all instructions to lowercase.
- New colors to represent instruction state:
    - Red: Breakpoint
    - Green + outline: Current PC
    - Orange + outline: Current PC + breakpoint
    - Blue background: Selection highlight
- Fix watchpoint access size checks so they don't have to be an exact match on the address.
- Minor bug fixes.
2023-08-19 16:29:31 +02:00
7603ddd3d3 Fix sorting in ROM browser (#18)
- The comparison function was wrong. It only returned false if the
  difference between the items was exactly 1! Caused assertion errors in
  std::sort() with some sort field selections.
- CRC comparisons were broken (signed/unsigned comparisons).
- Comparison indices were broken by adding the release version and SDK
  version fields in the wrong place.
2023-08-19 16:29:31 +02:00
3a9a852e3a Add release version and SDK version to ROM info and Browser (#15) 2023-08-19 16:29:31 +02:00
32cadfcbf0 Fix manufacturer decoding in ROM info (#14)
- Fixes info for Ocarina of Time.
- Matches the decoding by uCON64.
2023-08-19 16:29:31 +02:00
040cd15753 Move SetupPlugins function above SetupMenu
The menu has features (plugin configuration) that rely on the plugins being loaded
Not sure why this was like this
2023-08-19 16:29:30 +02:00
9870155839 Incorrectly had RomList_FindItem use the Rom List size directly instead of doing 0 to size - 1
This was causing problems looping back to the top when the last item was selected and worse yet a crash because the index went out of range
2023-08-19 16:29:30 +02:00
b907a7d174 CPU
Added Skip ability for Interpreter debugger
Exposed some variables to C++ (For RomBrowser rewrite)

Interpreter CPU
Defined what Skip should do, may need more work in the future
Right now it increments the program counter by 4

Pif
Fixed problem with enum CIC_CHIP (C++ was including this file more than once so a guard was added)
Exposed some functions to C++ (For RomBrowser rewrite)

Plugin
Exposed plugin setup functions to C++ (For RomBrowser rewrite)

r4300i Commands
Enabled the skip button by default and added code back to the skip button so it actually does something

Rom
Added test case to see how long xxhash would take to calculate

RomBrowser
Slight rewrite to C++ (using vectors now instead of manually allocated memory)
There's a bit of debug code left in from the xxhash test case but most has been removed

RomTools_Common
Better defined the use of enum CIC_CHIP functions from Pif (Since this is in C++ it was complaining)
Also made sure to expose all the functions to C

xxhash64
Added header to make use of xxhash
2023-08-19 16:29:29 +02:00