1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-28 15:56:51 +00:00
oot/asm
Chris Teague bcf2694f93
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.
2021-02-12 17:26:42 -05:00
..
non_matchings Make func_800C213C match original ROM (#678) 2021-02-12 17:26:42 -05:00
overlays/data/ovl_map_mark_data Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osDisableInt.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osGetCause.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osGetFpcCsr.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osGetSR.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osProbeTLB.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osRestoreInt.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osSetCompare.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osSetFpcCsr.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osSetSR.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
__osSetWatchLo.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
bcmp.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
bcopy.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
bzero.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
code_800D71F0.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
dmadata.s First proper commit. 2020-03-17 00:31:30 -04:00
entry.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
exceptasm.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
fp.s code_800FCE80 OK 2020-03-21 03:43:48 +01:00
guMtxF2L.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
guMtxIdent.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
guMtxIdentF.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
guMtxL2F.s Decompile the last of libultra_code_O2 (#464) 2020-10-28 15:59:18 -04:00
guNormalize.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
guScale.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
guTranslate.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
ipl3.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
mio0.s ucode_disas.c progress (#188) 2020-06-05 13:18:39 -04:00
osGetCount.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osInvalDCache.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osInvalICache.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osMapTLBRdb.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osSetIntMask.s Update asm processor and migrate/improve rodata for a few files (#209) 2020-06-14 19:24:09 -04:00
osUnmapTLBAll.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osWritebackDCache.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
osWritebackDCacheAll.s Properly align asm & data (+ minor fixes) (#165) 2020-05-26 18:09:00 -04:00
rom_header.s Disassemble the rom header and entrypoint function (#87) 2020-04-22 13:44:46 -04:00