Guest User

Untitled

a guest
Nov 12th, 2017
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. if read1($00FFD5) == $23
  2. sa1rom
  3. endif
  4. ; Mario and Luigi graphics are stored separately in the files
  5. ; "Mario.bin" and "Luigi.bin". The graphics in GFX32 are no longer used.
  6. ; Make sure "Mario.bin" or "Luigi.bin" are around 24 KB in size,
  7. ; the same size as GFX32.bin, to avoid taking up freespace.
  8.  
  9. ; The hack must have been edited by Lunar Magic before applying this patch.
  10. ; If you haven't used Lunar Magic, open your ROM, extract GFX, insert GFX
  11. ; and save a level.
  12.  
  13. ; MUST BE AN UNUSED RAM ADDRESS
  14. ; (Default address: "Unused" part of stack)
  15. !currentGfx = $7E010F
  16.  
  17. ; Replacement GFX files for Luigi
  18. !gfx00Luigi = #$00 ; Extended tiles
  19. !gfx22Luigi = #$22 ; Blushing graphics (Small)
  20. !gfx24Luigi = #$24 ; Blushing graphics (Super)
  21.  
  22.  
  23.  
  24. org $00AA6B
  25. autoclean JSL Gfx
  26.  
  27. org $049DD6
  28. autoclean JSL SwitchPlayer
  29.  
  30. org $00B8A4
  31. autoclean JSL Load1st
  32. RTS
  33.  
  34. org $009AA4
  35. autoclean JSL Title
  36.  
  37. org $00A99B
  38. autoclean JSL Setup
  39.  
  40. org $00A1DA
  41. autoclean JML Select
  42.  
  43. freecode
  44. prot MarioGfx,LuigiGfx
  45.  
  46. Select:
  47.  
  48. JSR Change ;\ Don't change this, it will upload the graphics every frame.
  49. JSR Upload ;/ Scroll Down to see the Change:
  50.  
  51. LDA $7426 ;\
  52. BEQ Select2 ;| Restore Codes
  53. JML $00A1DF ;|
  54. ;|
  55. Select2: ;|
  56. JML $00A1E4 ;/
  57.  
  58. SwitchPlayer:
  59. STA $6DB3
  60. TAX
  61. JSR Change
  62. JSR Upload
  63. RTL
  64.  
  65. Setup:
  66. LDA #$FF
  67. STA !currentGfx
  68. LDA #$03
  69. STA $0F
  70. RTL
  71.  
  72. Load1st:
  73. SEP #$30
  74. JSR Change
  75. JSR Upload
  76. RTL
  77.  
  78. Title:
  79. JSR Change
  80. JSR Upload
  81. JML $04F675
  82.  
  83. Change:
  84. LDA $6DB3 ;\
  85. CMP #$00 ;| See this? You can change this to whatever you want.
  86. BEQ Mario ;|
  87. ;|
  88. LDA $6DB3 ;|
  89. CMP #$01 ;|
  90. BEQ Luigi ;/
  91. RTS
  92.  
  93. Luigi:
  94. LDA.b #LuigiGfx
  95. STA $4302
  96. LDA.b #LuigiGfx>>8
  97. STA $4303
  98. LDA.b #LuigiGfx>>16
  99. STA $4304
  100. LDA #$01
  101. RTS
  102. ;BRA Upload
  103. Mario:
  104. LDA.b #MarioGfx
  105. STA $4302
  106. LDA.b #MarioGfx>>8
  107. STA $4303
  108. LDA.b #MarioGfx>>16
  109. LDA.b #MarioGfx>>16
  110. STA $4304
  111. LDA #$00
  112. RTS
  113.  
  114. Upload:
  115. CMP !currentGfx
  116. BEQ Return
  117. STA !currentGfx
  118. LDA #$00
  119. STA $4305
  120. LDA #$5D
  121. STA $4306
  122. LDA #$00
  123. STA $2181
  124. LDA #$20
  125. STA $2182
  126. LDA #$7E
  127. STA $2183
  128. LDA #$80
  129. STA $4301
  130. LDA #$00
  131. STA $4300
  132. LDA #$01
  133. STA $420B
  134.  
  135. Return:
  136. RTS
  137.  
  138. Gfx:
  139. LDA !currentGfx
  140. CMP #$01
  141. BNE GfxGo
  142. CPY #$00
  143. BEQ Gfx00
  144. CPY #$22
  145. BEQ Gfx22
  146. CPY #$24
  147. BEQ Gfx24
  148.  
  149. GfxGo:
  150. if read3($0FF160) == $FFFFFF
  151. JML $00BA28
  152. else
  153. JML $0FF160
  154. endif
  155. Gfx00:
  156. LDY !gfx00Luigi
  157. BRA GfxGo
  158. Gfx22:
  159. LDY !gfx22Luigi
  160. BRA GfxGo
  161. Gfx24:
  162. LDY !gfx24Luigi
  163. BRA GfxGo
  164.  
  165. ; Point these to the start of two empty banks
  166.  
  167. freecode align
  168.  
  169. MarioGfx:
  170. incbin Mario.bin
  171.  
  172. freecode align
  173.  
  174. LuigiGfx:
  175. incbin Luigi.bin
Advertisement
Add Comment
Please, Sign In to add comment