📄 main.lst
字号:
\ 00AF 3E43 LD A,67
\ 00B1 322800 LD (g_amv_vars+5),A
101 if (!ActiveDriveOK)
\ 00B4 3ABB00 LD A,(ActiveDriveOK)
\ 00B7 B7 OR A
\ 00B8 2023 JR NZ,?0022
\ 00BA ?0017:
102 {
103 ResClose(g_Resfp_Sav);
\ 00BA 180F JR ?0029
104 return 0;
105 }
\ 00BC ?0018:
106 }
107 else
\ 00BC ?0013:
108 g_DiskStateFlag |= SetCardOKFlag_def;//标志Card 已格式化
\ 00BC CBDE SET 3,(HL)
\ 00BE ?0019:
109 }
110 else
\ 00BE 181D JR ?0022
\ 00C0 ?0011:
111 { //没卡
112 g_amv_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 00C0 3E43 LD A,67
\ 00C2 322800 LD (g_amv_vars+5),A
113 if (!ActiveDriveOK)
\ 00C5 3ABB00 LD A,(ActiveDriveOK)
\ 00C8 B7 OR A
\ 00C9 2012 JR NZ,?0022
\ 00CB ?0021:
114 {
115 ResClose(g_Resfp_Sav);
\ 00CB ?0029:
\ 00CB ED5BDA00 LD DE,(g_Resfp_Sav)
\ 00CF 3E00 LD A,BYTE3 ResClose
\ 00D1 210000 LD HL,LWRD ResClose
\ 00D4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
116 return 0;
\ 00D7 210000 LD HL,0
117 }
\ 00DA C3A101 JP LWRD ?0027
\ 00DD ?0022:
\ 00DD ?0020:
118 }
119
120
121 SetPenColor(Color_BLACK_def);
\ 00DD 010000 LD BC,0
\ 00E0 59 LD E,C
\ 00E1 50 LD D,B
\ 00E2 CD0000 CALL LWRD SetPenColor
122 SetBackgdColor(Color_MENU_def);
\ 00E5 010000 LD BC,0
\ 00E8 11FFFF LD DE,65535
\ 00EB CD0000 CALL LWRD SetBackgdColor
123
124 //show initializing...
125 ClearScreen(NULL);
\ 00EE 110000 LD DE,0
\ 00F1 CD0000 CALL LWRD ClearScreen
126 ResShowMultiString(WAITPASS, g_langid, 255, 58);
\ 00F4 0E3A LD C,58
\ 00F6 C5 PUSH BC
\ 00F7 0EFF LD C,255
\ 00F9 C5 PUSH BC
\ 00FA ED4B2000 LD BC,(g_langid)
\ 00FE 115802 LD DE,600
\ 0101 3E00 LD A,BYTE3 ResShowMultiString
\ 0103 210000 LD HL,LWRD ResShowMultiString
\ 0106 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0109 F1 POP AF
\ 010A F1 POP AF
127
128 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 010B DB4E IN A,(78)
\ 010D CBDF SET 3,A
\ 010F D34E OUT (78),A
129
130 g_musicsequence = 0x00;
\ 0111 AF XOR A
\ 0112 32D900 LD (g_musicsequence),A
131 g_musicamount = 0x00;
\ 0115 32D800 LD (g_musicamount),A
132
133
134 //把控件的常驻BANK切入
135 BankSwitch((unsigned long)ui_show_a >> 16);
\ 0118 47 LD B,A
\ 0119 1E00 LD E,BYTE3 ui_show_a
\ 011B CD0000 CALL LWRD BankSwitch
136 //set amv module and codec bank as real bank
137 BankSwitch((unsigned long)AmvDecSetCMD >> 16);
\ 011E 1E00 LD E,BYTE3 AmvDecSetCMD
\ 0120 CD0000 CALL LWRD BankSwitch
138 if (!FSELInit(FSEL_TYPE_AMV, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_amv_vars.location.disk))
\ 0123 212800 LD HL,g_amv_vars+5
\ 0126 4E LD C,(HL)
\ 0127 C5 PUSH BC
\ 0128 48 LD C,B
\ 0129 C5 PUSH BC
\ 012A 0E04 LD C,4
\ 012C 1E05 LD E,5
\ 012E 3E00 LD A,BYTE3 fselInit
\ 0130 210000 LD HL,LWRD fselInit
\ 0133 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0136 F1 POP AF
\ 0137 F1 POP AF
\ 0138 2C INC L
\ 0139 2D DEC L
\ 013A 200C JR NZ,?0024
\ 013C ?0023:
139 return DealErrCase();
\ 013C 3E00 LD A,BYTE3 DealErrCase
\ 013E 210000 LD HL,LWRD DealErrCase
\ 0141 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0144 2600 LD H,0
\ 0146 1859 JR ?0027
\ 0148 ?0024:
140 status=input8(0x05); //读05寄存器
\ 0148 DB05 IN A,(5)
\ 014A 210000 LD HL,0
\ 014D 39 ADD HL,SP
\ 014E 77 LD (HL),A
141 openDAC();
\ 014F 3E00 LD A,BYTE3 openDAC
\ 0151 210000 LD HL,LWRD openDAC
\ 0154 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
142
143 //由于特殊情况,这个开PA的动作放在开始播放时做
144 //openPA();
145 mainresult = InitFileSelector();
\ 0157 3E00 LD A,BYTE3 InitFileSelector
\ 0159 210000 LD HL,LWRD InitFileSelector
\ 015C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 015F E5 PUSH HL
\ 0160 DDE1 POP IX
146 if(mainresult!=0)
\ 0162 7D LD A,L
\ 0163 B4 OR H
\ 0164 280B JR Z,?0026
\ 0166 ?0025:
147 {
148 mainresult = ui_stop();// =============> 进入界面
\ 0166 3E00 LD A,BYTE3 ui_stop
\ 0168 210000 LD HL,LWRD ui_stop
\ 016B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 016E E5 PUSH HL
\ 016F DDE1 POP IX
\ 0171 ?0026:
149 }
150 /*
151 if(g_comval.KeyTone) //key tone add by mzh 2007.3.14
152 {
153 DisablePA();
154 DisableDAC();
155 }
156 */
157 { //Jerry Xie Modify for test
158 DisablePA();
\ 0171 CD0000 CALL LWRD DisablePA
159 DisableDAC();
\ 0174 CD0000 CALL LWRD DisableDAC
160 }
161
162 ResClose(g_Resfp_Sav);
\ 0177 ED5BDA00 LD DE,(g_Resfp_Sav)
\ 017B 3E00 LD A,BYTE3 ResClose
\ 017D 210000 LD HL,LWRD ResClose
\ 0180 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
163 output8(0x5,status); // 恢复 05 regsiter 解决播放后进U盘提示格式化的问题 zxs add
\ 0183 210000 LD HL,0
\ 0186 39 ADD HL,SP
\ 0187 7E LD A,(HL)
\ 0188 D305 OUT (5),A
164 //记录
165 fselGetLocation(& g_amv_vars.location);
\ 018A 112800 LD DE,g_amv_vars+5
\ 018D 3E00 LD A,BYTE3 fselGetLocation
\ 018F 210000 LD HL,LWRD fselGetLocation
\ 0192 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
166 result = VMWrite(&g_amv_vars, VM_AP_AMV);
\ 0195 010048 LD BC,18432
\ 0198 112300 LD DE,g_amv_vars
\ 019B CD0000 CALL LWRD VMWrite
167 return mainresult;
\ 019E DDE5 PUSH IX
\ 01A0 E1 POP HL
168 }
\ 01A1 ?0027:
\ 01A1 F1 POP AF
\ 01A2 F1 POP AF
\ 01A3 F1 POP AF
\ 01A4 DDE1 POP IX
\ 01A6 C1 POP BC
\ 01A7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0004:
\ 0000 75693330 DEFB 'ui30.res'
\ 0004 2E726573
\ 0008 00 DEFB 0
\ 0000 RSEG UDATA0
\ 0000 g_comval:
\ 0020 DEFS 32
\ 0020 g_langid:
\ 0021 DEFS 1
\ 0021 g_BatteryType:
\ 0022 DEFS 1
\ 0022 g_menu_active:
\ 0023 DEFS 1
\ 0023 g_amv_vars:
\ 005B DEFS 56
\ 005B g_TagInfoBuf:
\ 009D DEFS 66
\ 009D g_TagInfoBuf1:
\ 00B2 DEFS 21
\ 00B2 temp_buffer:
\ 00BB DEFS 9
\ 00BB ActiveDriveOK:
\ 00BC DEFS 1
\ 00BC Totaltime:
\ 00BF DEFS 3
\ 00BF g_introCNT:
\ 00C0 DEFS 1
\ 00C0 g_introCntMode:
\ 00C1 DEFS 1
\ 00C1 need_draw:
\ 00C2 DEFS 1
\ 00C2 menu:
\ 00CC DEFS 10
\ 00CC slider:
\ 00D7 DEFS 11
\ 00D7 g_currentMusicType:
\ 00D8 DEFS 1
\ 00D8 g_musicamount:
\ 00D9 DEFS 1
\ 00D9 g_musicsequence:
\ 00DA DEFS 1
\ 00DA g_Resfp_Sav:
\ 00DC DEFS 2
\ 00DC g_2HZ_CNT:
\ 00DE DEFS 2
\ 00DE g_result:
\ 00E0 DEFS 2
\ 00E0 Total_time:
\ 00E2 DEFS 2
\ 00E2 Current_time:
\ 00E4 DEFS 2
\ 0000 RSEG IDATA0
\ 0000 g_DiskStateFlag:
\ 0001 DEFS 1
\ 0001 PlayStatus:
\ 0002 DEFS 1
\ 0002 g_2HZFlag:
\ 0003 DEFS 1
\ 0003 g_FadeInStatusFlag:
\ 0004 DEFS 1
\ 0004 g_FadeInStepFlag:
\ 0005 DEFS 1
\ 0005 g_PAOpenFlag:
\ 0006 DEFS 1
\ 0006 g_changevolume:
\ 0007 DEFS 1
\ 0007 g_from_browser:
\ 0008 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 00 DEFB 0
\ 0001 00 DEFB 0
\ 0002 01 DEFB 1
\ 0003 01 DEFB 1
\ 0004 01 DEFB 1
\ 0005 00 DEFB 0
\ 0006 00 DEFB 0
\ 0007 00 DEFB 0
\ 0008 END
Errors: none
Warnings: none
Code size: 426
Constant size: 17
Static variable size: Data(236) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -