frozenLake

Untitled

Oct 4th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. //this textdocument is an assembly code detailing how you can add in your own characters, if you are willing to.
  2. //yoshi is at 80570000 to 80590E00 model size 2ac0
  3.  
  4. .org 0x861c0
  5. !hook:
  6. addiu sp, sp, $ffe8
  7. sw ra, $14 (SP)
  8. jal $2ca6d0
  9. nop
  10. !endhook:
  11. lw ra, $14 (SP)
  12. jr ra
  13. addiu sp, sp, $0018
  14.  
  15. .org 0x856d0
  16. !main:
  17. addiu sp, sp, $ffe8
  18. sw ra, $14 (SP)
  19. lui a2, $807b
  20. ori a2, a2, $2000 //RAM location, update 369F40 to hold this address for your own character. this is an example for rosalina.
  21. lui t0, $800f
  22. ori t0, t0, $0860
  23. sub a3, a2, t0
  24.  
  25. lui t0, $8033
  26. lw t0, $DDC4 (T0)
  27. lw t3, $0008 (T0)
  28. bne t3, r0, !nonewmodelset
  29. nop
  30. lw t1, $0004 (T0)
  31. or at, a2, r0
  32. addiu t9, at, $7ce8 //model size
  33. !loop:
  34. lw t2, $0000 (T1)
  35. lui t3, $ffff
  36. and t3, t2, t3
  37. lui t4, $800f
  38. bne t3, t4, !skipthisasbiufbau9sif
  39. nop
  40. add t2, t2, a3
  41. !skipthisasbiufbau9sif:
  42. sw t2, $0000 (AT)
  43. addiu at, at, $4
  44. addiu t1, t1, $4
  45. bne t9, at, !loop
  46. nop
  47. lui at, $8033
  48. lw at, $ddc4 (AT)
  49. or t0, a2, r0
  50. sw t0, $0008 (at)
  51. nop
  52. jal $277f50
  53. lui a0, $0400
  54. addiu a3, a2, $2000
  55. //addiu a3, a3, $4000
  56. lui at, $0003
  57. ori at, at, $6000 //bank 04 size
  58. add a1, a3, at
  59. !copyloop:
  60. lw t2, $0000 (v0)
  61. sw t2, $0000 (A3)
  62. addiu a3, a3, $4
  63. addiu v0, v0, $4
  64. bne a1, a3, !copyloop
  65. nop
  66. or a0, a2, r0
  67. addiu a1, a2, $3000 //model size again
  68. !loppsaf:
  69. lw t2, $0000 (A0)
  70. lui at, $ffff
  71. and at, at, t2
  72. lui t3, $0400
  73. beq t3, at, !fixthispointer
  74. nop
  75. lui t3, $0401
  76. beq t3, at, !fixthispointer
  77. nop
  78. lui t3, $0403
  79. beq t3, at, !fixthispointer
  80. nop
  81. lui t3, $0402
  82. bne t3, at, !dontfix
  83. nop
  84. !fixthispointer:
  85. jal $30FFF8
  86. nop
  87. !dontfix:
  88. addiu a0, a0, $4
  89. bne a0, a1, !loppsaf
  90. nop
  91.  
  92. !nonewmodelset:
  93. lui a0, $8034
  94. lhu a0, $afa0 (A0)
  95. andi a0, a0, $0020
  96. beq a0, r0, !end
  97. nop
  98. addiu a1, r0, $0002
  99. lui a0, $8036
  100. lw a0, $1158 (A0)
  101. lui a2, $1300
  102. jal $29edcc
  103. addiu a2, a2, $2a48
  104. !end:
  105. lw ra, $14 (SP)
  106. jr ra
  107. addiu sp, sp, $018
  108.  
  109. //803e92b0
  110. .org 0xCAFF8
  111. !fixDL:
  112. addiu sp, sp, $ffe8
  113. sw ra, $14 (SP)
  114. addiu a3, a2, $2000
  115. //addiu a3, a3, $4000
  116. lui at, $00ff
  117. ori at, at, $ffff
  118. and a3, a3, at
  119. lui at, $0400
  120. sub a3, a3, at
  121. add t2, t2, a3
  122. sw t2, $0000 (A0)
  123. lui t3, $8000
  124. or t3, t3, t2
  125. jal $3145D4
  126. nop
  127. lw ra, $14 (SP)
  128. jr ra
  129. addiu sp, sp, $0018
  130.  
  131.  
  132. .org 0xCF5D4
  133. !dasfihasbuf:
  134. addiu sp, sp, $ffe8
  135. sw ra, $14 (SP)
  136. !loopfixDL:
  137.  
  138. lw t4, $0000 (T3)
  139. lui at, $ff00
  140. and at, at, t4
  141. lui t5, $0300
  142. beq t5, at, !fixpointer
  143. nop
  144. lui t5, $0400
  145. beq t5, at, !fixpointer
  146. nop
  147. lui t5, $fd00
  148. bne t5, at, !Notexturefix
  149. nop
  150. !fixpointer:
  151. lw t7, $0004 (t3)
  152. lui at, $ff00
  153. and at, at, t7
  154. beq at, r0, !Notexturefix
  155. nop
  156. add t7, t7, a3
  157. sw t7, $0004 (T3)
  158. !Notexturefix:
  159. sw t3, $0010 (SP)
  160. lui t5, $0600
  161. bne t5, at, !nosubcall
  162. nop
  163. lw t2, $0004 (t3)
  164. lui at, $ff00
  165. and at, at, t2
  166. beq at, r0, !nosubcall
  167. nop
  168. add t2, t2, a3
  169. sw t2, $0004 (T3)
  170. lui t3, $8000
  171. jal $3145D4
  172. or t3, t3, t2
  173. !nosubcall:
  174. lw t3, $0010 (SP)
  175. !endoftextureloop:
  176. lw t2, $0008 (T3)
  177. lui at, $b800
  178. addiu t3, t3, $0008
  179. bne t2, at, !loopfixDL
  180. nop
  181. lw ra, $14 (SP)
  182. jr ra
  183. addiu sp, sp, $0018
Add Comment
Please, Sign In to add comment