Advertisement
Guest User

Layer3ExGFX

a guest
Sep 24th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.83 KB | None | 0 0
  1. ; This patch requires you insert GFX or ExGFX (anything) with Lunar Magic before you patch it.
  2. ; Lunar Magic will install an ASM hack that this patch hijacks
  3. ; if you don't do that first, this patch will do nothing.
  4.  
  5. ; This patch also makes the FG1-4 OW GFX reload on submap switch via exit tile, along with the layer 3 GFX
  6. ; (SMW didn't originally do this)
  7.  
  8. ; If you experience split-second graphical glitches on mid-submap-transition between certain submaps that
  9. ; have different border or font GFX, enable FBLANK for both a->b and b->a in the table UseFBlankSubmap2Submap.
  10. ; This will cause the screen to turn black for a split second while it uploads the layer 3 GFX.
  11.  
  12. ; IF YOU HAVE ALREADY PATCHED A PREVIOUS VERSION OF LAYER 3 EXGFX, BE SURE TO APPLY "REVERT.asm" TO YOUR ROM BEFORE PATCHING THIS!!!
  13.  
  14.  
  15. header
  16. lorom
  17.  
  18. ;========================
  19. ; DEFINES
  20. ;========================
  21.  
  22. !CodeFreeSpace = $41ED00
  23.  
  24. !LastSubmap = $0F3E ; used to figure out if necessary to flicker screen
  25.  
  26. ;========================
  27. ; HIJACKS
  28. ;========================
  29.  
  30. org $009471
  31. JSL Label0
  32. NOP
  33.  
  34. org $00A0B3
  35. JSL Label1
  36. NOP
  37. NOP
  38.  
  39. org $04859B
  40. dl Label3
  41.  
  42. org $008229
  43. JSL S2SNMI
  44.  
  45. org $0FF780
  46. JML HIJACK_STUFF
  47. NOP
  48.  
  49. ;==========================
  50. ; FROM LEVELASM, NOT BY ME
  51. ;==========================
  52.  
  53. ORG $05D8B9
  54. JSR Levelnummain
  55.  
  56. ORG $05DC46
  57. Levelnummain: LDA $0E ;Load level number
  58. STA $010B ;Store it in free stack RAM
  59. ASL A ;Multiply A by 2, probably to recover old code?
  60. RTS ;Return from subroutine
  61.  
  62. ;-----------------------
  63. ; CUSTOM CODE
  64. ;-----------------------
  65.  
  66. org !CodeFreeSpace
  67. reset bytes
  68.  
  69. !CodeSize = End-HIJACK_STUFF
  70. db "STAR"
  71. dw !CodeSize-$01
  72. dw !CodeSize-$01^$FFFF
  73.  
  74. HIJACK_STUFF:
  75.  
  76. PHB
  77. PHX
  78. PHY ; Preserve nearly everything
  79. PHP
  80. PHK
  81. PLB
  82.  
  83. LDA.w $0100 ; don't execute if not loading level
  84. CMP.b #$04
  85. BEQ InLevel
  86. CMP.b #$12
  87. BNE NotInLevel
  88.  
  89. InLevel:
  90. JSR Label2 ; run code
  91.  
  92. SEP #$20
  93. LDA #$0F
  94. PHA
  95. PLB
  96.  
  97. NotInLevel:
  98.  
  99. PLP
  100. PLY
  101. PLX
  102. PLB
  103.  
  104. PEA $F783
  105. LDA #$0C
  106. JML $0FF840 ; return
  107.  
  108. ;-----------------------;
  109. ; OW Layer 3 ExGFX Rt ;
  110. ;-----------------------;
  111. ; Submap -> Submap ;
  112. ;-----------------------;
  113.  
  114. Label3:
  115. SEP #$30 ;original routine located at $04DAEF
  116. LDA $1DE8
  117. JSL $0086FA ;ExecutePtrLong
  118.  
  119. dl $04DB18
  120. dl $04DCB6
  121. dl $04DCB6
  122. dl $04DCB6
  123. dl $04DCB6
  124. dl ExGraFix ;FG1 1st half
  125. dl Wait ;FG1 2nd half
  126. dl ExGraFix ;FG2 1st half
  127. dl Wait ;FG2 2nd half
  128. dl ExGraFix ;FG3 1st half
  129. dl Wait ;FG3 2nd half
  130. dl ExGraFix ;FG4 1st half
  131. dl Wait ;FG4 2nd half
  132. dl ExGraFix ;L3-1
  133. dl ExGraFix ;L3-2
  134. dl ExGraFix ;L3-3
  135. dl ExGraFix ;L3-4
  136. dl $04DB9D
  137. dl $04DB18
  138. dl $04DBCF
  139.  
  140. ExGraFix: ;executes when $1DE8 equals $05-$10
  141. INC $1DE8 ;next submap-change mode
  142. STZ $00 ; \
  143. LDA #$EC ; | destination
  144. STA $01 ; | of data
  145. LDA #$7E ; |
  146. STA $02 ; /
  147. LDA $1DE8 ;$06-$0D (because it was INC'd)
  148. CMP #$0E ;if $0E-$11, then do layer 3 GFX
  149. BCS Layer3S2S ;else stay and do FG1-FG4 ($06-$0D)
  150. LDA $1DE8 ; \ only upload GFX file once to RAM
  151. AND #$01 ; |
  152. BNE ReturnB04 ; /
  153. LDX $0DB3
  154. LDA $1F11,x
  155. ASL #3
  156. CLC
  157. ADC $1DE8
  158. SEC
  159. SBC #$06
  160. LSR A
  161. TAX
  162. LDA $00A96F,x ;get ExGFX file number
  163. REP #$30
  164. AND #$00FF
  165. PHA
  166. JSL $0FF900 ;decompress
  167. PLA
  168. CMP #$0008 ;GFX08 gets special treatment...
  169. BEQ GFX08GFX1EFix
  170. CMP #$001E ;...so does GFX1E
  171. BEQ GFX08GFX1EFix
  172. SEP #$30
  173. ReturnB04:
  174. JML $04DB9C ;a RTS in bank 04
  175.  
  176. Layer3S2S:
  177. LDA $1DE8
  178. CMP #$0E ;only make FBlank-or-not decision once
  179. BNE ContinueL3S2S
  180. LDX $0DB3
  181. LDA $1F11,x
  182. ASL #3
  183. CLC
  184. ADC !LastSubmap
  185. TAX
  186. LDA UseFBlankSubmap2Submap,x
  187. BEQ NoFBlank
  188. JMP UpdateL3WithFBlank
  189. NoFBlank:
  190. LDX $0DB3
  191. LDA $1F11,x
  192. STA !LastSubmap
  193. ContinueL3S2S:
  194. LDA $1DE8
  195. SEC
  196. SBC #$0E
  197. ASL #3
  198. LDX $0DB3
  199. CLC
  200. ADC $1F11,x
  201. ASL A
  202. TAX
  203. REP #$30
  204. LDA OWExGFX,x ;get ExGFX file number
  205. JSL $0FF900 ;decompress
  206. SEP #$30
  207. JML $04DB9C ;a RTS in bank 04
  208.  
  209. Wait:
  210. INC $1DE8 ;next submap-change mode
  211. JML $04DB9C ;a RTS in bank 04
  212.  
  213. GFX08GFX1EFix: ;this forces GFX file to use the second half of the palette
  214. LDX #$0FE0
  215. GFX08GFX1ELoop:
  216. SEP #$20
  217. LDA $7EEC00,x
  218. ORA $7EEC01,x
  219. ORA $7EEC10,x
  220. ORA $7EEC11,x
  221. STA $7EEC11,x
  222. LDA $7EEC02,x
  223. ORA $7EEC03,x
  224. ORA $7EEC12,x
  225. ORA $7EEC13,x
  226. STA $7EEC13,x
  227. LDA $7EEC04,x
  228. ORA $7EEC05,x
  229. ORA $7EEC14,x
  230. ORA $7EEC15,x
  231. STA $7EEC15,x
  232. LDA $7EEC06,x
  233. ORA $7EEC07,x
  234. ORA $7EEC16,x
  235. ORA $7EEC17,x
  236. STA $7EEC17,x
  237. LDA $7EEC08,x
  238. ORA $7EEC09,x
  239. ORA $7EEC18,x
  240. ORA $7EEC19,x
  241. STA $7EEC19,x
  242. LDA $7EEC0A,x
  243. ORA $7EEC0B,x
  244. ORA $7EEC1A,x
  245. ORA $7EEC1B,x
  246. STA $7EEC1B,x
  247. LDA $7EEC0C,x
  248. ORA $7EEC0D,x
  249. ORA $7EEC1C,x
  250. ORA $7EEC1D,x
  251. STA $7EEC1D,x
  252. LDA $7EEC0E,x
  253. ORA $7EEC0F,x
  254. ORA $7EEC1E,x
  255. ORA $7EEC1F,x
  256. STA $7EEC1F,x
  257. REP #$20
  258. TXA
  259. SEC
  260. SBC #$0020
  261. TAX
  262. BMI GFX08GFX1EFinish
  263. JMP GFX08GFX1ELoop
  264. GFX08GFX1EFinish:
  265. SEP #$30
  266. JML $04DB9C
  267.  
  268. UpdateL3WithFBlank:
  269. STZ $4200
  270. STZ $420C
  271. LDA #$80
  272. STA $2100
  273. JSL ReturnA
  274. LDA #$81
  275. STA $4200
  276. LDA $1DE8
  277. CLC
  278. ADC #$03
  279. STA $1DE8
  280. JML $04DBD9
  281.  
  282. ;-----------------------;
  283. ; Submap -> Submap NMI ;
  284. ;-----------------------;
  285.  
  286. VRAMTable: db $00,$04,$08,$0C,$10,$14,$18,$1C,$40,$44,$48,$4C
  287. SrcTable: db $EC,$F4,$EC,$F4,$EC,$F4,$EC,$F4,$EC,$EC,$EC,$EC
  288.  
  289. S2SNMI:
  290. LDY $1DE8 ;1st part of hijacked code
  291. CPY #$06
  292. BCC FinishS2S
  293. CPY #$12
  294. BCC S2SUpload
  295.  
  296. FinishS2S:
  297. DEY ;2nd part of hijacked code
  298. RTL
  299.  
  300. S2SUpload:
  301. PHB
  302. PHK
  303. PLB
  304. LDA #$80
  305. STA $2115
  306. STZ $2116
  307. LDA VRAMTable-6,y
  308. STA $2117
  309. LDA #$01
  310. STA $4320
  311. LDA #$18
  312. STA $4321
  313. STZ $4322
  314. LDA SrcTable-6,y
  315. STA $4323
  316. LDA #$7E
  317. STA $4324
  318. STZ $4325
  319. LDA #$08
  320. STA $4326
  321. LDA #$04
  322. STA $420B
  323. PLB
  324. LDY $1DE8 ;1st part of hijacked code
  325. BRA FinishS2S
  326.  
  327. ;-------------------;
  328. ; Level -> Submap ;
  329. ;-------------------;
  330.  
  331. Label1:
  332. PHK
  333. PER Return1-$01
  334. PHB
  335. LDA #$00
  336. PHA
  337. PLB
  338. PEA $84CD
  339. JML $008A79
  340.  
  341. Return1:
  342. PHK
  343. PER ReturnA-$01
  344. PHB
  345. LDA #$00
  346. PHA
  347. PLB
  348. PEA $84CD
  349. JML $00810E
  350.  
  351. ReturnA:
  352. LDY $0DB3
  353. LDA $1F11,y
  354. STA !LastSubmap
  355. JSR LoadNormalSlots
  356. PHB
  357. PHK
  358. PLB
  359. LDA #$FC
  360. STA $03
  361. LDA #$F0
  362. STA $04
  363.  
  364. LoopUntilDone2:
  365. LDA $04
  366. CLC
  367. ADC #$10
  368. STA $04
  369. LDA $03
  370. CLC
  371. ADC #$04
  372. STA $03
  373. LDY $0DB3
  374. LDA $1F11,y
  375. ASL A
  376. CLC
  377. ADC $04
  378. TAY
  379. REP #$30
  380. LDX #$0000
  381. LDA.w OWExGFX,y
  382. JSR TheGeneralRoutine
  383. SEP #$30
  384. CMP #$30
  385. BCC LoopUntilDone2
  386. PLB
  387. RTL
  388.  
  389. DMATable2:
  390. db $01,$18,$00,$B9,$7E,$00,$08
  391.  
  392. ;----------------------;
  393. ; General GFX Decomprs ;
  394. ;----------------------;
  395.  
  396. TheGeneralRoutine:
  397. PHP
  398. REP #$20
  399. PHA
  400. STZ $00
  401. LDA #$7EB9
  402. STA $01
  403. PLA
  404. CMP #$007F
  405. BEQ UploadReturn
  406. JSL $0FF900
  407. SEP #$30
  408. LDA #$80
  409. STA $2115
  410. LDA #$40
  411. CLC
  412. ADC $03,x
  413. STA $2117
  414. STZ $2116
  415. LDX #$06
  416.  
  417. OWLoop:
  418. LDA.l DMATable2,x
  419. STA $4310,x
  420. DEX
  421. BPL OWLoop
  422. LDA #$02
  423. STA $420B
  424. LDA $04
  425.  
  426. UploadReturn:
  427. PLP
  428. RTS
  429.  
  430. ;----------------------;
  431. ; OW L3 ExGFX, slot 1 ;
  432. ;----------------------;
  433.  
  434. OWExGFX:
  435. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Overworld, Yoshi's Island, Vanilla Dome, Forest of Illusion, Valley of Bowser, Special World, Star World
  436.  
  437. ;----------------------;
  438. ; OW L3 ExGFX, slot 2 ;
  439. ;----------------------;
  440.  
  441. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Overworld, Yoshi's Island, Vanilla Dome, Forest of Illusion, Valley of Bowser, Special World, Star World
  442.  
  443. ;----------------------;
  444. ; OW L3 ExGFX, slot 3 ;
  445. ;----------------------;
  446.  
  447. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Overworld, Yoshi's Island, Vanilla Dome, Forest of Illusion, Valley of Bowser, Special World, Star World
  448.  
  449. ;----------------------;
  450. ; OW L3 ExGFX, slot 4 ;
  451. ;----------------------;
  452.  
  453. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Overworld, Yoshi's Island, Vanilla Dome, Forest of Illusion, Valley of Bowser, Special World, Star World
  454.  
  455. ;-------------------------------;
  456. ; Flash Screen Between Submaps ;
  457. ;-------------------------------;
  458.  
  459. UseFBlankSubmap2Submap:
  460. db $00,$00,$00,$00,$00,$00,$00,$00 ; Overworld -> OW, YI, VD, FoI, VoB, Sp, Star
  461. db $00,$00,$00,$00,$00,$00,$00,$00 ; Yoshi's -> OW, YI, VD, FoI, VoB, Sp, Star
  462. db $00,$00,$00,$00,$00,$00,$00,$00 ; Vanilla -> OW, YI, VD, FoI, VoB, Sp, Star
  463. db $00,$00,$00,$00,$00,$00,$00,$00 ; Forest -> OW, YI, VD, FoI, VoB, Sp, Star
  464. db $00,$00,$00,$00,$00,$00,$00,$00 ; Valley -> OW, YI, VD, FoI, VoB, Sp, Star
  465. db $00,$00,$00,$00,$00,$00,$00,$00 ; Special -> OW, YI, VD, FoI, VoB, Sp, Star
  466. db $00,$00,$00,$00,$00,$00,$00,$00 ; StarWorld -> OW, YI, VD, FoI, VoB, Sp, Star
  467.  
  468. ;------------;
  469. ; Credit Fix ;
  470. ;------------;
  471.  
  472. Label0:
  473. JSR LoadNormalSlots
  474. LDX $13C6
  475. LDA #$18
  476. RTL
  477.  
  478. ;-----------------------;
  479. ; Level Layer 3 ExGFX ;
  480. ;-----------------------;
  481.  
  482. Label2:
  483. PHB ; Preserve DBR.
  484. PHK ; \ PBR into DBR.
  485. PLB ; /
  486. LDA #$FC
  487. STA $04
  488. STZ $03
  489.  
  490. LoopUntilDone:
  491. LDA $04
  492. CLC
  493. ADC #$04
  494. STA $04
  495. REP #$30
  496. LDA $010B ; \ Index level
  497. ASL A
  498. CLC
  499. ADC $03
  500. TAY
  501. LDA.w Layer3ExGFX,y ; | Get GFX file from table.
  502. LDX #$0001
  503. JSR TheGeneralRoutine
  504. SEP #$30
  505. CMP #$0C
  506. BCC LoopUntilDone
  507. PLB
  508. RTS
  509.  
  510. ;--------------------------------------------------;
  511. ; ExGFX for Layer 3 slot 1 ;
  512. ; Replace with the (Ex)GFX file you want to use. ;
  513. ;--------------------------------------------------;
  514.  
  515. Layer3ExGFX: ; GFX28
  516. dw $0028,$0088,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 0-F
  517. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 10-1F
  518. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 20-2F
  519. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 30-3F
  520. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 40-4F
  521. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 50-5F
  522. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 60-6F
  523. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 70-7F
  524. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 80-8F
  525. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 90-9F
  526. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels A0-AF
  527. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels B0-BF
  528. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels C0-CF
  529. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels D0-DF
  530. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels E0-EF
  531. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels F0-FF
  532. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 100-10F
  533. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 110-11F
  534. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 120-12F
  535. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 130-13F
  536. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 140-14F
  537. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 150-15F
  538. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 160-16F
  539. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 170-17F
  540. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 180-18F
  541. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 190-19F
  542. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1A0-1AF
  543. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1B0-1BF
  544. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1C0-1CF
  545. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1D0-1DF
  546. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1E0-1EF
  547. dw $0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028,$0028 ; Levels 1F0-1FF
  548.  
  549. ;--------------------------------------------------;
  550. ; ExGFX for Layer 3 slot 2 ;
  551. ; Replace with the (Ex)GFX file you want to use. ;
  552. ;--------------------------------------------------;
  553.  
  554. Layer3ExGFX2: ; GFX29
  555. dw $0029,$0088,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 0-F
  556. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 10-1F
  557. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 20-2F
  558. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 30-3F
  559. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 40-4F
  560. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 50-5F
  561. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 60-6F
  562. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 70-7F
  563. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 80-8F
  564. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 90-9F
  565. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels A0-AF
  566. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels B0-BF
  567. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels C0-CF
  568. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels D0-DF
  569. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels E0-EF
  570. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels F0-FF
  571. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 100-10F
  572. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 110-11F
  573. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 120-12F
  574. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 130-13F
  575. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 140-14F
  576. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 150-15F
  577. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 160-16F
  578. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 170-17F
  579. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 180-18F
  580. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 190-19F
  581. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1A0-1AF
  582. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1B0-1BF
  583. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1C0-1CF
  584. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1D0-1DF
  585. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1E0-1EF
  586. dw $0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029,$0029 ; Levels 1F0-1FF
  587.  
  588. ;--------------------------------------------------;
  589. ; ExGFX for Layer 3 slot 3 ;
  590. ; Replace with the (Ex)GFX file you want to use. ;
  591. ;--------------------------------------------------;
  592.  
  593. Layer3ExGFX3: ; GFX2A
  594. dw $002A,$0088,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 0-F
  595. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 10-1F
  596. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 20-2F
  597. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 30-3F
  598. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 40-4F
  599. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 50-5F
  600. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 60-6F
  601. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 70-7F
  602. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 80-8F
  603. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 90-9F
  604. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels A0-AF
  605. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels B0-BF
  606. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels C0-CF
  607. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels D0-DF
  608. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels E0-EF
  609. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels F0-FF
  610. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 100-10F
  611. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 110-11F
  612. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 120-12F
  613. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 130-13F
  614. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 140-14F
  615. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 150-15F
  616. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 160-16F
  617. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 170-17F
  618. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 180-18F
  619. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 190-19F
  620. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1A0-1AF
  621. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1B0-1BF
  622. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1C0-1CF
  623. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1D0-1DF
  624. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1E0-1EF
  625. dw $002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A,$002A ; Levels 1F0-1FF
  626.  
  627. ;--------------------------------------------------;
  628. ; ExGFX for Layer 3 slot 4 ;
  629. ; Replace with the (Ex)GFX file you want to use. ;
  630. ;--------------------------------------------------;
  631.  
  632. Layer3ExGFX4: ; GFX2B
  633. dw $002B,$0088,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 0-F
  634. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 10-1F
  635. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 20-2F
  636. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 30-3F
  637. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 40-4F
  638. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 50-5F
  639. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 60-6F
  640. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 70-7F
  641. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 80-8F
  642. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 90-9F
  643. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels A0-AF
  644. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels B0-BF
  645. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels C0-CF
  646. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels D0-DF
  647. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels E0-EF
  648. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels F0-FF
  649. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 100-10F
  650. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 110-11F
  651. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 120-12F
  652. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 130-13F
  653. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 140-14F
  654. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 150-15F
  655. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 160-16F
  656. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 170-17F
  657. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 180-18F
  658. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 190-19F
  659. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1A0-1AF
  660. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1B0-1BF
  661. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1C0-1CF
  662. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1D0-1DF
  663. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1E0-1EF
  664. dw $002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B,$002B ; Levels 1F0-1FF
  665.  
  666. ;-------------------;
  667. ; Load Normal Slots ;
  668. ;-------------------;
  669.  
  670. LoadNormalSlots:
  671. LDA #$80
  672. STA $2115
  673. STZ $2116
  674. LDA #$40
  675. STA $2117
  676. LDA #$03
  677. STA $0F
  678. LDA #$28
  679. STA $0E
  680.  
  681. LoopGFX:
  682. LDA $0E
  683. TAX
  684. LDA $00B992,x
  685. STA $8A
  686. LDA $00B9C4,x
  687. STA $8B
  688. LDA $00B9F6,x
  689. STA $8C
  690. STZ $00 ; \ Buffer = $7EB900
  691. LDA #$B9 ; |
  692. STA $01 ; |
  693. LDA #$7E ; |
  694. STA $02 ; /
  695. PHK
  696. PER VRAMLoop-$01
  697. PHB
  698. PHY
  699. JML $00BA47
  700.  
  701. VRAMLoop:
  702. LDX #$06
  703.  
  704. DMALoopSoManieth:
  705. LDA.l DMATable2,x
  706. STA $4320,x
  707. DEX
  708. BPL DMALoopSoManieth
  709. LDA #$04
  710. STA $420B
  711. INC $0E
  712. DEC $0F
  713. BPL LoopGFX
  714. RTS
  715.  
  716. End:
  717. print bytes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement