menufiles.asm 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. .Section "menu files" superfree
  2. /*
  3. these are the menu files for menusystem.asm
  4. menu table format:
  5. byte function
  6. 2 starting position of first option text on bg3 tilemap
  7. 1 relative starting position of first option variable(*2+starting position of first option text on bg3 tilemap)
  8. 1 number of seperating rows between options
  9. 1 number of rows/options
  10. 2xrow quantity relative pointer to data for each row
  11. row table format:
  12. 1 option data type (maximum number:7)
  13. 0x0=no options, only exec subroutine
  14. 0x1=1 byte
  15. 0x2=8 bits
  16. 0x3=interchangeable options with description text (eg: "sound: mono/stereo) . number of options is variable and limited by the bitmask
  17. 0x4=3byte adress with individual control over each byte(not implemented yet)
  18. 1 bitmask for changeable bits if data type=0x2; bitmask(usually only one bit) to determine the string to choose if data type=0x3(if zero=string 1, if not zero=string 2)
  19. 1 minimum value for option, wrap to maximum value if changed value equals this
  20. 1 maximum value for option, wrap to minimum value if changed value equals this
  21. 3 24bit adress of option byte to change
  22. 1 Number of subroutine to execute when option is changed(number can be found in MenuSubroutineLUT)
  23. 1 palette number when unselected
  24. 1 palette number when selected
  25. 2xstring quant. relative pointer to text string
  26. x option text string(s), #$00 terminated
  27. */
  28. MenuFilesPTable:
  29. .dw MenuFile0
  30. .dw MenuFile1
  31. .dw MenuFile2
  32. MenuFiles:
  33. MenuFile0:
  34. .dw $0306 ;starting position of first option text on bg3 tilemap
  35. .db 16 ;relative starting position of first option variable
  36. .db 0 ;number of seperating rows between options
  37. .db 6 ;number of rows/options
  38. .dw (MenuFile0Row0-MenuFile0)
  39. .dw (MenuFile0Row1-MenuFile0)
  40. .dw (MenuFile0Row2-MenuFile0)
  41. .dw (MenuFile0Row3-MenuFile0)
  42. .dw (MenuFile0Row4-MenuFile0)
  43. .dw (MenuFile0Row5-MenuFile0)
  44. MenuFile0Row0:
  45. .db 0 ;option data type (maximum number:7)
  46. .db 0 ;bitmask for changeable bits
  47. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  48. .db $ff ;maximum value for option, wrap to minimum value if changed value equals this
  49. .dw CurrentLevel ;24bit adress of option byte to change
  50. .db $7E
  51. .db 1 ;number of subroutine to execute
  52. .db 1 ;palette number when unselected
  53. .db 0 ;palette number when selected
  54. .dw (MenuFile0Row0String0-MenuFile0)
  55. MenuFile0Row0String0:
  56. .db "Jump to ROM"
  57. .db $00 ;terminator
  58. MenuFile0Row1:
  59. .db 0 ;option data type (maximum number:7)
  60. .db 0 ;bitmask for changeable bits
  61. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  62. .db $ff ;maximum value for option, wrap to minimum value if changed value equals this
  63. .dw CurrentBattleFile ;24bit adress of option byte to change
  64. .db $7e
  65. .db 2 ;2 ;number of subroutine to execute
  66. .db 1 ;palette number when unselected
  67. .db 0 ;palette number when selected
  68. .dw (MenuFile0Row1String0-MenuFile0)
  69. MenuFile0Row1String0:
  70. .db "Jump to RAM"
  71. .db $00 ;terminator
  72. MenuFile0Row2:
  73. .db 3 ;option data type (maximum number:7)
  74. .db 7 ;bitmask for changeable bits
  75. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  76. .db 1 ;maximum value for option, wrap to minimum value if changed value equals this
  77. .dw IrqRoutineNumberBuffer ;24bit adress of option byte to change
  78. .db $7e
  79. .db 0 ;number of subroutine to execute
  80. .db 1 ;palette number when unselected
  81. .db 0 ;palette number when selected
  82. .dw (MenuFile0Row2String0-MenuFile0)
  83. .dw (MenuFile0Row2String1-MenuFile0)
  84. .dw (MenuFile0Row2String2-MenuFile0)
  85. MenuFile0Row2String0:
  86. .db "Video-IRQ"
  87. .db $00 ;terminator
  88. MenuFile0Row2String1:
  89. .db "Disable"
  90. .db $00 ;terminator
  91. MenuFile0Row2String2:
  92. .db "Enable "
  93. .db $00 ;terminator
  94. MenuFile0Row3:
  95. .db 1 ;option data type (maximum number:7)
  96. .db 0 ;bitmask for changeable bits
  97. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  98. .db $ff ;maximum value for option, wrap to minimum value if changed value equals this
  99. .dw Reg3000WriteVar ;24bit adress of option byte to change
  100. .db $7e
  101. .db 4 ;number of subroutine to execute
  102. .db 1 ;palette number when unselected
  103. .db 0 ;palette number when selected
  104. .dw (MenuFile0Row3String0-MenuFile0)
  105. MenuFile0Row3String0:
  106. .db "$00:3000 Write"
  107. .db $00 ;terminator
  108. MenuFile0Row4:
  109. .db 0 ;option data type (maximum number:7)
  110. .db 0 ;bitmask for changeable bits
  111. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  112. .db 31 ;maximum value for option, wrap to minimum value if changed value equals this
  113. .dw PtPlayerCurrentSoundEffect ;24bit adress of option byte to change
  114. .db $7e
  115. .db 3 ;number of subroutine to execute
  116. .db 1 ;palette number when unselected
  117. .db 0 ;palette number when selected
  118. .dw (MenuFile0Row4String0-MenuFile0)
  119. MenuFile0Row4String0:
  120. .db "Audio Menu"
  121. .db $00 ;terminator
  122. MenuFile0Row5:
  123. .db 0 ;option data type (maximum number:7)
  124. .db 0 ;bitmask for changeable bits
  125. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  126. .db $7f ;maximum value for option, wrap to minimum value if changed value equals this
  127. .dw SpcSEVolume ;24bit adress of option byte to change
  128. .db $7e
  129. .db 12 ;number of subroutine to execute
  130. .db 1 ;palette number when unselected
  131. .db 0 ;palette number when selected
  132. .dw (MenuFile0Row5String0-MenuFile0)
  133. MenuFile0Row5String0:
  134. .db "Calc Chsum"
  135. .db $00 ;terminator
  136. ;audio menu
  137. MenuFile1:
  138. .dw $0306 ;starting position of first option text on bg3 tilemap
  139. .db 20 ;relative starting position of first option variable
  140. .db 0 ;number of seperating rows between options
  141. .db 6 ;number of rows/options
  142. .dw (MenuFile1Row2-MenuFile1)
  143. .dw (MenuFile1Row7-MenuFile1)
  144. .dw (MenuFile1Row8-MenuFile1)
  145. .dw (MenuFile1Row9-MenuFile1)
  146. .dw (MenuFile1Row10-MenuFile1)
  147. .dw (MenuFile1Row11-MenuFile1)
  148. MenuFile1Row2:
  149. .db 0 ;option data type (maximum number:7)
  150. .db 0 ;bitmask for changeable bits
  151. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  152. .db 0 ;maximum value for option, wrap to minimum value if changed value equals this
  153. .dw PtPlayerCurrentSong ;24bit adress of option byte to change
  154. .db $7e
  155. .db 5 ;number of subroutine to execute
  156. .db 1 ;palette number when unselected
  157. .db 0 ;palette number when selected
  158. .dw (MenuFile1Row2String0-MenuFile1)
  159. MenuFile1Row2String0:
  160. .db "Upload,play song"
  161. .db $00 ;terminator
  162. MenuFile1Row7:
  163. .db 0 ;option data type (maximum number:7)
  164. .db 0 ;bitmask for changeable bits
  165. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  166. .db 59 ;maximum value for option, wrap to minimum value if changed value equals this
  167. .dw SpcSEPitch ;24bit adress of option byte to change
  168. .db $7e
  169. .db 8 ;number of subroutine to execute
  170. .db 1 ;palette number when unselected
  171. .db 0 ;palette number when selected
  172. .dw (MenuFile1Row7String0-MenuFile1)
  173. MenuFile1Row7String0:
  174. .db "Stop song"
  175. .db $00 ;terminator
  176. MenuFile1Row8:
  177. .db 1 ;option data type (maximum number:7)
  178. .db 0 ;bitmask for changeable bits
  179. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  180. .db $ff ;maximum value for option, wrap to minimum value if changed value equals this
  181. .dw SpcSongSpeed ;24bit adress of option byte to change
  182. .db $7e
  183. .db 9 ;number of subroutine to execute
  184. .db 1 ;palette number when unselected
  185. .db 0 ;palette number when selected
  186. .dw (MenuFile1Row8String0-MenuFile1)
  187. MenuFile1Row8String0:
  188. .db "Set song speed"
  189. .db $00 ;terminator
  190. MenuFile1Row9:
  191. .db 2 ;option data type (maximum number:7)
  192. .db 0 ;bitmask for changeable bits
  193. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  194. .db $0f ;maximum value for option, wrap to minimum value if changed value equals this
  195. .dw SpcSongChMask ;24bit adress of option byte to change
  196. .db $7e
  197. .db 10 ;number of subroutine to execute
  198. .db 1 ;palette number when unselected
  199. .db 0 ;palette number when selected
  200. .dw (MenuFile1Row9String0-MenuFile1)
  201. MenuFile1Row9String0:
  202. .db "Song channel mask"
  203. .db $00 ;terminator
  204. MenuFile1Row10:
  205. .db 3 ;option data type (maximum number:7)
  206. .db 7 ;bitmask for changeable bits
  207. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  208. .db 7 ;maximum value for option, wrap to minimum value if changed value equals this
  209. .dw SpcReportType ;24bit adress of option byte to change
  210. .db $7e
  211. .db 11 ;number of subroutine to execute
  212. .db 1 ;palette number when unselected
  213. .db 0 ;palette number when selected
  214. .dw (MenuFile1Row10String0-MenuFile1)
  215. .dw (MenuFile1Row10String1-MenuFile1)
  216. .dw (MenuFile1Row10String2-MenuFile1)
  217. .dw (MenuFile1Row10String3-MenuFile1)
  218. .dw (MenuFile1Row10String4-MenuFile1)
  219. .dw (MenuFile1Row10String1-MenuFile1)
  220. .dw (MenuFile1Row10String1-MenuFile1)
  221. .dw (MenuFile1Row10String1-MenuFile1)
  222. .dw (MenuFile1Row10String1-MenuFile1)
  223. MenuFile1Row10String0:
  224. .db "Spc Report Type"
  225. .db $00 ;terminator
  226. MenuFile1Row10String1:
  227. .db "None "
  228. .db $00 ;terminator
  229. MenuFile1Row10String2:
  230. .db "Timecode"
  231. .db $00 ;terminator
  232. MenuFile1Row10String3:
  233. .db "Vol Out "
  234. .db $00 ;terminator
  235. MenuFile1Row10String4:
  236. .db "Mod Cmd "
  237. .db $00 ;terminator
  238. MenuFile1Row11:
  239. .db 0 ;option data type (maximum number:7)
  240. .db 0 ;bitmask for changeable bits
  241. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  242. .db $0f ;maximum value for option, wrap to minimum value if changed value equals this
  243. .dw SpcSongChMask ;24bit adress of option byte to change
  244. .db $7e
  245. .db 13 ;number of subroutine to execute
  246. .db 1 ;palette number when unselected
  247. .db 0 ;palette number when selected
  248. .dw (MenuFile1Row11String0-MenuFile1)
  249. MenuFile1Row11String0:
  250. .db "Return"
  251. .db $00
  252. MenuFile2:
  253. .dw $0306 ;starting position of first option text on bg3 tilemap
  254. .db 16 ;relative starting position of first option variable
  255. .db 0 ;number of seperating rows between options
  256. .db 1 ;number of rows/options
  257. .dw (MenuFile2Row0-MenuFile2)
  258. MenuFile2Row0:
  259. .db 0 ;option data type (maximum number:7)
  260. .db 0 ;bitmask for changeable bits
  261. .db 0 ;minimum value for option, wrap to maximum value if changed value equals this
  262. .db $ff ;maximum value for option, wrap to minimum value if changed value equals this
  263. .dw CurrentLevel ;24bit adress of option byte to change
  264. .db $7E
  265. .db 13 ;number of subroutine to execute
  266. .db 1 ;palette number when unselected
  267. .db 0 ;palette number when selected
  268. .dw (MenuFile2Row0String0-MenuFile2)
  269. MenuFile2Row0String0:
  270. .db "Return"
  271. .db $00 ;terminator
  272. .ends