📄 main.s01
字号:
ADD A,224
JR ?0033
?0032:
LD A,(HL)
?0033:
LD (HL),A
; 129. ext[1] = (ext[1]>='a' && ext[1]<='z') ? ext[1] - 'a' + 'A' : ext[1];
INC HL
LD A,(HL)
CP 97
JR C,?0038
LD A,122
CP (HL)
JR C,?0038
LD A,(HL)
ADD A,224
JR ?0039
?0038:
LD A,(HL)
?0039:
LD (HL),A
; 130. ext[2] = (ext[2]>='a' && ext[2]<='z') ? ext[2] - 'a' + 'A' : ext[2];
INC HL
LD A,(HL)
CP 97
JR C,?0044
LD A,122
CP (HL)
JR C,?0044
LD A,(HL)
ADD A,224
JR ?0045
?0044:
LD A,(HL)
?0045:
LD (HL),A
; 131. ext[3] = 0;
INC HL
LD (HL),B
; 132.
; 133. if (strcmp(ext, Extstr[0]) == 0)
DEC HL
DEC HL
DEC HL
EX DE,HL
LD HL,4
ADD HL,SP
CALL LWRD ?0099
JR NZ,?0048
?0047:
; 134. {
; 135. return RESULT_MUSIC_PLAY;
JP LWRD ?0095
; 136. }
JP LWRD ?0073
?0048:
; 137. else if (strcmp(ext, Extstr[1]) == 0)
LD L,C
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,4
CALL LWRD ?0100
JR NZ,?0050
?0049:
; 138. {
; 139. return RESULT_MUSIC_PLAY;
JP LWRD ?0095
; 140. }
JP LWRD ?0073
?0050:
; 141. else if (strcmp(ext, Extstr[2]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD L,C
LD H,B
ADD HL,SP
LD C,8
CALL LWRD ?0100
JR NZ,?0052
?0051:
; 142. {
; 143. return RESULT_MUSIC_PLAY;
JP LWRD ?0095
; 144. }
JP LWRD ?0073
?0052:
; 145. else if (strcmp(ext, Extstr[3]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,12
CALL LWRD ?0100
JR NZ,?0054
?0053:
; 146. {
; 147. return RESULT_MUSIC_PLAY;
JP LWRD ?0095
; 148. }
JP LWRD ?0073
?0054:
; 149. else if (strcmp(ext, Extstr[4]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,16
CALL LWRD ?0100
JR NZ,?0056
?0055:
; 150. {
; 151. return RESULT_MUSIC_PLAY;
JP LWRD ?0095
; 152. }
JP LWRD ?0073
?0056:
; 153. else if (strcmp(ext, Extstr[5]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,20
CALL LWRD ?0100
JR NZ,?0058
?0057:
; 154. {
; 155. return RESULT_VOICE_PLAY;
JR ?0096
; 156. }
JP LWRD ?0073
?0058:
; 157. else if (strcmp(ext, Extstr[6]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,24
CALL LWRD ?0100
JR NZ,?0060
?0059:
; 158. {
; 159. return RESULT_VOICE_PLAY;
?0096:
LD L,31
; 160. }
JR ?0073
?0060:
; 161. else if (strcmp(ext, Extstr[7]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,28
CALL LWRD ?0100
JR NZ,?0062
?0061:
; 162. {
; 163. return RESULT_MOVIE_PLAY;
LD L,32
; 164. }
JR ?0073
?0062:
; 165. else if (strcmp(ext, Extstr[8]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,32
CALL LWRD ?0100
JR NZ,?0064
?0063:
; 166. {
; 167. return RESULT_READER_PLAY;
LD L,33
; 168. }
JR ?0073
?0064:
; 169. else if (strcmp(ext, Extstr[9]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,36
CALL LWRD ?0100
JR NZ,?0066
?0065:
; 170. {
; 171. return RESULT_VIEW_PLAY;
JR ?0098
; 172. }
JR ?0073
?0066:
; 173. else if (strcmp(ext, Extstr[10]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,40
CALL LWRD ?0100
JR NZ,?0068
?0067:
; 174. {
; 175. return RESULT_VIEW_PLAY;
JR ?0098
; 176. }
JR ?0073
?0068:
; 177. else if (strcmp(ext, Extstr[11]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,44
CALL LWRD ?0100
JR NZ,?0070
?0069:
; 178. {
; 179. return RESULT_VIEW_PLAY;
?0098:
LD L,34
; 180. }
JR ?0073
?0070:
; 181. else if (strcmp(ext, Extstr[12]) == 0)
LD L,B
LD H,B
ADD HL,SP
EX DE,HL
LD HL,4
ADD HL,SP
LD C,48
CALL LWRD ?0100
JR NZ,?0072
?0071:
; 182. {
; 183. return RESULT_MUSIC_PLAY;
?0095:
LD L,30
; 184. }
JR ?0073
?0072:
; 185. else
; 186. {
; 187. return RESULT_MAIN;
LD L,10
; 188. }
?0073:
EX DE,HL
LD HL,56
ADD HL,SP
LD SP,HL
EX DE,HL
POP IX
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
?0100:
ADD HL,BC
?0099:
CALL LWRD ?STRCMP_L11
LD A,L
OR H
RET
; 189. }
read_var:
; 190.
; 191. void read_var( void )
; 192. {
PUSH BC
PUSH DE
PUSH IX
; 193. int result;
; 194. //read comval
; 195. result = VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
LD HL,32
PUSH HL
LD BC,512
LD DE,g_comval
CALL LWRD VMRead
POP HL
; 196. ASSERT(result);
; 197.
; 198. //check if valid
; 199. if (g_comval.magic != MAGIC_COMVAL)
LD HL,57005
LD BC,(g_comval)
AND A
SBC HL,BC
JR Z,?0075
?0074:
; 200. {
; 201. GetDefaultComval(&g_comval);
LD DE,g_comval
CALL LWRD GetDefaultComval
?0075:
; 202. }
; 203.
; 204. g_langid = g_comval.langid;//记录系统语言
LD A,(g_comval+12)
LD (g_langid),A
; 205. ap_message_init(& g_comval);
LD DE,g_comval
LD A,BYTE3 ap_message_init
LD HL,LWRD ap_message_init
CALL LWRD ?BANK_CALL_DIRECT_L08
; 206.
; 207. //read ap vars
; 208. result = VMRead(& g_browser_vars, VM_AP_BROWSER, sizeof(g_browser_vars));
LD HL,45
PUSH HL
LD BC,19456
LD DE,g_browser_vars
CALL LWRD VMRead
POP HL
; 209. ASSERT(result);
; 210.
; 211. //check if valid
; 212. if (g_browser_vars.magic != MAGIC_AMV)
LD HL,24941
LD BC,(g_browser_vars)
AND A
SBC HL,BC
JR Z,?0077
?0076:
; 213. {
; 214.
; 215. g_browser_vars.magic = MAGIC_AMV;
LD HL,24941
LD (g_browser_vars),HL
; 216. g_browser_vars.location.disk = 'C';
LD A,67
LD (g_browser_vars+2),A
; 217.
; 218. strcpy(g_browser_vars.location.path, FS_CD_ROOT);
LD DE,?0078
LD HL,g_browser_vars+16
CALL LWRD ?STRCPY_L11
?0077:
; 219. }
; 220.
; 221.
; 222. }
POP IX
POP DE
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
RSEG CSTR
?0002:
DEFB 'ui30.res'
DEFB 0
?0078:
DEFB ':'
DEFB 0
RSEG CONST
?0028:
DEFB 'MP3'
DEFB 0
DEFB 'WMA'
DEFB 0
DEFB 'ASF'
DEFB 0
DEFB 'WMV'
DEFB 0
DEFB 'OGG'
DEFB 0
DEFB 'WAV'
DEFB 0
DEFB 'ACT'
DEFB 0
DEFB 'AMV'
DEFB 0
DEFB 'TXT'
DEFB 0
DEFB 'BMP'
DEFB 0
DEFB 'JPG'
DEFB 0
DEFB 'GIF'
DEFB 0
DEFB 'APE'
DEFB 0
RSEG UDATA0
g_comval:
DEFS 32
g_langid:
DEFS 1
g_menu_active:
DEFS 1
g_browser_vars:
DEFS 45
need_draw:
DEFS 1
menu:
DEFS 10
g_Resfp_Sav:
DEFS 2
ActiveDriveOK:
DEFS 1
g_result:
DEFS 2
RSEG IDATA0
g_DiskStateFlag:
DEFS 1
RSEG CDATA0
DEFB 0
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -