Bond697 icon

fullscreenTexCopyAssignmentHandler()

Bond697 | PRO | 05/20/12 10:15:00 AM UTC | 0 ⭐ | 10723 👁️ | Never ⏰ | []
ARM |

17.32 KB

|

None

|

0 👍

/

0 👎

RAM_ARM9:0202E578             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:0202E578
RAM_ARM9:0202E578
RAM_ARM9:0202E578             fullscreenTexCopyAssignmentHandler__:
RAM_ARM9:0202E578
RAM_ARM9:0202E578             var_20          = -0x20
RAM_ARM9:0202E578             var_1C          = -0x1C
RAM_ARM9:0202E578
RAM_ARM9:0202E578 F8 B5                       PUSH    {R3-R7,LR}
RAM_ARM9:0202E57A 82 B0                       SUB     SP, SP, #8
RAM_ARM9:0202E57C 06 1C                       MOVS    R6, R0
RAM_ARM9:0202E57E 0D 1C                       MOVS    R5, R1
RAM_ARM9:0202E580 18 F0 94 EB                 BLX     setVar8__
RAM_ARM9:0202E584 01 1C                       MOVS    R1, R0
RAM_ARM9:0202E586 3B 20                       MOVS    R0, #0x3B @ ';'
RAM_ARM9:0202E588 00 90                       STR     R0, [SP]
RAM_ARM9:0202E58A 25 4B                       LDR     R3, =aScreentex_c @ "screentex.c"
RAM_ARM9:0202E58C 30 1C                       MOVS    R0, R6
RAM_ARM9:0202E58E 00 22                       MOVS    R2, #0
RAM_ARM9:0202E590 00 24                       MOVS    R4, #0
RAM_ARM9:0202E592 02 F0 DC E8                 BLX     allocateBlockFromArena__
RAM_ARM9:0202E596 07 1C                       MOVS    R7, R0
RAM_ARM9:0202E598 3C 20                       MOVS    R0, #0x3C @ '<'
RAM_ARM9:0202E59A 00 90                       STR     R0, [SP]
RAM_ARM9:0202E59C 20 4B                       LDR     R3, =aScreentex_c @ "screentex.c"
RAM_ARM9:0202E59E 30 1C                       MOVS    R0, R6
RAM_ARM9:0202E5A0 8C 21                       MOVS    R1, #0x8C @ 'î'
RAM_ARM9:0202E5A2 00 22                       MOVS    R2, #0
RAM_ARM9:0202E5A4 02 F0 D2 E8                 BLX     allocateBlockFromArena__
RAM_ARM9:0202E5A8 06 1C                       MOVS    R6, R0
RAM_ARM9:0202E5AA 1E 48                       LDR     R0, =aBtx0      @ "BTX0"
RAM_ARM9:0202E5AC 31 1C                       MOVS    R1, R6          @ pDest
RAM_ARM9:0202E5AE 8C 22                       MOVS    R2, #0x8C @ 'î' @ dataSize
RAM_ARM9:0202E5B0 54 F0 D4 EB                 BLX     MI_CpuCopy8__
RAM_ARM9:0202E5B4 38 1C                       MOVS    R0, R7
RAM_ARM9:0202E5B6 02 21                       MOVS    R1, #2
RAM_ARM9:0202E5B8 32 1C                       MOVS    R2, R6
RAM_ARM9:0202E5BA 18 F0 7C EB                 BLX     structureSetupTexSystemAlloc__
RAM_ARM9:0202E5BE 30 1C                       MOVS    R0, R6
RAM_ARM9:0202E5C0 40 F0 DC E9                 BLX     texAllocParametersCheck__
RAM_ARM9:0202E5C4 01 90                       STR     R0, [SP,#4]
RAM_ARM9:0202E5C6 3B F0 10 ED                 BLX     NNS_G3dTexGetRequiredSize__
RAM_ARM9:0202E5CA 06 1C                       MOVS    R6, R0
RAM_ARM9:0202E5CC 52 F0 46 EB                 BLX     GX_GetBankForTex__
RAM_ARM9:0202E5D0 03 2D                       CMP     R5, #3
RAM_ARM9:0202E5D2 18 D8                       BHI     loc_202E606
RAM_ARM9:0202E5D4 69 19                       ADDS    R1, R5, R5
RAM_ARM9:0202E5D6 79 44                       ADD     R1, PC
RAM_ARM9:0202E5D8 C9 88                       LDRH    R1, [R1,#6]
RAM_ARM9:0202E5DA 09 04                       LSLS    R1, R1, #0x10
RAM_ARM9:0202E5DC 09 14                       ASRS    R1, R1, #0x10
RAM_ARM9:0202E5DE 8F 44                       ADD     PC, R1
RAM_ARM9:0202E5DE             @ ---------------------------------------------------------------------------
RAM_ARM9:0202E5E0 24 00                       .short 0x24
RAM_ARM9:0202E5E2 1A 00                       .short 0x1A
RAM_ARM9:0202E5E4 10 00                       .short 0x10
RAM_ARM9:0202E5E6 06 00                       .short 6
RAM_ARM9:0202E5E8             @ ---------------------------------------------------------------------------
RAM_ARM9:0202E5E8 04 21                       MOVS    R1, #4
RAM_ARM9:0202E5EA 08 43                       ORRS    R0, R1
RAM_ARM9:0202E5EC 01 D0                       BEQ     loc_202E5F2
RAM_ARM9:0202E5EE C9 03                       LSLS    R1, R1, #0xF
RAM_ARM9:0202E5F0 64 18                       ADDS    R4, R4, R1
RAM_ARM9:0202E5F2
RAM_ARM9:0202E5F2             loc_202E5F2:                            @ CODE XREF: texCopyAssignmentHandler__+74j
RAM_ARM9:0202E5F2 02 21                       MOVS    R1, #2
RAM_ARM9:0202E5F4 08 43                       ORRS    R0, R1
RAM_ARM9:0202E5F6 01 D0                       BEQ     loc_202E5FC
RAM_ARM9:0202E5F8 09 04                       LSLS    R1, R1, #0x10
RAM_ARM9:0202E5FA 64 18                       ADDS    R4, R4, R1
RAM_ARM9:0202E5FC
RAM_ARM9:0202E5FC             loc_202E5FC:                            @ CODE XREF: texCopyAssignmentHandler__+7Ej
RAM_ARM9:0202E5FC 01 21                       MOVS    R1, #1
RAM_ARM9:0202E5FE 08 43                       ORRS    R0, R1
RAM_ARM9:0202E600 01 D0                       BEQ     loc_202E606
RAM_ARM9:0202E602 48 04                       LSLS    R0, R1, #0x11
RAM_ARM9:0202E604 24 18                       ADDS    R4, R4, R0
RAM_ARM9:0202E606
RAM_ARM9:0202E606             loc_202E606:                            @ CODE XREF: texCopyAssignmentHandler__+5Aj
RAM_ARM9:0202E606                                                     @ texCopyAssignmentHandler__+88j
RAM_ARM9:0202E606 31 09                       LSRS    R1, R6, #4
RAM_ARM9:0202E608 0A 04                       LSLS    R2, R1, #0x10
RAM_ARM9:0202E60A 61 03                       LSLS    R1, R4, #0xD
RAM_ARM9:0202E60C 09 0C                       LSRS    R1, R1, #0x10
RAM_ARM9:0202E60E 11 43                       ORRS    R1, R2          @ texKey
RAM_ARM9:0202E610 01 98                       LDR     R0, [SP,#4]     @ pTex
RAM_ARM9:0202E612 00 22                       MOVS    R2, #0          @ tex4x4Key
RAM_ARM9:0202E614 3B F0 FC EC                 BLX     NNS_G3dTexSetTexKey__
RAM_ARM9:0202E618 38 1C                       MOVS    R0, R7
RAM_ARM9:0202E61A 02 B0                       ADD     SP, SP, #8
RAM_ARM9:0202E61C F8 BD                       POP     {R3-R7,PC}
RAM_ARM9:0202E61C             @ End of function texCopyAssignmentHandler__
RAM_ARM9:0202E61C
RAM_ARM9:0202E61E             @ ---------------------------------------------------------------------------
RAM_ARM9:0202E61E C0 46                       NOP
RAM_ARM9:0202E61E             @ ---------------------------------------------------------------------------
RAM_ARM9:0202E620 00 78 0A 02 off_202E620:    .long aScreentex_c      @ DATA XREF: texCopyAssignmentHandler__+12r
RAM_ARM9:0202E620                                                     @ texCopyAssignmentHandler__+24r
RAM_ARM9:0202E620                                                     @ "screentex.c"
RAM_ARM9:0202E624             @ unsigned int *off_202E624
RAM_ARM9:0202E624 54 03 0A 02 off_202E624:    .long aBtx0             @ DATA XREF: texCopyAssignmentHandler__+32r
RAM_ARM9:0202E624                                                     @ "BTX0"
 
RAM_ARM9:02046CAC             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:02046CAC
RAM_ARM9:02046CAC
RAM_ARM9:02046CAC             setVar8__:                              @ CODE XREF: fullscreenTexCopyAssignmentHandler__+8p
RAM_ARM9:02046CAC                                                     @ sub_2048138:loc_20481D8p ...
RAM_ARM9:02046CAC 08 00 A0 E3                 MOV     R0, #8
RAM_ARM9:02046CB0 1E FF 2F E1                 BX      LR
RAM_ARM9:02046CB0             @ End of function setVar8_
 
 
RAM_ARM9:0203074C             allocateBlockFromArena__:               @ CODE XREF: sub_200545C+EEp
RAM_ARM9:0203074C                                                     @ sub_200545C+10Ap ...
RAM_ARM9:0203074C
RAM_ARM9:0203074C             arg_0           =  0
RAM_ARM9:0203074C
RAM_ARM9:0203074C F0 41 2D E9                 STMFD   SP!, {R4-R8,LR} @ d
RAM_ARM9:02030750 00 80 A0 E1                 MOV     R8, R0
RAM_ARM9:02030754 01 70 A0 E1                 MOV     R7, R1
RAM_ARM9:02030758 02 60 A0 E1                 MOV     R6, R2
RAM_ARM9:0203075C 03 50 A0 E1                 MOV     R5, R3
RAM_ARM9:02030760 52 FE FF EB                 BL      getNewHeap__
RAM_ARM9:02030764 00 40 B0 E1                 MOVS    R4, R0
RAM_ARM9:02030768 07 00 00 1A                 BNE     bank1
RAM_ARM9:0203076C 72 FF FF EB                 BL      getHeapID__
RAM_ARM9:02030770 B8 31 DD E1                 LDRH    R3, [SP,#0x18]
RAM_ARM9:02030774 08 00 A0 E1                 MOV     R0, R8
RAM_ARM9:02030778 07 10 A0 E1                 MOV     R1, R7
RAM_ARM9:0203077C 05 20 A0 E1                 MOV     R2, R5
RAM_ARM9:02030780 7A 00 00 EB                 BL      sub_2030970
RAM_ARM9:02030784 B0 5E 01 EB                 BL      OSi_Panic__
RAM_ARM9:02030788 0C 00 00 EA                 B       bank2
RAM_ARM9:0203078C             @ ---------------------------------------------------------------------------
RAM_ARM9:0203078C
RAM_ARM9:0203078C             bank1:                                  @ CODE XREF: allocateBlockFromArena__+1Cj
RAM_ARM9:0203078C B8 21 DD E1                 LDRH    R2, [SP,#0x18]
RAM_ARM9:02030790 05 10 A0 E1                 MOV     R1, R5
RAM_ARM9:02030794 3F 00 00 EB                 BL      sub_2030898
RAM_ARM9:02030798 08 00 A0 E1                 MOV     R0, R8
RAM_ARM9:0203079C 04 10 A0 E1                 MOV     R1, R4
RAM_ARM9:020307A0 07 20 A0 E1                 MOV     R2, R7
RAM_ARM9:020307A4 9B 00 00 EB                 BL      sub_2030A18
RAM_ARM9:020307A8 00 00 56 E3                 CMP     R6, #0
RAM_ARM9:020307AC 03 00 00 0A                 BEQ     bank2
RAM_ARM9:020307B0 04 10 A0 E1                 MOV     R1, R4          @ pSrc
RAM_ARM9:020307B4 07 20 A0 E1                 MOV     R2, R7          @ dataSize
RAM_ARM9:020307B8 00 00 A0 E3                 MOV     R0, #0          @ data
RAM_ARM9:020307BC B4 48 01 EB                 BL      MIi_CpuClear32__
RAM_ARM9:020307C0
RAM_ARM9:020307C0             bank2:                                  @ CODE XREF: allocateBlockFromArena__+3Cj
RAM_ARM9:020307C0                                                     @ allocateBlockFromArena__+60j
RAM_ARM9:020307C0 04 00 A0 E1                 MOV     R0, R4
RAM_ARM9:020307C4 F0 81 BD E8                 LDMFD   SP!, {R4-R8,PC}
RAM_ARM9:020307C4             @ End of function allocateBlockFromArena__
RAM_ARM9:020307C4
 
 
RAM_ARM9:02046CB4             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:02046CB4
RAM_ARM9:02046CB4
RAM_ARM9:02046CB4             structureSetupTexSystemAlloc__:         @ CODE XREF: fullscreenTexCopyAssignmentHandler__+42p
RAM_ARM9:02046CB4 01 00 51 E3                 CMP     R1, #1          @ if
RAM_ARM9:02046CB8 05 00 00 0A                 BEQ     loc_2046CD4
RAM_ARM9:02046CBC 02 00 51 E3                 CMP     R1, #2          @ else if
RAM_ARM9:02046CC0 05 00 00 0A                 BEQ     loc_2046CDC
RAM_ARM9:02046CC4 03 00 51 E3                 CMP     R1, #3          @ else if
RAM_ARM9:02046CC8 04 10 A0 03                 MOVEQ   R1, #4
RAM_ARM9:02046CCC B2 10 C0 01                 STRHEQ  R1, [R0,#2]
RAM_ARM9:02046CD0 03 00 00 EA                 B       loc_2046CE4     @ else
RAM_ARM9:02046CD4             @ ---------------------------------------------------------------------------
RAM_ARM9:02046CD4
RAM_ARM9:02046CD4             loc_2046CD4:                            @ CODE XREF: structureSetupTexSystemAlloc__+4j
RAM_ARM9:02046CD4 02 10 A0 E3                 MOV     R1, #2
RAM_ARM9:02046CD8 00 00 00 EA                 B       loc_2046CE0
RAM_ARM9:02046CDC             @ ---------------------------------------------------------------------------
RAM_ARM9:02046CDC
RAM_ARM9:02046CDC             loc_2046CDC:                            @ CODE XREF: structureSetupTexSystemAlloc__+Cj
RAM_ARM9:02046CDC 03 10 A0 E3                 MOV     R1, #3
RAM_ARM9:02046CE0
RAM_ARM9:02046CE0             loc_2046CE0:                            @ CODE XREF: structureSetupTexSystemAlloc__+24j
RAM_ARM9:02046CE0 B2 10 C0 E1                 STRH    R1, [R0,#2]
RAM_ARM9:02046CE4
RAM_ARM9:02046CE4             loc_2046CE4:                            @ CODE XREF: structureSetupTexSystemAlloc__+1Cj
RAM_ARM9:02046CE4 08 10 9F E5                 LDR     R1, =0x48BF
RAM_ARM9:02046CE8 04 20 80 E5                 STR     R2, [R0,#4]
RAM_ARM9:02046CEC B0 10 C0 E1                 STRH    R1, [R0]
RAM_ARM9:02046CF0 1E FF 2F E1                 BX      LR
RAM_ARM9:02046CF0             @ End of function structureSetupTexSystemAlloc__
RAM_ARM9:02046CF0
RAM_ARM9:02046CF0             @ ---------------------------------------------------------------------------
RAM_ARM9:02046CF4 BF 48 00 00 dword_2046CF4:  .long 0x48BF            @ DATA XREF: structureSetupTexSystemAlloc__:loc_2046CE4r
RAM_ARM9:02046CF8
 
 
RAM_ARM9:0206E97C             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:0206E97C
RAM_ARM9:0206E97C
RAM_ARM9:0206E97C             texAllocParametersCheck__:              @ CODE XREF: fullscreenTexCopyAssignmentHandler__+48p
RAM_ARM9:0206E97C                                                     @ sub_2046CF8+84p ...
RAM_ARM9:0206E97C BC 20 D0 E1                 LDRH    R2, [R0,#0xC]
RAM_ARM9:0206E980 BE 10 D0 E1                 LDRH    R1, [R0,#0xE]
RAM_ARM9:0206E984 02 30 80 E0                 ADD     R3, R0, R2
RAM_ARM9:0206E988 01 00 51 E3                 CMP     R1, #1          @ use this to allocate?
RAM_ARM9:0206E98C 06 00 00 1A                 BNE     loc_206E9AC
RAM_ARM9:0206E990 00 20 90 E5                 LDR     R2, [R0]
RAM_ARM9:0206E994 1C 10 9F E5                 LDR     R1, =0x30585442 @ BTX0
RAM_ARM9:0206E998 01 00 52 E1                 CMP     R2, R1          @ is BTX0?
RAM_ARM9:0206E99C 00 10 93 05                 LDREQ   R1, [R3]
RAM_ARM9:0206E9A0 01 00 80 00                 ADDEQ   R0, R0, R1
RAM_ARM9:0206E9A4 00 00 A0 13                 MOVNE   R0, #0
RAM_ARM9:0206E9A8 1E FF 2F E1                 BX      LR
RAM_ARM9:0206E9AC             @ ---------------------------------------------------------------------------
RAM_ARM9:0206E9AC
RAM_ARM9:0206E9AC             loc_206E9AC:                            @ CODE XREF: texAllocParametersCheck__+10j
RAM_ARM9:0206E9AC 04 10 93 E5                 LDR     R1, [R3,#4]
RAM_ARM9:0206E9B0 01 00 80 E0                 ADD     R0, R0, R1
RAM_ARM9:0206E9B4 1E FF 2F E1                 BX      LR
RAM_ARM9:0206E9B4             @ End of function texAllocParametersCheck__
RAM_ARM9:0206E9B4
RAM_ARM9:0206E9B4             @ ---------------------------------------------------------------------------
RAM_ARM9:0206E9B8 42 54 58 30 dword_206E9B8:  .long 0x30585442        @ DATA XREF: texAllocParametersCheck__+18r
RAM_ARM9:0206E9BC
 
 
RAM_ARM9:02069FE8             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:02069FE8
RAM_ARM9:02069FE8
RAM_ARM9:02069FE8             @ unsigned int __fastcall NNS_G3dTexGetRequiredSize__(const struct NNSG3dResTex *pTex)
RAM_ARM9:02069FE8             NNS_G3dTexGetRequiredSize__:            @ CODE XREF: fullscreenTexCopyAssignmentHandler__+4Ep
RAM_ARM9:02069FE8                                                     @ sub_2047278+10p
RAM_ARM9:02069FE8 00 00 50 E3                 CMP     R0, #0
RAM_ARM9:02069FEC BC 00 D0 11                 LDRHNE  R0, [R0,#0xC]
RAM_ARM9:02069FF0 80 01 A0 11                 MOVNE   R0, R0,LSL#3
RAM_ARM9:02069FF4 00 00 A0 03                 MOVEQ   R0, #0
RAM_ARM9:02069FF8 1E FF 2F E1                 BX      LR
RAM_ARM9:02069FF8             @ End of function NNS_G3dTexGetRequiredSize__
RAM_ARM9:02069FF8
RAM_ARM9:02069FFC
 
 
RAM_ARM9:02080C5C             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:02080C5C
RAM_ARM9:02080C5C
RAM_ARM9:02080C5C             GX_GetBankForTex__:                     @ CODE XREF: fullscreenTexCopyAssignmentHandler__+54p
RAM_ARM9:02080C5C                                                     @ screenChange__+6p
RAM_ARM9:02080C5C 04 00 9F E5                 LDR     R0, =0x2150E6C
RAM_ARM9:02080C60 B8 00 D0 E1                 LDRH    R0, [R0,#8]
RAM_ARM9:02080C64 1E FF 2F E1                 BX      LR
RAM_ARM9:02080C64             @ End of function GX_GetBankForTex__
RAM_ARM9:02080C64
RAM_ARM9:02080C64             @ ---------------------------------------------------------------------------
RAM_ARM9:02080C68 6C 0E 15 02 dword_2080C68:  .long 0x2150E6C         @ DATA XREF: GX_GetBankForTex__r
RAM_ARM9:02080C6C
 
 
RAM_ARM9:0206A010             @ =============== S U B R O U T I N E =======================================
RAM_ARM9:0206A010
RAM_ARM9:0206A010
RAM_ARM9:0206A010             @ void __fastcall NNS_G3dTexSetTexKey__(struct NNSG3dResTex *pTex, struct NNSG3dTexKey *texKey, struct NNSG3dTexKey *tex4x4Key)
RAM_ARM9:0206A010             NNS_G3dTexSetTexKey__:                  @ CODE XREF: fullscreenTexCopyAssignmentHandler__+9Cp
RAM_ARM9:0206A010                                                     @ sub_2047010+60p ...
RAM_ARM9:0206A010 00 00 51 E3                 CMP     R1, #0
RAM_ARM9:0206A014 08 10 80 15                 STRNE   R1, [R0,#8]
RAM_ARM9:0206A018 00 00 52 E3                 CMP     R2, #0
RAM_ARM9:0206A01C 18 20 80 15                 STRNE   R2, [R0,#0x18]
RAM_ARM9:0206A020 1E FF 2F E1                 BX      LR
RAM_ARM9:0206A020             @ End of function NNS_G3dTexSetTexKey__
RAM_ARM9:0206A020

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎