📄 ui_play.lst
字号:
95 case AP_KEY_NEXT | AP_KEY_LONG:
96 if(PlayStatus==PlaySta)
\ 00D5 3A0000 LD A,(PlayStatus)
\ 00D8 3D DEC A
\ 00D9 3D DEC A
\ 00DA C29501 JP NZ,?0056
\ 00DD ?0026:
97 {
98 AmvDecSetCMD(MC_STEP,4);
\ 00DD 010400 LD BC,4
\ 00E0 1E07 LD E,7
\ 00E2 CD8F02 CALL LWRD ?0130
99 PlayStatus=FFPlaySta;
\ 00E5 3E03 LD A,3
\ 00E7 C36D01 JP LWRD ?0122
\ 00EA ?0027:
100 }
101 break;
\ 00EA ?0028:
102 case AP_KEY_PREV | AP_KEY_LONG:
103 if(PlayStatus==PlaySta)
\ 00EA 3A0000 LD A,(PlayStatus)
\ 00ED 3D DEC A
\ 00EE 3D DEC A
\ 00EF C29501 JP NZ,?0056
\ 00F2 ?0029:
104 {
105 AmvDecSetCMD(MC_STEP,-4);
\ 00F2 01FCFF LD BC,65532
\ 00F5 1E07 LD E,7
\ 00F7 CD8F02 CALL LWRD ?0130
106 PlayStatus=FBPlaySta;
\ 00FA 3E04 LD A,4
\ 00FC 186F JR ?0122
\ 00FE ?0030:
107 }
108 break;
\ 00FE ?0031:
109 case AP_KEY_PREV|AP_KEY_UP:
110 if(PlayStatus==FBPlaySta)
\ 00FE 3A0000 LD A,(PlayStatus)
\ 0101 FE04 CP 4
\ 0103 2817 JR Z,?0124
\ 0105 ?0032:
111 {
112 PlayStatus=PlaySta;
113 AmvDecSetCMD(MC_PLAY,0);
\ 0105 ?0033:
114 }
115 else if(PlayStatus==PlaySta)
\ 0105 3D DEC A
\ 0106 3D DEC A
\ 0107 C29501 JP NZ,?0056
\ 010A ?0035:
116 {
117 PlayStatus=PrevPlaySta;
\ 010A 3E06 LD A,6
\ 010C 320000 LD (PlayStatus),A
118 AmvDecSetCMD(MC_STOP,0);
\ 010F 010000 LD BC,0
\ 0112 5F LD E,A
\ 0113 1821 JR ?0115
\ 0115 ?0036:
\ 0115 ?0034:
119 }
120
121 break;
\ 0115 ?0037:
122 case AP_KEY_NEXT|AP_KEY_UP:
123 if(PlayStatus==FFPlaySta)
\ 0115 3A0000 LD A,(PlayStatus)
\ 0118 FE03 CP 3
\ 011A 200C JR NZ,?0039
\ 011C ?0038:
124 {
125 PlayStatus=PlaySta;
\ 011C ?0124:
\ 011C 3E02 LD A,2
\ 011E 320000 LD (PlayStatus),A
126 AmvDecSetCMD(MC_PLAY,0);
\ 0121 010000 LD BC,0
\ 0124 1E04 LD E,4
\ 0126 180E JR ?0115
\ 0128 ?0039:
127 }
128 else if(PlayStatus==PlaySta)
\ 0128 3D DEC A
\ 0129 3D DEC A
\ 012A 2069 JR NZ,?0056
\ 012C ?0041:
129 {
130 PlayStatus=NextPlaySta;
\ 012C 3E05 LD A,5
\ 012E 320000 LD (PlayStatus),A
131 AmvDecSetCMD(MC_STOP,0);
\ 0131 010000 LD BC,0
\ 0134 1E06 LD E,6
\ 0136 ?0115:
\ 0136 CD8F02 CALL LWRD ?0130
\ 0139 ?0042:
\ 0139 ?0040:
132 }
133
134 break;
\ 0139 185A JR ?0056
\ 013B ?0043:
135 case AP_KEY_PLAY | AP_KEY_UP:
136 AmvDecSetCMD(MC_STOP,0);
\ 013B CD8A02 CALL LWRD ?0131
137 PlayStatus=StopSta;
\ 013E AF XOR A
\ 013F 320000 LD (PlayStatus),A
138 g_result=0;
\ 0142 6F LD L,A
\ 0143 67 LD H,A
\ 0144 220000 LD (g_result),HL
139 break;
\ 0147 184C JR ?0056
\ 0149 ?0044:
140 case AP_MSG_RTC:
141 if(g_comval.EarProtect_flag)
\ 0149 3A1800 LD A,(g_comval+24)
\ 014C B7 OR A
\ 014D 2807 JR Z,?0046
\ 014F ?0045:
142 {
143 g_amv_vars.volume = input8(0x87)&0x1f;
\ 014F DB87 IN A,(135)
\ 0151 E61F AND 31
\ 0153 320200 LD (g_amv_vars+2),A
\ 0156 ?0046:
144 }
145 if(g_amv_vars.repeat_mode==Intro)
\ 0156 3A0300 LD A,(g_amv_vars+3)
\ 0159 FE06 CP 6
\ 015B 2038 JR NZ,?0056
\ 015D ?0047:
146 {
147 g_introCNT++;
\ 015D 210000 LD HL,g_introCNT
\ 0160 34 INC (HL)
148 if(g_introCNT>=20)
\ 0161 3A0000 LD A,(g_introCNT)
\ 0164 FE14 CP 20
\ 0166 382D JR C,?0056
\ 0168 ?0049:
149 {
150 AmvDecSetCMD(MC_STOP,0);
\ 0168 CD8A02 CALL LWRD ?0131
151 PlayStatus=NextPlaySta;
\ 016B 3E05 LD A,5
\ 016D ?0122:
\ 016D 320000 LD (PlayStatus),A
\ 0170 ?0050:
\ 0170 ?0048:
152 }
153 }
154 break;
\ 0170 1823 JR ?0056
\ 0172 ?0051:
155 default:
156 key = ap_handle_hotkey( key);
\ 0172 CD0000 CALL LWRD ap_handle_hotkey
\ 0175 210000 LD HL,0
\ 0178 39 ADD HL,SP
\ 0179 77 LD (HL),A
157 if(key == RESULT_REDRAW) ; // 不响应锁键
\ 017A FE32 CP 50
\ 017C 2817 JR Z,?0056
\ 017E ?0052:
\ 017E ?0053:
158 else if(key != 0)
\ 017E AF XOR A
\ 017F B6 OR (HL)
\ 0180 2813 JR Z,?0056
\ 0182 ?0055:
159 {
160 PlayStatus=HotkeyPlaysta;
\ 0182 3E07 LD A,7
\ 0184 320000 LD (PlayStatus),A
161 AmvDecSetCMD(MC_STOP,0);
\ 0187 CD8A02 CALL LWRD ?0131
162 g_result=key;
\ 018A 210000 LD HL,0
\ 018D 39 ADD HL,SP
\ 018E 4E LD C,(HL)
\ 018F 0600 LD B,0
\ 0191 ED430000 LD (g_result),BC
\ 0195 ?0056:
\ 0195 ?0054:
\ 0195 ?0017:
163 }
164 }
165 output8(0x27,input8(0x27)&0xdf); //关RTC中断
\ 0195 DB27 IN A,(39)
\ 0197 CBAF RES 5,A
\ 0199 D327 OUT (39),A
166 tmp=AmvDecModPolling();
\ 019B 3E00 LD A,BYTE3 AmvDecModPolling
\ 019D 210000 LD HL,LWRD AmvDecModPolling
\ 01A0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01A3 E5 PUSH HL
\ 01A4 210500 LD HL,5
\ 01A7 39 ADD HL,SP
\ 01A8 C1 POP BC
\ 01A9 71 LD (HL),C
167 output8(0x27,input8(0x27)|0x20); //关RTC中断
\ 01AA DB27 IN A,(39)
\ 01AC CBEF SET 5,A
\ 01AE D327 OUT (39),A
168 if(tmp==2)
\ 01B0 41 LD B,C
\ 01B1 05 DEC B
\ 01B2 05 DEC B
\ 01B3 2064 JR NZ,?0058
\ 01B5 ?0057:
169 {
170 int i;
171 for(i=0;i<1000;i++); //等待检测卡的状态 zxs modify 2006.02.17
\ 01B5 DD210000 LD IX,0
\ 01B9 ?0060:
\ 01B9 01E883 LD BC,33768
\ 01BC DDE5 PUSH IX
\ 01BE E1 POP HL
\ 01BF 3E80 LD A,128
\ 01C1 AC XOR H
\ 01C2 67 LD H,A
\ 01C3 ED42 SBC HL,BC
\ 01C5 3004 JR NC,?0059
\ 01C7 ?0061:
\ 01C7 DD23 INC IX
\ 01C9 18EE JR ?0060
\ 01CB ?0059:
172 //output8(0x27,input8(0x27)|0x40);
173 output8(0x4e,input8(0x4e)|0x08);
\ 01CB DB4E IN A,(78)
\ 01CD CBDF SET 3,A
\ 01CF D34E OUT (78),A
174 if ( (g_amv_vars.location.disk == 'H')
175 &&(DRV_DetectUD(1)!= 0x20))
\ 01D1 3A0500 LD A,(g_amv_vars+5)
\ 01D4 FE48 CP 72
\ 01D6 2021 JR NZ,?0064
\ 01D8 1E01 LD E,1
\ 01DA CD0000 CALL LWRD DRV_DetectUD
\ 01DD FE20 CP 32
\ 01DF 2818 JR Z,?0064
\ 01E1 ?0066:
\ 01E1 ?0065:
\ 01E1 ?0063:
176 {
177 AmvDecSetCMD(MC_STOP,0);
\ 01E1 CD8A02 CALL LWRD ?0131
178 FS_FClose(fp);
\ 01E4 ED5B0000 LD DE,(fp)
\ 01E8 CD0000 CALL LWRD FS_FClose
179 g_amv_vars.location.disk = 'C';
\ 01EB 3E43 LD A,67
\ 01ED 320500 LD (g_amv_vars+5),A
180 //DisplayErrMsg(CARDPULL);//显示卡拔出
181 DisablePA();
\ 01F0 CD0000 CALL LWRD DisablePA
182 return RESULT_UI_STOP2;
\ 01F3 216700 LD HL,103
183 }
\ 01F6 C37F02 JP LWRD ?0080
\ 01F9 ?0064:
184
185 FS_FClose(fp);
\ 01F9 ED5B0000 LD DE,(fp)
\ 01FD CD0000 CALL LWRD FS_FClose
186 output8(0x27,input8(0x27)&0xfe); //关Dsp中断 防止花屏 zxs add
\ 0200 DB27 IN A,(39)
\ 0202 CB87 RES 0,A
\ 0204 D327 OUT (39),A
187 DisablePA();
\ 0206 CD0000 CALL LWRD DisablePA
188 DisplayErrMsg(MFMTERR);//显示格式错
\ 0209 111A02 LD DE,538
\ 020C 3E00 LD A,BYTE3 DisplayErrMsg
\ 020E 210000 LD HL,LWRD DisplayErrMsg
\ 0211 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
189 return NULL;
\ 0214 210000 LD HL,0
190 }
\ 0217 1866 JR ?0080
\ 0219 ?0058:
191 else if(tmp==-1)
\ 0219 46 LD B,(HL)
\ 021A 04 INC B
\ 021B C22400 JP NZ,?0003
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -