Difference between revisions of "Draw SCEAP.DAT"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00041d80: 27bdffd8 addiu r29,r29,0xffd8 00041d84: afb20020 sw r18,0x0020(r29) 00041d88: 00809021 addu r18,r4,r0 00041d8c: afb1001c sw r17,0x001...")
 
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
+
I feel like I've documented this routine before... [[00041774 - 0004188c]]
 
  00041d80: 27bdffd8 addiu r29,r29,0xffd8
 
  00041d80: 27bdffd8 addiu r29,r29,0xffd8
 
  00041d84: afb20020 sw r18,0x0020(r29)
 
  00041d84: afb20020 sw r18,0x0020(r29)
  00041d88: 00809021 addu r18,r4,r0
+
  00041d88: 00809021 addu r18,r4,r0                 OTAG list
 
  00041d8c: afb1001c sw r17,0x001c(r29)
 
  00041d8c: afb1001c sw r17,0x001c(r29)
  00041d90: 00a08821 addu r17,r5,r0
+
  00041d90: 00a08821 addu r17,r5,r0                 image source for load image?
 
  00041d94: 3c028004 lui r2,0x8004
 
  00041d94: 3c028004 lui r2,0x8004
 
  00041d98: 8c42597c lw r2,0x597c(r2)
 
  00041d98: 8c42597c lw r2,0x597c(r2)
 
  00041d9c: afbf0024 sw r31,0x0024(r29)
 
  00041d9c: afbf0024 sw r31,0x0024(r29)
 
  00041da0: afb00018 sw r16,0x0018(r29)
 
  00041da0: afb00018 sw r16,0x0018(r29)
  00041da4: 2c420001 sltiu r2,r2,0x0001
+
  00041da4: 2c420001 sltiu r2,r2,0x0001             flip screen polarity
 
  00041da8: 3c018004 lui r1,0x8004
 
  00041da8: 3c018004 lui r1,0x8004
  00041dac: ac22597c sw r2,0x597c(r1)
+
  00041dac: ac22597c sw r2,0x597c(r1)               top or bottom screen
  00041db0: 0c0091b5 jal 0x000246d4
+
  00041db0: 0c0091b5 jal 0x000246d4                 [[SYS DrawSync]]
  00041db4: 00002021 addu r4,r0,r0
+
  00041db4: 00002021 addu r4,r0,r0                   wait for drawing to complete
  00041db8: 0c0076ea jal 0x0001dba8
+
  00041db8: 0c0076ea jal 0x0001dba8                 [[VSync call]]
 
  00041dbc: 00002021 addu r4,r0,r0
 
  00041dbc: 00002021 addu r4,r0,r0
 
  00041dc0: 3c038004 lui r3,0x8004
 
  00041dc0: 3c038004 lui r3,0x8004
  00041dc4: 8c63597c lw r3,0x597c(r3)
+
  00041dc4: 8c63597c lw r3,0x597c(r3)               screen polarity
 
  00041dc8: 00408021 addu r16,r2,r0
 
  00041dc8: 00408021 addu r16,r2,r0
 
  00041dcc: 00032080 sll r4,r3,0x02
 
  00041dcc: 00032080 sll r4,r3,0x02
Line 24: Line 24:
 
  00041dd4: 00042080 sll r4,r4,0x02
 
  00041dd4: 00042080 sll r4,r4,0x02
 
  00041dd8: 3c038005 lui r3,0x8005
 
  00041dd8: 3c038005 lui r3,0x8005
  00041ddc: 2463eacc addiu r3,r3,0xeacc
+
  00041ddc: 2463eacc addiu r3,r3,0xeacc             display environment
  00041de0: 0c0093a1 jal 0x00024e84
+
  00041de0: 0c0093a1 jal 0x00024e84                 [[SYS PutDispEnv]]
 
  00041de4: 00832021 addu r4,r4,r3
 
  00041de4: 00832021 addu r4,r4,r3
 
  00041de8: 3c028004 lui r2,0x8004
 
  00041de8: 3c028004 lui r2,0x8004
Line 36: Line 36:
 
  00041e04: 00042080 sll r4,r4,0x02
 
  00041e04: 00042080 sll r4,r4,0x02
 
  00041e08: 3c028005 lui r2,0x8005
 
  00041e08: 3c028005 lui r2,0x8005
  00041e0c: 2442ea14 addiu r2,r2,0xea14
+
  00041e0c: 2442ea14 addiu r2,r2,0xea14             draw environment
  00041e10: 0c00932b jal 0x00024cac
+
  00041e10: 0c00932b jal 0x00024cac                 [[SYS PutDrawEnv]]
 
  00041e14: 00822021 addu r4,r4,r2
 
  00041e14: 00822021 addu r4,r4,r2
  00041e18: 27a40010 addiu r4,r29,0x0010
+
  00041e18: 27a40010 addiu r4,r29,0x0010             point to RECT for image data
 
  00041e1c: 3c038004 lui r3,0x8004
 
  00041e1c: 3c038004 lui r3,0x8004
 
  00041e20: 8c63597c lw r3,0x597c(r3)
 
  00041e20: 8c63597c lw r3,0x597c(r3)
  00041e24: 02202821 addu r5,r17,r0
+
  00041e24: 02202821 addu r5,r17,r0                 image source
 
  00041e28: a7a00010 sh r0,0x0010(r29)
 
  00041e28: a7a00010 sh r0,0x0010(r29)
 
  00041e2c: 00031040 sll r2,r3,0x01
 
  00041e2c: 00031040 sll r2,r3,0x01
Line 53: Line 53:
 
  00041e48: 9423ea16 lhu r3,-0x15ea(r1)
 
  00041e48: 9423ea16 lhu r3,-0x15ea(r1)
 
  00041e4c: 34020140 ori r2,r0,0x0140
 
  00041e4c: 34020140 ori r2,r0,0x0140
  00041e50: a7a20014 sh r2,0x0014(r29)
+
  00041e50: a7a20014 sh r2,0x0014(r29)               build RECT in stack
 
  00041e54: 34020020 ori r2,r0,0x0020
 
  00041e54: 34020020 ori r2,r0,0x0020
 
  00041e58: a7a20016 sh r2,0x0016(r29)
 
  00041e58: a7a20016 sh r2,0x0016(r29)
 
  00041e5c: 24630068 addiu r3,r3,0x0068
 
  00041e5c: 24630068 addiu r3,r3,0x0068
  00041e60: 0c00923f jal 0x000248fc
+
  00041e60: 0c00923f jal 0x000248fc                 [[SYS LoadImage]]
 
  00041e64: a7a30012 sh r3,0x0012(r29)
 
  00041e64: a7a30012 sh r3,0x0012(r29)
  00041e68: 0c00930e jal 0x00024c38
+
  00041e68: 0c00930e jal 0x00024c38                 [[SYS DrawOtag]]
 
  00041e6c: 02402021 addu r4,r18,r0
 
  00041e6c: 02402021 addu r4,r18,r0
  00041e70: 0c008ca2 jal 0x00023288
+
  00041e70: 0c008ca2 jal 0x00023288                 [[FONT FntFlush]]
 
  00041e74: 2404ffff addiu r4,r0,0xffff
 
  00041e74: 2404ffff addiu r4,r0,0xffff
 
  00041e78: 02001021 addu r2,r16,r0
 
  00041e78: 02001021 addu r2,r16,r0

Revision as of 05:41, 11 June 2024

I feel like I've documented this routine before... 00041774 - 0004188c

00041d80: 27bdffd8 addiu r29,r29,0xffd8
00041d84: afb20020 sw r18,0x0020(r29)
00041d88: 00809021 addu r18,r4,r0                  OTAG list
00041d8c: afb1001c sw r17,0x001c(r29)
00041d90: 00a08821 addu r17,r5,r0                  image source for load image?
00041d94: 3c028004 lui r2,0x8004
00041d98: 8c42597c lw r2,0x597c(r2)
00041d9c: afbf0024 sw r31,0x0024(r29)
00041da0: afb00018 sw r16,0x0018(r29)
00041da4: 2c420001 sltiu r2,r2,0x0001              flip screen polarity
00041da8: 3c018004 lui r1,0x8004
00041dac: ac22597c sw r2,0x597c(r1)                top or bottom screen
00041db0: 0c0091b5 jal 0x000246d4                  SYS DrawSync
00041db4: 00002021 addu r4,r0,r0                   wait for drawing to complete
00041db8: 0c0076ea jal 0x0001dba8                  VSync call
00041dbc: 00002021 addu r4,r0,r0
00041dc0: 3c038004 lui r3,0x8004
00041dc4: 8c63597c lw r3,0x597c(r3)                screen polarity
00041dc8: 00408021 addu r16,r2,r0
00041dcc: 00032080 sll r4,r3,0x02
00041dd0: 00832021 addu r4,r4,r3
00041dd4: 00042080 sll r4,r4,0x02
00041dd8: 3c038005 lui r3,0x8005
00041ddc: 2463eacc addiu r3,r3,0xeacc              display environment
00041de0: 0c0093a1 jal 0x00024e84                  SYS PutDispEnv
00041de4: 00832021 addu r4,r4,r3
00041de8: 3c028004 lui r2,0x8004
00041dec: 8c42597c lw r2,0x597c(r2)
00041df0: 00000000 nop
00041df4: 00022040 sll r4,r2,0x01
00041df8: 00822021 addu r4,r4,r2
00041dfc: 000420c0 sll r4,r4,0x03
00041e00: 00822023 subu r4,r4,r2
00041e04: 00042080 sll r4,r4,0x02
00041e08: 3c028005 lui r2,0x8005
00041e0c: 2442ea14 addiu r2,r2,0xea14              draw environment
00041e10: 0c00932b jal 0x00024cac                  SYS PutDrawEnv
00041e14: 00822021 addu r4,r4,r2
00041e18: 27a40010 addiu r4,r29,0x0010             point to RECT for image data
00041e1c: 3c038004 lui r3,0x8004
00041e20: 8c63597c lw r3,0x597c(r3)
00041e24: 02202821 addu r5,r17,r0                  image source
00041e28: a7a00010 sh r0,0x0010(r29)
00041e2c: 00031040 sll r2,r3,0x01
00041e30: 00431021 addu r2,r2,r3
00041e34: 000210c0 sll r2,r2,0x03
00041e38: 00431023 subu r2,r2,r3
00041e3c: 00021080 sll r2,r2,0x02
00041e40: 3c018005 lui r1,0x8005
00041e44: 00220821 addu r1,r1,r2
00041e48: 9423ea16 lhu r3,-0x15ea(r1)
00041e4c: 34020140 ori r2,r0,0x0140
00041e50: a7a20014 sh r2,0x0014(r29)               build RECT in stack
00041e54: 34020020 ori r2,r0,0x0020
00041e58: a7a20016 sh r2,0x0016(r29)
00041e5c: 24630068 addiu r3,r3,0x0068
00041e60: 0c00923f jal 0x000248fc                  SYS LoadImage
00041e64: a7a30012 sh r3,0x0012(r29)
00041e68: 0c00930e jal 0x00024c38                  SYS DrawOtag
00041e6c: 02402021 addu r4,r18,r0
00041e70: 0c008ca2 jal 0x00023288                  FONT FntFlush
00041e74: 2404ffff addiu r4,r0,0xffff
00041e78: 02001021 addu r2,r16,r0
00041e7c: 8fbf0024 lw r31,0x0024(r29)
00041e80: 8fb20020 lw r18,0x0020(r29)
00041e84: 8fb1001c lw r17,0x001c(r29)
00041e88: 8fb00018 lw r16,0x0018(r29)
00041e8c: 27bd0028 addiu r29,r29,0x0028
00041e90: 03e00008 jr r31
00041e94: 00000000 nop