请选择 进入手机版 | 继续访问电脑版

新模拟器共享论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1 2

最近看过此主题的会员

查看: 238|回复: 12

[FC][菜单分页][20190517]

  [复制链接]

签到天数: 347 天

[LV.8]以坛为家I

评论头像

发表于 2019-5-16 14:27:26 | 显示全部楼层 |阅读模式
本帖最后由 FlameCyclone 于 2019-5-18 11:58 编辑

[FC][菜单分页][20190517]

  1. ;[FC][菜单分页][20190517]
  2. ;FlameCyclone
  3. ;============================================================
  4. RESET_ADDR = $E000                              ;重置中断指针
  5. ;============================================================
  6. ITEM_MAX_COUNT  = 256                               ;最大项数
  7. ITEM_PAGE_SIZE = 12                                 ;每页项数
  8. ITEM_BUFFER_SIZE = 03                         ;单次写入缓冲数
  9. ;------------------------------------------------------------
  10. ITEM_MAX  = ITEM_MAX_COUNT - 001                    ;最大项数
  11. ;------------------------------------------------------------
  12. .IF ITEM_MAX < ITEM_PAGE_SIZE
  13. ITEM_PAGE = ITEM_MAX_COUNT                          ;每页项数
  14. ITEM_PAGE_MAX   = 0                                   ;最大页
  15. .ELSE
  16. ITEM_PAGE = ITEM_PAGE_SIZE                          ;每页项数
  17. ITEM_PAGE_MAX   = ITEM_MAX / ITEM_PAGE * ITEM_PAGE    ;最大页
  18. .ENDIF
  19. .IF ITEM_MAX_COUNT % ITEM_PAGE
  20. ITEM_PAGE_SUM  = ITEM_MAX_COUNT / ITEM_PAGE + 1       ;总页数
  21. .ELSE
  22. ITEM_PAGE_SUM  = ITEM_MAX_COUNT / ITEM_PAGE           ;总页数
  23. .ENDIF
  24. ;============================================================
  25. CHAR_NULL  = $00                                  ;空字符索引
  26. CHAR_SPACE = ' '                                ;空格字符索引
  27. CHAR_POINT = '.'                                ;空格句号索引
  28. CHAR_PER   = '/'                                ;斜杠符号索引
  29. CHAR_DIGIT = '0'                                ;数字字符起始
  30. CHAR_ARROW = $1F                            ;光标箭头图形索引
  31. ;============================================================
  32. ORDER_INDEX_LENGTH = $03                        ;序号数字长度
  33. PAGE_INDEX_LENGTH  = $02                        ;页号数字长度
  34. SOUND_INDEX_LENGTH = $03                        ;曲号数字长度
  35. ;------------------------------------------------------------
  36. NMUBER_LENGTH_MAX  = $03                        ;最大数字长度
  37. ;============================================================
  38. FC_Data_L   = $40                               ;数据地址低位
  39. FC_Data_H   = FC_Data_L+$01                     ;数据地址高位
  40. FC_Data_Cnt = FC_Data_H+$01                         ;数据计数
  41. ;============================================================
  42. FC_PPU_Buffer = $0200                            ;PPU缓冲地址
  43. FC_PPU_Status = FC_PPU_Buffer+$C0                ;PPU显示状态
  44. FC_PPU_Cursor = FC_PPU_Status + $01          ;当前PPU缓冲位置
  45. FC_PPU_Addr_L = FC_PPU_Cursor + $01              ;PPU地址低位
  46. FC_PPU_Addr_H = FC_PPU_Addr_L + $01              ;PPU地址高位
  47. ;============================================================
  48. Item_Index_Cur  = FC_PPU_Addr_H + $01               ;当前索引
  49. Item_Index_Old  = Item_Index_Cur + $01              ;历史索引
  50. Item_Page_Cur   = Item_Index_Old + $01                ;当前页
  51. Item_Page_Old   = Item_Page_Cur + $01                 ;历史页
  52. Item_Index_Cnt  = Item_Page_Old + $01               ;索引计数
  53. Item_Write_Buf  = Item_Index_Cnt + $01          ;项缓冲最大数
  54. ;============================================================
  55. BTN_DELAY_TIME  = $18                           ;按键延时启动
  56. BTN_DELAY_SPEED = $08                           ;按键延时速度
  57. ;------------------------------------------------------------
  58. Btn_Once        = Item_Write_Buf + $01              ;单次按键
  59. Btn_Keep        = Btn_Once + $01                    ;长按按键
  60. Btn_Delay       = Btn_Keep + $01                    ;长按延时
  61. ;------------------------------------------------------------
  62. BTN_UP     = $08                                        ;上键
  63. BTN_DOWN   = $04                                        ;下键
  64. BTN_LEFT   = $02                                        ;左键
  65. BTN_RIGHT  = $01                                        ;右键
  66. BTN_B      = $40                                         ;B键
  67. BTN_A      = $80                                         ;A键
  68. BTN_SELECT = $20                                      ;选择键
  69. BTN_START  = $10                                      ;开始键
  70. ;============================================================
  71. SCROLL_H_VALUE = $04                                ;水平滚动
  72. SCROLL_V_VALUE = $EC                                ;垂直滚动
  73. ;------------------------------------------------------------
  74. Scroll_H = Btn_Delay + $01                          ;水平滚动
  75. Scroll_V = Scroll_H + $01                           ;垂直滚动
  76. ;============================================================
  77. DEC_100 = Scroll_V + $01                          ;十进制百位
  78. DEC_010 = DEC_100 + $01                           ;十进制十位
  79. DEC_001 = DEC_010 + $01                           ;十进制个位
  80. ;============================================================
  81. Sound_Index = DEC_001 + $01                         ;曲目索引
  82. Sound_Init = $8003                                ;初始化地址
  83. Sound_Play = $8000                                  ;播放地址
  84. ;------------------------------------------------------------
  85. SOUND_MAX = 017                                     ;最大曲目
  86. SOUND_BGM = 007                                     ;默认背景
  87. SOUND_BTN = 028                                     ;按键音效
  88. ;============================================================
  89. .ORG RESET_ADDR
  90. ;========================================
  91. ProgramBegin:                   ;程序开始
  92. SEI
  93. CLD
  94. LDX #$FF
  95. TXS
  96. LDA #$00
  97. STA $2000
  98. STA $2001

  99. ;========================================
  100. TimeDelay:                      ;延时等待
  101. LDX #$02
  102. TimeDelayA:
  103. BIT $2002
  104. BPL TimeDelayA
  105. TimeDelayB:
  106. BIT $2002
  107. BMI TimeDelayB
  108. DEX
  109. BNE TimeDelayA

  110. ;========================================
  111. ClearScreen:                    ;清空屏幕
  112. JSR PaletteClear
  113. JSR NameTableClear

  114. ;========================================
  115. PortInit:                     ;端口初始化
  116. LDA #$0F
  117. STA $4015
  118. LDA #$C0
  119. STA $4017
  120. LDA #$00
  121. STA $A000

  122. ;========================================
  123. RamInit:                      ;内存初始化
  124. LDX #$00
  125. TXA
  126. STA $00
  127. STA $01
  128. LDY #$00
  129. RamInitSet:
  130. STA ($00),Y
  131. INY
  132. BNE RamInitSet
  133. INC $01
  134. INX
  135. CPX #$08
  136. BCC RamInitSet

  137. ;========================================
  138. ScreenInit:                   ;屏幕初始化
  139. JSR ChrSteup
  140. JSR PaletteSteup
  141. JSR PpuLayoutSteup
  142. LDA #SCROLL_H_VALUE
  143. STA Scroll_H
  144. LDA #SCROLL_V_VALUE
  145. STA Scroll_V
  146. JSR ShowTitle
  147. JSR ShowPageItems
  148. JSR ShowPageIndex
  149. JSR ShowArrow
  150. LDA #$0E
  151. STA FC_PPU_Status
  152. LDA #SOUND_BGM - 1
  153. STA Sound_Index
  154. JSR Sound_Init
  155. ;========================================
  156. Circle:                             ;循环
  157. JSR NmiDelay
  158. JSR ButtonProcess
  159. JSR ChangeItemIndex
  160. JMP Circle

  161. ;========================================
  162. NmiDelay:                        ;NMI延时
  163. LDA $2002
  164. BPL NmiDelay
  165. JSR FC_PPU_Process
  166. LDA Scroll_H
  167. STA $2005
  168. LDA Scroll_V
  169. STA $2005
  170. JSR Sound_Play
  171. RTS

  172. ;========================================
  173. MODE_CNTL = $FB               ;行写入模式
  174. MODE_CNTC = $FC               ;行清除模式
  175. MODE_CNTN = $FD               ;行转行模式
  176. MODE_CNTS = $FE         ;转行空格写入模式
  177. ;----------------------------------------
  178. FC_PPU_Process:                  ;PPU处理
  179. LDA FC_PPU_Buffer
  180. BEQ FC_PPU_Process_End
  181. JSR FC_PPU_Process_Beg
  182. FC_PPU_Process_End:
  183. LDA #$00
  184. STA FC_PPU_Buffer
  185. STA $2006
  186. STA $2006
  187. STA $2005
  188. STA $2005
  189. LDA FC_PPU_Status
  190. STA $2001
  191. RTS

  192. ;----------------------------------------
  193. FC_PPU_Process_Beg:             ;处理开始
  194. LDX FC_PPU_Cursor
  195. LDA #$00
  196. STA $2001
  197. STA FC_PPU_Buffer,X
  198. STA FC_PPU_Cursor
  199. LDX #$FF
  200. ;----------------------------------------
  201. FC_PPU_Mode_Select:             ;模式选择
  202. INX
  203. LDA FC_PPU_Buffer,X
  204. CMP #MODE_CNTL
  205. BEQ FC_PPU_Mode_CountLine
  206. CMP #MODE_CNTC
  207. BEQ FC_PPU_Mode_CountClear
  208. CMP #MODE_CNTN
  209. BEQ FC_PPU_Mode_CountNext
  210. CMP #MODE_CNTS
  211. BEQ FC_PPU_Mode_CountSpace
  212. RTS

  213. ;----------------------------------------
  214. FC_PPU_Mode_CountLine:        ;行写入模式
  215. JSR FC_PPU_Set_Addr
  216. LDY FC_PPU_Buffer,X
  217. FC_PPU_CountLine_Write:
  218. INX
  219. LDA FC_PPU_Buffer,X
  220. STA $2007
  221. DEY
  222. BNE FC_PPU_CountLine_Write
  223. JMP FC_PPU_Mode_Select

  224. ;----------------------------------------
  225. FC_PPU_Mode_CountClear:       ;行清除模式
  226. JSR FC_PPU_Write_Addr
  227. LDY FC_PPU_Buffer,X
  228. LDA #$00
  229. FC_PPU_CountClear_Write:
  230. STA $2007
  231. DEY
  232. BNE FC_PPU_CountClear_Write
  233. JMP FC_PPU_Mode_Select

  234. ;----------------------------------------
  235. FC_PPU_Mode_CountNext:      ;转行写入模式
  236. JSR FC_PPU_Set_Next
  237. FC_PPU_CountNext_Write:
  238. LDA FC_PPU_Addr_H
  239. STA $2006
  240. LDA FC_PPU_Addr_L
  241. STA $2006
  242. INX
  243. LDY FC_PPU_Buffer,X
  244. JMP FC_PPU_CountLine_Write

  245. ;----------------------------------------
  246. FC_PPU_Mode_CountSpace: ;转行空格写入模式
  247. JSR FC_PPU_Set_Next
  248. FC_PPU_Mode_CountSpace_Write:
  249. INX
  250. LDA FC_PPU_Addr_H
  251. STA $2006
  252. LDA FC_PPU_Addr_L
  253. AND #$E0
  254. CLC
  255. ADC FC_PPU_Buffer,X
  256. STA FC_PPU_Addr_L
  257. STA $2006
  258. INX
  259. LDY FC_PPU_Buffer,X
  260. JMP FC_PPU_CountLine_Write

  261. ;----------------------------------------
  262. FC_PPU_Set_Addr:                ;写入地址
  263. INX
  264. LDA FC_PPU_Buffer,X
  265. STA FC_PPU_Addr_H
  266. STA $2006
  267. INX
  268. LDA FC_PPU_Buffer,X
  269. STA FC_PPU_Addr_L
  270. STA $2006
  271. INX
  272. RTS

  273. ;----------------------------------------
  274. FC_PPU_Write_Addr:                ;写入地址
  275. INX
  276. LDA FC_PPU_Buffer,X
  277. STA $2006
  278. INX
  279. LDA FC_PPU_Buffer,X
  280. STA $2006
  281. INX
  282. RTS

  283. ;----------------------------------------
  284. FC_PPU_Set_Next:                ;地址转行
  285. LDA FC_PPU_Addr_L
  286. CLC
  287. ADC #$20
  288. STA FC_PPU_Addr_L
  289. BCC FC_PPU_Set_Next_End
  290. INC FC_PPU_Addr_H
  291. FC_PPU_Set_Next_End:
  292. RTS

  293. ;==================================================
  294. FC_PPU_Source_Write_Buffer:        ;写入PPU缓冲数据
  295. LDA (FC_Data_L),Y
  296. STA FC_PPU_Buffer,X
  297. INX
  298. INY
  299. RTS

  300. ;========================================
  301. SRC_MODE_NULL  = $FF      ;无地址写入模式
  302. ;----------------------------------------
  303. FC_PPU_Write_Source:          ;源数据写入
  304. PHA
  305. TXA
  306. PHA
  307. TYA
  308. PHA
  309. LDX FC_PPU_Cursor
  310. LDY #$00
  311. LDA FC_Data_Cnt
  312. STY FC_Data_Cnt
  313. INC FC_Data_Cnt
  314. CMP #SRC_MODE_NULL
  315. BNE FC_PPU_Write_Line
  316. JSR FC_PPU_Source_Write_Buffer
  317. STA FC_Data_Cnt
  318. FC_PPU_Write_Source_Set:
  319. JSR FC_PPU_Source_Write_Buffer
  320. DEC FC_Data_Cnt
  321. BNE FC_PPU_Write_Source_Set
  322. FC_PPU_Write_Line:
  323. LDA (FC_Data_L),Y
  324. CMP #MODE_CNTL
  325. BNE FC_PPU_Write_Next
  326. JSR FC_PPU_Source_Write_Buffer
  327. JSR FC_PPU_Source_Write_Buffer
  328. JSR FC_PPU_Source_Write_Buffer
  329. JSR FC_PPU_Source_Write_Buffer
  330. STA FC_Data_Cnt
  331. BNE FC_PPU_Write_Source_Set
  332. FC_PPU_Write_Next:
  333. CMP #MODE_CNTN
  334. BNE FC_PPU_Write_Space
  335. JSR FC_PPU_Source_Write_Buffer
  336. JSR FC_PPU_Source_Write_Buffer
  337. STA FC_Data_Cnt
  338. BNE FC_PPU_Write_Source_Set
  339. FC_PPU_Write_Space:
  340. CMP #MODE_CNTS
  341. BNE FC_PPU_Write_Clear
  342. JSR FC_PPU_Source_Write_Buffer
  343. JSR FC_PPU_Source_Write_Buffer
  344. JSR FC_PPU_Source_Write_Buffer
  345. STA FC_Data_Cnt
  346. BNE FC_PPU_Write_Source_Set
  347. FC_PPU_Write_Clear:
  348. CMP #MODE_CNTC
  349. BNE FC_PPU_Write_Source_End
  350. JSR FC_PPU_Source_Write_Buffer
  351. JSR FC_PPU_Source_Write_Buffer
  352. BNE FC_PPU_Write_Line
  353. FC_PPU_Write_Source_End:
  354. STX FC_PPU_Cursor
  355. LDA #$00
  356. STA FC_Data_Cnt
  357. PLA
  358. TAY
  359. PLA
  360. TAX
  361. PLA
  362. RTS

  363. ;========================================
  364. FC_PPU_Source_Write:     ;写入PPU缓冲数据
  365. STA FC_PPU_Buffer,X
  366. INX
  367. INY
  368. RTS

  369. ;========================================
  370. FC_PPU_Clear_Source:          ;源数据清除
  371. PHA
  372. TXA
  373. PHA
  374. TYA
  375. PHA
  376. LDX FC_PPU_Cursor
  377. LDY #$00
  378. LDA FC_Data_Cnt
  379. STY FC_Data_Cnt
  380. INC FC_Data_Cnt
  381. CMP #SRC_MODE_NULL
  382. BNE FC_PPU_Clear_Line
  383. FC_PPU_Clear_Source_Set:
  384. LDA (FC_Data_L),Y
  385. STA FC_PPU_Buffer,X
  386. TYA
  387. CLC
  388. ADC (FC_Data_L),Y
  389. TAY
  390. INX
  391. INY
  392. FC_PPU_Clear_Line:
  393. LDA (FC_Data_L),Y
  394. CMP #MODE_CNTL
  395. BNE FC_PPU_Clear_Next
  396. LDA #MODE_CNTC
  397. JSR FC_PPU_Source_Write
  398. LDA (FC_Data_L),Y
  399. STA FC_PPU_Addr_H
  400. JSR FC_PPU_Source_Write
  401. LDA (FC_Data_L),Y
  402. STA FC_PPU_Addr_L
  403. JSR FC_PPU_Source_Write
  404. JMP FC_PPU_Clear_Source_Set
  405. FC_PPU_Clear_Next:
  406. CMP #MODE_CNTN
  407. BNE FC_PPU_Clear_Space
  408. JSR FC_PPU_Set_Next
  409. LDA #MODE_CNTC
  410. STA FC_PPU_Buffer,X
  411. INX
  412. LDA FC_PPU_Addr_H
  413. STA FC_PPU_Buffer,X
  414. INX
  415. LDA FC_PPU_Addr_L
  416. JSR FC_PPU_Source_Write
  417. JMP FC_PPU_Clear_Source_Set
  418. FC_PPU_Clear_Space:
  419. CMP #MODE_CNTS
  420. BNE FC_PPU_Clear_Clear
  421. JSR FC_PPU_Set_Next
  422. INY
  423. LDA #MODE_CNTC
  424. STA FC_PPU_Buffer,X
  425. INX
  426. LDA FC_PPU_Addr_H
  427. STA FC_PPU_Buffer,X
  428. INX
  429. LDA FC_PPU_Addr_L
  430. AND #$E0
  431. CLC
  432. ADC (FC_Data_L),Y
  433. STA FC_PPU_Addr_L
  434. JSR FC_PPU_Source_Write
  435. JMP FC_PPU_Clear_Source_Set
  436. FC_PPU_Clear_Clear:
  437. CMP #MODE_CNTC
  438. BNE FC_PPU_Clear_Source_End
  439. JSR FC_PPU_Source_Write
  440. LDA (FC_Data_L),Y
  441. JSR FC_PPU_Source_Write
  442. LDA (FC_Data_L),Y
  443. JSR FC_PPU_Source_Write
  444. LDA (FC_Data_L),Y
  445. JSR FC_PPU_Source_Write
  446. JMP FC_PPU_Clear_Line
  447. FC_PPU_Clear_Source_End:
  448. STX FC_PPU_Cursor
  449. LDA #$00
  450. STA FC_Data_Cnt
  451. PLA
  452. TAY
  453. PLA
  454. TAX
  455. PLA
  456. RTS

  457. ;========================================
  458. ButtonProcess:                  ;按键扫描
  459. LDX #$01
  460. STX $4016
  461. DEX
  462. STX $4016
  463. ButtonScan
  464. LDY #$08
  465. ButtonScanBeg:
  466. LDA $4016,X
  467. LSR
  468. ROL Btn_Once,X
  469. LSR
  470. DEY
  471. BNE ButtonScanBeg
  472. ButtonSet:
  473. LDA Btn_Once,X
  474. TAY
  475. EOR Btn_Keep,X
  476. AND Btn_Once,X
  477. STA Btn_Once,X
  478. TYA
  479. STA Btn_Keep,X
  480. ;----------------------------------------
  481. ButtonDelay:                ;按键长按延迟
  482. LDA Btn_Keep
  483. BEQ ButtonDelayEnd
  484. CMP #$10
  485. BEQ ButtonDelayEnd
  486. LDA Btn_Delay
  487. CMP #BTN_DELAY_TIME
  488. BCS ButtonDelayPress
  489. INC Btn_Delay
  490. RTS
  491. ButtonDelayPress:
  492. INC Btn_Delay
  493. LDA Btn_Delay
  494. SEC
  495. SBC #BTN_DELAY_TIME
  496. CMP #BTN_DELAY_SPEED
  497. BCS ButtonDelayFinish
  498. RTS
  499. ButtonDelayFinish:
  500. LDA Btn_Keep
  501. STA Btn_Once
  502. LDA #BTN_DELAY_TIME
  503. ButtonDelayEnd:
  504. STA Btn_Delay
  505. RTS

  506. ;========================================
  507. HexToDec:            ;8位十六进制转十进制
  508. LDY #$00
  509. BCC Count100
  510. INY
  511. SBC #100
  512. Count100:
  513. CMP #100
  514. BCC Set100
  515. SBC #100
  516. INY
  517. BNE Count100
  518. Set100:
  519. STY DEC_100
  520. LDY #$00
  521. Count010:
  522. CMP #10
  523. BCC Set010
  524. SBC #10
  525. INY
  526. BNE Count010
  527. Set010:
  528. STY DEC_010
  529. STA DEC_001
  530. RTS

  531. ;========================================
  532. ChrSteup:                     ;图形块设置
  533. LDX #$00
  534. ChrSteupSet:
  535. STX $8000
  536. LDA Chr_Bank_Data,X
  537. STA $8001
  538. INX
  539. CPX #$06
  540. BCC ChrSteupSet
  541. RTS

  542. ;========================================
  543. PaletteClear:                 ;调色板清空
  544. LDA #$3F
  545. STA $2006
  546. LDA #$00
  547. STA $2006
  548. LDX #$00
  549. LDA #$0F
  550. PaletteClearSet:
  551. STA $2007
  552. INX
  553. CPX #$20
  554. BCC PaletteClearSet
  555. RTS

  556. ;========================================
  557. NameTableClear:               ;命名表清空
  558. LDA #$20
  559. STA $2006
  560. LDA #$00
  561. STA $2006
  562. LDX #$00
  563. LDY #$00
  564. LDA #$00
  565. NameTableClearSet:
  566. STA $2007
  567. INX
  568. BNE NameTableClearSet
  569. INY
  570. CPY #10
  571. BCC NameTableClearSet
  572. RTS

  573. ;========================================
  574. PaletteSteup:             ;背景调色板设置
  575. LDA #$3F
  576. STA $2006
  577. LDA #$00
  578. STA $2006
  579. LDX #$00
  580. PaletteSteupSet:
  581. LDA Palette_Data,X
  582. STA $2007
  583. INX
  584. CPX #$10
  585. BCC PaletteSteupSet
  586. RTS

  587. ;========================================
  588. PpuLayoutSteup:               ;属性表配置
  589. LDA #$23
  590. STA $2006
  591. LDA #$C0
  592. STA $2006
  593. LDX #$00
  594. PpuLayoutSteupSet:
  595. LDA PpuLayout_Data,X
  596. STA $2007
  597. INX
  598. CPX #$40
  599. BCC PpuLayoutSteupSet
  600. RTS

  601. ;========================================
  602. GetPageIndex:                 ;计算页索引
  603. LDA #$00
  604. STA Item_Page_Cur
  605. LDA Item_Index_Cur
  606. CMP #ITEM_PAGE
  607. BCC GetPageIndexReturn
  608. LDA #$00
  609. CLC
  610. GetPageIndexSet:
  611. ADC #ITEM_PAGE
  612. BCS GetPageMaxIndex
  613. CMP Item_Index_Cur
  614. BEQ GetPageIndexEnd
  615. BCS GetPageIndexReturn
  616. STA Item_Page_Cur
  617. BNE GetPageIndexSet
  618. GetPageIndexEnd:
  619. STA Item_Page_Cur
  620. GetPageIndexReturn:
  621. RTS
  622. GetPageMaxIndex:
  623. LDA #ITEM_PAGE_MAX
  624. STA Item_Page_Cur
  625. RTS

  626. ;========================================
  627. SaveOldSelect:              ;保存历史索引
  628. LDA Item_Page_Cur
  629. STA Item_Page_Old
  630. LDA Item_Index_Cur
  631. STA Item_Index_Old
  632. RTS

  633. ;========================================
  634. SetLastPage:              ;设置上一页索引
  635. JSR SaveOldSelect
  636. LDA #ITEM_MAX
  637. CMP #ITEM_PAGE
  638. BCS SetLastPageMul
  639. LDA #$00
  640. STA Item_Index_Cur
  641. RTS
  642. SetLastPageMul:
  643. LDA Item_Index_Cur
  644. CMP #ITEM_PAGE
  645. BCC SetMaxPage
  646. SEC
  647. SBC #ITEM_PAGE
  648. STA Item_Index_Cur
  649. RTS
  650. SetMaxPage:
  651. LDA #ITEM_PAGE_MAX
  652. CLC
  653. ADC Item_Index_Cur
  654. BCS SetLastMaxSet
  655. CMP #ITEM_MAX
  656. SetLastMaxSet
  657. BCC SetLastPageSet
  658. LDA #ITEM_MAX
  659. SetLastPageSet:
  660. STA Item_Index_Cur
  661. RTS

  662. ;========================================
  663. SetNextPage:              ;设置下一页索引
  664. JSR SaveOldSelect
  665. LDA #ITEM_MAX
  666. CMP #ITEM_PAGE
  667. BCS SetNextPageMul
  668. LDA #ITEM_PAGE - 1
  669. STA Item_Index_Cur
  670. RTS
  671. SetNextPageMul:
  672. LDA Item_Index_Cur
  673. CMP #ITEM_PAGE_MAX
  674. BCS SetNext
  675. CLC
  676. ADC #ITEM_PAGE
  677. BCS SetNextMaxSet
  678. CMP #ITEM_MAX
  679. BCC SetNextSet
  680. SetNextMaxSet
  681. LDA #ITEM_MAX
  682. SetNextSet:
  683. STA Item_Index_Cur
  684. RTS
  685. SetNext:
  686. LDA Item_Index_Cur
  687. SEC
  688. SBC #ITEM_PAGE_MAX
  689. STA Item_Index_Cur
  690. RTS

  691. ;========================================
  692. SetLastItem:              ;设置上一项索引
  693. JSR SaveOldSelect
  694. LDA Item_Index_Cur
  695. BEQ SetMaxItem
  696. LDA Item_Index_Cur
  697. CMP Item_Page_Cur
  698. BNE SetLastItemSet
  699. SetLastItemSet:
  700. DEC Item_Index_Cur
  701. RTS
  702. SetMaxItem:
  703. LDA #ITEM_MAX
  704. STA Item_Index_Cur
  705. JSR GetPageIndex
  706. RTS

  707. ;========================================
  708. SetNextItem:              ;设置下一项索引
  709. JSR SaveOldSelect
  710. LDA Item_Index_Cur
  711. CMP #ITEM_MAX
  712. BEQ SetMinItem
  713. LDA Item_Page_Cur
  714. CLC
  715. ADC #ITEM_PAGE -1
  716. CMP Item_Index_Cur
  717. BNE SetNextItemSet
  718. SetNextItemSet:
  719. INC Item_Index_Cur
  720. RTS
  721. SetMinItem:
  722. LDA #$00
  723. STA Item_Index_Cur
  724. JSR GetPageIndex
  725. RTS

  726. ;========================================
  727. SetOrderPos:                ;设置序号位置
  728. LDY Item_Index_Cnt
  729. LDA Pos_Data_H,Y
  730. STA FC_PPU_Buffer,X
  731. INX
  732. LDA Pos_Data_L,Y
  733. STA FC_PPU_Buffer,X
  734. INX
  735. LDA #ORDER_INDEX_LENGTH + 1
  736. STA FC_PPU_Buffer,X
  737. INX
  738. RTS

  739. ;========================================
  740. ClearOrder:                     ;清除序号
  741. LDA Item_Page_Cur
  742. CMP Item_Page_Old
  743. BEQ ClearOrderEnd
  744. LDA Item_Page_Old
  745. CLC
  746. ADC Item_Index_Cnt
  747. BCS ClearOrderEnd
  748. CMP #ITEM_MAX
  749. BEQ ClearOrderSet
  750. BCS ClearOrderEnd
  751. ClearOrderSet:
  752. LDX FC_PPU_Cursor
  753. LDA #MODE_CNTC
  754. STA FC_PPU_Buffer,X
  755. INX
  756. JSR SetOrderPos
  757. ClearOrderWrite:
  758. STX FC_PPU_Cursor
  759. ClearOrderEnd:
  760. RTS

  761. ;========================================
  762. WriteNum:                       ;写入数字
  763. TAY
  764. WriteNumSet:
  765. LDA DEC_100,Y
  766. CLC
  767. ADC #CHAR_DIGIT
  768. STA FC_PPU_Buffer,X
  769. INX
  770. INY
  771. CPY #$03
  772. BCC WriteNumSet
  773. RTS

  774. ;========================================
  775. ShowOrder:                      ;显示序号
  776. LDA Item_Page_Cur
  777. CLC
  778. ADC Item_Index_Cnt
  779. BCS ShowOrderEnd
  780. CMP #ITEM_MAX
  781. BEQ ShowOrderSet
  782. BCS ShowOrderEnd
  783. ShowOrderSet:
  784. CLC
  785. ADC #$01
  786. JSR HexToDec
  787. LDX FC_PPU_Cursor
  788. LDA #MODE_CNTL
  789. STA FC_PPU_Buffer,X
  790. INX
  791. JSR SetOrderPos
  792. LDA #NMUBER_LENGTH_MAX - ORDER_INDEX_LENGTH
  793. JSR WriteNum
  794. LDA #CHAR_POINT
  795. STA FC_PPU_Buffer,X
  796. INX
  797. STX FC_PPU_Cursor
  798. ShowOrderEnd:
  799. RTS

  800. ;========================================
  801. UpdateOrder:                    ;更新序号
  802. JSR ClearOrder
  803. JSR ShowOrder
  804. RTS

  805. ;========================================
  806. SetTextPos:                 ;设置文本位置
  807. LDY Item_Index_Cnt
  808. LDA Pos_Data_H,Y
  809. STA FC_PPU_Buffer,X
  810. STA FC_PPU_Addr_H
  811. INX
  812. LDA Pos_Data_L,Y
  813. CLC
  814. ADC #ORDER_INDEX_LENGTH + 1
  815. STA FC_PPU_Buffer,X
  816. STA FC_PPU_Addr_L
  817. INX
  818. RTS

  819. ;========================================
  820. ClearText:                      ;清除文本
  821. LDA Item_Page_Cur
  822. CMP Item_Page_Old
  823. BEQ ClearTextEnd
  824. LDA Item_Page_Old
  825. CLC
  826. ADC Item_Index_Cnt
  827. BCS ClearTextEnd
  828. CMP #ITEM_MAX
  829. BEQ ClearTextSet
  830. BCS ClearTextEnd
  831. ClearTextSet:
  832. LDX FC_PPU_Cursor
  833. LDA #MODE_CNTC
  834. STA FC_PPU_Buffer,X
  835. INX
  836. JSR SetTextPos
  837. STX FC_PPU_Cursor
  838. LDA Item_Page_Old
  839. CLC
  840. ADC Item_Index_Cnt
  841. TAY
  842. LDA Text_Data_L,Y
  843. STA FC_Data_L
  844. LDA Text_Data_H,Y
  845. STA FC_Data_H
  846. LDA #SRC_MODE_NULL
  847. STA FC_Data_Cnt
  848. JSR FC_PPU_Clear_Source
  849. ClearTextEnd:
  850. RTS

  851. ;========================================
  852. ShowText:                       ;显示文本
  853. LDA Item_Page_Cur
  854. CLC
  855. ADC Item_Index_Cnt
  856. BCS ShowTextEnd
  857. CMP #ITEM_MAX
  858. BEQ ShowTextSet
  859. BCS ShowTextEnd
  860. ShowTextSet:
  861. LDX FC_PPU_Cursor
  862. LDA #MODE_CNTL
  863. STA FC_PPU_Buffer,X
  864. INX
  865. JSR SetTextPos
  866. STX FC_PPU_Cursor
  867. LDA Item_Page_Cur
  868. CLC
  869. ADC Item_Index_Cnt
  870. TAY
  871. LDA Text_Data_L,Y
  872. STA FC_Data_L
  873. LDA Text_Data_H,Y
  874. STA FC_Data_H
  875. LDA #SRC_MODE_NULL
  876. STA FC_Data_Cnt
  877. JSR FC_PPU_Write_Source
  878. ShowTextEnd:
  879. RTS

  880. ;========================================
  881. UpdateText:                     ;更新文本
  882. JSR ClearText
  883. JSR ShowText
  884. RTS

  885. ;========================================
  886. ShowTitle:                      ;显示标题
  887. LDA #<Title_Text_Data
  888. STA FC_Data_L
  889. LDA #>Title_Text_Data
  890. STA FC_Data_H
  891. JSR FC_PPU_Write_Source
  892. ShowTitleEnd:
  893. JSR NmiDelay
  894. RTS

  895. ;========================================
  896. SetArrowPos:                ;设置箭头位置
  897. TAY
  898. LDA Pos_Data_H,Y
  899. STA FC_PPU_Buffer,X
  900. INX
  901. LDA Pos_Data_L,Y
  902. SEC
  903. SBC #$02
  904. STA FC_PPU_Buffer,X
  905. INX
  906. LDA #$01
  907. STA FC_PPU_Buffer,X
  908. INX
  909. RTS

  910. ;========================================
  911. ShowArrow:                      ;显示箭头
  912. ShowArrowClear:
  913. LDX FC_PPU_Cursor
  914. LDA #MODE_CNTL
  915. STA FC_PPU_Buffer,X
  916. INX
  917. LDA Item_Index_Old
  918. SEC
  919. SBC Item_Page_Old
  920. JSR SetArrowPos
  921. LDA #CHAR_NULL
  922. STA FC_PPU_Buffer,X
  923. INX
  924. ShowArrowShow:
  925. LDA #MODE_CNTL
  926. STA FC_PPU_Buffer,X
  927. INX
  928. LDA Item_Index_Cur
  929. SEC
  930. SBC Item_Page_Cur
  931. JSR SetArrowPos
  932. LDA #CHAR_ARROW
  933. STA FC_PPU_Buffer,X
  934. INX
  935. STX FC_PPU_Cursor
  936. RTS

  937. ;========================================
  938. UpdateArrow:                    ;更新箭头
  939. LDA Item_Index_Old
  940. SEC
  941. SBC Item_Page_Old
  942. STA FC_Data_Cnt
  943. LDA Item_Index_Cur
  944. SEC
  945. SBC Item_Page_Cur
  946. CMP FC_Data_Cnt
  947. BEQ UpdateArrowEnd
  948. JSR ShowArrow
  949. UpdateArrowEnd:
  950. RTS

  951. ;========================================
  952. ShowSingleItem:             ;显示一项内容
  953. JSR UpdateOrder
  954. JSR UpdateText
  955. ShowSingleItemEnd:
  956. RTS

  957. ;========================================
  958. ShowPageItems:              ;显示一页内容
  959. LDA #$00
  960. STA Item_Index_Cnt
  961. STA Item_Write_Buf
  962. ShowPageItemsSet:
  963. JSR ShowSingleItem
  964. INC Item_Write_Buf
  965. LDA Item_Write_Buf
  966. CMP #ITEM_BUFFER_SIZE
  967. BCC ShowPageItemsWrite
  968. JSR NmiDelay
  969. LDA #$00
  970. STA Item_Write_Buf
  971. ShowPageItemsWrite:
  972. INC Item_Index_Cnt
  973. LDA Item_Index_Cnt
  974. CMP #ITEM_PAGE
  975. BCC ShowPageItemsSet
  976. LDA Item_Write_Buf
  977. BEQ ShowPageItemsEnd
  978. JSR NmiDelay
  979. LDA #$00
  980. STA Item_Write_Buf
  981. ShowPageItemsEnd:
  982. RTS

  983. ;========================================
  984. UpdatePage:                   ;更新页内容
  985. LDA Item_Page_Cur
  986. CMP Item_Page_Old
  987. BEQ UpdatePageEnd
  988. JSR ShowPageItems
  989. JSR ShowPageIndex
  990. UpdatePageEnd:
  991. RTS

  992. ;========================================
  993. SetPageIndexPos:           ;设置页号位置
  994. LDX FC_PPU_Cursor
  995. LDY #$00
  996. LDA Title_Text_Data,Y
  997. STA FC_PPU_Buffer,X
  998. INX
  999. INY
  1000. LDA Title_Text_Data,Y
  1001. STA FC_PPU_Buffer,X
  1002. INX
  1003. INY
  1004. LDA Title_Text_Data,Y
  1005. INY
  1006. CLC
  1007. ADC Title_Text_Data,Y
  1008. ADC #$02
  1009. STA FC_PPU_Buffer,X
  1010. INX
  1011. LDA #PAGE_INDEX_LENGTH * 2 + 1
  1012. STA FC_PPU_Buffer,X
  1013. INX
  1014. SetPageIndexPosEnd:
  1015. STX FC_PPU_Cursor
  1016. RTS

  1017. ;========================================
  1018. ShowPageIndex:                  ;显示页号
  1019. LDA Item_Page_Cur
  1020. LDX #$01
  1021. ShowPageIndexSet:
  1022. CMP #ITEM_PAGE
  1023. BCC ShowPageIndexEnd
  1024. SEC
  1025. SBC #ITEM_PAGE
  1026. INX
  1027. BNE ShowPageIndexSet
  1028. ShowPageIndexEnd:
  1029. TXA
  1030. CLC
  1031. JSR HexToDec
  1032. JSR SetPageIndexPos
  1033. LDA #NMUBER_LENGTH_MAX - PAGE_INDEX_LENGTH
  1034. JSR WriteNum
  1035. LDA #CHAR_PER
  1036. STA FC_PPU_Buffer,X
  1037. INX
  1038. LDA #ITEM_PAGE_SUM
  1039. CLC
  1040. JSR HexToDec
  1041. LDA #NMUBER_LENGTH_MAX - PAGE_INDEX_LENGTH
  1042. JSR WriteNum
  1043. STX FC_PPU_Cursor
  1044. RTS

  1045. ;========================================
  1046. LastSound:                    ;播放上一首
  1047. LDA Sound_Index
  1048. BEQ LastSoundEnd
  1049. LastSoundSet:
  1050. DEC Sound_Index
  1051. LDA Sound_Index
  1052. JSR Sound_Init
  1053. LastSoundEnd:
  1054. RTS

  1055. ;========================================
  1056. NextSound:                    ;播放下一首
  1057. LDA Sound_Index
  1058. CMP #SOUND_MAX - 1
  1059. BEQ NextSoundEnd
  1060. NextSoundSet:
  1061. INC Sound_Index
  1062. LDA Sound_Index
  1063. JSR Sound_Init
  1064. NextSoundEnd:
  1065. RTS

  1066. ;========================================
  1067. StopSound:                      ;停止音乐
  1068. LDA #$0B
  1069. STA $4015
  1070. LDA #$00
  1071. STA $4008
  1072. LDA #$0F
  1073. STA $4015
  1074. LDA #$30
  1075. STA $4000
  1076. STA $4004
  1077. STA $400C
  1078. LDA #$7F
  1079. STA $4001
  1080. STA $4005
  1081. RTS

  1082. ;========================================
  1083. ChangeItemIndex:              ;改变项索引
  1084. LDA Btn_Once
  1085. AND #$FF
  1086. BNE ChangeItemSound
  1087. RTS
  1088. ChangeItemSound:
  1089. LDA Btn_Once
  1090. AND #$2F
  1091. BEQ SelectLastPage
  1092. LDA #SOUND_BTN - 1
  1093. JSR Sound_Init
  1094. SelectLastPage:
  1095. LDA Btn_Once
  1096. CMP #BTN_LEFT
  1097. BNE SelectNextPage
  1098. JSR SetLastPage
  1099. JSR GetPageIndex
  1100. SelectNextPage:
  1101. LDA Btn_Once
  1102. CMP #BTN_RIGHT
  1103. BNE SelectLastItem
  1104. JSR SetNextPage
  1105. JSR GetPageIndex
  1106. SelectLastItem:
  1107. LDA Btn_Once
  1108. CMP #BTN_UP
  1109. BNE SelectNextItem
  1110. JSR SetLastItem
  1111. JSR GetPageIndex
  1112. SelectNextItem:
  1113. LDA Btn_Once
  1114. AND #BTN_SELECT | BTN_DOWN
  1115. BEQ SelectLastSound
  1116. JSR SetNextItem
  1117. JSR GetPageIndex
  1118. SelectLastSound:
  1119. LDA Btn_Once
  1120. CMP #BTN_B
  1121. BNE SelectNextSound
  1122. JSR LastSound
  1123. SelectNextSound:
  1124. LDA Btn_Once
  1125. CMP #BTN_A
  1126. BNE SelectResetSound
  1127. JSR NextSound
  1128. SelectResetSound:
  1129. LDA Btn_Once
  1130. CMP #BTN_START
  1131. BNE ChangeItemIndexEnd
  1132. LDA Sound_Index
  1133. JSR Sound_Init
  1134. ChangeItemIndexEnd:
  1135. JSR UpdatePage
  1136. JSR UpdateArrow
  1137. ChangeItemIndexReturn:
  1138. RTS

  1139. ;========================================
  1140. Chr_Bank_Data:                  ;图形块号
  1141. .DB $00,$02,$04,$05,$06,$07

  1142. ;========================================
  1143. Palette_Data:             ;背景调色板数据
  1144. .DB $0F,$24,$24,$24,$0F,$20,$20,$20,$0F,$27,$27,$27,$0F,$2C,$2C,$2C

  1145. ;========================================
  1146. PpuLayout_Data:               ;属性表数据
  1147. .DB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$FF,$55,$00,$00,$00,$00,$00,$00
  1148. .DB $FF,$55,$00,$00,$00,$00,$00,$00,$FF,$55,$00,$00,$00,$00,$00,$00
  1149. .DB $FF,$55,$00,$00,$00,$00,$00,$00,$FF,$55,$00,$00,$00,$00,$00,$00
  1150. .DB $FF,$55,$00,$00,$00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA

  1151. ;========================================
  1152. Pos_Data_L:      ;节目坐标位置低位
  1153. .DB $84,$C4,$04,$44,$84,$C4,$04,$44,$84,$C4,$04,$44
  1154. Pos_Data_H:;节目坐标位置高位
  1155. .DB $20,$20,$21,$21,$21,$21,$22,$22,$22,$22,$23,$23

  1156. ;========================================
  1157. Text_Data_L:            ;节目文本地址低位
  1158. .DB <ITEM_001,<ITEM_002,<ITEM_003,<ITEM_004,<ITEM_005,<ITEM_006,<ITEM_007,<ITEM_008,<ITEM_009,<ITEM_010
  1159. .DB <ITEM_011,<ITEM_012,<ITEM_013,<ITEM_014,<ITEM_015,<ITEM_016,<ITEM_017,<ITEM_018,<ITEM_019,<ITEM_020
  1160. .DB <ITEM_021,<ITEM_022,<ITEM_023,<ITEM_024,<ITEM_025,<ITEM_026,<ITEM_027,<ITEM_028,<ITEM_029,<ITEM_030
  1161. .DB <ITEM_031,<ITEM_032,<ITEM_033,<ITEM_034,<ITEM_035,<ITEM_036,<ITEM_037,<ITEM_038,<ITEM_039,<ITEM_040
  1162. .DB <ITEM_041,<ITEM_042,<ITEM_043,<ITEM_044,<ITEM_045,<ITEM_046,<ITEM_047,<ITEM_048,<ITEM_049,<ITEM_050
  1163. .DB <ITEM_051,<ITEM_052,<ITEM_053,<ITEM_054,<ITEM_055,<ITEM_056,<ITEM_057,<ITEM_058,<ITEM_059,<ITEM_060
  1164. .DB <ITEM_061,<ITEM_062,<ITEM_063,<ITEM_064,<ITEM_065,<ITEM_066,<ITEM_067,<ITEM_068,<ITEM_069,<ITEM_070
  1165. .DB <ITEM_071,<ITEM_072,<ITEM_073,<ITEM_074,<ITEM_075,<ITEM_076,<ITEM_077,<ITEM_078,<ITEM_079,<ITEM_080
  1166. .DB <ITEM_081,<ITEM_082,<ITEM_083,<ITEM_084,<ITEM_085,<ITEM_086,<ITEM_087,<ITEM_088,<ITEM_089,<ITEM_090
  1167. .DB <ITEM_091,<ITEM_092,<ITEM_093,<ITEM_094,<ITEM_095,<ITEM_096,<ITEM_097,<ITEM_098,<ITEM_099,<ITEM_100
  1168. .DB <ITEM_101,<ITEM_102,<ITEM_103,<ITEM_104,<ITEM_105,<ITEM_106,<ITEM_107,<ITEM_108,<ITEM_109,<ITEM_110
  1169. .DB <ITEM_111,<ITEM_112,<ITEM_113,<ITEM_114,<ITEM_115,<ITEM_116,<ITEM_117,<ITEM_118,<ITEM_119,<ITEM_120
  1170. .DB <ITEM_121,<ITEM_122,<ITEM_123,<ITEM_124,<ITEM_125,<ITEM_126,<ITEM_127,<ITEM_128,<ITEM_129,<ITEM_130
  1171. .DB <ITEM_131,<ITEM_132,<ITEM_133,<ITEM_134,<ITEM_135,<ITEM_136,<ITEM_137,<ITEM_138,<ITEM_139,<ITEM_140
  1172. .DB <ITEM_141,<ITEM_142,<ITEM_143,<ITEM_144,<ITEM_145,<ITEM_146,<ITEM_147,<ITEM_148,<ITEM_149,<ITEM_150
  1173. .DB <ITEM_151,<ITEM_152,<ITEM_153,<ITEM_154,<ITEM_155,<ITEM_156,<ITEM_157,<ITEM_158,<ITEM_159,<ITEM_160
  1174. .DB <ITEM_161,<ITEM_162,<ITEM_163,<ITEM_164,<ITEM_165,<ITEM_166,<ITEM_167,<ITEM_168,<ITEM_169,<ITEM_170
  1175. .DB <ITEM_171,<ITEM_172,<ITEM_173,<ITEM_174,<ITEM_175,<ITEM_176,<ITEM_177,<ITEM_178,<ITEM_179,<ITEM_180
  1176. .DB <ITEM_181,<ITEM_182,<ITEM_183,<ITEM_184,<ITEM_185,<ITEM_186,<ITEM_187,<ITEM_188,<ITEM_189,<ITEM_190
  1177. .DB <ITEM_191,<ITEM_192,<ITEM_193,<ITEM_194,<ITEM_195,<ITEM_196,<ITEM_197,<ITEM_198,<ITEM_199,<ITEM_200
  1178. .DB <ITEM_201,<ITEM_202,<ITEM_203,<ITEM_204,<ITEM_205,<ITEM_206,<ITEM_207,<ITEM_208,<ITEM_209,<ITEM_210
  1179. .DB <ITEM_211,<ITEM_212,<ITEM_213,<ITEM_214,<ITEM_215,<ITEM_216,<ITEM_217,<ITEM_218,<ITEM_219,<ITEM_220
  1180. .DB <ITEM_221,<ITEM_222,<ITEM_223,<ITEM_224,<ITEM_225,<ITEM_226,<ITEM_227,<ITEM_228,<ITEM_229,<ITEM_230
  1181. .DB <ITEM_231,<ITEM_232,<ITEM_233,<ITEM_234,<ITEM_235,<ITEM_236,<ITEM_237,<ITEM_238,<ITEM_239,<ITEM_240
  1182. .DB <ITEM_241,<ITEM_242,<ITEM_243,<ITEM_244,<ITEM_245,<ITEM_246,<ITEM_247,<ITEM_248,<ITEM_249,<ITEM_250
  1183. .DB <ITEM_251,<ITEM_252,<ITEM_253,<ITEM_254,<ITEM_255,<ITEM_256
  1184. ;----------------------------------------
  1185. Text_Data_H:            ;节目文本地址高位
  1186. .DB >ITEM_001,>ITEM_002,>ITEM_003,>ITEM_004,>ITEM_005,>ITEM_006,>ITEM_007,>ITEM_008,>ITEM_009,>ITEM_010
  1187. .DB >ITEM_011,>ITEM_012,>ITEM_013,>ITEM_014,>ITEM_015,>ITEM_016,>ITEM_017,>ITEM_018,>ITEM_019,>ITEM_020
  1188. .DB >ITEM_021,>ITEM_022,>ITEM_023,>ITEM_024,>ITEM_025,>ITEM_026,>ITEM_027,>ITEM_028,>ITEM_029,>ITEM_030
  1189. .DB >ITEM_031,>ITEM_032,>ITEM_033,>ITEM_034,>ITEM_035,>ITEM_036,>ITEM_037,>ITEM_038,>ITEM_039,>ITEM_040
  1190. .DB >ITEM_041,>ITEM_042,>ITEM_043,>ITEM_044,>ITEM_045,>ITEM_046,>ITEM_047,>ITEM_048,>ITEM_049,>ITEM_050
  1191. .DB >ITEM_051,>ITEM_052,>ITEM_053,>ITEM_054,>ITEM_055,>ITEM_056,>ITEM_057,>ITEM_058,>ITEM_059,>ITEM_060
  1192. .DB >ITEM_061,>ITEM_062,>ITEM_063,>ITEM_064,>ITEM_065,>ITEM_066,>ITEM_067,>ITEM_068,>ITEM_069,>ITEM_070
  1193. .DB >ITEM_071,>ITEM_072,>ITEM_073,>ITEM_074,>ITEM_075,>ITEM_076,>ITEM_077,>ITEM_078,>ITEM_079,>ITEM_080
  1194. .DB >ITEM_081,>ITEM_082,>ITEM_083,>ITEM_084,>ITEM_085,>ITEM_086,>ITEM_087,>ITEM_088,>ITEM_089,>ITEM_090
  1195. .DB >ITEM_091,>ITEM_092,>ITEM_093,>ITEM_094,>ITEM_095,>ITEM_096,>ITEM_097,>ITEM_098,>ITEM_099,>ITEM_100
  1196. .DB >ITEM_101,>ITEM_102,>ITEM_103,>ITEM_104,>ITEM_105,>ITEM_106,>ITEM_107,>ITEM_108,>ITEM_109,>ITEM_110
  1197. .DB >ITEM_111,>ITEM_112,>ITEM_113,>ITEM_114,>ITEM_115,>ITEM_116,>ITEM_117,>ITEM_118,>ITEM_119,>ITEM_120
  1198. .DB >ITEM_121,>ITEM_122,>ITEM_123,>ITEM_124,>ITEM_125,>ITEM_126,>ITEM_127,>ITEM_128,>ITEM_129,>ITEM_130
  1199. .DB >ITEM_131,>ITEM_132,>ITEM_133,>ITEM_134,>ITEM_135,>ITEM_136,>ITEM_137,>ITEM_138,>ITEM_139,>ITEM_140
  1200. .DB >ITEM_141,>ITEM_142,>ITEM_143,>ITEM_144,>ITEM_145,>ITEM_146,>ITEM_147,>ITEM_148,>ITEM_149,>ITEM_150
  1201. .DB >ITEM_151,>ITEM_152,>ITEM_153,>ITEM_154,>ITEM_155,>ITEM_156,>ITEM_157,>ITEM_158,>ITEM_159,>ITEM_160
  1202. .DB >ITEM_161,>ITEM_162,>ITEM_163,>ITEM_164,>ITEM_165,>ITEM_166,>ITEM_167,>ITEM_168,>ITEM_169,>ITEM_170
  1203. .DB >ITEM_171,>ITEM_172,>ITEM_173,>ITEM_174,>ITEM_175,>ITEM_176,>ITEM_177,>ITEM_178,>ITEM_179,>ITEM_180
  1204. .DB >ITEM_181,>ITEM_182,>ITEM_183,>ITEM_184,>ITEM_185,>ITEM_186,>ITEM_187,>ITEM_188,>ITEM_189,>ITEM_190
  1205. .DB >ITEM_191,>ITEM_192,>ITEM_193,>ITEM_194,>ITEM_195,>ITEM_196,>ITEM_197,>ITEM_198,>ITEM_199,>ITEM_200
  1206. .DB >ITEM_201,>ITEM_202,>ITEM_203,>ITEM_204,>ITEM_205,>ITEM_206,>ITEM_207,>ITEM_208,>ITEM_209,>ITEM_210
  1207. .DB >ITEM_211,>ITEM_212,>ITEM_213,>ITEM_214,>ITEM_215,>ITEM_216,>ITEM_217,>ITEM_218,>ITEM_219,>ITEM_220
  1208. .DB >ITEM_221,>ITEM_222,>ITEM_223,>ITEM_224,>ITEM_225,>ITEM_226,>ITEM_227,>ITEM_228,>ITEM_229,>ITEM_230
  1209. .DB >ITEM_231,>ITEM_232,>ITEM_233,>ITEM_234,>ITEM_235,>ITEM_236,>ITEM_237,>ITEM_238,>ITEM_239,>ITEM_240
  1210. .DB >ITEM_241,>ITEM_242,>ITEM_243,>ITEM_244,>ITEM_245,>ITEM_246,>ITEM_247,>ITEM_248,>ITEM_249,>ITEM_250
  1211. .DB >ITEM_251,>ITEM_252,>ITEM_253,>ITEM_254,>ITEM_255,>ITEM_256

  1212. ;========================================
  1213. Title_Text_Data:            ;标题文本数据
  1214. .DB MODE_CNTL,$20,$43
  1215. .STR "VIDEO GAMES 256 IN 1"

  1216. ;========================================
  1217. Text_Data:                      ;节目文本
  1218. ITEM_001 .STR "CONTRA"
  1219. ITEM_002 .STR "SUPER CONTRA"
  1220. ITEM_003 .STR "CONTRA FORCE"
  1221. ITEM_004 .STR "FINAL MISSION"
  1222. ITEM_005 .STR "KAGE"
  1223. ITEM_006 .STR "CHIP TO DALE"
  1224. ITEM_007 .STR "CHIP TO DALE 2"
  1225. ITEM_008 .STR "DOUBLE DRAGON"
  1226. ITEM_009 .STR "DOUBLE DRAGON 2"
  1227. ITEM_010 .STR "DOUBLE DRAGON 3"

  1228. ITEM_011 .STR "NEKKETSU DODGEBALL"
  1229. ITEM_012 .STR "NEKKETSU SOCCER HEN"
  1230. ITEM_013 .STR "NEKKETSU KAKUTOU"
  1231. ITEM_014 .STR "NEKKETSU KOUSHIN KYOKU"
  1232. ITEM_015 .STR "NEKKETSU STREET BASKET"
  1233. ITEM_016 .STR "NEKKETSU HOCKEY BU"
  1234. ITEM_017 .STR "NEKKETSU SHIN KIROKU"
  1235. ITEM_018 .STR "NEKKETSU MONOGATARI"
  1236. ITEM_019 .STR "NEKKETSU KUNIO KUN"

  1237. ITEM_020 .STR "NEKKETSU SOCCER LEAGUE"
  1238. ITEM_021 .STR "NEKKETSU KOUHA"
  1239. ITEM_022 .STR "MONSTER IN MY POCKET"
  1240. ITEM_023 .STR "WAI WAI WORLD"
  1241. ITEM_024 .STR "IKARI III"
  1242. ITEM_025 .STR "DATSUGOKU"
  1243. ITEM_026 .STR "SNOW BROS"
  1244. ITEM_027 .STR "NINJA TURTLES"
  1245. ITEM_028 .STR "NINJA TURTLES 2"
  1246. ITEM_029 .STR "NINJA TURTLES 3"
  1247. ITEM_030 .STR "TURTLES FIGHTER"

  1248. ITEM_031 .STR "HEAVY BARREL"
  1249. ITEM_032 .STR "JACKAL"
  1250. ITEM_033 .STR "RUSH N ATTACK"
  1251. ITEM_034 .STR "LIFE FORCE"
  1252. ITEM_035 .STR "GUERRILLA WAR"
  1253. ITEM_036 .STR "SILK WORM"
  1254. ITEM_037 .STR "SUPER MARIO BROS"
  1255. ITEM_038 .STR "SUPER MARIO BROS 2"
  1256. ITEM_039 .STR "SUPER MARIO BROS 3"
  1257. ITEM_040 .STR "ADVENTURE ISLAND"

  1258. ITEM_041 .STR "ADVENTURE ISLAND 2"
  1259. ITEM_042 .STR "ADVENTURE ISLAND 3"
  1260. ITEM_043 .STR "ADVENTURE ISLAND 4"
  1261. ITEM_044 .STR "ROCKMAN"
  1262. ITEM_045 .STR "ROCKMAN 2"
  1263. ITEM_046 .STR "ROCKMAN 3"
  1264. ITEM_047 .STR "ROCKMAN 5"
  1265. ITEM_048 .STR "NINJA GAIDEN"
  1266. ITEM_049 .STR "NINJA GAIDEN 2"
  1267. ITEM_050 .STR "NINJA GAIDEN 3"

  1268. ITEM_051 .STR "CASTLEVANIA"
  1269. ITEM_052 .STR "CASTLEVANIA 2"
  1270. ITEM_053 .STR "CASTLEVANIA 3"
  1271. ITEM_054 .STR "BATMAN"
  1272. ITEM_055 .STR "BATMAN RETURNS"
  1273. ITEM_056 .STR "POWER BLADE"
  1274. ITEM_057 .STR "POWER BLADE 2"
  1275. ITEM_058 .STR "ROBOCOP"
  1276. ITEM_059 .STR "ROBOCOP 2"
  1277. ITEM_060 .STR "ROBOCOP 3"

  1278. ITEM_061 .STR "KID NIKI 2"
  1279. ITEM_062 .STR "KID NIKI 3"
  1280. ITEM_063 .STR "FLINTSTONES"
  1281. ITEM_064 .STR "FLINTSTONES 2"
  1282. ITEM_065 .STR "FLINTSTONES JETSONS"
  1283. ITEM_066 .STR "DUCK TALES"
  1284. ITEM_067 .STR "DUCK TALES 2"
  1285. ITEM_068 .STR "TINY TOON ADVENTURES"
  1286. ITEM_069 .STR "TINY TOON ADVENTURES 2"
  1287. ITEM_070 .STR "SAIYUUKI WORLD"

  1288. ITEM_071 .STR "SAIYUUKI WORLD 2"
  1289. ITEM_072 .STR "ROLLERGAMES"
  1290. ITEM_073 .STR "BONKS ADVENTURE"
  1291. ITEM_074 .STR "TOKI"
  1292. ITEM_075 .STR "PANIC RESTAURANT"
  1293. ITEM_076 .STR "WEREWOLF"
  1294. ITEM_077 .STR "SPARTAN X2"
  1295. ITEM_078 .STR "JACKIE CHANS"
  1296. ITEM_079 .STR "DAIKU NO GEN SAN"
  1297. ITEM_080 .STR "KABUKI QUANTUM FIGHTER"

  1298. ITEM_081 .STR "ASTYANAX"
  1299. ITEM_082 .STR "THE ROCKETEER"
  1300. ITEM_083 .STR "GUN DEC"
  1301. ITEM_084 .STR "HINOTORI"
  1302. ITEM_085 .STR "SWORD MASTER"
  1303. ITEM_086 .STR "KARNOV"
  1304. ITEM_087 .STR "KYOURYUU S JUURANGER"
  1305. ITEM_088 .STR "MIGHTY FINAL FIGHT"
  1306. ITEM_089 .STR "DRAGON FIGHTER"
  1307. ITEM_090 .STR "BAD DUDES"

  1308. ITEM_091 .STR "MCDONALDLAND"
  1309. ITEM_092 .STR "LITTLE NEMO"
  1310. ITEM_093 .STR "UFOURIA"
  1311. ITEM_094 .STR "TOTALLY RAD"
  1312. ITEM_095 .STR "MATENDOUJI"
  1313. ITEM_096 .STR "CHOUJIN SENTAI JETMAN"
  1314. ITEM_097 .STR "ROCKIN KATS"
  1315. ITEM_098 .STR "YUME PENGUIN MONOGATARI"
  1316. ITEM_099 .STR "CODE NAME VIPER"
  1317. ITEM_100 .STR "SQUASHED"

  1318. ITEM_101 .STR "NINJA CRUSADERS"
  1319. ITEM_102 .STR "MITSUME GA TOORU"
  1320. ITEM_103 .STR "CAPTAIN AMERICA"
  1321. ITEM_104 .STR "YOUNG INDIANA JONES"
  1322. ITEM_105 .STR "JAMES BOND JR"
  1323. ITEM_106 .STR "SECRET TIES"
  1324. ITEM_107 .STR "SAINT SEIYA 2"
  1325. ITEM_108 .STR "LITTLE SAMSON"
  1326. ITEM_109 .STR "TIME DIVER EON MAN"
  1327. ITEM_110 .STR "TARGET RENEGADE"

  1328. ITEM_111 .STR "JUNGLE BOOK"
  1329. ITEM_112 .STR "SHATTERHAND"
  1330. ITEM_113 .STR "KICK MASTER"
  1331. ITEM_114 .STR "CROSS FIRE"
  1332. ITEM_115 .STR "BUCKY OHARE"
  1333. ITEM_116 .STR "WACKY RACES"
  1334. ITEM_117 .STR "RYGAR"
  1335. ITEM_118 .STR "BIO MIRACLE BOKUTTE UPA"
  1336. ITEM_119 .STR "BIONIC COMMANDO"

  1337. ITEM_120 .STR "BANANA PRINCE"
  1338. ITEM_121 .STR "LITTLE MERMAID"
  1339. ITEM_122 .STR "GREMLINS 2"
  1340. ITEM_123 .STR "MAGICAL DOROPIE"
  1341. ITEM_124 .STR "JOURNEY TO SILIUS"
  1342. ITEM_125 .STR "G.I. JOE"
  1343. ITEM_126 .STR "G.I. JOE 2"
  1344. ITEM_127 .STR "ZEN"
  1345. ITEM_128 .STR "DOKI! DOKI! YUUENCHI"
  1346. ITEM_129 .STR "GETSUFUU MADEN"
  1347. ITEM_130 .STR "MOON CRYSTAL"

  1348. ITEM_131 .STR "JOE AND MAC"
  1349. ITEM_132 .STR "SPIDER MAN"
  1350. ITEM_133 .STR "LETHAL WEAPON"
  1351. ITEM_134 .STR "JURASSIC PARK"
  1352. ITEM_135 .STR "MAD CITY"
  1353. ITEM_136 .STR "LOW G MAN"
  1354. ITEM_137 .STR "TWIN BEE"
  1355. ITEM_138 .STR "TWIN BEE 2"
  1356. ITEM_139 .STR "BLASTER MASTER"
  1357. ITEM_140 .STR "OVER HORIZON"

  1358. ITEM_141 .STR "CHITEI SENKUU VAZOLDER"
  1359. ITEM_142 .STR "ABADOX"
  1360. ITEM_143 .STR "SAMURAI ZOMBIE NATION"
  1361. ITEM_144 .STR "PARODIUS"
  1362. ITEM_145 .STR "ISOLATED WARRIOR"
  1363. ITEM_146 .STR "TOP GUN"
  1364. ITEM_147 .STR "TOP GUN 2"
  1365. ITEM_148 .STR "ROBOCCO WARS"
  1366. ITEM_149 .STR "GUN NAC"
  1367. ITEM_150 .STR "THUNDERCADE"

  1368. ITEM_151 .STR "SUMMER CARNIVAL 92"
  1369. ITEM_152 .STR "DRAGON SPIRIT"
  1370. ITEM_153 .STR "KYUUKYOKU TIGER"
  1371. ITEM_154 .STR "LEGENDARY WINGS"
  1372. ITEM_155 .STR "BURAI FIGHTER"
  1373. ITEM_156 .STR "ZANAC"
  1374. ITEM_157 .STR "GRADIUS"
  1375. ITEM_158 .STR "BATTLE FORMULA"
  1376. ITEM_159 .STR "CHUKA TAISEN"
  1377. ITEM_160 .STR "ALADDIN"

  1378. ITEM_161 .STR "ULTRAMAN CLUB"
  1379. ITEM_162 .STR "8 EYES"
  1380. ITEM_163 .STR "DARKMAN"
  1381. ITEM_164 .STR "SPY VS SPY"
  1382. ITEM_165 .STR "MISSION IMPOSSIBLE"
  1383. ITEM_166 .STR "DRAGONS LAIR"
  1384. ITEM_167 .STR "THE LONE RANGER"
  1385. ITEM_168 .STR "HIRYUU NO KEN III"
  1386. ITEM_169 .STR "METAL GEAR SOLID"
  1387. ITEM_170 .STR "GAIAPOLIS"

  1388. ITEM_171 .STR "GUARDIAN LEGEND"
  1389. ITEM_172 .STR "STREET FIGHTER 2010"
  1390. ITEM_173 .STR "TOXIC CRUSADERS"
  1391. ITEM_174 .STR "GOLGO 13"
  1392. ITEM_175 .STR "DRAGON SCROLL"
  1393. ITEM_176 .STR "LUPIN SANSEI"
  1394. ITEM_177 .STR "MAJOU DENSETSU 2"
  1395. ITEM_178 .STR "TERMINATOR 2"
  1396. ITEM_179 .STR "GHOULS N GHOSTS"
  1397. ITEM_180 .STR "THE GOONIES 2"

  1398. ITEM_181 .STR "KAMEN NO NINJA"
  1399. ITEM_182 .STR "BIO FORCE APE"
  1400. ITEM_183 .STR "ALTERED BEAST"
  1401. ITEM_184 .STR "TAIYOU NO YUUSHA"
  1402. ITEM_185 .STR "WOLVERINE"
  1403. ITEM_186 .STR "HOOK"
  1404. ITEM_187 .STR "WIDGET"
  1405. ITEM_188 .STR "COWBOY KID"
  1406. ITEM_189 .STR "NEW GHOSTBUSTERS II"
  1407. ITEM_190 .STR "ROD LAND"

  1408. ITEM_191 .STR "ALIEN 3"
  1409. ITEM_192 .STR "SD HERO SOUKESSEN"
  1410. ITEM_193 .STR "BOMBERMAN 2"
  1411. ITEM_194 .STR "METAL STORM"
  1412. ITEM_195 .STR "CHASE H.Q."
  1413. ITEM_196 .STR "RAINBOW ISLANDS"
  1414. ITEM_197 .STR "THE PUNISHER"
  1415. ITEM_198 .STR "GUN.SMOKE"
  1416. ITEM_199 .STR "MEIKYUU JIMA"
  1417. ITEM_200 .STR "TROG"

  1418. ITEM_201 .STR "SOLOMONS KEY 2"
  1419. ITEM_202 .STR "FLYING HERO"
  1420. ITEM_203 .STR "COBRA COMMAND"
  1421. ITEM_204 .STR "WCW WORLD"
  1422. ITEM_205 .STR "SUPER SPIKE VBALL"
  1423. ITEM_206 .STR "SIDE POCKET"
  1424. ITEM_207 .STR "DOUBLE DRIBBLE"
  1425. ITEM_208 .STR "CAPTAIN TSUBASA 2"
  1426. ITEM_209 .STR "JOY MECH FIGHT"
  1427. ITEM_210 .STR "FIGHTING ROAD"

  1428. ITEM_211 .STR "STREET FIGHTER 16P"
  1429. ITEM_212 .STR "FELIX THE CAT"
  1430. ITEM_213 .STR "DARKWING DUCK"
  1431. ITEM_214 .STR "DARKWING DUCK 2"
  1432. ITEM_215 .STR "KEROPPI NO DAIBOUKEN"
  1433. ITEM_216 .STR "CAT NINDEN TEYANDEE"
  1434. ITEM_217 .STR "MICKEY MOUSE 3"
  1435. ITEM_218 .STR "BUBBLE BOBBLE PART 2"
  1436. ITEM_219 .STR "TALESPIN"

  1437. ITEM_220 .STR "TOM AND JERRY"
  1438. ITEM_221 .STR "HOKUTO NO KEN 2"
  1439. ITEM_222 .STR "CAESARS PALACE"
  1440. ITEM_223 .STR "TERRA CRESTA"
  1441. ITEM_224 .STR "X MAN"
  1442. ITEM_225 .STR "CONAN"
  1443. ITEM_226 .STR "ROBO WARRIOR"
  1444. ITEM_227 .STR "GREAT BATTLE CYBER"
  1445. ITEM_228 .STR "SHADOWGATE"
  1446. ITEM_229 .STR "HAPPY BIRTHDAY BUGS"
  1447. ITEM_230 .STR "NINJA BROTHERS"

  1448. ITEM_231 .STR "DYNATRON CITY"
  1449. ITEM_232 .STR "IMAGE FIGHT"
  1450. ITEM_233 .STR "MICKEYS NUMBERLAND"
  1451. ITEM_234 .STR "MICKEYS LETTERLAND"
  1452. ITEM_235 .STR "SILVA SAGA II"
  1453. ITEM_236 .STR "DEJA VU"
  1454. ITEM_237 .STR "ULTIMATE BASKETBALL"
  1455. ITEM_238 .STR "HOME ALONE 2"
  1456. ITEM_239 .STR "HEROES OF MIGHT"
  1457. ITEM_240 .STR "THE IMMORTAL"

  1458. ITEM_241 .STR "TETRASTAR THE FIGHTER"
  1459. ITEM_242 .STR "WARIOS WOODS"
  1460. ITEM_243 .STR "FINAL FANTASY"
  1461. ITEM_244 .STR "FINAL FANTASY 2"
  1462. ITEM_245 .STR "METAL MAX"
  1463. ITEM_246 .STR "METROID"
  1464. ITEM_247 .STR "SWEET HOME"
  1465. ITEM_248 .STR "LEGEND OF ZELDA"
  1466. ITEM_249 .STR "SUGORO QUEST"
  1467. ITEM_250 .STR "YS II"

  1468. ITEM_251 .STR "DYNASTY WARS"
  1469. ITEM_252 .STR "GOD SLAYER"
  1470. ITEM_253 .STR "RADIA SENKI"
  1471. ITEM_254 .STR "SUPER ROBOT TAISEN 2"
  1472. ITEM_255 .STR "EARTHBOUND"
  1473. ITEM_256 .STR "GACHAPON SENSHI 4"
复制代码
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

3

查看全部评分

签到天数: 1292 天

[LV.10]以坛为家III

评论头像

发表于 2019-5-16 18:48:49 | 显示全部楼层
1200多行的代码?看都看得头晕……
回复 支持 反对

使用道具 举报

签到天数: 185 天

[LV.7]常住居民III

评论头像

发表于 2019-5-16 19:31:33 | 显示全部楼层
旋风大神真是无私,把辛苦写的源代码共享出来了,感谢~~感动~~~
回复 支持 反对

使用道具 举报

签到天数: 916 天

[LV.10]以坛为家III

评论头像

发表于 2019-5-16 21:53:28 | 显示全部楼层
感谢分享这么好的源码!
回复 支持 反对

使用道具 举报

签到天数: 590 天

[LV.9]以坛为家II

评论头像

发表于 2019-5-17 21:26:04 | 显示全部楼层
谢谢大师分享,下载学习一下。
回复 支持 反对

使用道具 举报

签到天数: 507 天

[LV.9]以坛为家II

评论头像

发表于 2019-5-17 23:17:03 | 显示全部楼层
这个是应该游戏序号吧

点评

适用于做合卡菜单,音乐合卡  详情 回复 发表于 2019-5-18 13:24
回复 支持 反对

使用道具 举报

签到天数: 347 天

[LV.8]以坛为家I

评论头像

发表于 2019-5-18 13:24:10 来自手机 | 显示全部楼层
13763651005 发表于 2019-5-17 23:17
这个是应该游戏序号吧

适用于做合卡菜单,音乐合卡
回复 支持 反对

使用道具 举报

签到天数: 478 天

[LV.9]以坛为家II

评论头像

发表于 2019-5-18 18:39:00 | 显示全部楼层
虽然看不懂。。。。。楼主加油
回复 支持 反对

使用道具 举报

签到天数: 653 天

[LV.9]以坛为家II

评论头像

发表于 2019-5-18 22:21:46 | 显示全部楼层
这爽  我的菜单。。 真的很棒
回复 支持 反对

使用道具 举报

签到天数: 20 天

[LV.4]偶尔看看III

评论头像

发表于 2019-5-18 23:59:46 | 显示全部楼层
必须支持,这是需要多久时间研究

点评

花了约两天时间重写的  详情 回复 发表于 2019-5-19 00:47
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

新模拟器共享论坛X

翻译WIKI大量成长力和金钱奖励!

访问http://wiki.nesbbs.com,翻译词条到论坛指定区,每一个完成翻译并有采纳的,有成长力等奖励哟...

点击查看详情 

QQ|申请友链|小黑屋|手机版|Archiver|新模拟器共享网 ( 辽ICP备09001055号|繁體中文   

GMT+8, 2019-6-17 14:33 , Processed in 0.171600 second(s), 47 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表