summaryrefslogtreecommitdiff
path: root/src/libultra_code_O2/osContStartReadData.c
diff options
context:
space:
mode:
authorChris Teague <chris.teague@gmail.com>2021-02-12 14:26:42 -0800
committerGitHub <noreply@github.com>2021-02-12 17:26:42 -0500
commitbcf2694f937703c6429aee5ba8ed5959e8b4b444 (patch)
treeec0547be59335700a9770c3d31487eb537629183 /src/libultra_code_O2/osContStartReadData.c
parentb8c2ec1f60ebb3b5c55588cdfe8f98000f5a8a20 (diff)
Make func_800C213C match original ROM (#678)
* Make func_800C213C match original ROM The C code for this function was very close to done, and was functionally equivalent to the ROM. This commit uses a few tricks to convince the compiler to allocate the same registers as the original ROM. The two tricks used are: 1. Introduced a new temporary variable "yinc". 2. Added a "do while(0) {}" line in two places. Both of these ideas came from the decomp-permuter tool. I took the do/while idea and guess as to what it might have been in the original code. I imagined that the "do while(0) {}" was probably left over from a standard multi-line macro, which for some reason had an empty body. I further suggest that maybe the empty body is because it was a feature compiled out during RELEASE builds - perhaps a debug logging macro. * Use simpler code for func_800C213C Replaced dummy LOG macro with "do {} while(0);". This version makes less assumptions about what the original code looked like.
Diffstat (limited to 'src/libultra_code_O2/osContStartReadData.c')
0 files changed, 0 insertions, 0 deletions