📄 main.lst
字号:
102 }
\ 00B3 ?0016:
103 }
104 else
\ 00B3 ?0011:
105 g_DiskStateFlag |= SetCardOKFlag_def;//标志Card 已格式化
\ 00B3 CBDE SET 3,(HL)
\ 00B5 ?0017:
106 }
107 else
\ 00B5 181D JR ?0020
\ 00B7 ?0009:
108 { //没卡
109 g_amv_vars.location.disk='C'; //卡出错从Flash磁盘读文件
\ 00B7 3E43 LD A,67
\ 00B9 322800 LD (g_amv_vars+5),A
110 if (!ActiveDriveOK)
\ 00BC 3AB900 LD A,(ActiveDriveOK)
\ 00BF B7 OR A
\ 00C0 2012 JR NZ,?0020
\ 00C2 ?0019:
111 {
112 ResClose(g_Resfp_Sav);
\ 00C2 ?0027:
\ 00C2 ED5BD800 LD DE,(g_Resfp_Sav)
\ 00C6 3E00 LD A,BYTE3 ResClose
\ 00C8 210000 LD HL,LWRD ResClose
\ 00CB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
113 return 0;
\ 00CE 210000 LD HL,0
114 }
\ 00D1 C3B501 JP LWRD ?0025
\ 00D4 ?0020:
\ 00D4 ?0018:
115 }
116
117
118 SetPenColor(Color_WHITE_def);
\ 00D4 010000 LD BC,0
\ 00D7 11FFFF LD DE,65535
\ 00DA CD0000 CALL LWRD SetPenColor
119 SetBackgdColor(Color_BLACK_def);
\ 00DD 010000 LD BC,0
\ 00E0 59 LD E,C
\ 00E1 50 LD D,B
\ 00E2 CD0000 CALL LWRD SetBackgdColor
120
121 //show initializing...
122 ClearScreen(NULL);
\ 00E5 110000 LD DE,0
\ 00E8 CD0000 CALL LWRD ClearScreen
123 ResShowMultiString(WAITPASS, g_langid, 255, 80);
\ 00EB 0E50 LD C,80
\ 00ED C5 PUSH BC
\ 00EE 0EFF LD C,255
\ 00F0 C5 PUSH BC
\ 00F1 ED4B2000 LD BC,(g_langid)
\ 00F5 11B501 LD DE,437
\ 00F8 3E00 LD A,BYTE3 ResShowMultiString
\ 00FA 210000 LD HL,LWRD ResShowMultiString
\ 00FD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0100 F1 POP AF
\ 0101 F1 POP AF
124
125 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 0102 DB4E IN A,(78)
\ 0104 CBDF SET 3,A
\ 0106 D34E OUT (78),A
126
127 g_musicsequence = 0x00;
\ 0108 AF XOR A
\ 0109 32D700 LD (g_musicsequence),A
128 g_musicamount = 0x00;
\ 010C 32D600 LD (g_musicamount),A
129
130
131 //把控件的常驻BANK切入
132 BankSwitch((unsigned long)ui_show_a >> 16);
\ 010F 47 LD B,A
\ 0110 1E00 LD E,BYTE3 ui_show_a
\ 0112 CD0000 CALL LWRD BankSwitch
133 //set amv module and codec bank as real bank
134 BankSwitch((unsigned long)AmvDecSetCMD >> 16);
\ 0115 1E00 LD E,BYTE3 AmvDecSetCMD
\ 0117 CD0000 CALL LWRD BankSwitch
135 if (!FSELInit(FSEL_TYPE_AMV, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_amv_vars.location.disk))
\ 011A 212800 LD HL,g_amv_vars+5
\ 011D 4E LD C,(HL)
\ 011E C5 PUSH BC
\ 011F 48 LD C,B
\ 0120 C5 PUSH BC
\ 0121 0E04 LD C,4
\ 0123 1E05 LD E,5
\ 0125 3E00 LD A,BYTE3 fselInit
\ 0127 210000 LD HL,LWRD fselInit
\ 012A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 012D F1 POP AF
\ 012E F1 POP AF
\ 012F 2C INC L
\ 0130 2D DEC L
\ 0131 200C JR NZ,?0022
\ 0133 ?0021:
136 return DealErrCase();
\ 0133 3E00 LD A,BYTE3 DealErrCase
\ 0135 210000 LD HL,LWRD DealErrCase
\ 0138 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 013B 2600 LD H,0
\ 013D 1876 JR ?0025
\ 013F ?0022:
137 status=input8(0x05); //读05寄存器
\ 013F DB05 IN A,(5)
\ 0141 210000 LD HL,0
\ 0144 39 ADD HL,SP
\ 0145 77 LD (HL),A
138 openDAC();
\ 0146 3E00 LD A,BYTE3 openDAC
\ 0148 210000 LD HL,LWRD openDAC
\ 014B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
139
140 //由于特殊情况,这个开PA的动作放在开始播放时做
141 //openPA();
142 mainresult = InitFileSelector();
\ 014E 3E00 LD A,BYTE3 InitFileSelector
\ 0150 210000 LD HL,LWRD InitFileSelector
\ 0153 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0156 E5 PUSH HL
\ 0157 DDE1 POP IX
143 if(mainresult!=0)
\ 0159 7D LD A,L
\ 015A B4 OR H
\ 015B 280B JR Z,?0024
\ 015D ?0023:
144 {
145 mainresult = ui_stop();// =============> 进入界面
\ 015D 3E00 LD A,BYTE3 ui_stop
\ 015F 210000 LD HL,LWRD ui_stop
\ 0162 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0165 E5 PUSH HL
\ 0166 DDE1 POP IX
\ 0168 ?0024:
146 }
147
148 ap_sleep(1);
\ 0168 110100 LD DE,1
\ 016B 3E00 LD A,BYTE3 ap_sleep
\ 016D 210000 LD HL,LWRD ap_sleep
\ 0170 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
149 DisablePA();
\ 0173 CD0000 CALL LWRD DisablePA
150 DisableDAC();
\ 0176 CD0000 CALL LWRD DisableDAC
151
152 ResClose(g_Resfp_Sav);
\ 0179 ED5BD800 LD DE,(g_Resfp_Sav)
\ 017D 3E00 LD A,BYTE3 ResClose
\ 017F 210000 LD HL,LWRD ResClose
\ 0182 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
153 output8(0x5,status); // 恢复 05 regsiter 解决播放后进U盘提示格式化的问题 zxs add
\ 0185 210000 LD HL,0
\ 0188 39 ADD HL,SP
\ 0189 7E LD A,(HL)
\ 018A D305 OUT (5),A
154 //记录
155 fselGetLocation(& g_amv_vars.location);
\ 018C 112800 LD DE,g_amv_vars+5
\ 018F 3E00 LD A,BYTE3 fselGetLocation
\ 0191 210000 LD HL,LWRD fselGetLocation
\ 0194 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
156 result = VMWrite(&g_amv_vars, VM_AP_AMV);
\ 0197 010048 LD BC,18432
\ 019A 112300 LD DE,g_amv_vars
\ 019D CD0000 CALL LWRD VMWrite
157
158
159 //////////////////////////// zxs add for card
160 output8(0x2f,input8(0x2f)|0x04); //CE3 change to GIOA3
\ 01A0 DB2F IN A,(47)
\ 01A2 CBD7 SET 2,A
\ 01A4 D32F OUT (47),A
161 output8(0xee,input8(0xee)&0xf7);
\ 01A6 DBEE IN A,(238)
\ 01A8 CB9F RES 3,A
\ 01AA D3EE OUT (238),A
162 output8(0xf7,input8(0xf7)|0x01); // PowerOff
\ 01AC DBF7 IN A,(247)
\ 01AE CBC7 SET 0,A
\ 01B0 D3F7 OUT (247),A
163 //////////////////////////// zxs add for card
164 return mainresult;
\ 01B2 DDE5 PUSH IX
\ 01B4 E1 POP HL
165 }
\ 01B5 ?0025:
\ 01B5 F1 POP AF
\ 01B6 F1 POP AF
\ 01B7 DDE1 POP IX
\ 01B9 D1 POP DE
\ 01BA C1 POP BC
\ 01BB C30000 JP LWRD ?BANK_FAST_LEAVE_L08
166
\ 0000 RSEG CSTR
\ 0000 ?0002:
\ 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:
\ 0059 DEFS 54
\ 0059 g_TagInfoBuf:
\ 009B DEFS 66
\ 009B g_TagInfoBuf1:
\ 00B0 DEFS 21
\ 00B0 temp_buffer:
\ 00B9 DEFS 9
\ 00B9 ActiveDriveOK:
\ 00BA DEFS 1
\ 00BA Totaltime:
\ 00BD DEFS 3
\ 00BD g_introCNT:
\ 00BE DEFS 1
\ 00BE g_introCntMode:
\ 00BF DEFS 1
\ 00BF need_draw:
\ 00C0 DEFS 1
\ 00C0 menu:
\ 00CA DEFS 10
\ 00CA slider:
\ 00D5 DEFS 11
\ 00D5 g_currentMusicType:
\ 00D6 DEFS 1
\ 00D6 g_musicamount:
\ 00D7 DEFS 1
\ 00D7 g_musicsequence:
\ 00D8 DEFS 1
\ 00D8 g_Resfp_Sav:
\ 00DA DEFS 2
\ 00DA g_2HZ_CNT:
\ 00DC DEFS 2
\ 00DC g_result:
\ 00DE DEFS 2
\ 00DE Total_time:
\ 00E0 DEFS 2
\ 00E0 Current_time:
\ 00E2 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
\ 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 END
Errors: none
Warnings: none
Code size: 446
Constant size: 16
Static variable size: Data(233) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -