Advertisement
rubixcuber

Code

Dec 17th, 2020
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1.  
  2. loadsub:
  3. LDY #$00
  4. LDX #$00
  5. -
  6. LDA #$00
  7. STA !Sets,X
  8. STA !Sets+1,X
  9. INX
  10. INX
  11. INY
  12. CPY.B !NumSets
  13. BNE -
  14.  
  15. LDY #$00
  16. LDX #$00
  17. -
  18. LDA #$00
  19. STA !Counts,X
  20. INX
  21. PHX
  22. TYX
  23. LDA.L Count,X
  24. PLX
  25. STA !Counts,X
  26. INX
  27. INY
  28. CPY.B !NumFind
  29. BNE -
  30.  
  31. REP #$10
  32.  
  33. JSR GetCounts
  34.  
  35. SEP #$10
  36. LDY #$00
  37. LDX #$00
  38. -
  39. LDA Type,Y
  40. CMP #$02
  41. BEQ +
  42.  
  43. INX
  44. INX
  45. INY
  46. CPY.B !NumFind
  47. BNE -
  48. BRA ++
  49. +
  50. LDA !Counts,X
  51. SEC
  52. SBC !Counts+1,X
  53. STA !Counts+1,X
  54. INX
  55. INX
  56. INY
  57. CPY.B !NumFind
  58. BNE -
  59. ++
  60. REP #$10
  61.  
  62. LDX #$37FF
  63. -
  64. LDA $7EC800,x
  65. STA $00
  66. LDA $7FC800,x
  67. STA $01
  68.  
  69. REP #$20
  70. LDA $00
  71. CMP #$0025
  72. BEQ +
  73. SEP #$20
  74.  
  75. JSR FindTile
  76. BCC +
  77.  
  78. JSR GetData
  79.  
  80. LDY $02
  81. LDA Type,Y
  82.  
  83. PHX
  84.  
  85. BNE ++
  86. JMP Random
  87. ++
  88. DEC
  89. BNE ++
  90. JMP Choose
  91. ++
  92. DEC
  93. BNE ++
  94. JMP Choose
  95. ++
  96. PLX
  97. BRA +
  98.  
  99. ReplaceDone:
  100.  
  101. PLX
  102.  
  103. STA $7EC800,x
  104. XBA
  105. STA $7FC800,x
  106.  
  107. +
  108. SEP #$20
  109. DEX
  110. BPL -
  111.  
  112. SEP #$10
  113.  
  114. LDA $148B|!addr
  115. STA !FreeRAM+4
  116. LDA $148C|!addr
  117. STA !FreeRAM+5
  118.  
  119.  
  120.  
  121. RTS
  122.  
  123. FindTile:
  124.  
  125. PHX
  126. REP #$20
  127. LDX #$0000
  128. -
  129. LDA Find,x
  130. CMP #$FFFF
  131. BEQ NotFound
  132.  
  133. CMP $00
  134. BEQ Found
  135. INX
  136. INX
  137. BRA -
  138. Found:
  139. TXA
  140. LSR
  141. STA $02
  142. SEP #$20
  143. PLX
  144. SEC
  145. RTS
  146. NotFound:
  147. SEP #$20
  148. PLX
  149. CLC
  150. RTS
  151.  
  152. GetData:
  153. REP #$20
  154. STZ $06
  155. STZ $08
  156.  
  157. PHX
  158.  
  159. LDY $02
  160.  
  161. LDX #$0000
  162. -
  163. LDA Data,X
  164. INX
  165. INX
  166. CPY #$0000
  167. BEQ DataFound
  168. ASL
  169. STA $08
  170. TXA
  171. CLC
  172. ADC $08
  173. TAX
  174. DEY
  175. BRA -
  176.  
  177. DataFound:
  178. STA $08
  179. STX $06
  180. PLX
  181. SEP #$20
  182. RTS
  183.  
  184. GetCounts:
  185.  
  186. LDX #$37FF
  187. -
  188. LDA $7EC800,x
  189. STA $00
  190. LDA $7FC800,x
  191. STA $01
  192.  
  193. REP #$20
  194. LDA $00
  195. CMP #$0025
  196. BEQ +
  197. SEP #$20
  198.  
  199. JSR FindTile
  200. BCC +
  201.  
  202. LDY $02
  203. LDA Type,Y
  204. BEQ +++
  205.  
  206. PHX
  207. TYA
  208. ASL
  209. TAX
  210. LDA !Counts,X
  211. INC
  212. STA !Counts,X
  213. PLX
  214. +++
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement