Commit Graph

26 Commits

Author SHA1 Message Date
Lephenixnoir 2a3f1845de
fxos: remove vspace as a session abstraction
And rewrite all existing commands to read from a binary instead.

The transition to the new data model is *not* complete because a bunch
of data is still hidden in the "Disassembly" inside the binary's virtual
space instead of being managed by the binary itself. Removing these is
the next step.
2023-09-24 20:52:37 +02:00
Lephenixnoir fcdcdba423
fxos: create, select, remove, save and load binaries
This includes migrating them from legacy vspaces, which currently
migrates the bindings but not the symbol definitions.
2023-09-24 16:37:08 +02:00
Lephenixnoir 0c52cfca27
shell: load fxosrc files into flat legacy vspace info 2023-09-23 22:50:35 +02:00
Lephenixnoir 356d09e52d
fxos: add new project logic (without any data in them)
Projects are now created, saved, reloaded. Next step is to provide the
pm command to migrate old vspaces to them, and then start getting rid of
the old abstractions.
2023-09-23 20:21:08 +02:00
Lephenixnoir a4cda4cb66
fxos: rename Function -> OldFunction
This prepares the introduction of a new program model different enough
from the original that I'd rather build it on the side than
progressively update the current one.
2023-09-03 19:20:45 +02:00
Lephenixnoir 61c3714404
shell: fix syntax error + autocompletion exception
Somehow there were two types of syntax errors, and the autocompletion
code was not catching the correct one.
2023-08-23 16:20:29 +02:00
Lephenixnoir 0373ae50fe
_ic: also print claims owned by provided address 2023-08-20 20:27:52 +02:00
Lephenixnoir 2dbd910379
fxos, _if: add insufficient call analysis
We look for constants in call instruction parameters, but this only
works for jsr because the register argument in [jmp @rn] is not known to
be a constant yet (some static analysis required).
2023-08-20 20:23:30 +02:00
Dr-Carlos b494a30404 _is: add sort option 2022-12-23 07:11:16 +11:00
Dr-Carlos ae8ed1fcdd _isc: print syscall to 4 hex digits 2022-12-05 12:19:38 +10:30
Dr-Carlos 0e6cec0821 Print all syscalls to 4 hex figures 2022-12-04 21:15:25 +10:30
Dr-Carlos dd09f9a71d _is: use optional, use FxOS log instead of fmt 2022-12-04 20:44:44 +10:30
Dr-Carlos 31406efc13 _is: info for specific symbols and vspace option 2022-12-04 14:34:43 +10:30
Dr-Carlos 3308f72773 _isc: sort specific addresses if required 2022-04-19 21:51:27 +09:30
Dr-Carlos 771b12eab8 _isc: resolve vspace when parsing and misc fixes 2022-04-19 21:21:21 +09:30
Dr-Carlos 08c000539c _isc: use os->syscall_at instead of remove_if 2022-04-19 07:32:09 +09:30
Dr-Carlos e037d5889c _isc: print instead of throwing error 2022-04-19 07:13:07 +09:30
Dr-Carlos 86300fc1c7 _isc: add positional arg to specify printed info 2022-04-19 07:13:07 +09:30
Dr-Carlos 631482e4f5 _isc: add vspace as an option and fix it 2022-04-19 07:13:07 +09:30
Dr-Carlos 12845a1675 Improve command classification 2022-04-15 06:09:18 +09:30
Lephenixnoir 3a9a622ee3
_ic: new command to show claims on addresses 2022-04-06 18:41:41 +01:00
Lephenixnoir 36fe7fcff4
refactor library utils 2022-03-27 12:12:53 +01:00
Lephenixnoir 2394725074
add OS checksum computations 2022-03-06 22:50:48 +00:00
Lephenixnoir 4e76ff3a24
add command help messages 2022-03-06 16:15:19 +00:00
Lephenixnoir bd5e1f918c
change option syntax; less exceptions; better autocompletion
* Change option syntax to <name>=<value>, with mandatory "=". This is
  still not great, but manageable.
* Remove the Session::require_vspace() function, whose named overload
  was misused (to check for the existence of a named space), and the
  associated exceptions. Explicit error flow is better error flow.
* Change the autocompletion system to generate all options in a vector
  of strings and then iterate, rather than using generators.
* Add completion for symbols.
2022-03-04 22:54:45 +00:00
Lephenixnoir 3b684389e9
replace CLI with WIP shell (huge commit) 2022-03-04 11:29:33 +00:00