📄 ui_stop_menu.lst
字号:
82 output8(0x27,IMK_Reg);
\ 00A4 DD7EFE LD A,(IX-2)
\ 00A7 D327 OUT (39),A
83
84 if(SetDealCommamd(&MusicEdit_SelSeg,MUSICEDIT_CMD_INSREC,NULL))
\ 00A9 210000 LD HL,0
\ 00AC E5 PUSH HL
\ 00AD 010500 LD BC,5
\ 00B0 CD5C00 CALL LWRD ?0133
\ 00B3 F1 POP AF
\ 00B4 2C INC L
\ 00B5 2D DEC L
\ 00B6 2805 JR Z,?0010
\ 00B8 ?0009:
85 {
86 return RESULT_MUSICEDIT;// return to musicedit ap
\ 00B8 210F00 LD HL,15
87 }
\ 00BB 1803 JR ?0011
\ 00BD ?0010:
88 return RESULT_IGNORE;
\ 00BD 213400 LD HL,52
89 }
\ 00C0 ?0011:
\ 00C0 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 00C3 UI_SongComp:
90
91 int UI_SongComp(void)
92 {
\ 00C3 C5 PUSH BC
\ 00C4 D5 PUSH DE
\ 00C5 210000 LD HL,0
\ 00C8 E5 PUSH HL
\ 00C9 010600 LD BC,6
\ 00CC EB EX DE,HL
\ 00CD CD5F00 CALL LWRD ?0134
\ 00D0 F1 POP AF
\ 00D1 2C INC L
\ 00D2 2D DEC L
\ 00D3 2805 JR Z,?0013
93 if(SetDealCommamd(NULL,MUSICEDIT_CMD_COMFILE,NULL))
\ 00D5 ?0012:
94 {
95 return RESULT_MUSICEDIT;// return to musicedit ap
\ 00D5 210F00 LD HL,15
96 }
\ 00D8 1803 JR ?0014
\ 00DA ?0013:
97 return RESULT_IGNORE;
\ 00DA 213400 LD HL,52
98 }
\ 00DD ?0014:
\ 00DD D1 POP DE
\ 00DE C1 POP BC
\ 00DF C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 00E2 ui_stop_menu:
99
100 int ui_stop_menu( void )
101 {
\ 00E2 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 00E5 FCFF DEFW 65532
102 int result;
103 bool tmpflag = FALSE;
104 static char StopMenuactive=0; //保持选中菜单的序号
105
106 ClearScreen(NULL);
\ 00E7 110000 LD DE,0
\ 00EA CD0000 CALL LWRD ClearScreen
107
108 list.headid = STOPMENU;
\ 00ED 218B01 LD HL,395
\ 00F0 220600 LD (list+6),HL
109 if (DRV_DetectUD(1) == 0x20)
\ 00F3 5C LD E,H
\ 00F4 CDBD03 CALL LWRD ?0135
\ 00F7 200E JR NZ,?0017
\ 00F9 ?0016:
110 {
111 //有卡时的显示
112 list.total = sizeof(dir_string_card) / 2;
\ 00F9 210500 LD HL,5
\ 00FC 220200 LD (list+2),HL
113
114 list.strid = dir_string_card;
\ 00FF 213C00 LD HL,dir_string_card
\ 0102 220000 LD (list),HL
115 }
116 else
\ 0105 181E JR ?0020
\ 0107 ?0017:
117 {
118 //无卡时的显示
119 list.total = sizeof(dir_string) / 2;
\ 0107 210400 LD HL,4
\ 010A 220200 LD (list+2),HL
120 list.strid = dir_string;
\ 010D 214600 LD HL,dir_string
\ 0110 220000 LD (list),HL
121 if (StopMenuactive >= list.total)
\ 0113 ED4B0200 LD BC,(list+2)
\ 0117 2A0000 LD HL,(?0015)
\ 011A 2600 LD H,0
\ 011C CD0000 CALL LWRD ?SS_CMP_L02
\ 011F 3804 JR C,?0020
\ 0121 ?0019:
122 {
123 StopMenuactive--;
\ 0121 210000 LD HL,?0015
\ 0124 35 DEC (HL)
\ 0125 ?0020:
\ 0125 ?0018:
124 }
125 }
126 list.string_id = g_comval.langid;
\ 0125 3A0C00 LD A,(g_comval+12)
\ 0128 320800 LD (list+8),A
127 list.active = StopMenuactive;
\ 012B ED4B0000 LD BC,(?0015)
\ 012F 0600 LD B,0
\ 0131 ED430400 LD (list+4),BC
128
129 CLEAR_WATCHDOG();
\ 0135 DB4E IN A,(78)
\ 0137 CBDF SET 3,A
\ 0139 D34E OUT (78),A
130 result = ui_popup_list(&list, NULL);
\ 013B 48 LD C,B
\ 013C C5 PUSH BC
\ 013D C5 PUSH BC
\ 013E 110000 LD DE,list
\ 0141 3E00 LD A,BYTE3 ui_popup_list
\ 0143 210000 LD HL,LWRD ui_popup_list
\ 0146 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0149 F1 POP AF
\ 014A F1 POP AF
\ 014B DD75FC LD (IX-4),L
\ 014E DD74FD LD (IX-3),H
131 StopMenuactive = list.active;
\ 0151 3A0400 LD A,(list+4)
\ 0154 320000 LD (?0015),A
132
133 if (result != 0)
\ 0157 7D LD A,L
\ 0158 B4 OR H
\ 0159 C2A503 JP NZ,?0111
\ 015C ?0021:
134 {
135 return result;
136 }
\ 015C ?0022:
137
138 //如下加快其他项的退出速度
139
140 if (DRV_DetectUD(1) == 0x20)
\ 015C CDBB03 CALL LWRD ?0136
\ 015F 2048 JR NZ,?0024
\ 0161 ?0023:
141 {
142 // 有卡
143 // DRV_DetectUD() 之后必须加上DRV_ActiveUD(),
144 // 否则系统无法对卡进行读写操作.
145 if(g_music_vars.location.disk == 'H')
\ 0161 3A0700 LD A,(g_music_vars+7)
\ 0164 FE48 CP 72
\ 0166 0E01 LD C,1
\ 0168 2003 JR NZ,?0026
\ 016A ?0025:
146 DRV_ActiveUD(1, MODE_SLOW);
\ 016A 59 LD E,C
\ 016B 1801 JR ?0109
147 else
\ 016D ?0026:
148 DRV_ActiveUD(0, MODE_SLOW);
\ 016D 58 LD E,B
\ 016E ?0109:
\ 016E CD0000 CALL LWRD DRV_ActiveUD
\ 0171 ?0027:
149 switch (list.active)
\ 0171 ED5B0400 LD DE,(list+4)
\ 0175 CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 0178 0600 DEFW 6
\ 017A 0500 DEFW 5
\ 017C 0A00 DEFW 10
\ 017E 0B00 DEFW 11
\ 0180 0C00 DEFW 12
\ 0182 0D00 DEFW 13
\ 0184 0E00 DEFW 14
\ 0186 F701 DEFW ?0036
\ 0188 1602 DEFW ?0123
\ 018A A401 DEFW ?0033
\ 018C E501 DEFW ?0040
\ 018E DE01 DEFW ?0039
\ 0190 D701 DEFW ?0038
\ 0192 9401 DEFW ?0029
\ 0194 ?0029:
150 {
151 case 5://licens informations
152 ui_licensinf(g_comval.langid);
\ 0194 ED5B0C00 LD DE,(g_comval+12)
\ 0198 1600 LD D,0
\ 019A 3E00 LD A,BYTE3 ui_licensinf
\ 019C 210000 LD HL,LWRD ui_licensinf
\ 019F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
153 return RESULT_IGNORE;
\ 01A2 184F JR ?0119
154
155 case 10:
\ 01A4 ?0030:
156 result=UI_InsertSeg();
157 return result;
158 case 11:
\ 01A4 ?0031:
159 result=UI_InsertRec();
160 return result;
161 case 12:
\ 01A4 ?0032:
162 result=UI_SongComp();
163 return result;
164 case 13://delete all sel list
\ 01A4 ?0033:
165 UI_DeleteAllSelSegment(g_comval.langid);
\ 01A4 CDCD03 CALL LWRD ?0138
166 return RESULT_IGNORE;
\ 01A7 184C JR ?0042
167 case 14://exit
\ 01A9 ?0034:
168 return RESULT_IGNORE;
169 }
\ 01A9 ?0028:
170 }
171 else
\ 01A9 ?0024:
172 {
173 //无卡
174 switch (list.active)
\ 01A9 ED5B0400 LD DE,(list+4)
\ 01AD CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 01B0 0500 DEFW 5
\ 01B2 0900 DEFW 9
\ 01B4 F701 DEFW ?0036
\ 01B6 C801 DEFW ?0037
\ 01B8 F701 DEFW ?0036
\ 01BA F701 DEFW ?0036
\ 01BC F701 DEFW ?0036
\ 01BE D701 DEFW ?0038
\ 01C0 DE01 DEFW ?0039
\ 01C2 E501 DEFW ?0040
\ 01C4 F001 DEFW ?0041
\ 01C6 1602 DEFW ?0123
\ 01C8 ?0037:
175 {
176 case 5://licens informations
177 ui_licensinf(g_comval.langid);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -