menusubroutines.asm 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. MenuSubroutineLUT:
  2. .dw MenuSubroutineVoid ;0
  3. .dw MenuSubroutineJumpROM
  4. ; .dw MenuSubroutineLoadBattle
  5. .dw MenuSubroutineJumpRAM
  6. .dw MenuSubroutineAudioMenu
  7. .dw MenuSubroutineWrite3000
  8. .dw MenuSubroutinePlaySong ;5
  9. .dw MenuSubroutineUploadSEPack
  10. .dw MenuSubroutinePlaySE
  11. .dw SpcStopSong
  12. .dw SpcSetSongSpeed
  13. .dw SpcSetSongChannelMask ;10
  14. .dw SpcSetReportType
  15. .dw MenuSubroutineChsum
  16. .dw MenuSubroutineReturnMain
  17. .dw MenuSubroutineTablistRecorder
  18. .dw MenuSubroutineExecTablistRec ;15
  19. .dw MenuSubroutinePlayTablist
  20. .dw MenuSubroutineDelTablist
  21. .dw MenuSubroutineLoadDebugmap
  22. .dw MenuSubroutineLoadCredits
  23. MenuSubroutineChsum:
  24. sep #$20
  25. phk
  26. pla
  27. sta.b TempBuffer+2 ;operating bank
  28. rep #$31
  29. stz.b TempBuffer
  30. stz.w CartChecksum
  31. ldy.w #0
  32. WramChecksumLoop:
  33. rep #$31
  34. lda.b [TempBuffer],y
  35. and.w #$ff
  36. adc.w CartChecksum
  37. sta.w CartChecksum
  38. iny
  39. bne WramChecksumLoop
  40. ldy.w #$ffde
  41. lda.b [TempBuffer],y
  42. cmp.w CartChecksum
  43. beq WramChecksumOK
  44. ldx.w #17
  45. jsr LoadTextString ;print $00:3000
  46. rts
  47. WramChecksumOK:
  48. ldx.w #16
  49. jsr LoadTextString ;print $00:3000
  50. rts
  51. MenuSubroutineJumpROM:
  52. jml (MenuSubroutineJumpReturn+BaseAdress)
  53. MenuSubroutineJumpRAM:
  54. jml (MenuSubroutineJumpReturn+$7f0000)
  55. MenuSubroutineJumpReturn:
  56. rts
  57. MenuSubroutineWrite3000:
  58. sep #$20
  59. lda.w Reg3000WriteVar
  60. sta.l $3000
  61. rts
  62. MenuSubroutineExecTablistRec:
  63. sep #$20
  64. lda.b #2
  65. sta.b BattleMusicState
  66. rts
  67. MenuSubroutinePlayTablist:
  68. sep #$20
  69. lda.b #4
  70. sta.b BattleMusicState
  71. rts
  72. MenuSubroutineDelTablist:
  73. sep #$20
  74. stz.b BattleMusicState ;just init the whole tablist fsm
  75. rts
  76. MenuSubroutineStartStream:
  77. lda.b SpcCurrentStreamSet
  78. jsr SpcPlayStream
  79. rts
  80. MenuSubroutinePlaySong:
  81. lda.b PtPlayerCurrentSong ;play song
  82. jsr SpcPlaySong
  83. rts
  84. MenuSubroutineUploadSEPack:
  85. sep #$20
  86. lda.b PtPlayerCurrentSamplePack
  87. jsr SpcIssueSamplePackUpload
  88. rts
  89. MenuSubroutinePlaySE:
  90. sep #$20
  91. lda.w SpcSEVolume
  92. xba
  93. lda.w SpcSEPitch
  94. rep #$31
  95. tax
  96. sep #$20
  97. lda.b PtPlayerCurrentSoundEffect
  98. jsr SpcPlaySoundEffect
  99. rts
  100. MenuSubroutineVoid:
  101. rts
  102. MenuSubroutineReturnMain:
  103. sep #$20
  104. lda.b #0
  105. sta.b CurrentEvent
  106. rts
  107. MenuSubroutineTablistRecorder:
  108. sep #$20
  109. lda.b #10
  110. sta.b CurrentEvent
  111. rts
  112. MenuSubroutineInputMenu:
  113. sep #$20
  114. lda.b #8
  115. sta.b CurrentEvent
  116. rts
  117. MenuSubroutineAudioMenu:
  118. sep #$20
  119. lda.b #2
  120. sta.b CurrentEvent
  121. rts
  122. MenuSubroutineLoadLevel:
  123. sep #$20
  124. lda.b #4
  125. sta.b CurrentEvent
  126. rts
  127. MenuSubroutineLoadBattle:
  128. sep #$20
  129. lda.b #2
  130. sta.b CurrentEvent
  131. rts
  132. MenuSubroutineLoadIntro:
  133. sep #$20
  134. lda.b #28
  135. sta.b CurrentEvent
  136. rts
  137. MenuSubroutineLoadDebugmap:
  138. sep #$20
  139. lda.b #37
  140. sta.b CurrentEvent
  141. rts
  142. MenuSubroutineLoadCredits:
  143. sep #$20
  144. lda.b #36
  145. sta.b CurrentEvent
  146. ; stz.b ScreenBrightness
  147. rts