summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2024-07-14 11:28:12 -0700
committeriximeow <me@iximeow.net>2024-07-14 11:28:12 -0700
commit597159306619a406d03dae30ff331895e14e01f9 (patch)
tree95546474960fa7bddd36783a3e1a32ef77e8d6a9 /source
parent399ff7bc189f3ee8108875ab4b738a4a2e83b5ea (diff)
avnera notes fixup
Diffstat (limited to 'source')
-rw-r--r--source/blog/index.md1
-rw-r--r--source/blog/yax/avnera/notes.md12
2 files changed, 8 insertions, 5 deletions
diff --git a/source/blog/index.md b/source/blog/index.md
index 6eca535..3a73c12 100644
--- a/source/blog/index.md
+++ b/source/blog/index.md
@@ -8,3 +8,4 @@ welcome to my blog
* <pre style="display: inline;">2023-12-13 ... </pre> [gameboy (color) emulation notes](./yaxgbc_dev_notes.html)
* <pre style="display: inline;">2023-12-19 </pre> [Renesas RX disassembler notes](./yax/arch/rx.html)
* <pre style="display: inline;">2023-12-? </pre> [ci.butactuallyin.space, or, "why i don't just use github actions"](./the_ci_situation.html)
+* <pre style="display: inline;">2024-07-14 </pre> [learning an ISA by force of will](./yax/av7200/notes.html)
diff --git a/source/blog/yax/avnera/notes.md b/source/blog/yax/avnera/notes.md
index 5a11b33..a5797eb 100644
--- a/source/blog/yax/avnera/notes.md
+++ b/source/blog/yax/avnera/notes.md
@@ -959,7 +959,7 @@ b9 ; ret
so... this would be a 32b by 8b multiply.. but only if `op` is `adc`. for each set bit in `r5`, add `r6:r1:r2:r3` into `0xb0ea`. shift `r6:r1:r2:r3` left 1 regardless of bit being set in `r5`. repeat 8 times for each bit in `r5`.
-... that said, the calling convention for this is different from every other function, and is moderately unhinged: why is `r4` unused? why is `r0` unused? why is `r6` *used`??? either way. `08..0f` is `adc`.
+... that said, the calling convention for this is different from every other function, and is moderately unhinged: why is `r4` unused? why is `r0` unused? why is `r6` *used*??? either way. `08..0f` is `adc`.
but this function is weird enough to try figuring that out sooner than later. looking for the memory address referenced here, `0xb0ea` there's this region i'd looked at very early on that seems relevant:
```
@@ -1364,8 +1364,10 @@ the program i reference heavily in this post is here:
[link 3, sha256]
[mirror]
-notes to compare the in-progress restructuring of `noes`:
-[directory]
-
whitequark's excellent cheatsheet of the encoding space:
-https://github.com/whitequark/binja-avnera/tree/main?tab=readme-ov-file#cheatsheet
+* https://github.com/whitequark/binja-avnera/tree/main?tab=readme-ov-file#cheatsheet
+
+this last one i find interesting as history for what i guessed right, wrong,
+and revisited how early on - my notes as i touched up and revisited `noes` with
+increasingly-better understanding:
+* [yax/avnera/disasm/](./disasm)