368 Commits

Author SHA1 Message Date
10257747e0 StrAlphabet may now be compared to [u8] and [u8; N]. 2021-04-24 08:22:40 +01:00
c8218c0ca2 Added FilesystemReader::primary_volume_descriptor to expose the primary volume descriptor. 2021-04-24 08:14:17 +01:00
5002933ffb Implemented DecDateTime::to_bytes. 2021-04-24 08:13:44 +01:00
8389195b67 Added StrArrAlphabet::as_bytes_arr. 2021-04-24 08:13:25 +01:00
a3fdbe5f7b Added without_version to iso9660 file strings to get the filename without anything else. 2021-04-24 07:42:29 +01:00
bf5e43a163 Undid reading of form 2 sectors, as it seems to be broken. 2021-04-24 07:42:09 +01:00
a67f67bb04 Now writing edc to sectors. 2021-04-24 07:08:50 +01:00
e91f348ca7 Started work on sector ecc. 2021-04-24 07:00:21 +01:00
082066af3e Invalid edc now returns an error. 2021-04-24 05:57:02 +01:00
b6973b8228 Sector can now store both form 1 and 2 sectors.
Finished `edc` checking in `Sector`.
2021-04-24 05:50:38 +01:00
8f0b8b37ba Removed debugging in dcb-compiler. 2021-04-24 05:18:22 +01:00
d7dd6b928b Fixed bug in dcb-decompiler where -o didn't take any value. 2021-04-24 05:18:00 +01:00
4076e2a18b Added clippy::if_not_else to allowed lints. 2021-04-22 20:08:58 +01:00
6fbf3da552 Added Inst::from_parsed to compile instructions.
`Inst::decode` now doesn't make pseudo instructions if there's a label in the middle of it.
2021-04-22 15:23:57 +01:00
521d85b355 Fixed issue with encoding some basic instructions 2021-04-22 15:23:31 +01:00
9270461f33 FuncTable::search_instructions now doesn't consider functions that are not word aligned. 2021-04-22 15:21:48 +01:00
23b7a4f6fb Fixed issue with converting load_imm, pseudo::load and pseudo::store addresses. 2021-04-22 14:12:08 +01:00
491831e867 FuncTable::search_instructions now accepts the known func table to avoid collisions with it too. 2021-04-21 22:27:54 +01:00
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
455e7c9e69 dcb-decompiler no longer substitutes labels into li instructions. 2021-04-21 22:17:56 +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
54f2f7107b dcb-decompiler now prints the header into a .header file. 2021-04-21 11:43:20 +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
c25f1f2092 Moved some foreign data from game to foreign. 2021-04-20 02:38:43 +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
7a745a02bc Added BTreeMapParIter to dcb_util. 2021-04-20 00:32:00 +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
cceddaaa1e Added some more data related to a currently wip function. 2021-04-19 05:09:52 +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
68c76a7f03 Removed usages of super::super. 2021-04-16 05:28:12 +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