Difference between revisions of "000257c8 - 00025820"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
Line 3: Line 3:
 
  000257c8: 3c028003 lui r2,0x8003
 
  000257c8: 3c028003 lui r2,0x8003
 
  000257cc: 24422894 addiu r2,r2,0x2894 0x80032894
 
  000257cc: 24422894 addiu r2,r2,0x2894 0x80032894
  000257d0: 90420000 lbu r2,0x0000(r2) load byte there
+
  000257d0: 90420000 lbu r2,0x0000(r2) load byte there (ODE? graphics debug level?)
 
  000257d4: 00000000 nop
 
  000257d4: 00000000 nop
 
  000257d8: 2442ffff addiu r2,r2,0xffff
 
  000257d8: 2442ffff addiu r2,r2,0xffff
 
  000257dc: 2c420002 sltiu r2,r2,0x0002 set if less than 2
 
  000257dc: 2c420002 sltiu r2,r2,0x0002 set if less than 2
  000257e0: 10400008 beq r2,r0,0x00025804 branch if ? > 2 (value 2 determines 0x0200 instead of 0x0800, and value 1 0x0400 instead of 0x1000)
+
  000257e0: 10400008 beq r2,r0,0x00025804 branch always (fft's x32894 value is always 3)
 
  000257e4: 00000000 nop
 
  000257e4: 00000000 nop
 
  000257e8: 10a00002 beq r5,r0,0x000257f4 branch if value 2 = 0 (don't add 0x0800)
 
  000257e8: 10a00002 beq r5,r0,0x000257f4 branch if value 2 = 0 (don't add 0x0800)
Line 16: Line 16:
 
  000257fc: 08009607 j 0x0002581c
 
  000257fc: 08009607 j 0x0002581c
 
  00025800: 34421000 ori r2,r2,0x1000 r2 = value 3 0x27ff bitmasked OR 0x1000
 
  00025800: 34421000 ori r2,r2,0x1000 r2 = value 3 0x27ff bitmasked OR 0x1000
  00025804: 10a00002 beq r5,r0,0x00025810 if ? > 2, branch if value 2 = 0
+
 
  00025808: 3c03e100 lui r3,0xe100 r3 = 0xe1000000
+
For FFT:
  0002580c: 34630200 ori r3,r3,0x0200 r3 = 0xe1000200
+
  00025804: 10a00002 beq r5,r0,0x00025810 branch if dithering = 0
  00025810: 10800002 beq r4,r0,0x0002581c branch if value 1 = 0 (don't add 0x0400)
+
  00025808: 3c03e100 lui r3,0xe100 disable dithering if not
  00025814: 30c209ff andi r2,r6,0x09ff r2 = value 3 0x09ff bitmasked
+
  0002580c: 34630200 ori r3,r3,0x0200 enable dithering if so
  00025818: 34420400 ori r2,r2,0x0400 r2 = value 3 ox09ff bitmasked OR 0x0400
+
  00025810: 10800002 beq r4,r0,0x0002581c branch if not able to draw on screen
 +
  00025814: 30c209ff andi r2,r6,0x09ff disable drawmode perms.
 +
  00025818: 34420400 ori r2,r2,0x0400 enable drawmode perm
 
  0002581c: 03e00008 jr r31
 
  0002581c: 03e00008 jr r31
  00025820: 00621025 or r2,r3,r2 returns r2 = 0xe1000000 + value 3 bitmasked, and various other flags determined by check
+
  00025820: 00621025 or r2,r3,r2 returns drawmode
 
</font>
 
</font>

Latest revision as of 05:29, 18 June 2023

000257c8: 3c028003 lui r2,0x8003
000257cc: 24422894 addiu r2,r2,0x2894			0x80032894
000257d0: 90420000 lbu r2,0x0000(r2)			load byte there (ODE? graphics debug level?)
000257d4: 00000000 nop
000257d8: 2442ffff addiu r2,r2,0xffff
000257dc: 2c420002 sltiu r2,r2,0x0002			set if less than 2
000257e0: 10400008 beq r2,r0,0x00025804		branch always (fft's x32894 value is always 3)
000257e4: 00000000 nop
000257e8: 10a00002 beq r5,r0,0x000257f4		branch if value 2 = 0 (don't add 0x0800)
000257ec: 3c03e100 lui r3,0xe100			r3 = 0xe1000000
000257f0: 34630800 ori r3,r3,0x0800			r3 = 0xe1000800
000257f4: 10800009 beq r4,r0,0x0002581c		branch if value 1 = 0 (don't add 0x1000)
000257f8: 30c227ff andi r2,r6,0x27ff			r2 = value 3 0x27ff bitmasked 
000257fc: 08009607 j 0x0002581c
00025800: 34421000 ori r2,r2,0x1000			r2 = value 3 0x27ff bitmasked OR 0x1000

For FFT:

00025804: 10a00002 beq r5,r0,0x00025810		branch if dithering = 0
00025808: 3c03e100 lui r3,0xe100			disable dithering if not
0002580c: 34630200 ori r3,r3,0x0200			enable dithering if so
00025810: 10800002 beq r4,r0,0x0002581c		branch if not able to draw on screen
00025814: 30c209ff andi r2,r6,0x09ff			disable drawmode perms.
00025818: 34420400 ori r2,r2,0x0400			enable drawmode perm
0002581c: 03e00008 jr r31
00025820: 00621025 or r2,r3,r2				returns drawmode