Research
This commit is contained in:
parent
28cbbe3470
commit
a9153546ae
56 changed files with 6731 additions and 258 deletions
|
|
@ -519,6 +519,58 @@ Features that are mostly just break-state/UI flags:
|
|||
- `single step` calls `usecode_debugger_break_state_enable_single_step`
|
||||
- source-file open, goto-line, search, and breakpoint-table editing are mainly source-buffer/UI features once the debugger is open
|
||||
|
||||
### 18. Retail Ghidra follow-up implied by the Regret mapping
|
||||
|
||||
The Regret pass is now strong enough to drive a specific retail `CRUSADER.EXE` naming batch rather than a generic `more seg109 cleanup` request.
|
||||
|
||||
The most important retail equivalents to promote explicitly in live Ghidra next are:
|
||||
|
||||
- `13a0:2882` = `usecode_debugger_build_menubar`
|
||||
- `13a0:088f` = `usecode_debugger_source_pane_create`
|
||||
- `13a0:0ae8` = `usecode_debugger_source_pane_init_view_from_break_state`
|
||||
- `13a0:0ba7` = `usecode_debugger_source_pane_handle_command`
|
||||
- `13a0:0f16` = `usecode_debugger_source_pane_handle_pointer_event`
|
||||
- `13a0:1088` = `usecode_debugger_source_line_copy_for_display`
|
||||
- `13a0:1118` = `usecode_debugger_source_pane_draw_visible_lines`
|
||||
- `13a0:1413` = `usecode_debugger_source_pane_clamp_viewport`
|
||||
- `13a0:15ac` = `usecode_debugger_source_pane_load_file`
|
||||
- `13a0:16ee` = `usecode_debugger_watch_pane_create`
|
||||
- `13a0:1791` = `usecode_debugger_watch_pane_draw`
|
||||
- `13a0:193f` = `usecode_debugger_watch_pane_handle_click`
|
||||
- `13a0:1c2c` = `usecode_debugger_translate_registered_event`
|
||||
- `13a0:1dc6` = `usecode_debugger_forward_child_event`
|
||||
- `13a0:2c2e` = `usecode_debugger_source_buffer_create_from_path`
|
||||
- `13a0:2ca0` = `usecode_debugger_source_buffer_destroy`
|
||||
- `13a0:2d14` = `usecode_debugger_source_buffer_open_from_path`
|
||||
- `13a0:2e0a` = `usecode_debugger_source_buffer_load_text`
|
||||
- `13a0:2f4f` = `usecode_debugger_source_buffer_split_lines_in_place`
|
||||
- `13a0:301d` = `usecode_debugger_source_buffer_get_line_ptr`
|
||||
|
||||
Why this follows from the Regret result rather than from guesswork:
|
||||
|
||||
- the retail `000b:* -> 13a0:*` table already closes the same UI layer at the raw/reference level
|
||||
- the Regret `1398:*` cleanup shows the same function ordering and subsystem boundaries in a build where the debugger bootstrap survived
|
||||
- that makes the remaining retail seg109 backlog primarily a promotion/documentation task, not a fresh discovery task
|
||||
|
||||
The live retail rename pass also closed one useful correction: the original retail-first mirror list over-assigned `13a0:1791` and `13a0:193f` to the source pane. Current decompile evidence now makes the split cleaner: `13a0:16ee/1791/193f` form a watch-pane lane, while the source-pane lane retains the file-load, pointer-event, line-copy, and viewport helpers.
|
||||
|
||||
This is the right pre-patch documentation step because it turns the surviving retail debugger lane into named UI, event, and source-buffer surfaces instead of leaving the future patch window hidden among anonymous helpers.
|
||||
|
||||
### 19. Delivery implication after the patching stall
|
||||
|
||||
The Regret result changes what `practical next step` should mean.
|
||||
|
||||
The next useful proof is no longer `try another manual hex patch`. It is one of these two:
|
||||
|
||||
1. a runtime-only memory experiment that proves the create/store/open model on a clean executable
|
||||
2. a reproducible scripted patch against a writable clone, driven by a verified byte plan rather than by hand edits
|
||||
|
||||
Why the Regret comparison pushes in that direction:
|
||||
|
||||
- it already tells us the missing retail behavior is a small bootstrap-and-vtable problem, not a whole missing subsystem
|
||||
- it shows that the real stability question is whether live interpreter state is seeded correctly, not whether the source pane exists
|
||||
- it therefore favors runtime proof and scripted reproducibility over one-off static patching attempts
|
||||
|
||||
Features that clearly depend on seeded current-entry runtime payload:
|
||||
|
||||
- `Inspect what?`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue