Advertisement
Bond697

TwlMain()

Apr 9th, 2013
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 5.94 KB | None | 0 0
  1. RAM_ARM9:02005124
  2. RAM_ARM9:02005124             ; void __fastcall TwlMain()
  3. RAM_ARM9:02005124             TwlMain                               ; CODE XREF: _start+1A8j
  4. RAM_ARM9:02005124                                                     ; DATA XREF: _start+1A0o ...
  5. RAM_ARM9:02005124 F8 B5                       PUSH    {R3-R7,LR}
  6. RAM_ARM9:02005126 00 F0 1D F9                 BL      SystemInit
  7. RAM_ARM9:0200512A 00 F0 C5 F9                 BL      setupSystem
  8. RAM_ARM9:0200512E 25 49                       LDR     R1, =(_HBlankIntr+1) ; function
  9. RAM_ARM9:02005130 02 20                       MOVS    R0, #2          ; intrBit
  10. RAM_ARM9:02005132 74 F0 0B FE                 BL      OS_SetIrqFunction
  11. RAM_ARM9:02005136 24 49                       LDR     R1, =(VBlankIntr+1) ; function
  12. RAM_ARM9:02005138 01 20                       MOVS    R0, #1          ; intrBit
  13. RAM_ARM9:0200513A 01 24                       MOVS    R4, #1
  14. RAM_ARM9:0200513C 74 F0 06 FE                 BL      OS_SetIrqFunction
  15. RAM_ARM9:02005140 03 20                       MOVS    R0, #3          ; intr
  16. RAM_ARM9:02005142 74 F0 AB FE                 BL      OS_EnableIrqMask
  17. RAM_ARM9:02005146 21 4E                       LDR     R6, =0x4000208
  18. RAM_ARM9:02005148 30 88                       LDRH    R0, [R6]
  19. RAM_ARM9:0200514A 01 20                       MOVS    R0, #1          ; enable
  20. RAM_ARM9:0200514C 34 80                       STRH    R4, [R6]
  21. RAM_ARM9:0200514E 6F F0 8F FB                 BL      GX_HBlankIntr
  22. RAM_ARM9:02005152 01 20                       MOVS    R0, #1          ; enable
  23. RAM_ARM9:02005154 6F F0 A0 FB                 BL      GX_VBlankIntr
  24. RAM_ARM9:02005158 76 F0 D0 EF                 BLX     OS_EnableInterrupts
  25. RAM_ARM9:0200515C 00 F0 82 F8                 BL      setupMainGFSystems
  26. RAM_ARM9:02005160             ; ---------------------------------------------------------------------------
  27. RAM_ARM9:02005160 1B 4C                       LDR     R4, =loc_209DC58
  28. RAM_ARM9:02005162 35 1F                       SUBS    R5, R6, #4      ; 0x4000204
  29. RAM_ARM9:02005164 F7 0A                       LSRS    R7, R6, #0xB    ; 0x8000
  30. RAM_ARM9:02005166
  31. RAM_ARM9:02005166             while_1_                                ; CODE XREF: NitroMain+96j
  32. RAM_ARM9:02005166                                                     ; NitroMain+9Ej
  33. RAM_ARM9:02005166 00 F0 63 F9                 BL      mem_cnt_dsi
  34. RAM_ARM9:0200516A 00 F0 73 FA                 BL      sub_2005654
  35. RAM_ARM9:0200516E 00 F0 DB F8                 BL      sub_2005328
  36. RAM_ARM9:02005172 00 F0 79 FA                 BL      nullsub_4
  37. RAM_ARM9:02005176 44 F0 B5 FC                 BL      sub_2049AE4
  38. RAM_ARM9:0200517A 00 F0 33 F8                 BL      sub_20051E4
  39. RAM_ARM9:0200517E 06 1C                       MOVS    R6, R0
  40. RAM_ARM9:02005180 03 D0                       BEQ     loc_200518A
  41. RAM_ARM9:02005182 29 88                       LDRH    R1, [R5]
  42. RAM_ARM9:02005184 13 48                       LDR     R0, =0xFFFF7FFF
  43. RAM_ARM9:02005186 08 40                       ANDS    R0, R1          ; give RAM access priority to the arm9
  44. RAM_ARM9:02005188 28 80                       STRH    R0, [R5]
  45. RAM_ARM9:0200518A
  46. RAM_ARM9:0200518A             loc_200518A                             ; CODE XREF: NitroMain+5Cj
  47. RAM_ARM9:0200518A 20 1C                       MOVS    R0, R4          ; thread
  48. RAM_ARM9:0200518C 75 F0 62 FB                 BL      OS_IsThreadTerminated
  49. RAM_ARM9:02005190 00 28                       CMP     R0, #0
  50. RAM_ARM9:02005192 03 D1                       BNE     loc_200519C
  51. RAM_ARM9:02005194 20 1C                       MOVS    R0, R4          ; thread
  52. RAM_ARM9:02005196 00 21                       MOVS    R1, #0          ; queue
  53. RAM_ARM9:02005198 75 F0 64 FB                 BL      OS_SleepThreadDirect
  54. RAM_ARM9:0200519C
  55. RAM_ARM9:0200519C             loc_200519C                             ; CODE XREF: NitroMain+6Ej
  56. RAM_ARM9:0200519C 01 20                       MOVS    R0, #1          ; clear
  57. RAM_ARM9:0200519E 01 21                       MOVS    R1, #1          ; irqFlags
  58. RAM_ARM9:020051A0 74 F0 1C ED                 BLX     OS_WaitIrq      ; wait for vblank, save battery, etc
  59. RAM_ARM9:020051A4 00 F0 58 F8                 BL      updateGfx
  60. RAM_ARM9:020051A8 20 1C                       MOVS    R0, R4          ; thread
  61. RAM_ARM9:020051AA 75 F0 53 FB                 BL      OS_IsThreadTerminated
  62. RAM_ARM9:020051AE 00 28                       CMP     R0, #0
  63. RAM_ARM9:020051B0 02 D1                       BNE     loc_20051B8
  64. RAM_ARM9:020051B2 20 1C                       MOVS    R0, R4          ; thread
  65. RAM_ARM9:020051B4 75 F0 AC FB                 BL      OS_WakeupThreadDirect
  66. RAM_ARM9:020051B8
  67. RAM_ARM9:020051B8             loc_20051B8                             ; CODE XREF: NitroMain+8Cj
  68. RAM_ARM9:020051B8 00 2E                       CMP     R6, #0
  69. RAM_ARM9:020051BA D4 D0                       BEQ     while_1_
  70. RAM_ARM9:020051BC 28 88                       LDRH    R0, [R5]
  71. RAM_ARM9:020051BE 38 43                       ORRS    R0, R7          ; give RAM access priority back to the arm7
  72. RAM_ARM9:020051C0 28 80                       STRH    R0, [R5]
  73. RAM_ARM9:020051C2 D0 E7                       B       while_1_
  74. RAM_ARM9:020051C2             ; End of function NitroMain
  75. RAM_ARM9:020051C2
  76. RAM_ARM9:020051C2             ; ---------------------------------------------------------------------------
  77. RAM_ARM9:020051C4             ; OSIrqFunction function
  78. RAM_ARM9:020051C4 2D 52 00 02 function        DCD _HBlankIntr+1       ; DATA XREF: NitroMain+Ar
  79. RAM_ARM9:020051C8             ; OSIrqFunction off_20051C8
  80. RAM_ARM9:020051C8 35 52 00 02 off_20051C8     DCD VBlankIntr+1        ; DATA XREF: NitroMain+12r
  81. RAM_ARM9:020051CC 08 02 00 04 dword_20051CC   DCD 0x4000208           ; DATA XREF: NitroMain+22r
  82. RAM_ARM9:020051D0 58 DC 09 02 off_20051D0     DCD loc_209DC58         ; DATA XREF: NitroMain+3Cr
  83. RAM_ARM9:020051D4 FF 7F FF FF dword_20051D4   DCD 0xFFFF7FFF          ; DATA XREF: NitroMain+60r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement