Advertisement
Guest User

EntranceEdit.asm

a guest
Nov 18th, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. lorom
  2. header
  3.  
  4. !FreeRAM = $7EC120
  5. !FreeRAM_SA1 = $61FF
  6.  
  7. ; SA-1/FastROM defines, do not edit.
  8. !bank = $800000
  9. !addr = $0000
  10.  
  11. if read1($00ffd5) == $23
  12. sa1rom
  13. !addr = $6000
  14. !bank = $000000
  15. !FreeRAM = !FreeRAM_SA1
  16. endif
  17.  
  18. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  19.  
  20.  
  21.  
  22. org $05DA24
  23. autoclean JML CodeStart
  24.  
  25. org $05DAAC
  26. autoclean JML CodeStart2
  27.  
  28. org $00A692
  29. autoclean JML CodeStart3;okay, so the code starts at four places...?
  30.  
  31.  
  32. org $00C870
  33. autoclean JML CodeStart4
  34.  
  35. ; ==============================
  36. ; Levelnum.ips disassembly
  37. ; ==============================
  38.  
  39. ORG $05D8B9
  40. JSR Levelnummain
  41.  
  42. ORG $05DC46
  43. Levelnummain: LDA $0E ;Load level number
  44. STA $010B|!addr ;Store it in free stack RAM
  45. ASL A ;Multiply level number by 2
  46. RTS ;Return from subroutine and return the level value... or something
  47.  
  48.  
  49. freedata ; this one doesn't change the data bank register, so it uses the RAM mirrors from another bank, so I might as well toss it into banks 40+
  50.  
  51. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  52.  
  53. CodeStart: ;
  54.  
  55. REP #$30
  56. LDA $0E
  57. AND #$01FF
  58. TAX
  59. SEP #$20
  60. LDA #$00
  61. STA !FreeRAM
  62. LDA.l E_DATA,x
  63. SEP #$10
  64. BNE .Skip_00
  65.  
  66. LDA #$01
  67. STA $1B9B|!addr
  68.  
  69. .Return JML $05DAD7|!bank ;0...yoshi禁止無効
  70.  
  71. .Skip_00
  72. CMP #$01
  73. BNE .Custom
  74.  
  75. LDX #$04
  76. LDY #$04
  77. JML $05DA28|!bank ;1..通常の振る舞い
  78.  
  79. .Custom LDY #$03
  80. LDX #$04
  81. LDA $141A|!addr ;2..カスタム
  82. BNE .Return
  83. LDA $141D|!addr
  84. BNE .Return
  85. LDA $141F|!addr
  86. BNE .Return
  87. LDA #$AB
  88. STA !FreeRAM
  89. ;JML $05DA65|!bank
  90. LDA #$60
  91. STA $96
  92. LDA #$01
  93. STA $97
  94. LDA #$30
  95. STA $94
  96. STZ $95
  97. LDA #$C0
  98. STA $1C
  99. STA $20
  100. STZ $192A|!addr
  101. JML $05DA8A|!bank
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. CodeStart2: LDA !FreeRAM
  110. CMP #$AB
  111. BEQ .Custom2
  112.  
  113.  
  114. TXA ;通常の振る舞い
  115. ASL
  116. CLC
  117. ADC $00
  118. JML $05DAB1|!bank
  119.  
  120.  
  121. .Custom2 REP #$30
  122. LDA $0E
  123. AND #$01FF
  124. TAX
  125. LDA.l E_DATA,x
  126. AND #$00FF
  127. STA $00
  128. ASL
  129. CLC
  130. ADC $00
  131. TAX
  132. SEP #$20
  133. LDA $05E000|!bank,x ;levelPtr1
  134. STA $65
  135. LDA $05E001|!bank,x
  136. STA $66
  137. LDA $05E002|!bank,x
  138. STA $67
  139. LDA $05E600|!bank,x ;levelPtr2
  140. STA $68
  141. LDA $05E601|!bank,x
  142. STA $69
  143. LDA $05E602|!bank,x
  144. STA $6A
  145. REP #$20
  146. LDA $00
  147. ASL
  148. TAX
  149. SEP #$20
  150. LDA $05EC00|!bank,x ;levelPtrS
  151. STA $CE
  152. LDA $05EC01|!bank,x
  153. STA $CF
  154. LDX $00
  155. LDA $0EF100|!bank,x
  156. STA $D0
  157. SEP #$10
  158. LDY #$04
  159. LDA [$65],y
  160. AND #$0F
  161. STA $1931|!addr
  162.  
  163. LDA $05F200|!bank,x
  164. AND #$C0
  165. CLC
  166. ASL
  167. ROL
  168. ROL
  169. STA $1BE3|!addr
  170. STZ $141D|!addr
  171. STZ $141A|!addr
  172. STZ $141F|!addr
  173. STZ $13CF|!addr
  174. LDX #$05
  175. JML $05DAD7|!bank ;$00A6C5あたりを気をつける
  176.  
  177.  
  178.  
  179. CodeStart3: LDY #$01
  180. LDX $1931|!addr
  181. LDA !FreeRAM
  182. CMP #$AB
  183. BEQ .Custom3
  184. JML $00A697|!bank
  185.  
  186. .Custom3 STZ $1497|!addr
  187. JML $00A6B6|!bank
  188.  
  189.  
  190. CodeStart4: STZ $13E2|!addr ;A=7;
  191. LDX $1931|!addr
  192. LDA !FreeRAM
  193. CMP #$AB
  194. BEQ .Custom4
  195. LDA #$07
  196. JML $00C876|!bank
  197.  
  198. .Custom4 JML $00C88D|!bank
  199.  
  200.  
  201.  
  202.  
  203. E_DATA: incsrc EntranceEdit_Data.asm
  204.  
  205.  
  206. ; $141D,$141A,$141F,$13CFが全て0でなければならない
  207. ; Tileset$1931から得られるデータが02以上でなければならない
  208. ;
  209. ;
  210. ;$96F4があやしい
  211. ;LoadLevelにはL1,L2のロードしか含まれない 02A751がスプライト?
  212. ;その中でも特に01808C
  213. ;
  214. ;EnterCastleAniがあやしい
  215. ;
  216. ;Sprite dataはコースに読み出す必要が無い!?
  217. ;$CEから直接読んでいる
  218. ;よって無効化されているのはそっち
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement