Advertisement
Guest User

working delay

a guest
Dec 8th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. .text
  2.  
  3. main:
  4.  
  5. # Initial Delay
  6. addi $22, $0, 1 # long delay
  7. noop
  8. noop
  9. noop
  10. noop
  11. jal delayLong
  12. noop
  13. noop
  14. noop
  15. noop
  16. addi $29, $22, 0
  17. addi $30, $23, 0
  18. noop
  19. noop
  20. noop
  21. noop
  22. addi $22, $0, 0
  23. addi $23, $0, 0
  24.  
  25. # Uses 1 word on the stack for RA
  26. addi $7, $0, 100
  27. addi $8, $0, 100
  28.  
  29. # enter gameloop
  30. j gameloop
  31. noop
  32. noop
  33. noop
  34. noop
  35. j exit
  36.  
  37. delayLong:
  38. addi $22, $22, 1
  39. addi $23, $0, 20
  40. noop
  41. noop
  42. noop
  43. noop
  44. blt $22, $23, delayLong
  45. noop
  46. noop
  47. noop
  48. noop
  49. jr $31
  50.  
  51. delayShort:
  52. addi $22, $22, 1
  53. addi $23, $0, 50000
  54. addi $23, $23, 50000
  55. addi $23, $23, 50000
  56. noop
  57. noop
  58. noop
  59. noop
  60. blt $22, $23, delayShort
  61. noop
  62. noop
  63. noop
  64. noop
  65. jr $31
  66.  
  67. gameloop:
  68. #addi $15, $0, 2 # arg: color
  69. #noop
  70. #noop
  71. #noop
  72. #noop
  73. #j drawXhair
  74.  
  75. addi $15, $0, 2 # arg: color
  76. noop
  77. noop
  78. noop
  79. noop
  80. jal drawXhair
  81. noop
  82. noop
  83. noop
  84. noop
  85.  
  86. bne $1, $0, left
  87. noop
  88. noop
  89. noop
  90. noop
  91. j gameloop
  92.  
  93.  
  94. left:
  95. addi $15, $0, 0 # arg: color
  96. noop
  97. noop
  98. noop
  99. noop
  100. jal drawXhair
  101. noop
  102. noop
  103. noop
  104. noop
  105. addi $7, $7, -1
  106. addi $22, $0, 1 # long delay
  107. noop
  108. noop
  109. noop
  110. noop
  111. jal delayLong
  112. noop
  113. noop
  114. noop
  115. noop
  116. j gameloop
  117.  
  118.  
  119. drawXhair:
  120. # $7: x-coord
  121. # $8: y-coord
  122. # $15: color
  123. # Uses 1 word on the stack for RA
  124.  
  125. addi $28, $31, 0
  126.  
  127. jal translateXYToAddr
  128. noop
  129. noop
  130. noop
  131. noop
  132. sw $15, 32768($20)
  133. noop
  134. noop
  135. noop
  136. noop
  137.  
  138.  
  139. addi $7, $7, 1
  140. noop
  141. noop
  142. noop
  143. noop
  144. jal translateXYToAddr
  145. noop
  146. noop
  147. noop
  148. noop
  149. sw $15, 32768($20)
  150. noop
  151. noop
  152. noop
  153. noop
  154.  
  155. addi $7, $7, 1
  156. noop
  157. noop
  158. noop
  159. noop
  160. jal translateXYToAddr
  161. noop
  162. noop
  163. noop
  164. noop
  165. sw $15, 32768($20)
  166. noop
  167. noop
  168. noop
  169. noop
  170.  
  171. addi $7, $7, -3
  172. noop
  173. noop
  174. noop
  175. noop
  176. jal translateXYToAddr
  177. noop
  178. noop
  179. noop
  180. noop
  181. sw $15, 32768($20)
  182. noop
  183. noop
  184. noop
  185. noop
  186.  
  187. addi $7, $7, -1
  188. noop
  189. noop
  190. noop
  191. noop
  192. jal translateXYToAddr
  193. noop
  194. noop
  195. noop
  196. noop
  197. sw $15, 32768($20)
  198. noop
  199. noop
  200. noop
  201. noop
  202. addi $7, $7, 2
  203.  
  204. addi $8, $8, 1
  205. noop
  206. noop
  207. noop
  208. noop
  209. jal translateXYToAddr
  210. noop
  211. noop
  212. noop
  213. noop
  214. sw $15, 32768($20)
  215. noop
  216. noop
  217. noop
  218. noop
  219.  
  220. addi $8, $8, 1
  221. noop
  222. noop
  223. noop
  224. noop
  225. jal translateXYToAddr
  226. noop
  227. noop
  228. noop
  229. noop
  230. sw $15, 32768($20)
  231. noop
  232. noop
  233. noop
  234. noop
  235.  
  236. addi $8, $8, -3
  237. noop
  238. noop
  239. noop
  240. noop
  241. jal translateXYToAddr
  242. noop
  243. noop
  244. noop
  245. noop
  246. sw $15, 32768($20)
  247. noop
  248. noop
  249. noop
  250. noop
  251.  
  252. addi $8, $8, -1
  253. noop
  254. noop
  255. noop
  256. noop
  257. jal translateXYToAddr
  258. noop
  259. noop
  260. noop
  261. noop
  262. sw $15, 32768($20)
  263. noop
  264. noop
  265. noop
  266. noop
  267.  
  268. addi $8, $8, 2
  269.  
  270. # GET RA
  271. addi $31, $28, 0
  272. addi $28, $0, 0
  273. addi $30, $31, 0
  274. noop
  275. noop
  276. noop
  277. noop
  278. jr $31
  279.  
  280.  
  281. translateXYToAddr:
  282. # $7: X-coord
  283. # $8: Y-coord
  284. # $20: addr
  285. # addr = 640*Y+X
  286.  
  287. addi $23, $0, 640
  288. noop
  289. noop
  290. noop
  291. noop
  292. mul $20, $23, $8
  293. noop
  294. noop
  295. noop
  296. noop
  297. add $20, $20, $7
  298. noop
  299. noop
  300. noop
  301. noop
  302. jr $31
  303.  
  304. exit:
  305. noop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement