Advertisement
Guest User

D:

a guest
Nov 30th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.39 KB | None | 0 0
  1. .inesprg 1 ; 1 PRG bank
  2. .ineschr 1 ; 1 CHR bank
  3. .inesmap 0 ; No mapper
  4. .inesmir 1 ; Vertical mirroring
  5.  
  6. .rsset $0000 ; Zero page variables
  7. pointerLo0 .rs 1 ; 16 bit poiner low bits for first nametable
  8. pointerHi0 .rs 1 ; 16 bit poiner high bits for first nametable
  9. pointerLo1 .rs 1 ; 16 bit poiner low bits for second nametable
  10. pointerHi1 .rs 1 ; 16 bit poiner high bits for second nametable
  11. counterLo .rs 1 ; 16 bit counter low bits
  12. counterHi .rs 1 ; 16 bit counter high bits
  13. updateBg0 .rs 1 ; Flag for triggering nametable 0 update in NMI
  14. updateBg1 .rs 1 ; Flag for triggering nametable 1 update in NMI
  15. updateSpr .rs 1 ; Flag for triggering sprite update in NMI
  16. updatePal .rs 1 ; Flag for triggering palette update in NMI
  17. mainWait .rs 1 ; Flag for waiting for NMI to finish
  18. scrollX .rs 1 ; Scroll position in X axis
  19. scrollY .rs 1 ; Scroll position in Y axis
  20. input1 .rs 1 ; Joypad 1 input data
  21. input1Temp .rs 1 ; Temporary joypad 1 data for comparsion
  22. input2 .rs 1 ; Joypad 2 input data
  23. input2Temp .rs 1 ; Temporary joypad 2 data for comparsion
  24. joy2Flag .rs 1 ; Check if joypad 2 is used in debug mode
  25. lives .rs 1 ; Lives display
  26. livesCounter .rs 1 ; Lives counter
  27. bombs .rs 1 ; Bombs display
  28. bombsCounter .rs 1 ; Bombs counter
  29. weapon .rs 1 ; Weapon type
  30. scr0 .rs 1 ; Score 1s
  31. scr1 .rs 1 ; Score 10s
  32. scr2 .rs 1 ; Score 100s
  33. scr3 .rs 1 ; Score 1000s
  34. scr4 .rs 1 ; Score 10000s
  35. scr5 .rs 1 ; Score 100000s
  36. scr6 .rs 1 ; Score 1000000s
  37. scr7 .rs 1 ; Score 10000000s
  38. hiScr0 .rs 1 ; High score 1s
  39. hiScr1 .rs 1 ; High score 10s
  40. hiScr2 .rs 1 ; High score 100s
  41. hiScr3 .rs 1 ; High score 1000s
  42. hiScr4 .rs 1 ; High score 10000s
  43. hiScr5 .rs 1 ; High score 100000s
  44. hiScr6 .rs 1 ; High score 1000000s
  45. hiScr7 .rs 1 ; High score 10000000s
  46. timer0 .rs 1 ; Timer for background scolling speed
  47. timer1 .rs 1 ; Global timer 1
  48. timer2 .rs 1 ; Global timer 2
  49. timer3 .rs 1 ; Global timer 3
  50. timer4 .rs 1 ; Global timer 4
  51. timer5 .rs 1 ; Global timer 5
  52. timer6 .rs 1 ; Global timer 6
  53. timer7 .rs 1 ; Global timer 7
  54. timer8 .rs 1 ; Global timer 8
  55. timer9 .rs 1 ; Global timer 9
  56. timerA .rs 1 ; Global timer A
  57. timerB .rs 1 ; Global timer B
  58. timerC .rs 1 ; Global timer C
  59. timerD .rs 1 ; Global timer D
  60. timerE .rs 1 ; Global timer E
  61. timerF .rs 1 ; Global timer F
  62.  
  63. PPUCtrl = $2000 ; PPU control port
  64. PPUMask = $2001 ; PPU mask
  65. PPUStatus = $2002 ; PPU status
  66. OAMAddr = $2003 ; Object attribute memory address
  67. OAMData = $2004 ; Object attribute memory data
  68. PPUScroll = $2005 ; PPU scolling registers
  69. PPUAddr = $2006 ; PPU address
  70. PPUData = $2007 ; PPU data
  71.  
  72. PAL00 = $3F00 ; Background palette 0 colour 0
  73. PAL01 = $3F01 ; Background palette 0 colour 1
  74. PAL02 = $3F02 ; Background palette 0 colour 2
  75. PAL03 = $3F03 ; Background palette 0 colour 3
  76. PAL04 = $3F04 ; Background palette 1 colour 0
  77. PAL05 = $3F05 ; Background palette 1 colour 1
  78. PAL06 = $3F06 ; Background palette 1 colour 2
  79. PAL07 = $3F07 ; Background palette 1 colour 3
  80. PAL08 = $3F08 ; Background palette 2 colour 0
  81. PAL09 = $3F09 ; Background palette 2 colour 1
  82. PAL0A = $3F0A ; Background palette 2 colour 2
  83. PAL0B = $3F0B ; Background palette 2 colour 3
  84. PAL0C = $3F0C ; Background palette 3 colour 0
  85. PAL0D = $3F0D ; Background palette 3 colour 1
  86. PAL0E = $3F0E ; Background palette 3 colour 2
  87. PAL0F = $3F0F ; Background palette 3 colour 3
  88.  
  89. PAL10 = $3F10 ; Sprite palette 0 colour 0
  90. PAL11 = $3F11 ; Sprite palette 0 colour 1
  91. PAL12 = $3F12 ; Sprite palette 0 colour 2
  92. PAL13 = $3F13 ; Sprite palette 0 colour 3
  93. PAL14 = $3F14 ; Sprite palette 1 colour 0
  94. PAL15 = $3F15 ; Sprite palette 1 colour 1
  95. PAL16 = $3F16 ; Sprite palette 1 colour 2
  96. PAL17 = $3F17 ; Sprite palette 1 colour 3
  97. PAL18 = $3F18 ; Sprite palette 2 colour 0
  98. PAL19 = $3F19 ; Sprite palette 2 colour 1
  99. PAL1A = $3F1A ; Sprite palette 2 colour 2
  100. PAL1B = $3F1B ; Sprite palette 2 colour 3
  101. PAL1C = $3F1C ; Sprite palette 3 colour 0
  102. PAL1D = $3F1D ; Sprite palette 3 colour 1
  103. PAL1E = $3F1E ; Sprite palette 3 colour 2
  104. PAL1F = $3F1F ; Sprite palette 3 colour 3
  105.  
  106. SQ1Vol = $4000 ; Pulse 1 volume
  107. SQ1Sweep = $4001 ; Pulse 1 sweep
  108. SQ1Lo = $4002 ; Pulse 1 counter low bits
  109. SQ1Hi = $4003 ; Pulse 1 counter high bits
  110. SQ2Vol = $4004 ; Pulse 2 volume
  111. SQ2Sweep = $4005 ; Pulse 2 sweep
  112. SQ2Lo = $4006 ; Pulse 2 counter low bits
  113. SQ2Hi = $4007 ; Pulse 2 counter high bits
  114. TriLinear = $4008 ; Triangle
  115. TriLo = $400A ; Triangle counter low bits
  116. TriHi = $400B ; Triangle counter high bits
  117. NoiseVol = $400C ; Noise volume
  118. NoiseLo = $400E ; Noise counter low bits
  119. NoiseHi = $400F ; Noise counter high bits
  120. DMCFreq = $4010 ; DMC sample frequency
  121. DMCLoad = $4011 ; DMC sample load counter
  122. DMCStart = $4012 ; DMC sample start address
  123. DMCLen = $4013 ; DMC sample length
  124. OAMDMA = $4014 ; Object attribute memory DMA
  125. APUChn = $4015 ; APU channel control
  126. Joy1 = $4016 ; Joypad 1 port (A, B Select, Start, Up, Down, Left, Right)
  127. Joy2 = $4017 ; Joypad 2 port (A, B Select, Start, Up, Down, Left, Right)
  128.  
  129. .bank 0 ; PRG bank
  130. .org $8000
  131.  
  132. RESET: ; Reset routine
  133. SEI
  134. CLD
  135. LDX #$40
  136. STX Joy2 ; disable APU IRQ
  137. LDX #$FF
  138. TXS ; Stack set up
  139. INX
  140. STX PPUCtrl
  141. STX PPUMask
  142. STX DMCFreq
  143.  
  144. vBlankWait1: ; vBlank wait 1
  145. BIT PPUStatus
  146. BPL vBlankWait1
  147.  
  148. ClearMemory: ; Clear internal memory $0000 - $07FF
  149. LDA #$FF
  150. STA $0200, x ; Move sprites out of view
  151. LDA #$00
  152. STA $0000, x
  153. STA $0100, x
  154. STA $0300, x
  155. STA $0400, x
  156. STA $0500, x
  157. STA $0600, x
  158. STA $0700, x
  159. DEX
  160. BNE ClearMemory
  161.  
  162. LDA #LOW(Stage1Bg)
  163. STA pointerLo0
  164. LDA #HIGH(Stage1Bg)
  165. STA pointerHi0
  166. LDA #LOW(StatusBarBg)
  167. STA pointerLo1
  168. LDA #HIGH(StatusBarBg)
  169. STA pointerHi1
  170.  
  171. vBlankWait2: ; vBlank wait 2 - PPU should be in stable and usable state now
  172. BIT PPUStatus
  173. BPL vBlankWait2
  174.  
  175. UpdatePalette1:
  176. LDA PPUStatus ; Reset PPU Hi/Lo latch
  177. LDA #$3F ; Store Hi/Lo bytes of the background nametables
  178. STA PPUAddr
  179. LDA #$00
  180. STA PPUAddr
  181. TAX
  182. PalLoop1:
  183. LDA Stage1Palette, x
  184. STA PPUData
  185. INX
  186. CPX #$1F
  187. BNE PalLoop1
  188.  
  189. LDX #$01
  190. STX updateBg0
  191. STX updateBg1
  192. STX updateSpr
  193.  
  194. LDA #%10010000
  195. STA PPUCtrl
  196. LDA #%00011110
  197. STA PPUMask
  198.  
  199. MainLoop: ; Main loop
  200.  
  201.  
  202.  
  203. LDY #$01
  204. STY mainWait
  205. MainLoopWait:
  206. CPY #$00
  207. BNE MainLoopWait
  208. JMP MainLoop
  209.  
  210. Joy1Read:
  211. LDA #$01
  212. STA Joy1
  213. LDA #$00
  214. STA Joy1
  215. LDX #$08
  216. Joy1Loop:
  217. PHA
  218. LDA Joy1
  219. AND #$03
  220. CMP #$01
  221. PLA
  222. ROR A
  223. DEX
  224. BNE Joy1Loop
  225.  
  226. Joy2Read:
  227. LDA #$01
  228. STA Joy2
  229. LDA #$00
  230. STA Joy2
  231. LDX #$08
  232. Joy2Loop:
  233. PHA
  234. LDA Joy2
  235. AND #$03
  236. CMP #$01
  237. PLA
  238. ROR A
  239. DEX
  240. BNE Joy2Loop
  241.  
  242. BgUpdate0: ; Background update code
  243. LDY updateBg0
  244. CPY #$01
  245. BNE SkipBg0
  246. LDA PPUStatus ; Reset PPU Hi/Lo latch
  247. LDA #$20 ; Store Hi/Lo bytes of the background nametables
  248. STA PPUAddr
  249. LDA #$00
  250. STA PPUAddr
  251. LDY #$00
  252. LDX #$04
  253. LDA #%00010000
  254. STA PPUCtrl
  255. BgLoop0: ; 16 bit loop for drawing background and loading attributes
  256. LDA [pointerLo0], y
  257. STA PPUData
  258. INY
  259. BNE BgLoop0
  260. INC pointerHi0
  261. DEX
  262. BNE BgLoop0
  263. LDA #$00
  264. STA updateBg0 ; Clear NMI flag for background
  265. LDA #%10010000
  266. STA PPUCtrl
  267. SkipBg0:
  268. RTS
  269.  
  270. BgUpdate1: ; Background update code
  271. LDY updateBg1
  272. CPY #$01
  273. BNE SkipBg1
  274. LDA PPUStatus ; Reset PPU Hi/Lo latch
  275. LDA #$24 ; Store Hi/Lo bytes of the background nametables
  276. STA PPUAddr
  277. LDA #$00
  278. STA PPUAddr
  279. LDY #$00
  280. LDX #$04
  281. LDA #%00010000
  282. STA PPUCtrl
  283. BgLoop1: ; 16 bit loop for drawing background and loading attributes
  284. LDA [pointerLo1], y
  285. STA PPUData
  286. INY
  287. BNE BgLoop1
  288. INC pointerHi1
  289. DEX
  290. BNE BgLoop1
  291. LDA #$00
  292. STA updateBg1 ; Clear NMI flag for background
  293. LDA #%10010000
  294. STA PPUCtrl
  295. SkipBg1:
  296. RTS
  297.  
  298. ScrollBg:
  299. LDY timer0
  300. CPY #$02
  301. BNE SkipScroll
  302. LDY #$00
  303. STY PPUScroll
  304. DEC PPUScroll
  305. STY timer0 ; Reset timer0
  306. SkipScroll:
  307. RTS
  308.  
  309. SprUpdate: ; Sprite update code
  310. LDY updateSpr
  311. CPY #$01
  312. BNE SkipSpr
  313. LDA #%00010000
  314. STA PPUCtrl
  315. LDA #$00
  316. STA OAMAddr
  317. LDA #$02
  318. STA OAMDMA
  319. LDA #$00
  320. STA updateSpr ; Clear NMI flag for sprites
  321. LDA #%10010000
  322. STA PPUCtrl
  323. SkipSpr:
  324. RTS
  325.  
  326. Joy1Update: ; Joypad 1 update code
  327. JSR Joy1Read
  328. Joy1Matching:
  329. STA input1Temp
  330. JSR Joy1Read
  331. CMP input1Temp
  332. BNE Joy1Matching
  333. STA input1
  334. RTS
  335.  
  336. Joy2Update: ; Joypad 2 update code
  337. LDY joy2Flag
  338. CPY #$00
  339. BNE SkipJoy2
  340. JSR Joy2Read
  341. Joy2Matching:
  342. STA input2Temp
  343. JSR Joy2Read
  344. CMP input2Temp
  345. BNE Joy2Matching
  346. STA input2
  347. SkipJoy2:
  348. RTS
  349.  
  350. SoundUpdate: ; Sound update code
  351.  
  352. RTS
  353.  
  354. IncrementTimers:
  355. INC timer0
  356. INC timer1
  357. INC timer2
  358. INC timer3
  359. INC timer4
  360. INC timer5
  361. INC timer6
  362. INC timer7
  363. INC timer8
  364. INC timer9
  365. INC timerA
  366. INC timerB
  367. INC timerC
  368. INC timerD
  369. INC timerE
  370. INC timerF
  371. RTS
  372.  
  373. NMI: ; NMI code
  374. PHA ; Push A, X & Y to stack
  375. TXA
  376. PHA
  377. TYA
  378. PHA
  379. JSR BgUpdate0 ; Update nametable 0 if necessary
  380. JSR BgUpdate1 ; Update nametable 1 if necessary
  381. JSR ScrollBg ; Update background scrolling
  382. JSR SprUpdate ; Update sprites if necessary
  383. JSR Joy1Update ; Update joypad 1 if necessary
  384. JSR Joy2Update ; Update joypad 2 if necessary
  385. JSR SoundUpdate ; Update sound if necessary
  386. JSR IncrementTimers ; Increment timers
  387. LDY #$00 ; Reset mainWait to allow next main loop to happen
  388. STY mainWait
  389. PLA ; Pull A, X & Y from stack
  390. TAY
  391. PLA
  392. TAX
  393. PLA
  394. RTI
  395.  
  396. StatusBarBg:
  397. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 00
  398. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 01
  399. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 02
  400. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 03
  401. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 04
  402. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 05
  403. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 06
  404. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 07
  405. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 08
  406. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 09
  407. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0A
  408. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0B
  409. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0C
  410. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0D
  411. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0E
  412. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0F
  413. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 10
  414. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 11
  415. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 12
  416. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 13
  417. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 14
  418. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 15
  419. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 16
  420. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 17
  421. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 18
  422. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 19
  423. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 1A
  424. .db $FF,$19,$15,$0A,$22,$0E,$1B,$FF,$24,$24,$24,$24,$24,$24,$24,$FF,$0B,$18,$16,$0B,$FF,$25,$25,$25,$25,$25,$25,$25,$FF,$FF,$FF,$FF ; 1B
  425. .db $FF,$1C,$0C,$1B,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$FF,$FF,$11,$12,$FF,$1C,$0C,$1B,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$FF ; 1C
  426. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 1D
  427.  
  428. StatusBarAttributes:
  429. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  430. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  431. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  432. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  433.  
  434. Stage1Bg:
  435. .db $FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A ; 00
  436. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 01
  437. .db $FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 02
  438. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF ; 03
  439. .db $FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF ; 04
  440. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 05
  441. .db $FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF ; 06
  442. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 07
  443. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A ; 08
  444. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 09
  445. .db $26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF ; 0A
  446. .db $FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0B
  447. .db $FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF ; 0C
  448. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0D
  449. .db $FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF ; 0E
  450. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0F
  451. .db $FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A ; 10
  452. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 11
  453. .db $FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 12
  454. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF ; 13
  455. .db $FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF ; 14
  456. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 15
  457. .db $FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF ; 16
  458. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 17
  459. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$26,$FF,$FF,$2A ; 18
  460. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 19
  461. .db $26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$28,$FF,$FF ; 1A
  462. .db $FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$26,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 1B
  463. .db $FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$27,$FF,$FF,$FF,$FF,$FF,$2A,$FF,$FF,$FF,$FF,$FF,$FF ; 1C
  464. .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 1D
  465.  
  466. Stage1Attributes:
  467. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  468. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  469. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  470. .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  471.  
  472. Stage1Palette:
  473. .db $0F,$20,$31,$21,$0F,$20,$32,$22,$0F,$20,$33,$23,$0F,$20,$34,$24
  474. .db $0F,$20,$31,$21,$0F,$20,$32,$22,$0F,$20,$33,$23,$0F,$20,$34,$24
  475.  
  476.  
  477. .bank 1 ; Vector bank
  478. .org $FFFA
  479. .dw NMI
  480. .dw RESET
  481. .dw 0
  482.  
  483. .bank 2 ; CHR bank
  484. .org $0000
  485. .incbin "Stg1set.chr"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement