📄 decodermenu.s01
字号:
JP LWRD ?0084
?0031:
; 132. break;
?0032:
; 133.
; 134. default:
; 135. result = RESULT_IGNORE;
; 136. break;
?0015:
; 137. }
; 138. return result;
; 139. }
?0014:
; 140.
; 141. else //有卡
; 142. {
; 143.
; 144. switch (list.active)
CALL LWRD ?S_S_SWITCH_L06
DEFW 0
DEFW 5
DEFW ?0055
DEFW ?0034
DEFW ?0037
DEFW ?0042
DEFW ?0049
DEFW ?0052
?0034:
; 145. {
; 146. case 0:
; 147.
; 148. if (g_reader_vars.location.disk == 'H')
LD A,(g_reader_vars+6)
CP 72
JR NZ,?0036
?0035:
; 149. {
; 150. g_reader_vars.location.disk = 'C';
LD A,67
LD (g_reader_vars+6),A
; 151. FSELInit(FSEL_TYPE_TXT, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_reader_vars.location.disk);
LD C,A
PUSH BC
LD C,B
PUSH BC
LD C,4
LD E,C
LD A,BYTE3 fselInit
LD HL,LWRD fselInit
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
; 152. fselGetLocation(& g_reader_vars.location);
CALL LWRD ?0087
; 153. need_sel_file=TRUE;
LD A,1
LD (need_sel_file),A
?0036:
; 154. }
; 155. BankSwitch((unsigned long)DecodeOnePage >> 16);
LD B,0
LD E,BYTE3 DecodeOnePage
CALL LWRD BankSwitch
; 156.
; 157. result=ui_directory(&g_reader_vars.location, FSEL_TYPE_TXT, g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
CALL LWRD ?0088
POP AF
; 158. FSELSetMode(FSEL_ALL_SEQUENCE);
CALL LWRD ?0089
; 159. BankSwitch((unsigned long)LoadData >> 16);
LD B,0
LD E,BYTE3 LoadData
LD C,B
CALL LWRD BankSwitch
; 160. g_reader_vars.g_txt.CurrentSeek=0;
LD L,C
LD H,B
LD (g_reader_vars+59),HL
LD (g_reader_vars+61),BC
; 161. g_reader_vars.g_txt.BufSector=0;
LD (g_reader_vars+63),HL
; 162.
; 163. g_menu_active = FALSE;
JP LWRD ?0074
; 164. break;
?0037:
; 165.
; 166. case 1:
; 167. if (g_reader_vars.location.disk == 'C')
LD A,(g_reader_vars+6)
CP 67
JR NZ,?0039
?0038:
; 168. {
; 169. g_reader_vars.location.disk = 'H';
LD A,72
LD (g_reader_vars+6),A
; 170. need_sel_file=TRUE;
LD A,1
LD (need_sel_file),A
; 171. result=FSELInit(FSEL_TYPE_TXT, FSEL_ALL_REPEATALL,FSEL_TYPE_COMMONDIR, g_reader_vars.location.disk);
LD C,72
PUSH BC
LD C,B
PUSH BC
LD C,4
LD E,C
LD A,BYTE3 fselInit
LD HL,LWRD fselInit
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
LD H,0
PUSH HL
POP IX
; 172. if(!result)
LD A,L
OR A
JR NZ,?0041
?0040:
; 173. {
; 174. g_reader_vars.location.disk = 'C';
LD A,67
LD (g_reader_vars+6),A
; 175. g_DiskStateFlag=g_DiskStateFlag&ClrCardOKFlag_def;
LD HL,g_DiskStateFlag
RES 3,(HL)
; 176. ui_show_msg (CREADERR, CREADERR, g_comval.langid); //temp ybfu
LD BC,(g_comval+12)
LD B,0
PUSH BC
LD BC,630
LD E,C
LD D,B
LD A,BYTE3 ui_show_msg
LD HL,LWRD ui_show_msg
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
; 177. break;
JP LWRD ?0033
?0041:
; 178. }
; 179. g_DiskStateFlag=g_DiskStateFlag|SetCardOKFlag_def;
LD HL,g_DiskStateFlag
SET 3,(HL)
; 180. fselGetLocation(& g_reader_vars.location);
CALL LWRD ?0087
?0039:
; 181.
; 182. }
; 183. BankSwitch((unsigned long)DecodeOnePage >> 16);
LD B,0
LD E,BYTE3 DecodeOnePage
CALL LWRD BankSwitch
; 184. result=ui_directory(&g_reader_vars.location, FSEL_TYPE_TXT, g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
CALL LWRD ?0088
POP AF
; 185. FSELSetMode(FSEL_ALL_SEQUENCE);
CALL LWRD ?0089
; 186. g_reader_vars.g_txt.PrevSeek=0;
LD BC,0
LD L,C
LD H,B
LD (g_reader_vars+55),HL
LD (g_reader_vars+57),BC
; 187. g_reader_vars.g_txt.CurrentSeek=0;
LD (g_reader_vars+59),HL
LD (g_reader_vars+61),BC
; 188. g_reader_vars.g_txt.BufSector=0;
LD (g_reader_vars+63),HL
; 189. BankSwitch((unsigned long)LoadData >> 16);
LD E,BYTE3 LoadData
CALL LWRD BankSwitch
; 190.
; 191. g_menu_active = FALSE;
?0074:
XOR A
LD (g_menu_active),A
; 192. break;
JP LWRD ?0033
?0042:
; 193.
; 194. case 2:
; 195. sub_list.strid = play_text;
LD HL,play_text
LD (sub_list),HL
; 196. sub_list.total = 2;
LD HL,2
LD (sub_list+2),HL
; 197. sub_list.active = g_reader_vars.playflag;
LD BC,(g_reader_vars+2)
LD B,H
LD (sub_list+4),BC
; 198. sub_list.string_id = g_comval.langid;
LD A,(g_comval+12)
LD (sub_list+8),A
; 199. sub_list.headid = MenuStrIDWithCard[sub_list.active];
LD L,C
LD H,B
ADD HL,HL
LD BC,MenuStrIDWithCard
ADD HL,BC
LD B,(HL)
INC HL
LD H,(HL)
LD L,B
LD (sub_list+6),HL
; 200. result = ui_popup_list(&sub_list, NULL);
LD C,0
PUSH BC
LD L,C
LD H,C
PUSH HL
LD DE,sub_list
LD A,BYTE3 ui_popup_list
LD HL,LWRD ui_popup_list
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
PUSH HL
POP IX
; 201. if(result!=0) return result;
LD A,L
OR H
JP NZ,?0033
?0043:
?0044:
; 202. active=sub_list.active;
LD HL,(sub_list+4)
; 203. g_reader_vars.playflag=active;
LD A,L
LD (g_reader_vars+2),A
; 204. if(active==1)
LD A,1
XOR L
OR H
JR NZ,?0046
?0045:
; 205. {
; 206. slider.min = 1;
LD HL,1
LD (slider+2),HL
; 207. slider.max = 10;
LD L,10
LD (slider+4),HL
; 208. slider.step = 1;
LD L,1
LD (slider+8),HL
; 209. slider.value = g_reader_vars.autoplaytime;
LD BC,(g_reader_vars+3)
LD B,H
LD (slider+6),BC
; 210. slider.title = JPEGSET2;
LD HL,589
LD (slider),HL
; 211. slider.string_id=g_comval.langid;
LD A,(g_comval+12)
LD (slider+10),A
; 212. result = ui_slider(&slider, NULL);
LD C,B
PUSH BC
PUSH BC
LD DE,slider
LD A,BYTE3 ui_slider
LD HL,LWRD ui_slider
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
POP AF
PUSH HL
POP IX
; 213. if(result != 0) return result;
LD A,L
OR H
JR NZ,?0033
?0047:
?0048:
; 214. g_reader_vars.autoplaytime = (char)slider.value;
LD A,(slider+6)
LD (g_reader_vars+3),A
?0046:
; 215. }
; 216. return RESULT_IGNORE;
LD HL,52
; 217.
; 218. case 3:
JR ?0056
?0049:
; 219. result=ui_delete(&g_reader_vars.location,DELETE_FILE,g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
LD C,B
LD DE,g_reader_vars+6
LD A,BYTE3 ui_delete
LD HL,LWRD ui_delete
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
PUSH HL
POP IX
; 220. if(result==RESULT_IGNORE)
LD A,52
XOR L
OR H
JR NZ,?0051
?0050:
; 221. result=0;
?0085:
LD IX,0
?0051:
; 222. g_reader_vars.g_txt.PrevSeek=0;
LD BC,0
LD L,C
LD H,B
LD (g_reader_vars+55),HL
LD (g_reader_vars+57),BC
; 223. g_reader_vars.g_txt.CurrentSeek=0;
LD (g_reader_vars+59),HL
LD (g_reader_vars+61),BC
; 224. g_reader_vars.g_txt.BufSector=0;
LD (g_reader_vars+63),HL
; 225. break;
JR ?0033
?0052:
; 226.
; 227. case 4:
; 228. FSELSetMode(FSEL_ALL_REPEATALL);
LD E,4
CALL LWRD ?0090
; 229. result = ui_delete_all(&g_reader_vars.location, DELETE_TXT, g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
LD C,4
LD DE,g_reader_vars+6
LD A,BYTE3 ui_delete_all
LD HL,LWRD ui_delete_all
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
PUSH HL
POP IX
; 230. if(result==RESULT_IGNORE)result=0;
LD A,52
XOR L
OR H
JR NZ,?0033
?0053:
?0084:
LD IX,0
?0054:
; 231. break;
JR ?0033
?0055:
; 232.
; 233. default:
; 234. result = RESULT_IGNORE;
LD IX,52
; 235. break;
?0033:
; 236. }
; 237.
; 238. return result;
PUSH IX
POP HL
; 239.
; 240. }
?0056:
POP AF
POP IX
POP IY
POP DE
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
?0087:
LD DE,g_reader_vars+6
LD A,BYTE3 fselGetLocation
LD HL,LWRD fselGetLocation
JP LWRD ?BANK_CALL_DIRECT_L08
?0088:
LD C,4
LD DE,g_reader_vars+6
LD A,BYTE3 ui_directory
LD HL,LWRD ui_directory
JP LWRD ?BANK_CALL_DIRECT_L08
?0089:
PUSH HL
POP IX
LD E,0
?0090:
LD A,BYTE3 fselSetMode
LD HL,LWRD fselSetMode
JP LWRD ?BANK_CALL_DIRECT_L08
; 241.
; 242. }
RSEG CONST
MenuStrID:
DEFW 461
DEFW 587
DEFW 463
DEFW 464
DEFW 465
MenuStrIDWithCard:
DEFW 461
DEFW 462
DEFW 587
DEFW 463
DEFW 464
DEFW 465
play_text:
DEFW 588
DEFW 589
RSEG UDATA0
list:
DEFS 9
sub_list:
DEFS 9
slider:
DEFS 11
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -