Difference between revisions of "Data Nullifying"
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Data Nullifying | + | Data Nullifying |
− | 0005e644: 27bdfff8 addiu r29,r29,0xfff8 | + | Needs : r4 = starting address |
− | 0005e648: 18a00006 blez r5,0x0005e664 | + | r5 = number of bytes to nullify |
− | 0005e64c: 00001821 addu r3,r0,r0 | + | ------------------------------------------------- |
− | 0005e650: a0800000 sb r0,0x0000(r4) | + | 0005e644: 27bdfff8 addiu r29,r29,0xfff8 |
− | 0005e654: 24630001 addiu r3,r3,0x0001 | + | 0005e648: 18a00006 blez r5,0x0005e664 {{f/Cond|<nowiki>If number of bytes to nullify is > 0</nowiki>}} /Else branch to end |
− | 0005e658: 0065102a slt r2,r3,r5 | + | 0005e64c: 00001821 addu r3,r0,r0 |{{f/std|<nowiki>r3 = 0 (Loop counter)</nowiki>}} |
− | 0005e65c: 1440fffc bne r2,r0,0x0005e650 | + | 0005e650: a0800000 sb r0,0x0000(r4) {{f/bloop|<nowiki>LOOP</nowiki>}} {{f/store|<nowiki>Store 0x00 at starting address + counter offset</nowiki>}} |
− | 0005e660: 24840001 addiu r4,r4,0x0001 | + | 0005e654: 24630001 addiu r3,r3,0x0001 |{{f/std|<nowiki>Loop counter +1</nowiki>}} |
− | 0005e664: 27bd0008 addiu r29,r29,0x0008 | + | 0005e658: 0065102a slt r2,r3,r5 |{{f/std|<nowiki>r2 = 0x01 while counter < number of bytes to nullify</nowiki>}} |
− | 0005e668: 03e00008 jr r31 | + | 0005e65c: 1440fffc bne r2,r0,0x0005e650 {{f/eloop|<nowiki> Loop while counter < number of byte to delete</nowiki>}} |
− | 0005e66c: 00000000 nop | + | 0005e660: 24840001 addiu r4,r4,0x0001 |{{f/std|<nowiki>r4 = Adress nullified + 0x01</nowiki>}} |
− | + | 0005e664: 27bd0008 addiu r29,r29,0x0008 |End | |
− | + | 0005e668: 03e00008 jr r31 | |
− | == Return Locations == | + | 0005e66c: 00000000 nop |
− | + | ||
+ | === Return Locations === | ||
+ | '''SCUS_942.21''' | ||
00059864: [[Initialize Status Check Data]] | 00059864: [[Initialize Status Check Data]] | ||
00059874: | 00059874: | ||
Line 28: | Line 30: | ||
0005cb98: [[Store/Generate Character Names]] | 0005cb98: [[Store/Generate Character Names]] | ||
0005d484: [[Nullify CT/Initialize Death Counter]] | 0005d484: [[Nullify CT/Initialize Death Counter]] | ||
+ | |||
+ | '''Battle.bin''' | ||
00180674: [[Generate Crystal or Treasure]] | 00180674: [[Generate Crystal or Treasure]] | ||
00180fb0: [[Check Sprite Set]] (Base Class) | 00180fb0: [[Check Sprite Set]] (Base Class) |
Latest revision as of 19:26, 21 March 2022
Data Nullifying Needs : r4 = starting address r5 = number of bytes to nullify ------------------------------------------------- 0005e644: 27bdfff8 addiu r29,r29,0xfff8 0005e648: 18a00006 blez r5,0x0005e664 #If number of bytes to nullify is > 0 /Else branch to end 0005e64c: 00001821 addu r3,r0,r0 |r3 = 0 (Loop counter) 0005e650: a0800000 sb r0,0x0000(r4) @LOOP Store 0x00 at starting address + counter offset 0005e654: 24630001 addiu r3,r3,0x0001 |Loop counter +1 0005e658: 0065102a slt r2,r3,r5 |r2 = 0x01 while counter < number of bytes to nullify 0005e65c: 1440fffc bne r2,r0,0x0005e650 Λ Loop while counter < number of byte to delete 0005e660: 24840001 addiu r4,r4,0x0001 |r4 = Adress nullified + 0x01 0005e664: 27bd0008 addiu r29,r29,0x0008 |End 0005e668: 03e00008 jr r31 0005e66c: 00000000 nop
Return Locations
SCUS_942.21 00059864: Initialize Status Check Data 00059874: 0005a170: Out of Battle Unit Generation 0005a194: 0005b294: Initialize Unit's Battle Data 0005b2d0: 0005b7bc: Enable Unit's R/S/M Flags 0005babc: Calculate Unit's Abilities 0005bb24: 0005c3ac: Equippable Item Setting (Support/Female-only) 0005c5ec: Equipment Attribute Setting 0005cb98: Store/Generate Character Names 0005d484: Nullify CT/Initialize Death Counter Battle.bin 00180674: Generate Crystal or Treasure 00180fb0: Check Sprite Set (Base Class) 00180fbc: 00185310: Concentrate Calculation 00185468: Evasion Changes due to Statuses 001854e4: Transparent Calculation 0018b7c0: Pre Formula Setup (FDC) 0018bd84: Current Action Data Nulling 0018bd90: Current Action Data Nulling 0018bd9c: Current Action Data Nulling