Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Subroutine notes: A=8-bit X/Y=16-bit
  2. init
  3. C1E0F5:     7B          TDC                 Clear out A
  4. C1E0F6:     A516            LDA $16         Load up value in $16 from previous routine
  5. code for case 1
  6. C1E0F8:     C901            CMP #$01        Compare it with value of 1
  7. C1E0FA:     F003            BEQ $E0FF       Jump ahead if equal to 1
  8. C1E0FC:     4C84E1          JMP $E184       Otherwise skip to next case
  9. case 1 (check to see if this applies to Chrono)
  10. C1E0FF:     203BE6          JSR $E63B       load subroutine (right after this one)
  11. C1E102:     AEF4B1          LDX $B1F4       load whatever B1F4 is into X
  12. C1E105:     7B          TDC                 clear out accumulator
  13. C1E106:     BD635E          LDA $5E63,x     load whatever was in 5E63 + x offset
  14. C1E109:     AA          TAX                 Transfer to X
  15. C1E10A:     8628            STX $28         save to $28
  16. C1E10C:     A90C            LDA #$0C        load 12 to A
  17. C1E10E:     AA          TAX                 Transfer to X
  18. C1E10F:     862A            STX $2A         store to $2A
  19. C1E111:     200BC9          JSR $C90B       mult.16
  20. C1E114:     A62C            LDX $2C         load result
  21. C1E116:     860A            STX $0A         store in $0A
  22. C1E118:     AEF4B1          LDX $B1F4       load info from B1F4 into x
  23. C1E11B:     BD705E          LDA $5E70,x     load info from 5E70 + offset into A
  24. C1E11E:     AA          TAX                 Transfer to X
  25. C1E11F:     8628            STX $28         store to $28
  26. C1E121:     A905            LDA #$05        load 5 to A
  27. C1E123:     AA          TAX                 Transfer to X
  28. C1E124:     862A            STX $2A         and store it in $2A
  29. C1E126:     200BC9          JSR $C90B       mult.16
  30. C1E129:     C220            REP #$20        set accumulator to 16-bit
  31. C1E12B:     A52C            LDA $2C         Load 16 bit result to accumulator
  32. C1E12D:     18          CLC                 Clear carry
  33. C1E12E:     650A            ADC $0A         Add $0A to accumulator
  34. C1E130:     8530            STA $30         Store into $30
  35. C1E132:     7B          TDC                 clear out accumulator
  36. C1E133:     E220            SEP #$20        set accumulator back to 8-bit
  37. C1E135:     ADEFAE          LDA $AEEF       load $AEFF into accumulator
  38. C1E138:     AA          TAX                 Transfer to X
  39. C1E139:     8628            STX $28         store it in $28
  40. C1E13B:     A901            LDA #$01        load 1 to accumulator
  41. C1E13D:     AA          TAX                 Transfer to X
  42. C1E13E:     862A            STX $2A         store to $2A
  43. C1E140:     200BC9          JSR $C90B       mult.16 (multiplying by 1 makes no sense)
  44. C1E143:     A62C            LDX $2C         load result
  45. C1E145:     8628            STX $28         store it back to $28
  46. C1E147:     A630            LDX $30         load value from $30
  47. C1E149:     862A            STX $2A         store to $2A
  48. C1E14B:     200BC9          JSR $C90B       mult.16
  49. C1E14E:     A62C            LDX $2C         load result
  50. C1E150:     8628            STX $28         store it once again back to $28
  51. C1E152:     A21200          LDX #$0012      take value of 12
  52. C1E155:     862A            STX $2A         store it into $2A
  53. C1E157:     202AC9          JSR $C92A       div.16
  54. C1E15A:     A62C            LDX $2C         load result
  55. C1E15C:     8630            STX $30         store into $30
  56. C1E15E:     7B          TDC                 clear out accumulator
  57. C1E15F:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  58. C1E162:     BD635E          LDA $5E63,x     load up $5E63 + offset X
  59. C1E165:     AA          TAX                 Transfer to X
  60. C1E166:     8628            STX $28         store in $28
  61. C1E168:     A20300          LDX #$0003      load up 3 to X
  62. C1E16B:     862A            STX $2A         store in $2A
  63. C1E16D:     202AC9          JSR $C92A       div.16
  64. C1E170:     7B          TDC                 clear out accumulator
  65. C1E171:     AA          TAX                 Transfer to X
  66. C1E172:     A52C            LDA $2C         load result to accumulator
  67. C1E174:     18          CLC                 Clear carry
  68. C1E175:     6901            ADC #$01        and add 1
  69. C1E177:     2022AF          JSR $AF22       [unknown subroutine]
  70. C1E17A:     8DBEB2          STA $B2BE       store whatever the accumulator is to $B2BE
  71. C1E17D:     A630            LDX $30         load up $30 to X
  72. C1E17F:     862C            STX $2C         and store to $2C
  73. C1E181:     4C75E5          JMP $E575       end of case, jump to end instructions
  74. code for case 2
  75. C1E184:     C902            CMP #$02        compare with value of 2
  76. C1E186:     D074            BNE $E1FC       skip to case 3, if not equal
  77. case 2
  78. C1E188:     203BE6          JSR $E63B       load subroutine (right after this one)
  79. C1E18B:     AEF4B1          LDX $B1F4       load value
  80. C1E18E:     7B          TDC                 clear out accumulator
  81. C1E18F:     BD675E          LDA $5E67,x     load $5E67 + x offset to accumulator
  82. C1E192:     AA          TAX                 Transfer to X
  83. C1E193:     8628            STX $28         Store in $28
  84. C1E195:     A908            LDA #$08        load up 8 to accumulator
  85. C1E197:     AA          TAX                 Transfer to X
  86. C1E198:     862A            STX $2A         store
  87. C1E19A:     200BC9          JSR $C90B       mult.16 (3 ASLs would have done the trick)
  88. C1E19D:     A62C            LDX $2C         load result
  89. C1E19F:     860A            STX $0A         store in $0A
  90. C1E1A1:     AEF4B1          LDX $B1F4       then load $B1F4 in X
  91. C1E1A4:     BD705E          LDA $5E70,x     load $5E70 + x offset to accumulator (no TDC this time?)
  92. C1E1A7:     AA          TAX                 Transfer to X
  93. C1E1A8:     8628            STX $28         store into $28
  94. C1E1AA:     A908            LDA #$08        load up 8
  95. C1E1AC:     AA          TAX                 Transfer to X
  96. C1E1AD:     862A            STX $2A         store into $2A
  97. C1E1AF:     200BC9          JSR $C90B       mult.16 (another 3 ASLs would have worked here, horribly redundant)
  98. C1E1B2:     C220            REP #$20        set accumulator to 16-bit
  99. C1E1B4:     A52C            LDA $2C         Load 16 bit result to accumulator
  100. C1E1B6:     18          CLC                 Clear carry
  101. C1E1B7:     650A            ADC $0A         Add value stored from $0A to accumulator
  102. C1E1B9:     8530            STA $30         Store into $30 (so, it is times 16?)
  103. C1E1BB:     7B          TDC                 clear out accumulator
  104. C1E1BC:     E220            SEP #$20        set accumulator back to 8-bit
  105. C1E1BE:     ADEFAE          LDA $AEEF       load value from $AEEF
  106. C1E1C1:     AA          TAX                 Transfer to X
  107. C1E1C2:     8628            STX $28         Stroe in $28
  108. C1E1C4:     A901            LDA #$01        load up 1 (this again?)
  109. C1E1C6:     AA          TAX                 Transfer to X
  110. C1E1C7:     862A            STX $2A         store in $2A
  111. C1E1C9:     200BC9          JSR $C90B       mult.16
  112. C1E1CC:     A62C            LDX $2C         load result
  113. C1E1CE:     8628            STX $28         store in $28
  114. C1E1D0:     A630            LDX $30         load from $30
  115. C1E1D2:     862A            STX $2A         store in $2A
  116. C1E1D4:     200BC9          JSR $C90B       mult.16
  117. C1E1D7:     A62C            LDX $2C         load result
  118. C1E1D9:     8628            STX $28         store in $28
  119. C1E1DB:     A21200          LDX #$0012      load up 12 in x
  120. C1E1DE:     862A            STX $2A         Store in $2A
  121. C1E1E0:     202AC9          JSR $C92A       div.16
  122. C1E1E3:     AEF4B1          LDX $B1F4       loading $B1F4 into X (here we go again)
  123. C1E1E6:     BD675E          LDA $5E67,x     load $5E67 + x offset to accumulator (no TDC this time?)
  124. C1E1E9:     2063C0          JSR $C063       [unknown subroutine]
  125. C1E1EC:     7B          TDC                 clear out accumulator
  126. C1E1ED:     AA          TAX                 Transfer to clear X
  127. C1E1EE:     A530            LDA $30         load up $30
  128. C1E1F0:     18          CLC                 Clear carry
  129. C1E1F1:     6901            ADC #$01        add 1
  130. C1E1F3:     2022AF          JSR $AF22       [unknown subroutine]
  131. C1E1F6:     8DBEB2          STA $B2BE       Store result in $B2BE
  132. C1E1F9:     4C75E5          JMP $E575       Done, goto finishing instructions
  133. code to determine case 3
  134. C1E1FC:     C903            CMP #$03        compare to 3
  135. C1E1FE:     F003            BEQ $E203       if equal, jump over to case 3
  136. C1E200:     4C76E2          JMP $E276       otherwise just to code to determine case 4
  137. case 3
  138. C1E203:     7B          TDC                 clear out accumulator
  139. C1E204:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  140. C1E207:     BD3F5E          LDA $5E3F,x     load $5E3F + X offset to accumulator
  141. C1E20A:     AA          TAX                 Transfer to X
  142. C1E20B:     8628            STX $28         store in $28
  143. C1E20D:     A90C            LDA #$0C        load up 12
  144. C1E20F:     AA          TAX                 Transfer to X
  145. C1E210:     862A            STX $2A         store to $2A
  146. C1E212:     200BC9          JSR $C90B       mult.16
  147. C1E215:     A62C            LDX $2C         load result
  148. C1E217:     860A            STX $0A         and store to $0A
  149. C1E219:     7B          TDC                 clear out accumulator
  150. C1E21A:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  151. C1E21D:     BD665E          LDA $5E66,x     load $5E66 + X offset to accumulator
  152. C1E220:     AA          TAX                 Transfer to X
  153. C1E221:     8628            STX $28         store in $28
  154. C1E223:     A90C            LDA #$0C        load up 12
  155. C1E225:     AA          TAX                 Transfer to X
  156. C1E226:     862A            STX $2A         load in $2A
  157. C1E228:     200BC9          JSR $C90B       mult.16
  158. C1E22B:     C220            REP #$20        set accumulator to 16-bit
  159. C1E22D:     A52C            LDA $2C         Load 16 bit result to accumulator
  160. C1E22F:     18          CLC                 Clear carry
  161. C1E230:     650A            ADC $0A         Add from $0A
  162. C1E232:     850A            STA $0A         Then store back to $0A
  163. C1E234:     7B          TDC                 clear out accumulator
  164. C1E235:     E220            SEP #$20        set accumulator back to 8-bit
  165. C1E237:     A901            LDA #$01        load 1
  166. C1E239:     AA          TAX                 Transfer to X
  167. C1E23A:     8628            STX $28         store to $28 (groan)
  168. C1E23C:     ADEFAE          LDA $AEEF       load $AEEF into accumulator
  169. C1E23F:     AA          TAX                 Transfer to X
  170. C1E240:     862A            STX $2A         store to $2A
  171. C1E242:     200BC9          JSR $C90B       mult.16 (another x * 1, just why)
  172. C1E245:     A62C            LDX $2C         load result
  173. C1E247:     8628            STX $28         store in $28
  174. C1E249:     A60A            LDX $0A         load up $0A
  175. C1E24B:     862A            STX $2A         store in $2A
  176. C1E24D:     200BC9          JSR $C90B       mult.16
  177. C1E250:     A62C            LDX $2C         load result
  178. C1E252:     8628            STX $28         store in $28
  179. C1E254:     A20F00          LDX #$000F      load 15 in X
  180. C1E257:     862A            STX $2A         store in $2A
  181. C1E259:     202AC9          JSR $C92A       div.16
  182. C1E25C:     7B          TDC                 clear out accumulator
  183. C1E25D:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  184. C1E260:     BD665E          LDA $5E66,x     load $5E66 + X offset to accumulator
  185. C1E263:     2063C0          JSR $C063       [unknown subroutine]
  186. C1E266:     7B          TDC                 clear out accumulator
  187. C1E267:     AA          TAX                 Transfer to clear out X
  188. C1E268:     A530            LDA $30         load $30 into accumulator
  189. C1E26A:     18          CLC                 Clear carry
  190. C1E26B:     6901            ADC #$01        add 1
  191. C1E26D:     2022AF          JSR $AF22       [unknown subroutine]
  192. C1E270:     8DBEB2          STA $B2BE       store result into $B2BE
  193. C1E273:     4C75E5          JMP $E575       jump to end
  194. code to determine case 4
  195. C1E276:     C904            CMP #$04        compare to 4
  196. C1E278:     D059            BNE $E2D3       skip to 5 check if not equal
  197. case 4
  198. C1E27A:     203BE6          JSR $E63B       load subroutine (right after this one)
  199. C1E27D:     7B          TDC                 clear out accumulator
  200. C1E27E:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  201. C1E281:     BD6A5E          LDA $5E6A,x     load $5E6A + X offset to accumulator
  202. C1E284:     AA          TAX                 Transfer to X
  203. C1E285:     8628            STX $28         Store to $28
  204. C1E287:     A902            LDA #$02        load up 2 to accumulator
  205. C1E289:     AA          TAX                 Transfer to X
  206. C1E28A:     862A            STX $2A         store to $2A
  207. C1E28C:     200BC9          JSR $C90B       mult.16 (an ASL would have worked here)
  208. C1E28F:     A62C            LDX $2C         load result
  209. C1E291:     860A            STX $0A         store in $0A
  210. C1E293:     ADEFAE          LDA $AEEF       load $AEEF in accumulator
  211. C1E296:     AA          TAX                 Transfer to X
  212. C1E297:     8628            STX $28         store in $28
  213. C1E299:     A901            LDA #$01        load up 1 (here we go again)
  214. C1E29B:     AA          TAX                 Transfer to X
  215. C1E29C:     862A            STX $2A         store in $2A
  216. C1E29E:     200BC9          JSR $C90B       mult.16 (more useless code)
  217. C1E2A1:     A62C            LDX $2C         load result
  218. C1E2A3:     8628            STX $28         store in $28
  219. C1E2A5:     7B          TDC                 clear out accumulator (needed???)
  220. C1E2A6:     A60A            LDX $0A         load up $0A to X
  221. C1E2A8:     862A            STX $2A         store in $2A
  222. C1E2AA:     200BC9          JSR $C90B       mult.16
  223. C1E2AD:     A62C            LDX $2C         load result
  224. C1E2AF:     8628            STX $28         and store in $28
  225. C1E2B1:     A21200          LDX #$0012      load up 18
  226. C1E2B4:     862A            STX $2A         store in $2A
  227. C1E2B6:     202AC9          JSR $C92A       div.16
  228. C1E2B9:     7B          TDC                 clear out accumulator
  229. C1E2BA:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  230. C1E2BD:     BD6A5E          LDA $5E6A,x     load $5E6A + X offset to accumulator
  231. C1E2C0:     202AC0          JSR $C02A       [unknown subroutine]
  232. C1E2C3:     7B          TDC                 clear out accumulator
  233. C1E2C4:     AA          TAX                 Transfer to X
  234. C1E2C5:     A530            LDA $30         load up $30 to A
  235. C1E2C7:     18          CLC                 Clear carry
  236. C1E2C8:     6902            ADC #$02        add 2
  237. C1E2CA:     2022AF          JSR $AF22       [unknown subroutine]
  238. C1E2CD:     8DBEB2          STA $B2BE       store result from subroutine to $B2BE
  239. C1E2D0:     4C75E5          JMP $E575       jump to end
  240. code to determine case 5
  241. C1E2D3:     C905            CMP #$05        compare with 5
  242. C1E2D5:     F003            BEQ $E2DA       if equal jump to case 5
  243. C1E2D7:     4C69E3          JMP $E369       otherwise jump to cmp 6 branch code
  244. case 5
  245. C1E2DA:     203BE6          JSR $E63B       load subroutine (right after this one)
  246. C1E2DD:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  247. C1E2E0:     7B          TDC                 clear out accumulator
  248. C1E2E1:     BD635E          LDA $5E63,x     load $5E63 + X offset to accumulator
  249. C1E2E4:     AA          TAX                 Transfer to X
  250. C1E2E5:     8628            STX $28         store in $28
  251. C1E2E7:     A910            LDA #$10        load 16
  252. C1E2E9:     AA          TAX                 Transfer to X
  253. C1E2EA:     862A            STX $2A         Store in $2A
  254. C1E2EC:     200BC9          JSR $C90B       mult.16
  255. C1E2EF:     A62C            LDX $2C         load result
  256. C1E2F1:     860A            STX $0A         store in $0A for later
  257. C1E2F3:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  258. C1E2F6:     7B          TDC                 clear out accumulator
  259. C1E2F7:     BD3F5E          LDA $5E3F,x     load $5E63 + X offset to accumulator
  260. C1E2FA:     AA          TAX                 Transfer to X
  261. C1E2FB:     8628            STX $28         Store to $28
  262. C1E2FD:     862A            STX $2A         Store to $2A
  263. C1E2FF:     200BC9          JSR $C90B       mult.16 (looks like it's squaring it)
  264. C1E302:     A62C            LDX $2C         load result
  265. C1E304:     8628            STX $28         store in $28
  266. C1E306:     A20500          LDX #$0005      load up 5
  267. C1E309:     862A            STX $2A         store into $2A
  268. C1E30B:     202AC9          JSR $C92A       div.16
  269. C1E30E:     C220            REP #$20        set accumulator to 16-bit
  270. C1E310:     A52C            LDA $2C         Load 16 bit result to accumulator
  271. C1E312:     18          CLC                 Clear carry
  272. C1E313:     650A            ADC $0A         Add info from $0A (16-bit)
  273. C1E315:     8530            STA $30         store in $30
  274. C1E317:     7B          TDC                 clear out accumulator
  275. C1E318:     E220            SEP #$20        set accumulator back to 8-bit
  276. C1E31A:     ADEFAE          LDA $AEEF       load info from $AEEF into accumulator
  277. C1E31D:     AA          TAX                 Transfer to X
  278. C1E31E:     8628            STX $28         store in $28
  279. C1E320:     A901            LDA #$01        load 1 (groan)
  280. C1E322:     AA          TAX                 Transfer to X
  281. C1E323:     862A            STX $2A         store in $2A
  282. C1E325:     200BC9          JSR $C90B       mult.16
  283. C1E328:     A62C            LDX $2C         load result
  284. C1E32A:     8628            STX $28         store in $28
  285. C1E32C:     A630            LDX $30         load contents of $30 to X
  286. C1E32E:     862A            STX $2A         store in $2A
  287. C1E330:     200BC9          JSR $C90B       mult.16
  288. C1E333:     A62C            LDX $2C         load result
  289. C1E335:     8628            STX $28         store in $28
  290. C1E337:     A21400          LDX #$0014      load up 20
  291. C1E33A:     862A            STX $2A         store in $2A
  292. C1E33C:     202AC9          JSR $C92A       div.16
  293. C1E33F:     A62C            LDX $2C         load result
  294. C1E341:     8630            STX $30         store in $30
  295. C1E343:     7B          TDC                 clear out accumulator
  296. C1E344:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  297. C1E347:     BD3F5E          LDA $5E3F,x     load $5E3F + X offset to accumulator
  298. C1E34A:     AA          TAX                 Transfer to X
  299. C1E34B:     8628            STX $28         store in $28
  300. C1E34D:     A20300          LDX #$0003      load up 3
  301. C1E350:     862A            STX $2A         store in $2A
  302. C1E352:     202AC9          JSR $C92A       div.16
  303. C1E355:     7B          TDC                 clear out accumulator
  304. C1E356:     AA          TAX                 Transfer to X
  305. C1E357:     A52C            LDA $2C         load result
  306. C1E359:     18          CLC                 Clear carry
  307. C1E35A:     6901            ADC #$01        add 1
  308. C1E35C:     2022AF          JSR $AF22       [unknown subroutine]
  309. C1E35F:     8DBEB2          STA $B2BE       store result in $B2BE
  310. C1E362:     A630            LDX $30         load $30 into X
  311. C1E364:     862C            STX $2C         store in $2C (likely for end instructions)
  312. C1E366:     4C75E5          JMP $E575       jump to end
  313. code to determine case 6
  314. C1E369:     C906            CMP #$06        compare A to 6
  315. C1E36B:     D060            BNE $E3CD       jump to next case if not equal
  316. case 6
  317. C1E36D:     203BE6          JSR $E63B       load subroutine (right after this one)
  318. C1E370:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  319. C1E373:     BD645E          LDA $5E64,x     load $5E64 + X offset to accumulator
  320. C1E376:     AA          TAX                 Transfer to X
  321. C1E377:     8628            STX $28         store into $28
  322. C1E379:     A20100          LDX #$0001      load up 1  (this again....)
  323. C1E37C:     862A            STX $2A         store $2A
  324. C1E37E:     200BC9          JSR $C90B       mult.16
  325. C1E381:     A62C            LDX $2C         load result
  326. C1E383:     8628            STX $28         store in $28
  327. C1E385:     ADEFAE          LDA $AEEF       load info from $AEEF into accumulator
  328. C1E388:     AA          TAX                 Transfer to X
  329. C1E389:     862A            STX $2A         store in $2A
  330. C1E38B:     200BC9          JSR $C90B       mult.16
  331. C1E38E:     A62C            LDX $2C         load result
  332. C1E390:     862A            STX $2A         store into $2A
  333. C1E392:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  334. C1E395:     C220            REP #$20        set accumulator to 16-bit
  335. C1E397:     BD325E          LDA $5E32,x     load $5E32 + X offset to accumulator   
  336. C1E39A:     38          SEC                 set carry for subtraction
  337. C1E39B:     FD305E          SBC $5E30,x     subtract contents of ($5E30 + x) from accumulator
  338. C1E39E:     8528            STA $28         store in $28
  339. C1E3A0:     850A            STA $0A         and in $0A
  340. C1E3A2:     7B          TDC                 clear out accumulator
  341. C1E3A3:     E220            SEP #$20        set accumulator back to 8-bit
  342. C1E3A5:     200BC9          JSR $C90B       mult.16
  343. C1E3A8:     A62C            LDX $2C         load result
  344. C1E3AA:     8628            STX $28         store back in $28
  345. C1E3AC:     A28C00          LDX #$008C      load up 140 ( :O )
  346. C1E3AF:     862A            STX $2A         store in $2A
  347. C1E3B1:     202AC9          JSR $C92A       div.16
  348. C1E3B4:     C220            REP #$20        set accumulator to 16-bit
  349. C1E3B6:     A50A            LDA $0A         load contents of $0A into accumulator (this could screw things up if 16 bit value)
  350. C1E3B8:     E220            SEP #$20        set accumulator back to 8-bit  (eerrrrr, what?)
  351. C1E3BA:     20B2C1          JSR $C1B2       [unknown subroutine]
  352. C1E3BD:     7B          TDC                 clear out accumulator
  353. C1E3BE:     AA          TAX                 Transfer to X
  354. C1E3BF:     A530            LDA $30         load contents of $30 into accumulator
  355. C1E3C1:     18          CLC                 Clear carry
  356. C1E3C2:     6901            ADC #$01        add 1
  357. C1E3C4:     2022AF          JSR $AF22       [unknown subroutine]
  358. C1E3C7:     8DBEB2          STA $B2BE       store in $B2BE
  359. C1E3CA:     4C75E5          JMP $E575       jump to end
  360. code to determine case 7
  361. C1E3CD:     C907            CMP #$07        compare a to 7
  362. C1E3CF:     D057            BNE $E428       skip to case 8 determine code if not equal
  363. case 7
  364. C1E3D1:     203BE6          JSR $E63B       load subroutine (right after this one)
  365. C1E3D4:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  366. C1E3D7:     7B          TDC                 clear out accumulator
  367. C1E3D8:     BD635E          LDA $5E63,x     load $5E32 + X offset to accumulator
  368. C1E3DB:     C220            REP #$20        set accumulator to 16-bit
  369. C1E3DD:     0A          ASL a               a * 2
  370. C1E3DE:     AEF8B1          LDX $B1F8       load up $B1F8 to X
  371. C1E3E1:     18          CLC                 Clear carry
  372. C1E3E2:     7D705E          ADC $5E70,x     add contents of ($5E70 + X) offset to accumulator
  373. C1E3E5:     8530            STA $30         and store in $30
  374. C1E3E7:     7B          TDC                 clear out accumulator
  375. C1E3E8:     E220            SEP #$20        set accumulator back to 8-bit
  376. C1E3EA:     ADEFAE          LDA $AEEF       load info from $AEEF to accumulator
  377. C1E3ED:     AA          TAX                 Transfer to X
  378. C1E3EE:     8628            STX $28         store to $28
  379. C1E3F0:     A901            LDA #$01        load 1 (nooooooooooo)
  380. C1E3F2:     AA          TAX                 Transfer to X
  381. C1E3F3:     862A            STX $2A         store to $2A
  382. C1E3F5:     200BC9          JSR $C90B       mult.16
  383. C1E3F8:     A62C            LDX $2C         load result
  384. C1E3FA:     8628            STX $28         store to $28
  385. C1E3FC:     A630            LDX $30         load contents from $30
  386. C1E3FE:     862A            STX $2A         and store in $2A
  387. C1E400:     200BC9          JSR $C90B       mult.16
  388. C1E403:     A62C            LDX $2C         load result
  389. C1E405:     8628            STX $28         and store in $28
  390. C1E407:     A21200          LDX #$0012      load 18 to x
  391. C1E40A:     862A            STX $2A         store in $2A
  392. C1E40C:     202AC9          JSR $C92A       div.16
  393. C1E40F:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  394. C1E412:     BD635E          LDA $5E63,x     load $5E32 + X offset to accumulator
  395. C1E415:     2063C0          JSR $C063       [unknown subroutine]
  396. C1E418:     7B          TDC                 clear out accumulator
  397. C1E419:     AA          TAX                 Transfer to X
  398. C1E41A:     A530            LDA $30         load info from $30 to accumulator
  399. C1E41C:     18          CLC                 Clear carry
  400. C1E41D:     6901            ADC #$01        add 1
  401. C1E41F:     2022AF          JSR $AF22       [unknown subroutine]
  402. C1E422:     8DBEB2          STA $B2BE       store result in $B2BE
  403. C1E425:     4C75E5          JMP $E575       jump to end
  404. code that determines case 8
  405. C1E428:     C908            CMP #$08        compare a to 8
  406. C1E42A:     D003            BNE $E42F       branch to case 8 code if NOT equal?!  (WHOA BUG?)
  407. C1E42C:     4CB7E4          JMP $E4B7       if equal to 8, skip to case 9 code (with the exception of case 8, all other cases use case 8)
  408. case 8
  409. C1E42F:     203BE6          JSR $E63B       load subroutine (right after this one)
  410. C1E432:     AEF4B1          LDX $B1F4       load up $B1F4 to X
  411. C1E435:     7B          TDC                 clear out accumulator
  412. C1E436:     BD635E          LDA $5E63,x     load $5E63 + X offset to accumulator
  413. C1E439:     C220            REP #$20        set accumulator to 16-bit
  414. C1E43B:     0A          ASL a               a * 2
  415. C1E43C:     7B          TDC                 clear out accumulator (????  none of this makes much sense)
  416. C1E43D:     AEF4B1          LDX $B1F4       (note: these may be cases that go unused in the game, possible garbage code, investigate)
  417. C1E440:     BD2E5E          LDA $5E2E,x
  418. C1E443:     898000          BIT #$0080
  419. C1E446:     F005            BEQ $E44D
  420. C1E448:     BD6C5E          LDA $5E6C,x
  421. C1E44B:     8017            BRA $E464
  422. C1E44D:     894000          BIT #$0040
  423. C1E450:     F005            BEQ $E457
  424. C1E452:     BD6D5E          LDA $5E6D,x
  425. C1E455:     800D            BRA $E464
  426. C1E457:     892000          BIT #$0020
  427. C1E45A:     F005            BEQ $E461
  428. C1E45C:     BD6E5E          LDA $5E6E,x
  429. C1E45F:     8003            BRA $E464
  430. C1E461:     BD6F5E          LDA $5E6F,x
  431. C1E464:     C220            REP #$20        set accumulator to 16-bit
  432. C1E466:     18          CLC                 Clear carry
  433. C1E467:     6DF8B1          ADC $B1F8
  434. C1E46A:     AA          TAX                 Transfer to X
  435. C1E46B:     8630            STX $30
  436. C1E46D:     7B          TDC                 clear out accumulator
  437. C1E46E:     E220            SEP #$20        set accumulator back to 8-bit
  438. C1E470:     18          CLC                 Clear carry
  439. C1E471:     7D705E          ADC $5E70,x
  440. C1E474:     8530            STA $30
  441. C1E476:     7B          TDC                 clear out accumulator
  442. C1E477:     E220            SEP #$20        set accumulator back to 8-bit
  443. C1E479:     ADEFAE          LDA $AEEF
  444. C1E47C:     AA          TAX                 Transfer to X
  445. C1E47D:     8628            STX $28
  446. C1E47F:     A901            LDA #$01
  447. C1E481:     AA          TAX                 Transfer to X
  448. C1E482:     862A            STX $2A
  449. C1E484:     200BC9          JSR $C90B       mult.16
  450. C1E487:     A62C            LDX $2C         load result
  451. C1E489:     8628            STX $28
  452. C1E48B:     A630            LDX $30
  453. C1E48D:     862A            STX $2A
  454. C1E48F:     200BC9          JSR $C90B       mult.16
  455. C1E492:     A62C            LDX $2C         load result
  456. C1E494:     8628            STX $28
  457. C1E496:     A21200          LDX #$0012
  458. C1E499:     862A            STX $2A
  459. C1E49B:     202AC9          JSR $C92A       div.16
  460. C1E49E:     AEF4B1          LDX $B1F4
  461. C1E4A1:     BD635E          LDA $5E63,x
  462. C1E4A4:     2063C0          JSR $C063       [unknown subroutine]
  463. C1E4A7:     7B          TDC                 clear out accumulator
  464. C1E4A8:     AA          TAX                 Transfer to X
  465. C1E4A9:     A530            LDA $30
  466. C1E4AB:     18          CLC                 Clear carry
  467. C1E4AC:     6901            ADC #$01
  468. C1E4AE:     2022AF          JSR $AF22       [unknown subroutine]
  469. C1E4B1:     8DBEB2          STA $B2BE
  470. C1E4B4:     4C75E5          JMP $E575
  471. C1E4B7:     C909            CMP #$09
  472. C1E4B9:     D056            BNE $E511
  473. C1E4BB:     203BE6          JSR $E63B       load subroutine (right after this one)
  474. C1E4BE:     AEF4B1          LDX $B1F4
  475. C1E4C1:     BD635E          LDA $5E63,x
  476. C1E4C4:     C220            REP #$20        set accumulator to 16-bit
  477. C1E4C6:     0A          ASL a
  478. C1E4C7:     AEF4B1          LDX $B1F4
  479. C1E4CA:     18          CLC                 Clear carry
  480. C1E4CB:     7D705E          ADC $5E70,x
  481. C1E4CE:     8530            STA $30
  482. C1E4D0:     7B          TDC                 clear out accumulator
  483. C1E4D1:     E220            SEP #$20        set accumulator back to 8-bit
  484. C1E4D3:     ADEFAE          LDA $AEEF
  485. C1E4D6:     AA          TAX                 Transfer to X
  486. C1E4D7:     8628            STX $28
  487. C1E4D9:     A901            LDA #$01
  488. C1E4DB:     AA          TAX                 Transfer to X
  489. C1E4DC:     862A            STX $2A
  490. C1E4DE:     200BC9          JSR $C90B       mult.16
  491. C1E4E1:     A62C            LDX $2C         load result
  492. C1E4E3:     8628            STX $28
  493. C1E4E5:     A630            LDX $30
  494. C1E4E7:     862A            STX $2A
  495. C1E4E9:     200BC9          JSR $C90B       mult.16
  496. C1E4EC:     A62C            LDX $2C         load result
  497. C1E4EE:     8628            STX $28
  498. C1E4F0:     A21200          LDX #$0012
  499. C1E4F3:     862A            STX $2A
  500. C1E4F5:     202AC9          JSR $C92A       div.16
  501. C1E4F8:     AEF4B1          LDX $B1F4
  502. C1E4FB:     BD635E          LDA $5E63,x
  503. C1E4FE:     2063C0          JSR $C063       [unknown subroutine]
  504. C1E501:     7B          TDC                 clear out accumulator
  505. C1E502:     AA          TAX                 Transfer to X
  506. C1E503:     A530            LDA $30
  507. C1E505:     18          CLC                 Clear carry
  508. C1E506:     6901            ADC #$01
  509. C1E508:     2022AF          JSR $AF22       [unknown subroutine]
  510. C1E50B:     8DBEB2          STA $B2BE
  511. C1E50E:     4C75E5          JMP $E575
  512. C1E511:     C90A            CMP #$0A
  513. C1E513:     D060            BNE $E575
  514. C1E515:     7B          TDC                 clear out accumulator
  515. C1E516:     ADECAE          LDA $AEEC
  516. C1E519:     C220            REP #$20        set accumulator to 16-bit
  517. C1E51B:     18          CLC                 Clear carry
  518. C1E51C:     6DF4B1          ADC $B1F4
  519. C1E51F:     AA          TAX                 Transfer to X
  520. C1E520:     7B          TDC                 clear out accumulator
  521. C1E521:     E220            SEP #$20        set accumulator back to 8-bit
  522. C1E523:     BD2D5E          LDA $5E2D,x
  523. C1E526:     850A            STA $0A
  524. C1E528:     4A          LSR a
  525. C1E529:     18          CLC                 Clear carry
  526. C1E52A:     650A            ADC $0A
  527. C1E52C:     8530            STA $30
  528. C1E52E:     AEF4B1          LDX $B1F4
  529. C1E531:     BD665E          LDA $5E66,x
  530. C1E534:     C220            REP #$20        set accumulator to 16-bit
  531. C1E536:     18          CLC                 Clear carry
  532. C1E537:     6530            ADC $30
  533. C1E539:     8530            STA $30
  534. C1E53B:     7B          TDC                 clear out accumulator
  535. C1E53C:     E220            SEP #$20        set accumulator back to 8-bit
  536. C1E53E:     ADEFAE          LDA $AEEF
  537. C1E541:     AA          TAX                 Transfer to X
  538. C1E542:     8628            STX $28
  539. C1E544:     A901            LDA #$01
  540. C1E546:     AA          TAX                 Transfer to X
  541. C1E547:     862A            STX $2A
  542. C1E549:     200BC9          JSR $C90B       mult.16
  543. C1E54C:     A62C            LDX $2C         load result
  544. C1E54E:     8628            STX $28
  545. C1E550:     A630            LDX $30
  546. C1E552:     862A            STX $2A
  547. C1E554:     200BC9          JSR $C90B       mult.16
  548. C1E557:     A62C            LDX $2C         load result
  549. C1E559:     8628            STX $28
  550. C1E55B:     A20F00          LDX #$000F
  551. C1E55E:     862A            STX $2A
  552. C1E560:     202AC9          JSR $C92A       div.16
  553. C1E563:     A50A            LDA $0A
  554. C1E565:     2063C0          JSR $C063       [unknown subroutine]
  555. C1E568:     7B          TDC                 clear out accumulator
  556. C1E569:     AA          TAX                 Transfer to X
  557. C1E56A:     A530            LDA $30
  558. C1E56C:     18          CLC                 Clear carry
  559. C1E56D:     6901            ADC #$01
  560. C1E56F:     2022AF          JSR $AF22       [unknown subroutine]
  561. C1E572:     8DBEB2          STA $B2BE
  562. finishing instructions?
  563. C1E575:     AEF4B1          LDX $B1F4
  564. C1E578:     BD4E5E          LDA $5E4E,x
  565. C1E57B:     1D535E          ORA $5E53,x
  566. C1E57E:     8980            BIT #$80
  567. C1E580:     F010            BEQ $E592
  568. C1E582:     C220            REP #$20        set accumulator to 16-bit
  569. C1E584:     A52C            LDA $2C         Load 16 bit result to accumulator
  570. C1E586:     4A          LSR a
  571. C1E587:     18          CLC                 Clear carry
  572. C1E588:     652C            ADC $2C
  573. C1E58A:     852C            STA $2C
  574. C1E58C:     7B          TDC                 clear out accumulator
  575. C1E58D:     E220            SEP #$20        set accumulator back to 8-bit
  576. C1E58F:     4C32E6          JMP $E632
  577. C1E592:     BD4E5E          LDA $5E4E,x
  578. C1E595:     1D535E          ORA $5E53,x
  579. C1E598:     8908            BIT #$08
  580. C1E59A:     F01A            BEQ $E5B6
  581. C1E59C:     A62C            LDX $2C         load result?
  582. C1E59E:     8628            STX $28
  583. C1E5A0:     A20200          LDX #$0002
  584. C1E5A3:     862A            STX $2A
  585. C1E5A5:     202AC9          JSR $C92A       div.16
  586. C1E5A8:     A62C            LDX $2C         load result
  587. C1E5AA:     8628            STX $28
  588. C1E5AC:     A20300          LDX #$0003
  589. C1E5AF:     862A            STX $2A
  590. C1E5B1:     200BC9          JSR $C90B       mult.16
  591. C1E5B4:     8022            BRA $E5D8
  592. C1E5B6:     BD4E5E          LDA $5E4E,x
  593. C1E5B9:     1D535E          ORA $5E53,x
  594. C1E5BC:     8902            BIT #$02
  595. C1E5BE:     F018            BEQ $E5D8
  596. C1E5C0:     A62C            LDX $2C         load result?
  597. C1E5C2:     8628            STX $28
  598. C1E5C4:     A20400          LDX #$0004
  599. C1E5C7:     862A            STX $2A
  600. C1E5C9:     202AC9          JSR $C92A       div.16
  601. C1E5CC:     A62C            LDX $2C         load result
  602. C1E5CE:     8628            STX $28
  603. C1E5D0:     A20500          LDX #$0005
  604. C1E5D3:     862A            STX $2A
  605. C1E5D5:     200BC9          JSR $C90B       mult.16
  606. C1E5D8:     AEF4B1          LDX $B1F4
  607. C1E5DB:     BD4B5E          LDA $5E4B,x
  608. C1E5DE:     8940            BIT #$40
  609. C1E5E0:     F018            BEQ $E5FA
  610. C1E5E2:     A62C            LDX $2C         load result?
  611. C1E5E4:     8628            STX $28
  612. C1E5E6:     A20800          LDX #$0008
  613. C1E5E9:     862A            STX $2A
  614. C1E5EB:     200BC9          JSR $C90B       mult.16
  615. C1E5EE:     A62C            LDX $2C         load result
  616. C1E5F0:     8628            STX $28
  617. C1E5F2:     A20A00          LDX #$000A
  618. C1E5F5:     862A            STX $2A
  619. C1E5F7:     202AC9          JSR $C92A       div.16
  620. C1E5FA:     AEF4B1          LDX $B1F4
  621. C1E5FD:     BD4B5E          LDA $5E4B,x
  622. C1E600:     8920            BIT #$20
  623. C1E602:     F018            BEQ $E61C
  624. C1E604:     A62C            LDX $2C         load result?
  625. C1E606:     8628            STX $28
  626. C1E608:     A20800          LDX #$0008
  627. C1E60B:     862A            STX $2A
  628. C1E60D:     200BC9          JSR $C90B       mult.16
  629. C1E610:     A62C            LDX $2C         load result
  630. C1E612:     8628            STX $28
  631. C1E614:     A20A00          LDX #$000A
  632. C1E617:     862A            STX $2A
  633. C1E619:     202AC9          JSR $C92A       div.16
  634. C1E61C:     AEF4B1          LDX $B1F4
  635. C1E61F:     BD4B5E          LDA $5E4B,x
  636. C1E622:     8904            BIT #$04
  637. C1E624:     F00C            BEQ $E632
  638. C1E626:     A62C            LDX $2C         load result?
  639. C1E628:     8628            STX $28
  640. C1E62A:     A20400          LDX #$0004
  641. C1E62D:     862A            STX $2A
  642. C1E62F:     202AC9          JSR $C92A       div.16
  643. C1E632:     A62C            LDX $2C         load result
  644. C1E634:     8616            STX $16
  645. C1E636:     7B          TDC                 clear out accumulator
  646. C1E637:     AA          TAX                 Transfer to X
  647. C1E638:     860A            STX $0A
  648. C1E63A:     60          RTS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement