📄 ui_stop.lst
字号:
\ 00A0 ?0016:
88 {
89 need_restore = FALSE;
\ 00A0 AF XOR A
\ 00A1 320100 LD (need_restore),A
90 output8(0x4e,input8(0x4e)|0x8);
\ 00A4 DB4E IN A,(78)
\ 00A6 CBDF SET 3,A
\ 00A8 D34E OUT (78),A
91 fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
\ 00AA 210600 LD HL,g_voice_vars+6
\ 00AD 4E LD C,(HL)
\ 00AE C5 PUSH BC
\ 00AF 0E00 LD C,0
\ 00B1 C5 PUSH BC
\ 00B2 CDE005 CALL LWRD ?0178
\ 00B5 F1 POP AF
\ 00B6 F1 POP AF
92 output8(0x4e,input8(0x4e)|0x8);
\ 00B7 DB4E IN A,(78)
\ 00B9 CBDF SET 3,A
\ 00BB D34E OUT (78),A
93 mc_result = fselGetNextFile(g_voice_vars.location.filename);
\ 00BD 112000 LD DE,g_voice_vars+32
\ 00C0 3E00 LD A,BYTE3 fselGetNextFile
\ 00C2 210000 LD HL,LWRD fselGetNextFile
\ 00C5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00C8 DD75F0 LD (IX-16),L
94 }
95 else
\ 00CB 180F JR ?0020
\ 00CD ?0017:
96 {
97 output8(0x4e,input8(0x4e)|0x8);
\ 00CD DB4E IN A,(78)
\ 00CF CBDF SET 3,A
\ 00D1 D34E OUT (78),A
98 if(g_voice_vars.location.filename[0] == 0)
\ 00D3 3A2000 LD A,(g_voice_vars+32)
\ 00D6 B7 OR A
\ 00D7 2003 JR NZ,?0020
\ 00D9 ?0019:
99 {
100 sel_next(TRUE);
\ 00D9 CDEC05 CALL LWRD ?0179
\ 00DC ?0020:
\ 00DC ?0018:
\ 00DC ?0015:
101 }
102 }
103 }
104
105 if(mc_result != 1)
\ 00DC DD46F0 LD B,(IX-16)
\ 00DF 05 DEC B
\ 00E0 2811 JR Z,?0024
\ 00E2 ?0021:
106 {
107
108 BYTE old_bank;
109 // old_bank=BankSwitch((unsigned long)FSELSetLocation >> 16);
110 if (UpdateFileSelector() == 0)
\ 00E2 3E00 LD A,BYTE3 UpdateFileSelector
\ 00E4 210000 LD HL,LWRD UpdateFileSelector
\ 00E7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00EA 7D LD A,L
\ 00EB B4 OR H
\ 00EC 2005 JR NZ,?0024
\ 00EE ?0023:
111 {
112 return 0;
\ 00EE 6F LD L,A
\ 00EF 67 LD H,A
113 }
\ 00F0 C37E05 JP LWRD ?0156
\ 00F3 ?0024:
\ 00F3 ?0022:
114 // BankSwitch(old_bank);
115 }
116 output8(0x4e,input8(0x4e)|0x8);
\ 00F3 DB4E IN A,(78)
\ 00F5 CBDF SET 3,A
\ 00F7 D34E OUT (78),A
117 fselGetLocation(&g_voice_vars.location);
\ 00F9 110600 LD DE,g_voice_vars+6
\ 00FC 3E00 LD A,BYTE3 fselGetLocation
\ 00FE 210000 LD HL,LWRD fselGetLocation
\ 0101 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
118 if(g_voice_vars.location.disk == 'H')
\ 0104 3A0600 LD A,(g_voice_vars+6)
\ 0107 FE48 CP 72
\ 0109 2004 JR NZ,?0026
\ 010B ?0025:
119 g_card_in_using = TRUE;
\ 010B 3E01 LD A,1
\ 010D 1801 JR ?0160
120 else
\ 010F ?0026:
121 g_card_in_using = FALSE;
\ 010F AF XOR A
\ 0110 ?0160:
\ 0110 320000 LD (g_card_in_using),A
\ 0113 ?0027:
122 need_sel_file = FALSE;
\ 0113 AF XOR A
\ 0114 320000 LD (need_sel_file),A
123 need_parse = TRUE;
\ 0117 DD36F201 LD (IX-14),1
\ 011B ?0011:
124 } //need_check_card
125
126 //parse the voice file info
127 if(need_parse)
\ 011B DDB6F2 OR (IX-14)
\ 011E CAF101 JP Z,?0029
\ 0121 ?0028:
128 {
129 WORD temp;
130 format_ok = parse_file();
\ 0121 3E00 LD A,BYTE3 parse_file
\ 0123 210000 LD HL,LWRD parse_file
\ 0126 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0129 DD75F4 LD (IX-12),L
131
132 if(g_voice_type == 1)
\ 012C 3A0000 LD A,(g_voice_type)
\ 012F 3D DEC A
\ 0130 2075 JR NZ,?0031
\ 0132 ?0030:
133 {
134 temp = 0;
135 temp = (g_play_format.bit_rate[2] - 48) * 100 + (g_play_format.bit_rate[1] - 48) * 10 + (g_play_format.bit_rate[0] - 48);
\ 0132 ED4B0400 LD BC,(g_play_format+4)
\ 0136 47 LD B,A
\ 0137 21D0FF LD HL,65488
\ 013A 09 ADD HL,BC
\ 013B 29 ADD HL,HL
\ 013C 4D LD C,L
\ 013D 44 LD B,H
\ 013E 29 ADD HL,HL
\ 013F 29 ADD HL,HL
\ 0140 09 ADD HL,BC
\ 0141 E5 PUSH HL
\ 0142 ED4B0300 LD BC,(g_play_format+3)
\ 0146 47 LD B,A
\ 0147 21D0FF LD HL,65488
\ 014A 09 ADD HL,BC
\ 014B 4D LD C,L
\ 014C 44 LD B,H
\ 014D E1 POP HL
\ 014E 09 ADD HL,BC
\ 014F E5 PUSH HL
\ 0150 ED4B0500 LD BC,(g_play_format+5)
\ 0154 47 LD B,A
\ 0155 21D0FF LD HL,65488
\ 0158 09 ADD HL,BC
\ 0159 4D LD C,L
\ 015A 44 LD B,H
\ 015B 116400 LD DE,100
\ 015E CD0000 CALL LWRD ?S_MUL_L02
\ 0161 E1 POP HL
\ 0162 19 ADD HL,DE
136 switch(temp)
\ 0163 4D LD C,L
\ 0164 44 LD B,H
\ 0165 3E20 LD A,32
\ 0167 A9 XOR C
\ 0168 B0 OR B
\ 0169 2832 JR Z,?0037
\ 016B ?0033:
137 {
138 case 32:
139 g_bit_rate_pic = RWAV32K;
140 g_bit_rate_value=32;
141 break;
\ 016B ?0034:
\ 016B 3E40 LD A,64
\ 016D A9 XOR C
\ 016E B0 OR B
\ 016F 200A JR NZ,?0035
142 case 64:
143 g_bit_rate_pic = RWAV32K;
\ 0171 21FA00 LD HL,250
\ 0174 220000 LD (g_bit_rate_pic),HL
144 g_bit_rate_value=64;
\ 0177 2E40 LD L,64
\ 0179 1834 JR ?0173
145 break;
\ 017B ?0035:
\ 017B 3EC0 LD A,192
\ 017D A9 XOR C
\ 017E B0 OR B
\ 017F 200A JR NZ,?0036
146 case 192:
147 g_bit_rate_pic = RWAV32K;
\ 0181 21FA00 LD HL,250
\ 0184 220000 LD (g_bit_rate_pic),HL
148 g_bit_rate_value=192;
\ 0187 2EC0 LD L,192
\ 0189 1824 JR ?0173
149 break;
\ 018B ?0036:
\ 018B 218001 LD HL,384
\ 018E ED42 SBC HL,BC
\ 0190 200B JR NZ,?0037
150 case 384:
151 g_bit_rate_pic = RWAV32K;
\ 0192 21FA00 LD HL,250
\ 0195 220000 LD (g_bit_rate_pic),HL
152 g_bit_rate_value=384;
\ 0198 218001 LD HL,384
\ 019B 1812 JR ?0173
153 break;
\ 019D ?0037:
154 default:
155 g_bit_rate_pic = RWAV32K;
\ 019D 21FA00 LD HL,250
\ 01A0 220000 LD (g_bit_rate_pic),HL
156 g_bit_rate_value=32;
\ 01A3 2E20 LD L,32
\ 01A5 1808 JR ?0173
\ 01A7 ?0032:
157 }
158 }
159
160 else
\ 01A7 ?0031:
161 {
162 g_bit_rate_pic = RACT8K;
\ 01A7 21EB00 LD HL,235
\ 01AA 220000 LD (g_bit_rate_pic),HL
163 g_bit_rate_value=8;
\ 01AD 2E08 LD L,8
\ 01AF ?0173:
\ 01AF 220000 LD (g_bit_rate_value),HL
\ 01B2 ?0038:
164 }
165
166 //check restore file ok
167 if(need_restore)
\ 01B2 3A0100 LD A,(need_restore)
\ 01B5 B7 OR A
\ 01B6 282D JR Z,?0042
\ 01B8 ?0039:
168 {
169 //如果断点时间>总时间, 就不要断点播放
170 if(time_cmp(&g_voice_vars.restore_time,
171 &g_play_status.total_time) > 0)
\ 01B8 010300 LD BC,g_play_status+3
\ 01BB 113500 LD DE,g_voice_vars+53
\ 01BE 3E00 LD A,BYTE3 time_cmp
\ 01C0 210000 LD HL,LWRD time_cmp
\ 01C3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C6 4D LD C,L
\ 01C7 44 LD B,H
\ 01C8 210000 LD HL,0
\ 01CB F680 OR 128
\ 01CD ED42 SBC HL,BC
\ 01CF E2D301 JP PO,?0158
\ 01D2 AC XOR H
\ 01D3 ?0158:
\ 01D3 F2E501 JP P,?0042
\ 01D6 ?0041:
172 {
173 g_voice_vars.resore_pointer = 0L;
\ 01D6 010000 LD BC,0
\ 01D9 ED433100 LD (g_voice_vars+49),BC
\ 01DD ED433300 LD (g_voice_vars+51),BC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -