Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2017
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;---------------------------------------------
  2. RAM_Offsets:
  3. ColorTrig         = $18
  4. draw_horizontal   = $19
  5. draw_EXAtt        = $1B
  6. Palfade_hologram  = $1C ;not used???
  7. CommonPurpose     = $1F ;used by many things
  8. leveldata_Low     = $20 ;20/21 together, current level data address
  9. leveldata_High    = $21
  10. cur_level         = $22
  11. NTDrawDirection   = $23
  12. Scroll_NTline     = $24
  13. Scroll_YposCopy1  = $26
  14. Scroll_XposCopy2  = $27
  15. Read32x32Block    = $28
  16. Scroll_ScrNum     = $29 ;similiar to $F9
  17. Scroll_Direction  = $2A
  18. Scroll_CurMap     = $2B
  19. Scroll_MaxScr     = $2C
  20. Scroll_CurScr     = $2D
  21. Scroll_8way       = $2E ;8way scroll status
  22. Scroll_DrawType   = $2F ;FF: 8-way 01: EX 00: NT
  23. ;---------------------------------------------
  24. MegamanState      = $30
  25. MegamanDirection  = $31
  26. BusterTimer       = $32
  27. MB_ChargeTimer    = $34
  28.  
  29. Platform_Dir      = $36
  30. Platform_XLo      = $37
  31. Platform_XHi      = $38
  32. InvisibleTimer    = $39
  33. fallingflag       = $3A ;ignore jump release, used by Rush Coil
  34. ;---------------------------------------------
  35. AnimationDisable  = $5E
  36. itemdrops         = $5F ;nonzero: disable
  37.  
  38. cleared_wily      = $60 ;future wily stages
  39. cleared_level     = $61 ;8 RM stages
  40. cleared_sublevel  = $62 ;extra stages
  41. HeartTanks        = $63 ;8 max, 32 HP
  42. yoku_reference    = $64
  43. yoku_timer        = $65
  44. yoku_Pattern      = $66 ;main address to read
  45. yoku_curblock     = $67 ;current block #
  46. eventstats        = $6C ;special event flags
  47. WeaponTanks       = $6D ;bit 0-3: W, bit 4-7: Mini W
  48. prevscreen        = $6F ;level checkpoints
  49.  
  50. PlayTime          = $75 ;75-79: Status-ms-sec-min-hour
  51. TAMode            = $7A
  52. TATimers          = $7B ;7B-7F
  53. framecounter      = $95 ;used by EVERYTHING
  54. SprRAMoffset      = $97
  55. gravityadd        = $99 ;0.40 megaman, 0.55 enemies
  56. nextenemy         = $9E
  57. prevenemy         = $9F
  58. ;---------------------------------------------
  59. ;weapons RAM
  60. WepMenuPos1       = $A0
  61. WepMenuPos2       = $A1
  62. megamanHP         = $A2
  63. duplexHP          = $A3
  64. rapidHP           = $A4
  65. spikeHP           = $A5
  66. necroHP           = $A6
  67. glacierHP         = $A7
  68. discHP            = $A8
  69. rcoilHP           = $A9
  70. boltHP            = $AA
  71. rmarineHP         = $AB
  72. pyroHP            = $AC
  73. rjetHP            = $AD
  74. lives             = $AE
  75. itemstats         = $AF
  76. bossHP            = $B0
  77. WeaponBar         = $B1
  78. lifebar           = $B2 ;megaman lifebar
  79. bossbar           = $B3 ;boss lifebar
  80. shootcounter      = $B5 ;# times wep is shot
  81. ;---------------------------------------------
  82. water_Gtimer      = $B9 ;water gravity timer
  83. water_enable      = $BA ;00: no water, 01: water
  84. ;---------------------------------------------
  85. mutesound         = $CD ;used with CC
  86. bgmID             = $D9 ;current BGM ID
  87. ;---------------------------------------------
  88.  
  89. ;graphics registers
  90. bgCHR1            = $E8 ;BG  tile 00-7F
  91. bgCHR2            = $E9 ;BG  tile 80-FF
  92. sprCHR1           = $EA ;Spr tile 00-3F
  93. sprCHR2           = $EB ;Spr tile 40-7F
  94. sprCHR3           = $EC ;Spr tile 80-BF
  95. sprCHR4           = $ED ;Spr tile C0-FF
  96. bgAnimation       = $EE ;BG  tile 00-3F animate
  97. ;---------------------------------------------
  98. cur_IRQ           = $F0 ;use $F0 with $F9
  99. IRQScanlinePos    = $F1
  100. newPRG_8000       = $F4
  101. newPRG_A000       = $F5
  102. cur_screen        = $F9
  103. ScrollY           = $FA
  104. copy_ScrollX      = $FB ;needed in NMI/IRQ
  105. ScrollX           = $FC
  106. cur_nametable     = $FD ;written to $2000
  107. Display_2001      = $FE ;written to $2001
  108. laghandle         = $FF ;lag handler
  109.  
  110. challengetimer    = $14F ;also pyro water
  111. BeatCalls         = $186
  112. Heart_lvlStats    = $187 ;hearts collected
  113. Menus_Action      = $1DE ;1DE + 1DF together
  114.  
  115. File1_Enable      = $6000
  116. File2_Enable      = $6001 ;00: disable, 01: enable
  117. GameSetup_Init    = $6003
  118. GameLanguage      = $6004 ;00: english, 01: japanese
  119. PlayerLanguage    = $6005 ;same as 6004
  120.  
  121. File1_SRAM        = $6010 ;6010-603F
  122. File2_SRAM        = $6040 ;6040-606F
  123. PlayerName        = $60E0 ;name + 60F0: Jp dakutens
  124. Playername_dup    = $60EB ;no duplicate names
  125. TimeAttack_SRAM   = $6100 ;6100-617F
  126.  
  127. ;---------------------------------------------
  128. ;common movements/etc in 38000 area:
  129. CommonRoutines:
  130. set_seenflag        = $88FF
  131. jump_routine        = $8925 ; 6B00,x + 6B20,x RAM
  132. set_routine         = $8930 ; puresabe's technique
  133.  
  134. G_Main_00           = $8A64 ;Y = 00
  135. G_MoveLR_00         = $8A69 ;Y = 00
  136. G_MoveLR_1E         = $8A6D ;16x16 size, Y = 1E
  137. defaulthitbox       = $8A71 ;16x16 size
  138. Invert_Repelshot    = $8A77
  139. G_MoveLR            = $8A80
  140. G_MoveUD            = $8A8E
  141. NoG_MoveLR          = $8A9C
  142. NoG_MoveUD          = $8AA9
  143. Invert_DirLR        = $8AB6
  144. Invert_DirUD        = $8ABF
  145. Set_Invisibility    = $8AC8
  146. Clear_Invisibility  = $8AD1
  147. Invert_Invisibility = $8ADA
  148. Face_Right          = $8AE3
  149. Face_Left           = $8AEC
  150. Invert_Facing       = $8AF5
  151. DeleteSpriteY       = $8AFE ;300,y delete
  152. DeleteSprite        = $8B04 ;300,x delete
  153. resetAI             = $8B0A ;300,x to 80
  154. objidXtoY           = $8B0E
  155. dirXtoY             = $8B15
  156. SetXSpeedlohi       = $8B1C ;sets 400,x + 420,x same val
  157. ClearVar1           = $8B23 ;clears 500,x
  158. ClearVar1_2         = $8B29 ;clears 500,x + 520,x
  159. addXspeed           = $8B32
  160. subtractXspeed      = $8B46
  161. addYspeed           = $8B5A
  162. subtractYspeed      = $8B68
  163. NoG_MoveLRUD        = $8B74 ;both LR and UD
  164. initExplode         = $8B7A ;full explosion
  165. bossrng             = $8B89
  166. enemyrng            = $8B9B ;50% RNG
  167. Invert_Xspeed       = $8BA4 ;used for circles
  168. resetgravity        = $8BC2 ;non-mm gravity 0.55 pix/frame
  169. Clear_SprHide       = $8BC7 ;clears 3E0,x
  170. ClearVar4           = $8BCD ;clears 560,x
  171.  
  172. common_settings1    = $96B3
  173. turndir_facemm      = $973F
  174. Delete_ExplodeBall  = $99AA
  175. ;---------------------------------------------
  176. ;fixed variables in 7C000-7FFFF area.
  177. unloadEXRAM       = $C4CB
  178. unloadNTBL        = $C50B
  179.  
  180. turnoff_PPU       = $C550
  181. turnon_PPU        = $C55A
  182.  
  183. loadleveldata     = $C570 ;lvl to $6300-7FFF
  184. clearnametable    = $C58C
  185. enableEXRAM       = $C5AA
  186. clearsprRAM       = $C5B7
  187.  
  188. palfade_restore   = $C74C
  189. palfade_darken    = $C752
  190. miscleveldata     = $C82E ;setup all level data
  191. megamanpalette    = $C898
  192.  
  193. AwardInit1        = $CAE1 ; Y reg = challenge # in dec
  194. AwardInit2        = $CAF3 ; X reg = challenge # in hex
  195. clearallsprites   = $CB1D
  196. calcmaxHP         = $CB2E
  197. drawscreen        = $CB3B
  198.  
  199. reset_commonreg1  = $CBA4 ; resets MANY registers
  200. reset_commonreg2  = $CBBD ; only used in menuscreens.asm
  201. InitWpn           = $D0D5 ; init wpn obj
  202. fastjump          = $D10C ; uses the 6C JMP
  203. PlaceObjYatX      = $D2F0
  204. defaultMMspeed    = $D3FD ; 1.4C LR mm spd
  205. initCommonSprY    = $D444 ; default settings
  206. landingSFX        = $D68A ; mm land SFX
  207. AND_table         = $DEE0 ; 01 02 04 08 10 20 40 80
  208.  
  209. Scroll_EntryPoint = $E195 ; scr/scroll engine here
  210. VerticalNT        = $E472 ; 5105: 44 vertical  
  211. HorizontalNT      = $E476 ; 5105: 50 horizontal
  212. HitDetect_Block   = $E8D4 ; load Y reg
  213. reset_tempRAM     = $EB77 ; clear $110-14F
  214. drawscreen_type2  = $EEC9
  215. killmegaman       = $F144
  216. reset_SlipperyIce = $F35C
  217. HitDetect_SprWpn  = $F42F
  218.  
  219. faceleft          = $F572
  220.  
  221. G_MoveRightMM     = $F59A ;megaman only
  222. G_MoveRight       = $F59F
  223. G_MoveLeftMM      = $F5D5 ;megaman only
  224. G_MoveLeft        = $F5DA
  225. G_MoveDown        = $F613
  226. G_MoveUp          = $F646
  227. main_gravityMM    = $F671 ;megaman only
  228. main_gravity      = $F676
  229. MoveRight         = $F71D
  230. MoveLeft          = $F73B
  231. MoveDown          = $F759
  232. MoveUp            = $F779
  233.  
  234. move_gravity      = $F797 ; dont need much, use normal routine
  235.  
  236. setYspeed00       = $F812 ;sets Y speed to xx.00
  237. resetYspeed       = $F81B
  238. AniChange         = $F835
  239. ResetAniOrder     = $F838
  240. SetAniFrame       = $F83A ;manual set frame
  241. ResetAniTimer     = $F83D
  242. initSprY          = $F845
  243.  
  244. DirAtRock         = $F86C
  245. FacingAtDir       = $F883
  246.  
  247. initbgm           = $F898
  248. initsound         = $F89A
  249.  
  250. CheckXPos         = $F8BD
  251.  
  252. hitdetectspr      = $FAE2
  253.  
  254. newX              = $FC43
  255. newY              = $FC53
  256. newY_manual       = $FC55    
  257.  
  258. waitframe_manual  = $FD5B
  259. waitframe_drawspr = $FD6B
  260. LONG_CALL_BODY    = $FDBB ; new puresabe technique
  261.  
  262. waitvblank_x      = $FE79
  263. waitvblank        = $FE80
  264. forcevblank       = $FF4D
  265.  
  266. bankswap_F5       = $FF69
  267. bankswap_F4       = $FF6D
  268. bankswap          = $FF6F
  269.  
  270. M_DBObjPointer .macro
  271. TRASH_GLOBAL_LABEL_\@:
  272.     .db LOW (\1)
  273.     ORG_DELTA $FF
  274.     .db HIGH(\1)
  275.     ORG_DELTA $FF
  276.     .db (BANK(\1)|$80)
  277.     ORG_DELTA -$200
  278.     .endm
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement