It is currently Tue Jul 23, 2019 2:27 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Fri May 17, 2019 9:10 pm 
Offline

Joined: Fri Jun 02, 2017 2:45 am
Posts: 13
[FC][菜单分页][20190517]
Attachment:
[FC][菜单分页][20190518]-0.png
[FC][菜单分页][20190518]-0.png [ 2.64 KiB | Viewed 4609 times ]

Attachment:
[FC][菜单分页][20190518]-1.png
[FC][菜单分页][20190518]-1.png [ 1.42 KiB | Viewed 4609 times ]


Code:
;[FC][菜单分页][20190517]
;FlameCyclone
;============================================================
RESET_ADDR = $E000                              ;重置中断指针
;============================================================
ITEM_MAX_COUNT  = 256                               ;最大项数
ITEM_PAGE_SIZE = 12                                 ;每页项数
ITEM_BUFFER_SIZE = 03                         ;单次写入缓冲数
;------------------------------------------------------------
ITEM_MAX  = ITEM_MAX_COUNT - 001                    ;最大项数
;------------------------------------------------------------
 .IF ITEM_MAX < ITEM_PAGE_SIZE
ITEM_PAGE = ITEM_MAX_COUNT                          ;每页项数
ITEM_PAGE_MAX   = 0                                   ;最大页
 .ELSE
ITEM_PAGE = ITEM_PAGE_SIZE                          ;每页项数
ITEM_PAGE_MAX   = ITEM_MAX / ITEM_PAGE * ITEM_PAGE    ;最大页
 .ENDIF
 .IF ITEM_MAX_COUNT % ITEM_PAGE
ITEM_PAGE_SUM  = ITEM_MAX_COUNT / ITEM_PAGE + 1       ;总页数
 .ELSE
ITEM_PAGE_SUM  = ITEM_MAX_COUNT / ITEM_PAGE           ;总页数
 .ENDIF
;============================================================
CHAR_NULL  = $00                                  ;空字符索引
CHAR_SPACE = ' '                                ;空格字符索引
CHAR_POINT = '.'                                ;空格句号索引
CHAR_PER   = '/'                                ;斜杠符号索引
CHAR_DIGIT = '0'                                ;数字字符起始
CHAR_ARROW = $1F                            ;光标箭头图形索引
;============================================================
ORDER_INDEX_LENGTH = $03                        ;序号数字长度
PAGE_INDEX_LENGTH  = $02                        ;页号数字长度
SOUND_INDEX_LENGTH = $03                        ;曲号数字长度
;------------------------------------------------------------
NMUBER_LENGTH_MAX  = $03                        ;最大数字长度
;============================================================
FC_Data_L   = $40                               ;数据地址低位
FC_Data_H   = FC_Data_L+$01                     ;数据地址高位
FC_Data_Cnt = FC_Data_H+$01                         ;数据计数
;============================================================
FC_PPU_Buffer = $0200                            ;PPU缓冲地址
FC_PPU_Status = FC_PPU_Buffer+$C0                ;PPU显示状态
FC_PPU_Cursor = FC_PPU_Status + $01          ;当前PPU缓冲位置
FC_PPU_Addr_L = FC_PPU_Cursor + $01              ;PPU地址低位
FC_PPU_Addr_H = FC_PPU_Addr_L + $01              ;PPU地址高位
;============================================================
Item_Index_Cur  = FC_PPU_Addr_H + $01               ;当前索引
Item_Index_Old  = Item_Index_Cur + $01              ;历史索引
Item_Page_Cur   = Item_Index_Old + $01                ;当前页
Item_Page_Old   = Item_Page_Cur + $01                 ;历史页
Item_Index_Cnt  = Item_Page_Old + $01               ;索引计数
Item_Write_Buf  = Item_Index_Cnt + $01          ;项缓冲最大数
;============================================================
BTN_DELAY_TIME  = $18                           ;按键延时启动
BTN_DELAY_SPEED = $08                           ;按键延时速度
;------------------------------------------------------------
Btn_Once        = Item_Write_Buf + $01              ;单次按键
Btn_Keep        = Btn_Once + $01                    ;长按按键
Btn_Delay       = Btn_Keep + $01                    ;长按延时
;------------------------------------------------------------
BTN_UP     = $08                                        ;上键
BTN_DOWN   = $04                                        ;下键
BTN_LEFT   = $02                                        ;左键
BTN_RIGHT  = $01                                        ;右键
BTN_B      = $40                                         ;B键
BTN_A      = $80                                         ;A键
BTN_SELECT = $20                                      ;选择键
BTN_START  = $10                                      ;开始键
;============================================================
SCROLL_H_VALUE = $04                                ;水平滚动
SCROLL_V_VALUE = $EC                                ;垂直滚动
;------------------------------------------------------------
Scroll_H = Btn_Delay + $01                          ;水平滚动
Scroll_V = Scroll_H + $01                           ;垂直滚动
;============================================================
DEC_100 = Scroll_V + $01                          ;十进制百位
DEC_010 = DEC_100 + $01                           ;十进制十位
DEC_001 = DEC_010 + $01                           ;十进制个位
;============================================================
Sound_Index = DEC_001 + $01                         ;曲目索引
Sound_Init = $8003                                ;初始化地址
Sound_Play = $8000                                  ;播放地址
;------------------------------------------------------------
SOUND_MAX = 017                                     ;最大曲目
SOUND_BGM = 007                                     ;默认背景
SOUND_BTN = 028                                     ;按键音效
;============================================================
 .ORG RESET_ADDR
;========================================
ProgramBegin:                   ;程序开始
 SEI
 CLD
 LDX #$FF
 TXS
 LDA #$00
 STA $2000
 STA $2001

;========================================
TimeDelay:                      ;延时等待
 LDX #$02
TimeDelayA:
 BIT $2002
 BPL TimeDelayA
TimeDelayB:
 BIT $2002
 BMI TimeDelayB
 DEX
 BNE TimeDelayA

;========================================
ClearScreen:                    ;清空屏幕
 JSR PaletteClear
 JSR NameTableClear

;========================================
PortInit:                     ;端口初始化
 LDA #$0F
 STA $4015
 LDA #$C0
 STA $4017
 LDA #$00
 STA $A000

;========================================
RamInit:                      ;内存初始化
 LDX #$00
 TXA
 STA $00
 STA $01
 LDY #$00
RamInitSet:
 STA ($00),Y
 INY
 BNE RamInitSet
 INC $01
 INX
 CPX #$08
 BCC RamInitSet

;========================================
ScreenInit:                   ;屏幕初始化
 JSR ChrSteup
 JSR PaletteSteup
 JSR PpuLayoutSteup
 LDA #SCROLL_H_VALUE
 STA Scroll_H
 LDA #SCROLL_V_VALUE
 STA Scroll_V
 JSR ShowTitle
 JSR ShowPageItems
 JSR ShowPageIndex
 JSR ShowArrow
 LDA #$0E
 STA FC_PPU_Status
 LDA #SOUND_BGM - 1
 STA Sound_Index
 JSR Sound_Init
;========================================
Circle:                             ;循环
 JSR NmiDelay
 JSR ButtonProcess
 JSR ChangeItemIndex
 JMP Circle

;========================================
NmiDelay:                        ;NMI延时
 LDA $2002
 BPL NmiDelay
 JSR FC_PPU_Process
 LDA Scroll_H
 STA $2005
 LDA Scroll_V
 STA $2005
 JSR Sound_Play
 RTS
 
;========================================
MODE_CNTL = $FB               ;行写入模式
MODE_CNTC = $FC               ;行清除模式
MODE_CNTN = $FD               ;行转行模式
MODE_CNTS = $FE         ;转行空格写入模式
;----------------------------------------
FC_PPU_Process:                  ;PPU处理
 LDA FC_PPU_Buffer
 BEQ FC_PPU_Process_End
 JSR FC_PPU_Process_Beg
FC_PPU_Process_End:
 LDA #$00
 STA FC_PPU_Buffer
 STA $2006
 STA $2006
 STA $2005
 STA $2005
 LDA FC_PPU_Status
 STA $2001
 RTS

;----------------------------------------
FC_PPU_Process_Beg:             ;处理开始
 LDX FC_PPU_Cursor
 LDA #$00
 STA $2001
 STA FC_PPU_Buffer,X
 STA FC_PPU_Cursor
 LDX #$FF
;----------------------------------------
FC_PPU_Mode_Select:             ;模式选择
 INX
 LDA FC_PPU_Buffer,X
 CMP #MODE_CNTL
 BEQ FC_PPU_Mode_CountLine
 CMP #MODE_CNTC
 BEQ FC_PPU_Mode_CountClear
 CMP #MODE_CNTN
 BEQ FC_PPU_Mode_CountNext
 CMP #MODE_CNTS
 BEQ FC_PPU_Mode_CountSpace
 RTS

;----------------------------------------
FC_PPU_Mode_CountLine:        ;行写入模式
 JSR FC_PPU_Set_Addr
 LDY FC_PPU_Buffer,X
FC_PPU_CountLine_Write:
 INX
 LDA FC_PPU_Buffer,X
 STA $2007
 DEY
 BNE FC_PPU_CountLine_Write
 JMP FC_PPU_Mode_Select
 
;----------------------------------------
FC_PPU_Mode_CountClear:       ;行清除模式
 JSR FC_PPU_Write_Addr
 LDY FC_PPU_Buffer,X
 LDA #$00
FC_PPU_CountClear_Write:
 STA $2007
 DEY
 BNE FC_PPU_CountClear_Write
 JMP FC_PPU_Mode_Select
 
;----------------------------------------
FC_PPU_Mode_CountNext:      ;转行写入模式
 JSR FC_PPU_Set_Next
FC_PPU_CountNext_Write:
 LDA FC_PPU_Addr_H
 STA $2006
 LDA FC_PPU_Addr_L
 STA $2006
 INX
 LDY FC_PPU_Buffer,X
 JMP FC_PPU_CountLine_Write

;----------------------------------------
FC_PPU_Mode_CountSpace: ;转行空格写入模式
 JSR FC_PPU_Set_Next
FC_PPU_Mode_CountSpace_Write:
 INX
 LDA FC_PPU_Addr_H
 STA $2006
 LDA FC_PPU_Addr_L
 AND #$E0
 CLC
 ADC FC_PPU_Buffer,X
 STA FC_PPU_Addr_L
 STA $2006
 INX
 LDY FC_PPU_Buffer,X
 JMP FC_PPU_CountLine_Write

;----------------------------------------
FC_PPU_Set_Addr:                ;写入地址
 INX
 LDA FC_PPU_Buffer,X
 STA FC_PPU_Addr_H
 STA $2006
 INX
 LDA FC_PPU_Buffer,X
 STA FC_PPU_Addr_L
 STA $2006
 INX
 RTS

;----------------------------------------
FC_PPU_Write_Addr:                ;写入地址
 INX
 LDA FC_PPU_Buffer,X
 STA $2006
 INX
 LDA FC_PPU_Buffer,X
 STA $2006
 INX
 RTS

;----------------------------------------
FC_PPU_Set_Next:                ;地址转行
 LDA FC_PPU_Addr_L
 CLC
 ADC #$20
 STA FC_PPU_Addr_L
 BCC FC_PPU_Set_Next_End
 INC FC_PPU_Addr_H
FC_PPU_Set_Next_End:
 RTS

;==================================================
FC_PPU_Source_Write_Buffer:        ;写入PPU缓冲数据
 LDA (FC_Data_L),Y
 STA FC_PPU_Buffer,X
 INX
 INY
 RTS

;========================================
SRC_MODE_NULL  = $FF      ;无地址写入模式
;----------------------------------------
FC_PPU_Write_Source:          ;源数据写入
 PHA
 TXA
 PHA
 TYA
 PHA
 LDX FC_PPU_Cursor
 LDY #$00
 LDA FC_Data_Cnt
 STY FC_Data_Cnt
 INC FC_Data_Cnt
 CMP #SRC_MODE_NULL
 BNE FC_PPU_Write_Line
 JSR FC_PPU_Source_Write_Buffer
 STA FC_Data_Cnt
FC_PPU_Write_Source_Set:
 JSR FC_PPU_Source_Write_Buffer
 DEC FC_Data_Cnt
 BNE FC_PPU_Write_Source_Set
FC_PPU_Write_Line:
 LDA (FC_Data_L),Y
 CMP #MODE_CNTL
 BNE FC_PPU_Write_Next
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 STA FC_Data_Cnt
 BNE FC_PPU_Write_Source_Set
FC_PPU_Write_Next:
 CMP #MODE_CNTN
 BNE FC_PPU_Write_Space
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 STA FC_Data_Cnt
 BNE FC_PPU_Write_Source_Set
FC_PPU_Write_Space:
 CMP #MODE_CNTS
 BNE FC_PPU_Write_Clear
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 STA FC_Data_Cnt
 BNE FC_PPU_Write_Source_Set
FC_PPU_Write_Clear:
 CMP #MODE_CNTC
 BNE FC_PPU_Write_Source_End
 JSR FC_PPU_Source_Write_Buffer
 JSR FC_PPU_Source_Write_Buffer
 BNE FC_PPU_Write_Line
FC_PPU_Write_Source_End:
 STX FC_PPU_Cursor
 LDA #$00
 STA FC_Data_Cnt
 PLA
 TAY
 PLA
 TAX
 PLA
 RTS

;========================================
FC_PPU_Source_Write:     ;写入PPU缓冲数据
 STA FC_PPU_Buffer,X
 INX
 INY
 RTS

;========================================
FC_PPU_Clear_Source:          ;源数据清除
 PHA
 TXA
 PHA
 TYA
 PHA
 LDX FC_PPU_Cursor
 LDY #$00
 LDA FC_Data_Cnt
 STY FC_Data_Cnt
 INC FC_Data_Cnt
 CMP #SRC_MODE_NULL
 BNE FC_PPU_Clear_Line
FC_PPU_Clear_Source_Set:
 LDA (FC_Data_L),Y
 STA FC_PPU_Buffer,X
 TYA
 CLC
 ADC (FC_Data_L),Y
 TAY
 INX
 INY
FC_PPU_Clear_Line:
 LDA (FC_Data_L),Y
 CMP #MODE_CNTL
 BNE FC_PPU_Clear_Next
 LDA #MODE_CNTC
 JSR FC_PPU_Source_Write
 LDA (FC_Data_L),Y
 STA FC_PPU_Addr_H
 JSR FC_PPU_Source_Write
 LDA (FC_Data_L),Y
 STA FC_PPU_Addr_L
 JSR FC_PPU_Source_Write
 JMP FC_PPU_Clear_Source_Set
FC_PPU_Clear_Next:
 CMP #MODE_CNTN
 BNE FC_PPU_Clear_Space
 JSR FC_PPU_Set_Next
 LDA #MODE_CNTC
 STA FC_PPU_Buffer,X
 INX
 LDA FC_PPU_Addr_H
 STA FC_PPU_Buffer,X
 INX
 LDA FC_PPU_Addr_L
 JSR FC_PPU_Source_Write
 JMP FC_PPU_Clear_Source_Set
FC_PPU_Clear_Space:
 CMP #MODE_CNTS
 BNE FC_PPU_Clear_Clear
 JSR FC_PPU_Set_Next
 INY
 LDA #MODE_CNTC
 STA FC_PPU_Buffer,X
 INX
 LDA FC_PPU_Addr_H
 STA FC_PPU_Buffer,X
 INX
 LDA FC_PPU_Addr_L
 AND #$E0
 CLC
 ADC (FC_Data_L),Y
 STA FC_PPU_Addr_L
 JSR FC_PPU_Source_Write
 JMP FC_PPU_Clear_Source_Set
FC_PPU_Clear_Clear:
 CMP #MODE_CNTC
 BNE FC_PPU_Clear_Source_End
 JSR FC_PPU_Source_Write
 LDA (FC_Data_L),Y
 JSR FC_PPU_Source_Write
 LDA (FC_Data_L),Y
 JSR FC_PPU_Source_Write
 LDA (FC_Data_L),Y
 JSR FC_PPU_Source_Write
 JMP FC_PPU_Clear_Line
FC_PPU_Clear_Source_End:
 STX FC_PPU_Cursor
 LDA #$00
 STA FC_Data_Cnt
 PLA
 TAY
 PLA
 TAX
 PLA
 RTS

;========================================
ButtonProcess:                  ;按键扫描
 LDX #$01
 STX $4016
 DEX
 STX $4016
ButtonScan
 LDY #$08
ButtonScanBeg:
 LDA $4016,X
 LSR
 ROL Btn_Once,X
 LSR
 DEY
 BNE ButtonScanBeg
ButtonSet:
 LDA Btn_Once,X
 TAY
 EOR Btn_Keep,X
 AND Btn_Once,X
 STA Btn_Once,X
 TYA
 STA Btn_Keep,X
;----------------------------------------
ButtonDelay:                ;按键长按延迟
 LDA Btn_Keep
 BEQ ButtonDelayEnd
 CMP #$10
 BEQ ButtonDelayEnd
 LDA Btn_Delay
 CMP #BTN_DELAY_TIME
 BCS ButtonDelayPress
 INC Btn_Delay
 RTS
ButtonDelayPress:
 INC Btn_Delay
 LDA Btn_Delay
 SEC
 SBC #BTN_DELAY_TIME
 CMP #BTN_DELAY_SPEED
 BCS ButtonDelayFinish
 RTS
ButtonDelayFinish:
 LDA Btn_Keep
 STA Btn_Once
 LDA #BTN_DELAY_TIME
ButtonDelayEnd:
 STA Btn_Delay
 RTS

;========================================
HexToDec:            ;8位十六进制转十进制
 LDY #$00
 BCC Count100
 INY
 SBC #100
Count100:
 CMP #100
 BCC Set100
 SBC #100
 INY
 BNE Count100
Set100:
 STY DEC_100
 LDY #$00
Count010:
 CMP #10
 BCC Set010
 SBC #10
 INY
 BNE Count010
Set010:
 STY DEC_010
 STA DEC_001
 RTS

;========================================
ChrSteup:                     ;图形块设置
 LDX #$00
ChrSteupSet:
 STX $8000
 LDA Chr_Bank_Data,X
 STA $8001
 INX
 CPX #$06
 BCC ChrSteupSet
 RTS

;========================================
PaletteClear:                 ;调色板清空
 LDA #$3F
 STA $2006
 LDA #$00
 STA $2006
 LDX #$00
 LDA #$0F
PaletteClearSet:
 STA $2007
 INX
 CPX #$20
 BCC PaletteClearSet
 RTS

;========================================
NameTableClear:               ;命名表清空
 LDA #$20
 STA $2006
 LDA #$00
 STA $2006
 LDX #$00
 LDY #$00
 LDA #$00
NameTableClearSet:
 STA $2007
 INX
 BNE NameTableClearSet
 INY
 CPY #10
 BCC NameTableClearSet
 RTS

;========================================
PaletteSteup:             ;背景调色板设置
 LDA #$3F
 STA $2006
 LDA #$00
 STA $2006
 LDX #$00
PaletteSteupSet:
 LDA Palette_Data,X
 STA $2007
 INX
 CPX #$10
 BCC PaletteSteupSet
 RTS

;========================================
PpuLayoutSteup:               ;属性表配置
 LDA #$23
 STA $2006
 LDA #$C0
 STA $2006
 LDX #$00
PpuLayoutSteupSet:
 LDA PpuLayout_Data,X
 STA $2007
 INX
 CPX #$40
 BCC PpuLayoutSteupSet
 RTS
 
;========================================
GetPageIndex:                 ;计算页索引
 LDA #$00
 STA Item_Page_Cur
 LDA Item_Index_Cur
 CMP #ITEM_PAGE
 BCC GetPageIndexReturn
 LDA #$00
 CLC
GetPageIndexSet:
 ADC #ITEM_PAGE
 BCS GetPageMaxIndex
 CMP Item_Index_Cur
 BEQ GetPageIndexEnd
 BCS GetPageIndexReturn
 STA Item_Page_Cur
 BNE GetPageIndexSet
GetPageIndexEnd:
 STA Item_Page_Cur
GetPageIndexReturn:
 RTS
GetPageMaxIndex:
 LDA #ITEM_PAGE_MAX
 STA Item_Page_Cur
 RTS
 
;========================================
SaveOldSelect:              ;保存历史索引
 LDA Item_Page_Cur
 STA Item_Page_Old
 LDA Item_Index_Cur
 STA Item_Index_Old
 RTS

;========================================
SetLastPage:              ;设置上一页索引
 JSR SaveOldSelect
 LDA #ITEM_MAX
 CMP #ITEM_PAGE
 BCS SetLastPageMul
 LDA #$00
 STA Item_Index_Cur
 RTS
SetLastPageMul:
 LDA Item_Index_Cur
 CMP #ITEM_PAGE
 BCC SetMaxPage
 SEC
 SBC #ITEM_PAGE
 STA Item_Index_Cur
 RTS
SetMaxPage:
 LDA #ITEM_PAGE_MAX
 CLC
 ADC Item_Index_Cur
 BCS SetLastMaxSet
 CMP #ITEM_MAX
SetLastMaxSet
 BCC SetLastPageSet
 LDA #ITEM_MAX
SetLastPageSet:
 STA Item_Index_Cur
 RTS

;========================================
SetNextPage:              ;设置下一页索引
 JSR SaveOldSelect
 LDA #ITEM_MAX
 CMP #ITEM_PAGE
 BCS SetNextPageMul
 LDA #ITEM_PAGE - 1
 STA Item_Index_Cur
 RTS
SetNextPageMul:
 LDA Item_Index_Cur
 CMP #ITEM_PAGE_MAX
 BCS SetNext
 CLC
 ADC #ITEM_PAGE
 BCS SetNextMaxSet
 CMP #ITEM_MAX
 BCC SetNextSet
SetNextMaxSet
 LDA #ITEM_MAX
SetNextSet:
 STA Item_Index_Cur
 RTS
SetNext:
 LDA Item_Index_Cur
 SEC
 SBC #ITEM_PAGE_MAX
 STA Item_Index_Cur
 RTS

;========================================
SetLastItem:              ;设置上一项索引
 JSR SaveOldSelect
 LDA Item_Index_Cur
 BEQ SetMaxItem
 LDA Item_Index_Cur
 CMP Item_Page_Cur
 BNE SetLastItemSet
SetLastItemSet:
 DEC Item_Index_Cur
 RTS
SetMaxItem:
 LDA #ITEM_MAX
 STA Item_Index_Cur
 JSR GetPageIndex
 RTS

;========================================
SetNextItem:              ;设置下一项索引
 JSR SaveOldSelect
 LDA Item_Index_Cur
 CMP #ITEM_MAX
 BEQ SetMinItem
 LDA Item_Page_Cur
 CLC
 ADC #ITEM_PAGE -1
 CMP Item_Index_Cur
 BNE SetNextItemSet
SetNextItemSet:
 INC Item_Index_Cur
 RTS
SetMinItem:
 LDA #$00
 STA Item_Index_Cur
 JSR GetPageIndex
 RTS

;========================================
SetOrderPos:                ;设置序号位置
 LDY Item_Index_Cnt
 LDA Pos_Data_H,Y
 STA FC_PPU_Buffer,X
 INX
 LDA Pos_Data_L,Y
 STA FC_PPU_Buffer,X
 INX
 LDA #ORDER_INDEX_LENGTH + 1
 STA FC_PPU_Buffer,X
 INX
 RTS

;========================================
ClearOrder:                     ;清除序号
 LDA Item_Page_Cur
 CMP Item_Page_Old
 BEQ ClearOrderEnd
 LDA Item_Page_Old
 CLC
 ADC Item_Index_Cnt
 BCS ClearOrderEnd
 CMP #ITEM_MAX
 BEQ ClearOrderSet
 BCS ClearOrderEnd
ClearOrderSet:
 LDX FC_PPU_Cursor
 LDA #MODE_CNTC
 STA FC_PPU_Buffer,X
 INX
 JSR SetOrderPos
ClearOrderWrite:
 STX FC_PPU_Cursor
ClearOrderEnd:
 RTS

;========================================
WriteNum:                       ;写入数字
 TAY
WriteNumSet:
 LDA DEC_100,Y
 CLC
 ADC #CHAR_DIGIT
 STA FC_PPU_Buffer,X
 INX
 INY
 CPY #$03
 BCC WriteNumSet
 RTS

;========================================
ShowOrder:                      ;显示序号
 LDA Item_Page_Cur
 CLC
 ADC Item_Index_Cnt
 BCS ShowOrderEnd
 CMP #ITEM_MAX
 BEQ ShowOrderSet
 BCS ShowOrderEnd
ShowOrderSet:
 CLC
 ADC #$01
 JSR HexToDec
 LDX FC_PPU_Cursor
 LDA #MODE_CNTL
 STA FC_PPU_Buffer,X
 INX
 JSR SetOrderPos
 LDA #NMUBER_LENGTH_MAX - ORDER_INDEX_LENGTH
 JSR WriteNum
 LDA #CHAR_POINT
 STA FC_PPU_Buffer,X
 INX
 STX FC_PPU_Cursor
ShowOrderEnd:
 RTS
 
;========================================
UpdateOrder:                    ;更新序号
 JSR ClearOrder
 JSR ShowOrder
 RTS

;========================================
SetTextPos:                 ;设置文本位置
 LDY Item_Index_Cnt
 LDA Pos_Data_H,Y
 STA FC_PPU_Buffer,X
 STA FC_PPU_Addr_H
 INX
 LDA Pos_Data_L,Y
 CLC
 ADC #ORDER_INDEX_LENGTH + 1
 STA FC_PPU_Buffer,X
 STA FC_PPU_Addr_L
 INX
 RTS

;========================================
ClearText:                      ;清除文本
 LDA Item_Page_Cur
 CMP Item_Page_Old
 BEQ ClearTextEnd
 LDA Item_Page_Old
 CLC
 ADC Item_Index_Cnt
 BCS ClearTextEnd
 CMP #ITEM_MAX
 BEQ ClearTextSet
 BCS ClearTextEnd
ClearTextSet:
 LDX FC_PPU_Cursor
 LDA #MODE_CNTC
 STA FC_PPU_Buffer,X
 INX
 JSR SetTextPos
 STX FC_PPU_Cursor
 LDA Item_Page_Old
 CLC
 ADC Item_Index_Cnt
 TAY
 LDA Text_Data_L,Y
 STA FC_Data_L
 LDA Text_Data_H,Y
 STA FC_Data_H
 LDA #SRC_MODE_NULL
 STA FC_Data_Cnt
 JSR FC_PPU_Clear_Source
ClearTextEnd:
 RTS

;========================================
ShowText:                       ;显示文本
 LDA Item_Page_Cur
 CLC
 ADC Item_Index_Cnt
 BCS ShowTextEnd
 CMP #ITEM_MAX
 BEQ ShowTextSet
 BCS ShowTextEnd
ShowTextSet:
 LDX FC_PPU_Cursor
 LDA #MODE_CNTL
 STA FC_PPU_Buffer,X
 INX
 JSR SetTextPos
 STX FC_PPU_Cursor
 LDA Item_Page_Cur
 CLC
 ADC Item_Index_Cnt
 TAY
 LDA Text_Data_L,Y
 STA FC_Data_L
 LDA Text_Data_H,Y
 STA FC_Data_H
 LDA #SRC_MODE_NULL
 STA FC_Data_Cnt
 JSR FC_PPU_Write_Source
ShowTextEnd:
 RTS

;========================================
UpdateText:                     ;更新文本
 JSR ClearText
 JSR ShowText
 RTS

;========================================
ShowTitle:                      ;显示标题
 LDA #<Title_Text_Data
 STA FC_Data_L
 LDA #>Title_Text_Data
 STA FC_Data_H
 JSR FC_PPU_Write_Source
ShowTitleEnd:
 JSR NmiDelay
 RTS

;========================================
SetArrowPos:                ;设置箭头位置
 TAY
 LDA Pos_Data_H,Y
 STA FC_PPU_Buffer,X
 INX
 LDA Pos_Data_L,Y
 SEC
 SBC #$02
 STA FC_PPU_Buffer,X
 INX
 LDA #$01
 STA FC_PPU_Buffer,X
 INX
 RTS

;========================================
ShowArrow:                      ;显示箭头
ShowArrowClear:
 LDX FC_PPU_Cursor
 LDA #MODE_CNTL
 STA FC_PPU_Buffer,X
 INX
 LDA Item_Index_Old
 SEC
 SBC Item_Page_Old
 JSR SetArrowPos
 LDA #CHAR_NULL
 STA FC_PPU_Buffer,X
 INX
ShowArrowShow:
 LDA #MODE_CNTL
 STA FC_PPU_Buffer,X
 INX
 LDA Item_Index_Cur
 SEC
 SBC Item_Page_Cur
 JSR SetArrowPos
 LDA #CHAR_ARROW
 STA FC_PPU_Buffer,X
 INX
 STX FC_PPU_Cursor
 RTS

;========================================
UpdateArrow:                    ;更新箭头
 LDA Item_Index_Old
 SEC
 SBC Item_Page_Old
 STA FC_Data_Cnt
 LDA Item_Index_Cur
 SEC
 SBC Item_Page_Cur
 CMP FC_Data_Cnt
 BEQ UpdateArrowEnd
 JSR ShowArrow
UpdateArrowEnd:
 RTS

;========================================
ShowSingleItem:             ;显示一项内容
 JSR UpdateOrder
 JSR UpdateText
ShowSingleItemEnd:
 RTS

;========================================
ShowPageItems:              ;显示一页内容
 LDA #$00
 STA Item_Index_Cnt
 STA Item_Write_Buf
ShowPageItemsSet:
 JSR ShowSingleItem
 INC Item_Write_Buf
 LDA Item_Write_Buf
 CMP #ITEM_BUFFER_SIZE
 BCC ShowPageItemsWrite
 JSR NmiDelay
 LDA #$00
 STA Item_Write_Buf
ShowPageItemsWrite:
 INC Item_Index_Cnt
 LDA Item_Index_Cnt
 CMP #ITEM_PAGE
 BCC ShowPageItemsSet
 LDA Item_Write_Buf
 BEQ ShowPageItemsEnd
 JSR NmiDelay
 LDA #$00
 STA Item_Write_Buf
ShowPageItemsEnd:
 RTS

;========================================
UpdatePage:                   ;更新页内容
 LDA Item_Page_Cur
 CMP Item_Page_Old
 BEQ UpdatePageEnd
 JSR ShowPageItems
 JSR ShowPageIndex
UpdatePageEnd:
 RTS

;========================================
SetPageIndexPos:           ;设置页号位置
 LDX FC_PPU_Cursor
 LDY #$00
 LDA Title_Text_Data,Y
 STA FC_PPU_Buffer,X
 INX
 INY
 LDA Title_Text_Data,Y
 STA FC_PPU_Buffer,X
 INX
 INY
 LDA Title_Text_Data,Y
 INY
 CLC
 ADC Title_Text_Data,Y
 ADC #$02
 STA FC_PPU_Buffer,X
 INX
 LDA #PAGE_INDEX_LENGTH * 2 + 1
 STA FC_PPU_Buffer,X
 INX
SetPageIndexPosEnd:
 STX FC_PPU_Cursor
 RTS

;========================================
ShowPageIndex:                  ;显示页号
 LDA Item_Page_Cur
 LDX #$01
ShowPageIndexSet:
 CMP #ITEM_PAGE
 BCC ShowPageIndexEnd
 SEC
 SBC #ITEM_PAGE
 INX
 BNE ShowPageIndexSet
ShowPageIndexEnd:
 TXA
 CLC
 JSR HexToDec
 JSR SetPageIndexPos
 LDA #NMUBER_LENGTH_MAX - PAGE_INDEX_LENGTH
 JSR WriteNum
 LDA #CHAR_PER
 STA FC_PPU_Buffer,X
 INX
 LDA #ITEM_PAGE_SUM
 CLC
 JSR HexToDec
 LDA #NMUBER_LENGTH_MAX - PAGE_INDEX_LENGTH
 JSR WriteNum
 STX FC_PPU_Cursor
 RTS

;========================================
LastSound:                    ;播放上一首
 LDA Sound_Index
 BEQ LastSoundEnd
LastSoundSet:
 DEC Sound_Index
 LDA Sound_Index
 JSR Sound_Init
LastSoundEnd:
 RTS

;========================================
NextSound:                    ;播放下一首
 LDA Sound_Index
 CMP #SOUND_MAX - 1
 BEQ NextSoundEnd
NextSoundSet:
 INC Sound_Index
 LDA Sound_Index
 JSR Sound_Init
NextSoundEnd:
 RTS

;========================================
StopSound:                      ;停止音乐
 LDA #$0B
 STA $4015
 LDA #$00
 STA $4008
 LDA #$0F
 STA $4015
 LDA #$30
 STA $4000
 STA $4004
 STA $400C
 LDA #$7F
 STA $4001
 STA $4005
 RTS

;========================================
ChangeItemIndex:              ;改变项索引
 LDA Btn_Once
 AND #$FF
 BNE ChangeItemSound
 RTS
ChangeItemSound:
 LDA Btn_Once
 AND #$2F
 BEQ SelectLastPage
 LDA #SOUND_BTN - 1
 JSR Sound_Init
SelectLastPage:
 LDA Btn_Once
 CMP #BTN_LEFT
 BNE SelectNextPage
 JSR SetLastPage
 JSR GetPageIndex
SelectNextPage:
 LDA Btn_Once
 CMP #BTN_RIGHT
 BNE SelectLastItem
 JSR SetNextPage
 JSR GetPageIndex
SelectLastItem:
 LDA Btn_Once
 CMP #BTN_UP
 BNE SelectNextItem
 JSR SetLastItem
 JSR GetPageIndex
SelectNextItem:
 LDA Btn_Once
 AND #BTN_SELECT | BTN_DOWN
 BEQ SelectLastSound
 JSR SetNextItem
 JSR GetPageIndex
SelectLastSound:
 LDA Btn_Once
 CMP #BTN_B
 BNE SelectNextSound
 JSR LastSound
SelectNextSound:
 LDA Btn_Once
 CMP #BTN_A
 BNE SelectResetSound
 JSR NextSound
SelectResetSound:
 LDA Btn_Once
 CMP #BTN_START
 BNE ChangeItemIndexEnd
 LDA Sound_Index
 JSR Sound_Init
ChangeItemIndexEnd:
 JSR UpdatePage
 JSR UpdateArrow
ChangeItemIndexReturn:
 RTS

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

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

;========================================
PpuLayout_Data:               ;属性表数据
 .DB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$FF,$55,$00,$00,$00,$00,$00,$00
 .DB $FF,$55,$00,$00,$00,$00,$00,$00,$FF,$55,$00,$00,$00,$00,$00,$00
 .DB $FF,$55,$00,$00,$00,$00,$00,$00,$FF,$55,$00,$00,$00,$00,$00,$00
 .DB $FF,$55,$00,$00,$00,$00,$00,$00,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA

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

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

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

;========================================
Text_Data:                      ;节目文本
ITEM_001 .STR "CONTRA"
ITEM_002 .STR "SUPER CONTRA"
ITEM_003 .STR "CONTRA FORCE"
ITEM_004 .STR "FINAL MISSION"
ITEM_005 .STR "KAGE"
ITEM_006 .STR "CHIP TO DALE"
ITEM_007 .STR "CHIP TO DALE 2"
ITEM_008 .STR "DOUBLE DRAGON"
ITEM_009 .STR "DOUBLE DRAGON 2"
ITEM_010 .STR "DOUBLE DRAGON 3"

ITEM_011 .STR "NEKKETSU DODGEBALL"
ITEM_012 .STR "NEKKETSU SOCCER HEN"
ITEM_013 .STR "NEKKETSU KAKUTOU"
ITEM_014 .STR "NEKKETSU KOUSHIN KYOKU"
ITEM_015 .STR "NEKKETSU STREET BASKET"
ITEM_016 .STR "NEKKETSU HOCKEY BU"
ITEM_017 .STR "NEKKETSU SHIN KIROKU"
ITEM_018 .STR "NEKKETSU MONOGATARI"
ITEM_019 .STR "NEKKETSU KUNIO KUN"

ITEM_020 .STR "NEKKETSU SOCCER LEAGUE"
ITEM_021 .STR "NEKKETSU KOUHA"
ITEM_022 .STR "MONSTER IN MY POCKET"
ITEM_023 .STR "WAI WAI WORLD"
ITEM_024 .STR "IKARI III"
ITEM_025 .STR "DATSUGOKU"
ITEM_026 .STR "SNOW BROS"
ITEM_027 .STR "NINJA TURTLES"
ITEM_028 .STR "NINJA TURTLES 2"
ITEM_029 .STR "NINJA TURTLES 3"
ITEM_030 .STR "TURTLES FIGHTER"

ITEM_031 .STR "HEAVY BARREL"
ITEM_032 .STR "JACKAL"
ITEM_033 .STR "RUSH N ATTACK"
ITEM_034 .STR "LIFE FORCE"
ITEM_035 .STR "GUERRILLA WAR"
ITEM_036 .STR "SILK WORM"
ITEM_037 .STR "SUPER MARIO BROS"
ITEM_038 .STR "SUPER MARIO BROS 2"
ITEM_039 .STR "SUPER MARIO BROS 3"
ITEM_040 .STR "ADVENTURE ISLAND"

ITEM_041 .STR "ADVENTURE ISLAND 2"
ITEM_042 .STR "ADVENTURE ISLAND 3"
ITEM_043 .STR "ADVENTURE ISLAND 4"
ITEM_044 .STR "ROCKMAN"
ITEM_045 .STR "ROCKMAN 2"
ITEM_046 .STR "ROCKMAN 3"
ITEM_047 .STR "ROCKMAN 5"
ITEM_048 .STR "NINJA GAIDEN"
ITEM_049 .STR "NINJA GAIDEN 2"
ITEM_050 .STR "NINJA GAIDEN 3"

ITEM_051 .STR "CASTLEVANIA"
ITEM_052 .STR "CASTLEVANIA 2"
ITEM_053 .STR "CASTLEVANIA 3"
ITEM_054 .STR "BATMAN"
ITEM_055 .STR "BATMAN RETURNS"
ITEM_056 .STR "POWER BLADE"
ITEM_057 .STR "POWER BLADE 2"
ITEM_058 .STR "ROBOCOP"
ITEM_059 .STR "ROBOCOP 2"
ITEM_060 .STR "ROBOCOP 3"

ITEM_061 .STR "KID NIKI 2"
ITEM_062 .STR "KID NIKI 3"
ITEM_063 .STR "FLINTSTONES"
ITEM_064 .STR "FLINTSTONES 2"
ITEM_065 .STR "FLINTSTONES JETSONS"
ITEM_066 .STR "DUCK TALES"
ITEM_067 .STR "DUCK TALES 2"
ITEM_068 .STR "TINY TOON ADVENTURES"
ITEM_069 .STR "TINY TOON ADVENTURES 2"
ITEM_070 .STR "SAIYUUKI WORLD"

ITEM_071 .STR "SAIYUUKI WORLD 2"
ITEM_072 .STR "ROLLERGAMES"
ITEM_073 .STR "BONKS ADVENTURE"
ITEM_074 .STR "TOKI"
ITEM_075 .STR "PANIC RESTAURANT"
ITEM_076 .STR "WEREWOLF"
ITEM_077 .STR "SPARTAN X2"
ITEM_078 .STR "JACKIE CHANS"
ITEM_079 .STR "DAIKU NO GEN SAN"
ITEM_080 .STR "KABUKI QUANTUM FIGHTER"

ITEM_081 .STR "ASTYANAX"
ITEM_082 .STR "THE ROCKETEER"
ITEM_083 .STR "GUN DEC"
ITEM_084 .STR "HINOTORI"
ITEM_085 .STR "SWORD MASTER"
ITEM_086 .STR "KARNOV"
ITEM_087 .STR "KYOURYUU S JUURANGER"
ITEM_088 .STR "MIGHTY FINAL FIGHT"
ITEM_089 .STR "DRAGON FIGHTER"
ITEM_090 .STR "BAD DUDES"
 
ITEM_091 .STR "MCDONALDLAND"
ITEM_092 .STR "LITTLE NEMO"
ITEM_093 .STR "UFOURIA"
ITEM_094 .STR "TOTALLY RAD"
ITEM_095 .STR "MATENDOUJI"
ITEM_096 .STR "CHOUJIN SENTAI JETMAN"
ITEM_097 .STR "ROCKIN KATS"
ITEM_098 .STR "YUME PENGUIN MONOGATARI"
ITEM_099 .STR "CODE NAME VIPER"
ITEM_100 .STR "SQUASHED"

ITEM_101 .STR "NINJA CRUSADERS"
ITEM_102 .STR "MITSUME GA TOORU"
ITEM_103 .STR "CAPTAIN AMERICA"
ITEM_104 .STR "YOUNG INDIANA JONES"
ITEM_105 .STR "JAMES BOND JR"
ITEM_106 .STR "SECRET TIES"
ITEM_107 .STR "SAINT SEIYA 2"
ITEM_108 .STR "LITTLE SAMSON"
ITEM_109 .STR "TIME DIVER EON MAN"
ITEM_110 .STR "TARGET RENEGADE"

ITEM_111 .STR "JUNGLE BOOK"
ITEM_112 .STR "SHATTERHAND"
ITEM_113 .STR "KICK MASTER"
ITEM_114 .STR "CROSS FIRE"
ITEM_115 .STR "BUCKY OHARE"
ITEM_116 .STR "WACKY RACES"
ITEM_117 .STR "RYGAR"
ITEM_118 .STR "BIO MIRACLE BOKUTTE UPA"
ITEM_119 .STR "BIONIC COMMANDO"

ITEM_120 .STR "BANANA PRINCE"
ITEM_121 .STR "LITTLE MERMAID"
ITEM_122 .STR "GREMLINS 2"
ITEM_123 .STR "MAGICAL DOROPIE"
ITEM_124 .STR "JOURNEY TO SILIUS"
ITEM_125 .STR "G.I. JOE"
ITEM_126 .STR "G.I. JOE 2"
ITEM_127 .STR "ZEN"
ITEM_128 .STR "DOKI! DOKI! YUUENCHI"
ITEM_129 .STR "GETSUFUU MADEN"
ITEM_130 .STR "MOON CRYSTAL"

ITEM_131 .STR "JOE AND MAC"
ITEM_132 .STR "SPIDER MAN"
ITEM_133 .STR "LETHAL WEAPON"
ITEM_134 .STR "JURASSIC PARK"
ITEM_135 .STR "MAD CITY"
ITEM_136 .STR "LOW G MAN"
ITEM_137 .STR "TWIN BEE"
ITEM_138 .STR "TWIN BEE 2"
ITEM_139 .STR "BLASTER MASTER"
ITEM_140 .STR "OVER HORIZON"

ITEM_141 .STR "CHITEI SENKUU VAZOLDER"
ITEM_142 .STR "ABADOX"
ITEM_143 .STR "SAMURAI ZOMBIE NATION"
ITEM_144 .STR "PARODIUS"
ITEM_145 .STR "ISOLATED WARRIOR"
ITEM_146 .STR "TOP GUN"
ITEM_147 .STR "TOP GUN 2"
ITEM_148 .STR "ROBOCCO WARS"
ITEM_149 .STR "GUN NAC"
ITEM_150 .STR "THUNDERCADE"

ITEM_151 .STR "SUMMER CARNIVAL 92"
ITEM_152 .STR "DRAGON SPIRIT"
ITEM_153 .STR "KYUUKYOKU TIGER"
ITEM_154 .STR "LEGENDARY WINGS"
ITEM_155 .STR "BURAI FIGHTER"
ITEM_156 .STR "ZANAC"
ITEM_157 .STR "GRADIUS"
ITEM_158 .STR "BATTLE FORMULA"
ITEM_159 .STR "CHUKA TAISEN"
ITEM_160 .STR "ALADDIN"

ITEM_161 .STR "ULTRAMAN CLUB"
ITEM_162 .STR "8 EYES"
ITEM_163 .STR "DARKMAN"
ITEM_164 .STR "SPY VS SPY"
ITEM_165 .STR "MISSION IMPOSSIBLE"
ITEM_166 .STR "DRAGONS LAIR"
ITEM_167 .STR "THE LONE RANGER"
ITEM_168 .STR "HIRYUU NO KEN III"
ITEM_169 .STR "METAL GEAR SOLID"
ITEM_170 .STR "GAIAPOLIS"

ITEM_171 .STR "GUARDIAN LEGEND"
ITEM_172 .STR "STREET FIGHTER 2010"
ITEM_173 .STR "TOXIC CRUSADERS"
ITEM_174 .STR "GOLGO 13"
ITEM_175 .STR "DRAGON SCROLL"
ITEM_176 .STR "LUPIN SANSEI"
ITEM_177 .STR "MAJOU DENSETSU 2"
ITEM_178 .STR "TERMINATOR 2"
ITEM_179 .STR "GHOULS N GHOSTS"
ITEM_180 .STR "THE GOONIES 2"

ITEM_181 .STR "KAMEN NO NINJA"
ITEM_182 .STR "BIO FORCE APE"
ITEM_183 .STR "ALTERED BEAST"
ITEM_184 .STR "TAIYOU NO YUUSHA"
ITEM_185 .STR "WOLVERINE"
ITEM_186 .STR "HOOK"
ITEM_187 .STR "WIDGET"
ITEM_188 .STR "COWBOY KID"
ITEM_189 .STR "NEW GHOSTBUSTERS II"
ITEM_190 .STR "ROD LAND"
 
ITEM_191 .STR "ALIEN 3"
ITEM_192 .STR "SD HERO SOUKESSEN"
ITEM_193 .STR "BOMBERMAN 2"
ITEM_194 .STR "METAL STORM"
ITEM_195 .STR "CHASE H.Q."
ITEM_196 .STR "RAINBOW ISLANDS"
ITEM_197 .STR "THE PUNISHER"
ITEM_198 .STR "GUN.SMOKE"
ITEM_199 .STR "MEIKYUU JIMA"
ITEM_200 .STR "TROG"

ITEM_201 .STR "SOLOMONS KEY 2"
ITEM_202 .STR "FLYING HERO"
ITEM_203 .STR "COBRA COMMAND"
ITEM_204 .STR "WCW WORLD"
ITEM_205 .STR "SUPER SPIKE VBALL"
ITEM_206 .STR "SIDE POCKET"
ITEM_207 .STR "DOUBLE DRIBBLE"
ITEM_208 .STR "CAPTAIN TSUBASA 2"
ITEM_209 .STR "JOY MECH FIGHT"
ITEM_210 .STR "FIGHTING ROAD"

ITEM_211 .STR "STREET FIGHTER 16P"
ITEM_212 .STR "FELIX THE CAT"
ITEM_213 .STR "DARKWING DUCK"
ITEM_214 .STR "DARKWING DUCK 2"
ITEM_215 .STR "KEROPPI NO DAIBOUKEN"
ITEM_216 .STR "CAT NINDEN TEYANDEE"
ITEM_217 .STR "MICKEY MOUSE 3"
ITEM_218 .STR "BUBBLE BOBBLE PART 2"
ITEM_219 .STR "TALESPIN"

ITEM_220 .STR "TOM AND JERRY"
ITEM_221 .STR "HOKUTO NO KEN 2"
ITEM_222 .STR "CAESARS PALACE"
ITEM_223 .STR "TERRA CRESTA"
ITEM_224 .STR "X MAN"
ITEM_225 .STR "CONAN"
ITEM_226 .STR "ROBO WARRIOR"
ITEM_227 .STR "GREAT BATTLE CYBER"
ITEM_228 .STR "SHADOWGATE"
ITEM_229 .STR "HAPPY BIRTHDAY BUGS"
ITEM_230 .STR "NINJA BROTHERS"

ITEM_231 .STR "DYNATRON CITY"
ITEM_232 .STR "IMAGE FIGHT"
ITEM_233 .STR "MICKEYS NUMBERLAND"
ITEM_234 .STR "MICKEYS LETTERLAND"
ITEM_235 .STR "SILVA SAGA II"
ITEM_236 .STR "DEJA VU"
ITEM_237 .STR "ULTIMATE BASKETBALL"
ITEM_238 .STR "HOME ALONE 2"
ITEM_239 .STR "HEROES OF MIGHT"
ITEM_240 .STR "THE IMMORTAL"

ITEM_241 .STR "TETRASTAR THE FIGHTER"
ITEM_242 .STR "WARIOS WOODS"
ITEM_243 .STR "FINAL FANTASY"
ITEM_244 .STR "FINAL FANTASY 2"
ITEM_245 .STR "METAL MAX"
ITEM_246 .STR "METROID"
ITEM_247 .STR "SWEET HOME"
ITEM_248 .STR "LEGEND OF ZELDA"
ITEM_249 .STR "SUGORO QUEST"
ITEM_250 .STR "YS II"

ITEM_251 .STR "DYNASTY WARS"
ITEM_252 .STR "GOD SLAYER"
ITEM_253 .STR "RADIA SENKI"
ITEM_254 .STR "SUPER ROBOT TAISEN 2"
ITEM_255 .STR "EARTHBOUND"
ITEM_256 .STR "GACHAPON SENSHI 4"

Attachment:
[FC][菜单分页][20190518].zip [26.78 KiB]
Downloaded 162 times


Top
 Profile  
 
PostPosted: Mon May 20, 2019 6:07 pm 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 583
Hey FlameCyclone,

Thanks for posting your code! I just have to say that it's just so darn, ironically hilarious that a Chinese guy is posting source code for a multicart menu. I just had to laugh!

Have a nice day!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group