3985d3706e
Fixed bc{n}(t|f) and (l|s)wc{n} instructions not displaying their offset in signed hex.
2021-04-21 22:20:24 +01:00
7d14942f26
Fixed issue where heuristically found functions would overlap.
2021-04-21 21:41:39 +01:00
106a472c52
Added min_type_alias_impl_trait feature for previous commit.
2021-04-21 14:25:21 +01:00
48c21f5e88
Added pseudo::Encodable.
2021-04-21 14:21:05 +01:00
9a580f4345
Renamed some of load / store instruction operands to be more clear.
...
Fixed bug where pseudo::store instructions always output `$at` register instead of the proper register.
2021-04-21 12:56:50 +01:00
357d2f172d
Directive::write now properly null terminates strings.
2021-04-21 11:43:54 +01:00
669cf1a049
Implemented Bytes::to_bytes for Header.
2021-04-20 02:59:41 +01:00
df6c03e291
Added Directive::write.
2021-04-20 02:59:13 +01:00
d6dec17d91
Pos's add and sub operators now use wrapping by default.
2021-04-20 02:43:37 +01:00
3cecba468c
Added ParsedLabel to parse module in dcb_exe::inst.
...
`dcb-compiler` now collects all labels and instructions before beginning to iterate.
2021-04-20 00:33:04 +01:00
40545a4aab
Ran rustfmt on inst.
2021-04-19 23:10:05 +01:00
ba799baf85
Removed usages of removed Option::expect_none api.
...
Added more sanity checks to `btree_set_modify`.
2021-04-19 23:06:40 +01:00
2b9cf4a790
Added instruction parsing to dcb-exe.
...
Fixed bug in `dcb-compiler` where `-o` didn't actually take a value.
2021-04-19 22:49:32 +01:00
de556f37da
Added an allow of clippy::single_match_else.
2021-04-19 22:48:06 +01:00
e690763fc3
Fixed emission of extra '$' with arguments in co-processor instructions.
2021-04-19 21:50:23 +01:00
76a76439b7
Fixed major bug in range_disjoint.
...
Added some more data and functions.
2021-04-19 03:12:52 +01:00
6c2de4fd80
Renamed function table's comments to inline comments and added block comments.
...
Found some of C's standard library functions.
Added random functions found.
`dcb-decompiler` will now properly align inline comments.
2021-04-18 23:12:32 +01:00
558e4cbfb1
Fixed all extra lines in // Import sections.
2021-04-16 05:27:18 +01:00
991fa6ecce
Fixed all documentation errors.
...
Renamed some errors to their function's name.
2021-04-10 05:41:58 +01:00
64aacedaf6
Moved inst::DecodeError to inst::error.
2021-04-10 05:17:58 +01:00
e2ba82e8af
Revert "Added checksum checking for the executable bytes."
...
This reverts commit b0053bfb1ce990337756d59b1c597073d330382b.
2021-04-06 19:23:14 +01:00
dd6fbba431
Renamed dcb_exe::Exe to ExeReader.
2021-04-06 19:20:19 +01:00
83d9fe5e84
Moved dcb_exe::exe::{data, func, header, pos} to the crate level.
2021-04-06 19:19:03 +01:00
1e2f059895
Moved dcb_exe::exe::inst to crate::inst.
2021-04-06 19:13:11 +01:00
b41bd32fbd
Renamed known_* to game_* and split game_data into foreign_data.
...
Renamed `Found` to `DataKind`.
2021-04-06 18:54:12 +01:00
b0053bfb1c
Added checksum checking for the executable bytes.
2021-04-06 18:29:27 +01:00
4235461c44
dcb-decompiler now works again by taking in directly the executable.
2021-04-06 18:13:33 +01:00
4b71ef0bac
Updated to 1.53.0-nightly.
2021-04-05 15:03:38 +01:00
7cba0aa52c
Updated lints and features to 1.52.0-nightly.
2021-03-11 16:01:19 +00:00
80d3dc9a81
Updated GameFile to the new interface.
...
Fixed bug with `FileReader`'s `io::Seek` impl, where it didn't actually seek the file.
Fixed bug with `DirEntry::from_reader` impl, where it didn't read the remaining entry bytes.
2021-01-23 07:19:55 +00:00
9fa368afe4
Removed unnecessary dependencies on most things.
...
Turned `dcb-tools` into several packages.
Revised `dcb-util` a bit.
2021-01-21 22:30:29 +00:00
0ebd141373
Implemented the custom filesystem.
2021-01-18 21:38:06 +00:00
8b650c5aad
Removed old dcb-io implementation and started on new one based on the filesystem.
2021-01-17 18:14:32 +00:00
7e9dec9659
DataNode is now public.
...
Revised `node::InsertError`.
Logging to file is now from `Debug` on up.
2021-01-16 17:22:09 +00:00
831dc61597
Data is now classified on whether it was found heuristically or known.
2021-01-16 16:31:01 +00:00
9e95b1b87d
Removed depency for anyhow in dcb-exe.
...
Added `dcb_util::fmt_err`.
2021-01-16 16:06:18 +00:00
eff64e3f6e
Revised documentation and implementation of DataTable.
...
Added `Display` for `DataTable`.
2021-01-16 15:38:19 +00:00
77a811cafd
Moved DataTable::get_known to exe::get_known_data_table.
2021-01-16 15:00:23 +00:00
46d634fb25
DataTable::extend now ignores duplicates.
2021-01-15 20:19:27 +00:00
ab7a0903c3
Functions and data now have # prefixes and suffixes.
...
Function labels cannot be equal to it's starting position now.
2021-01-14 22:48:03 +00:00
cc91e5a88e
Removed unneeded #[allow(...)].
2021-01-14 21:06:54 +00:00
c82ce251a1
Removed manual serde impl of Pos.
2021-01-14 21:03:50 +00:00
92995bc62e
Added new Marker type.
2021-01-14 16:46:05 +00:00
f56ef6b136
Made Data fully immutable and removed it's *Eq impl.
...
Moved `DataTable::search_instruction` to `Data`.
Completely revised `DataTable`'s implementation.
Fixed duplicate and mis-typed data in `known_data`.
2021-01-14 16:22:07 +00:00
34c1f7eff9
Removed Deref impl for DataTable.
2021-01-13 23:58:23 +00:00
bbfe541a6d
Fixed {Data, Func}Table::get_*.
...
`Directive` now implements `InstTargetFmt`.
2021-01-13 23:09:25 +00:00
930696eaec
Made same changes last commit did in DataTable to FunTable.
2021-01-13 22:38:27 +00:00
25c32f977c
Function table heuristics now take the known data table for filtering.
...
`Directive::decode_with_data` now returns a `Result`.
Fixed `DataType` not rounding strings to the next word.
`Data` now sorts by smallest first in case positions are equal.
Fixed `get_containing` in `DataTable` and added `get_starting_at`.
2021-01-13 22:33:10 +00:00
cba889642a
Inst::decode now returns a Result.
...
Added `Diretive::decode_with_data`.
2021-01-13 21:01:07 +00:00
ffd74f60ac
Added some documentation to both instruction iterators.
2021-01-12 17:28:57 +00:00