103 Commits

Author SHA1 Message Date
InusualZ
fd5ac733d7 dol: implement helpers for virtual reads into the dol
Co-authored-by: Richard Patel <me@terorie.dev>
2022-06-08 21:33:33 -04:00
Richard Patel
619c935dc4
Merge pull request #39 from InusualZ/improv
General ISA Improvement
2022-06-01 18:21:07 +02:00
InusualZ
d1c809b3f6 isa: fix ps_mr having frA as argument 2022-05-31 20:25:19 -04:00
InusualZ
3c0656ee3c isa: remove mfspr's mftdu and mttdu mnemonics since there are not recognized by the metrowerks assembler 2022-05-31 20:25:19 -04:00
InusualZ
86e081fdb2 isa: fix rlwinm's mnemonic slwi using ME instead of SH as arg 2022-05-31 20:25:19 -04:00
InusualZ
a9ae0cb8a1 isa: add RC modifier to the xor instruction 2022-05-31 20:25:15 -04:00
InusualZ
49673468fc isa: fix srw argument order 2022-05-31 20:25:08 -04:00
InusualZ
2364d17751 isa: remove RC modifier from a bunch of instruction
This modifier is not part of those instruction
2022-05-31 20:25:01 -04:00
InusualZ
7167807402 isa: fix mfcr argument 2022-05-31 20:24:54 -04:00
InusualZ
65b0966a97 isa: b and bc change modifiers order
Previously they were `modifiers: [ AA, LK ]` and this caused problems,
because the modifiers add a char to the instruction mnemonics, but this
char is position dependant.
2022-05-31 20:24:54 -04:00
InusualZ
f4389e5edd isa: add missing L arg to the cmp instruction family
Also fix the mnemonics for said instruction family
2022-05-31 20:24:36 -04:00
InusualZ
ad1ec7aaa9 isa: fix paired single instruction arguments
Argument specific to this instruction were re/named to a more dolphin
aligned name
2022-05-31 20:24:29 -04:00
InusualZ
b90b46ef8e isa: Add missing argument to bcctr and bclr 2022-05-31 20:24:29 -04:00
InusualZ
d03a713a2b genisa: cast unmasked signed value
Co-authored-by: Richard Patel <me@terorie.dev>
2022-05-31 20:24:29 -04:00
InusualZ
9fd7546916 disasm: improve branch ins helpers
`branch_dest`: Support absolute destinations
`is_branch`: Use `matches!` to improve readability
`is_direct_branch`: Added helper to better match direct branches

Co-authored-by: Richard Patel <me@terorie.dev>
2022-05-31 20:24:20 -04:00
Richard Patel
a80372c1b6 disasm: branch helpers, fix split fields 2022-04-11 00:08:39 +02:00
Richard Patel
5c4a3d01e5 add analysis/cfa.md 2022-04-11 00:07:16 +02:00
Richard Patel
4c2f5119f5 update README.md 2022-04-09 17:19:50 +02:00
Richard Patel
9dab42c364 disasm-py: add fields() method 2022-04-09 17:19:05 +02:00
Richard Patel
88c6a478e2 disasm-py: support fields 2022-04-09 16:30:48 +02:00
Richard Patel
9d5b73c0dc fix condition register logical instructions 2022-04-09 15:33:40 +02:00
Richard Patel
70192c75a4 fix psq_st disasm 2022-04-09 02:09:44 +02:00
Richard Patel
da869222d0 update README.md 2022-04-07 06:20:53 +02:00
Richard Patel
fd94a6c493 fuzz: add threads flag 2022-04-07 06:11:03 +02:00
Richard Patel
9c433919fc disasm-py: add opcode getter 2022-04-07 06:01:25 +02:00
Richard Patel
fcad8da86b document Python module 2022-04-07 05:58:09 +02:00
Richard Patel
fb65bc8e7d
Merge pull request #17 from terorie/auto-gen-isa
Auto-generate opcode detection, fields and printing
2022-04-07 05:45:28 +02:00
Richard Patel
6548c6ec5d bump version to 0.2.0 2022-04-07 05:45:01 +02:00
Richard Patel
d845d6c067 bump pyo3 to 0.16 2022-04-07 05:42:55 +02:00
Richard Patel
e667999a3d disasm-py: temporarily remove field accessors 2022-04-07 05:40:22 +02:00
Richard Patel
6391c87797 flow-graph: fix deprecated clap_app macro 2022-04-07 05:37:32 +02:00
Richard Patel
4c5735e403 more flexible modifier handling 2022-04-07 05:33:38 +02:00
Richard Patel
99c7f252f8 fix bcctr and bclr 2022-04-07 04:44:38 +02:00
Richard Patel
16f955947e fix bc opcode 2022-04-07 04:23:12 +02:00
Richard Patel
b8199e678c fix signed fields 2022-04-07 04:07:15 +02:00
Richard Patel
9e7f70444f update deps 2022-04-07 02:51:17 +02:00
Richard Patel
8a57bd9eb2 more tests 2022-04-07 02:36:49 +02:00
Richard Patel
b6ad3f4f2c make clippy happy 2022-04-07 02:14:11 +02:00
Richard Patel
1f5fec522a genisa: improve codegen 2022-04-07 01:55:07 +02:00
Richard Patel
95f93a761e update README.md 2022-04-07 01:48:21 +02:00
Richard Patel
5207876164 temporarily disable broken crates 2022-04-07 01:29:45 +02:00
Richard Patel
e8945a8e0d genisa: remove matcher 2022-04-07 01:27:04 +02:00
Richard Patel
82970d166b isa.yaml: use condition expressions instead of matchers 2022-04-07 01:25:20 +02:00
Richard Patel
ea364a52d8 isa.yaml: unquote everything 2022-04-07 01:20:28 +02:00
Richard Patel
e9041072e9 support simplified mnemonic conditions 2022-04-07 01:17:31 +02:00
Richard Patel
c8c1daaa64 progress mnemonics 2022-04-06 17:41:13 +02:00
Richard Patel
eb39f9fa47 add generated code 2022-04-06 15:14:03 +02:00
Richard Patel
5431836376 switch from macro to ahead-of-time generated code 2022-04-06 15:13:55 +02:00
Richard Patel
171666e6fc progress 2022-04-06 14:07:57 +02:00
Richard Patel
dff1075737 support permanent suffixes 2021-08-29 09:05:52 +02:00