Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. lorom
  2.  
  3. !SUB = "SEC : SBC"
  4. !ADD = "CLC : ADC"
  5.  
  6. org $00FFD7 ; Set rom on 2mb
  7. db #$0C
  8.  
  9. org $5FFFFF ; write at the last position to expand on 2mb
  10. db #$00
  11.  
  12.  
  13. org $068279
  14. NOP #$0A
  15. JSL sprite_bush_spawn
  16. NOP ; we keep the branch
  17.  
  18. org $0DBA71
  19. GetRandomInt:
  20.  
  21. org $408000 ;begining of the 3mb expanded - Skip 0x80(overworld) + 0x128 (dungeons)
  22.  
  23. sprite_bush_spawn_table:
  24. {
  25. .sprites;SPRITE DATA TABLE GENERATED BY ENEMIZER
  26. skip #$1A8
  27. ;Old sprite table - Could be changed as well (for the item id 04)
  28. .random_sprites ; if item == 04
  29. db  #$00, #$D8, #$E3, #$D8
  30. }
  31.  
  32. sprite_bush_spawn:
  33. {
  34.  
  35. STY $0D;restored code
  36.  
  37. PHX : PHY ;save x,y just to be safe
  38. PHB : PHK : PLB ;setbank to 40
  39.  
  40. CPY.b #$04 : BNE .not_random
  41. JSL GetRandomInt : AND.b #$03 : TAY
  42. LDA $81A8, Y
  43. BRL .return
  44.  
  45. .not_random
  46. CPY.b #$01 : BNE + ;1 Rupee
  47. LDA #$D9 : BRL .return
  48. +
  49. CPY.b #$02 : BNE + ;Crab
  50. LDA #$3E : BRL .return
  51. +
  52. CPY.b #$03 : BNE + ;1 Bee
  53. LDA #$79 : BRL .return
  54. +
  55. CPY.b #$05 : BNE + ;1 Bomb
  56. LDA #$DC : BRL .return
  57. +
  58. CPY.b #$06 : BNE + ;1 Heart
  59. LDA #$D8 : BRL .return
  60. +
  61. CPY.b #$07 : BNE + ;Blue rupee
  62. LDA #$DA : BRL .return
  63. +
  64. CPY.b #$08 : BNE + ;Key
  65. LDA #$E4 : BRL .return
  66. +
  67. CPY.b #$09 : BNE + ;5 Arrow
  68. LDA #$E1 : BRL .return
  69. +
  70. CPY.b #$0A : BNE + ;Bomb
  71. LDA #$DD : BRL .return
  72. +
  73. CPY.b #$0B : BNE + ;Heart
  74. LDA #$D8 : BRL .return
  75. +
  76. CPY.b #$0C : BNE + ;Magic
  77. LDA #$DF : BRL .return
  78. +
  79. CPY.b #$0D : BNE + ;Big Magic
  80. LDA #$E0 : BRL .return
  81. +
  82. CPY.b #$12 : BNE + ;Big Magic
  83. LDA #$D4 : BRL .return
  84. +
  85. CPY.b #$13 : BNE + ;Heart
  86. LDA #$D8 : BRL .return
  87. +
  88. CPY.b #$14 : BNE + ;Fairy
  89. LDA #$E3 : BRL .return
  90. +
  91. CPY.b #$15 : BNE + ;Heart
  92. LDA #$D8 : BRL .return
  93. +
  94. CPY.b #$0F : BEQ .newSpriteSpawn
  95. CPY.b #$11 : BEQ .newSpriteSpawn
  96. CPY.b #$10 : BEQ .newSpriteSpawn
  97. CPY.b #$0E : BNE .return
  98.  
  99. .newSpriteSpawn
  100. LDA $7E040A : TAY
  101. LDA $8000, Y ;LDA 408000 + area id
  102.  
  103. .return
  104. PLB;restore bank to where it was
  105. PLY : PLX ;restore x,y
  106. RTL
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement