⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_stop.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 2 页
字号:
	LD	E,C
	LD	D,B
	CALL	LWRD SetPenColor
; 173.	                                ResShowMultiString(TEXT, g_comval.langid, 255, 1);
	LD	C,1
	PUSH	BC
	LD	C,255
	PUSH	BC
	LD	BC,(g_comval+12)
	LD	DE,441
	LD	A,BYTE3 ResShowMultiString
	LD	HL,LWRD ResShowMultiString
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
; 174.	                                SetBackgdColor(Color_MENU_def);
	LD	BC,0
	LD	DE,65535
	CALL	LWRD SetBackgdColor
; 175.	                                ///-SetTextOutMode(0);
; 176.	                                /*
; 177.	                        ResShowPic(DHT,194,8);
; 178.	                        ResShowPic(MDIR, explorer_pic_x_def-2, POSITION_MENU6-4);
; 179.	                        SetTextPos(menu_str_x_def, POSITION_MENU6-2);
; 180.	                        SetPenColor(Color_WHITE_def);
; 181.	                        PutS(dir_name, -1);   
; 182.	                        if(g_reader_vars.location.disk=='H')
; 183.	                                ResShowPic(CARDDISK,180,150); 
; 184.	                        */
; 185.	                        
; 186.	            //show icons & text
; 187.	            for(i=0; i<6; i++)
	LD	IY,0
?0041:
	LD	BC,32774
	PUSH	IY
	POP	HL
	LD	A,B
	XOR	H
	LD	H,A
	SBC	HL,BC
	JP	NC,?0040
?0042:
; 188.	            {
; 189.	                if(top+i >= g_file_total) break;    //处理不足5个的情况
	PUSH	IY
	POP	HL
	LD	C,(IX-10)
	LD	B,(IX-9)
	ADD	HL,BC
	LD	BC,(g_file_total)
	OR	128
	SBC	HL,BC
	JP	PO,?0106
	XOR	H
?0106:
	JP	P,?0040
?0044:
?0045:
; 190.	                ///-ResShowPic(MFILE, explorer_pic_x_def, menu_pos[i]);
; 191.	                if(top+i==active)
	PUSH	IY
	POP	HL
	LD	C,(IX-10)
	LD	B,(IX-9)
	ADD	HL,BC
	LD	BC,(active)
	AND	A
	SBC	HL,BC
	LD	HL,menu_pos
	PUSH	IY
	POP	BC
	ADD	HL,BC
	JR	NZ,?0047
?0046:
; 192.	                {
; 193.	                          ResShowPic(MENUBCK, 0, menu_pos[i]-1);
	LD	A,(HL)
	ADD	A,255
	LD	E,A
	PUSH	DE
	LD	C,0
	LD	DE,180
	LD	A,BYTE3 ResShowPic
	LD	HL,LWRD ResShowPic
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 194.	                    SetPenColor(Color_WHITE_def);
	LD	BC,0
	LD	DE,65535
	CALL	LWRD SetPenColor
; 195.	                    SetBackgdColor(0x00003358);
	LD	BC,0
	LD	DE,13144
	CALL	LWRD SetBackgdColor
; 196.	                    reset_cur_list_bg_color_reader(i, menu_pos[i]);
	LD	HL,menu_pos
	PUSH	IY
	POP	BC
	ADD	HL,BC
	LD	C,(HL)
	LD	B,0
	PUSH	IY
	POP	DE
	LD	A,BYTE3 reset_cur_list_bg_color_reader
	LD	HL,LWRD reset_cur_list_bg_color_reader
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 197.	                }
; 198.	                else
	JR	?0048
?0047:
; 199.	                {
; 200.	                   SetTextPos(0, menu_pos[i]);
	LD	C,(HL)
	LD	E,0
	CALL	LWRD SetTextPos
; 201.	                   read_idm_data_reader(fileName, i );
	PUSH	IY
	POP	BC
	LD	DE,fileName
	LD	A,BYTE3 read_idm_data_reader
	LD	HL,LWRD read_idm_data_reader
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 202.	                   SetPenColor(Color_BLACK_def);
	LD	BC,0
	LD	E,C
	LD	D,B
	CALL	LWRD SetPenColor
; 203.	                   SetBackgdColor(Color_MENU_def);
	LD	BC,0
	LD	DE,65535
	CALL	LWRD SetBackgdColor
; 204.	                   PutS(fileName, -1);
	LD	C,255
	LD	DE,fileName
	CALL	LWRD PutS
?0048:
; 205.	                }
; 206.	                output8(0x4e,input8(0x4e)|0x08);            //清WATCH DOG
	IN	A,(78)
	SET	3,A
	OUT	(78),A
	INC	IY
	JP	LWRD ?0041
?0040:
; 207.	            }
; 208.	
; 209.	                 fselSetLocation(&g_reader_vars.location);
	LD	DE,g_reader_vars+6
	LD	A,BYTE3 fselSetLocation
	LD	HL,LWRD fselSetLocation
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 210.	                 need_draw = FALSE;
	LD	(IX-18),0
?0037:
; 211.	
; 212.	             }
; 213.	            if(list_change)
	XOR	A
	OR	(IX-16)
	JR	Z,?0050
?0049:
; 214.	            {
; 215.	                    show_active_list_reader(old_active, active, top);
	LD	L,(IX-10)
	LD	H,(IX-9)
	PUSH	HL
	LD	BC,(active)
	LD	E,(IX-6)
	LD	D,(IX-5)
	LD	A,BYTE3 show_active_list_reader
	LD	HL,LWRD show_active_list_reader
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	HL
; 216.	                    list_change = FALSE;
	LD	(IX-16),0
?0050:
; 217.	            }
; 218.	
; 219.	              key=ap_get_message();                               // get the user message
	CALL	LWRD ap_get_message
	LD	(IX-12),A
	LD	B,0
; 220.	              if(g_from_browser)
	LD	A,(g_from_browser)
	OR	A
	JR	Z,?0052
?0051:
; 221.	            {
; 222.	                key = (AP_KEY_PLAY | AP_KEY_UP);
; 223.	                g_from_browser = FALSE;
	XOR	A
	LD	(g_from_browser),A
	LD	(IX-12),33
?0052:
; 224.	            }
; 225.	           switch(key)
	LD	E,(IX-12)
	LD	D,B
	CALL	LWRD ?S_V_SWITCH_L06
	DEFW	8
	DEFW	5
	DEFW	6
	DEFW	16
	DEFW	33
	DEFW	48
	DEFW	55
	DEFW	69
	DEFW	70
	DEFW	?0089
	DEFW	?0064
	DEFW	?0054
	DEFW	?0087
	DEFW	?0075
	DEFW	?0084
	DEFW	?0077
	DEFW	?0064
	DEFW	?0054
?0054:
; 226.	           {
; 227.	           case AP_KEY_PREV :
; 228.	           case AP_KEY_PREV | AP_KEY_HOLD:
; 229.	               if(active > 0)
	LD	BC,(active)
	LD	L,A
	LD	H,A
	OR	128
	SBC	HL,BC
	JP	PO,?0107
	XOR	H
?0107:
	JP	P,?0056
?0055:
; 230.	                {
; 231.	                        active--;
	LD	L,C
	LD	H,B
	DEC	HL
	LD	(active),HL
; 232.	                        if(active/6==cur_group)
	LD	BC,6
	EX	DE,HL
	CALL	LWRD ?SS_DIV_L02
	LD	L,(IX-8)
	LD	H,(IX-7)
	AND	A
	SBC	HL,DE
	JR	NZ,?0114
?0057:
; 233.	                        {
; 234.	                                old_active=active+1;
	LD	HL,(active)
	INC	HL
	LD	(IX-6),L
	LD	(IX-5),H
; 235.	                    list_change=TRUE;
	LD	(IX-16),1
; 236.	                }
; 237.	                else
	JR	?0060
?0058:
; 238.	                    need_draw = TRUE;
?0059:
; 239.	                }
; 240.	                else
?0056:
; 241.	                {
; 242.	                active = g_file_total - 1;
	LD	HL,(g_file_total)
	DEC	HL
	LD	(active),HL
; 243.	                need_draw = TRUE;
?0114:
	LD	(IX-18),1
?0060:
; 244.	                }
; 245.	               sel_prev(TRUE);
	LD	E,1
	LD	A,BYTE3 sel_prev
	LD	HL,LWRD sel_prev
	CALL	LWRD ?0117
; 246.	                        g_reader_vars.g_txt.PrevSeek=0;
; 247.	                        g_reader_vars.g_txt.CurrentSeek=0;
; 248.	                        g_reader_vars.g_txt.BufSector=0;
?0062:
; 249.	                    //清除多出的HOLD消息,防止按键停了还跳几曲
; 250.	                    while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0023
?0063:
; 251.	                    break;
	JR	?0062
?0061:
?0064:
; 252.	                case AP_KEY_NEXT :
; 253.	                case AP_KEY_NEXT | AP_KEY_HOLD:
; 254.	                     if(active < g_file_total - 1)
	LD	BC,(g_file_total)
	DEC	BC
	LD	HL,(active)
	OR	128
	SBC	HL,BC
	JP	PO,?0108
	XOR	H
?0108:
	JP	P,?0066
?0065:
; 255.	                     {
; 256.	                                active++;
	LD	HL,(active)
	INC	HL
	LD	(active),HL
; 257.	                                                        if(active/6==cur_group)
	LD	BC,6
	EX	DE,HL
	CALL	LWRD ?SS_DIV_L02
	LD	L,(IX-8)
	LD	H,(IX-7)
	AND	A
	SBC	HL,DE
	JR	NZ,?0115
?0067:
; 258.	                                {
; 259.	                                        old_active=active-1;
	LD	HL,(active)
	DEC	HL
	LD	(IX-6),L
	LD	(IX-5),H
; 260.	                                        list_change=TRUE;
	LD	(IX-16),1
; 261.	                                }
; 262.	                                else
	JR	?0070
?0068:
; 263.	                                        need_draw = TRUE;
?0069:
; 264.	                     }
; 265.	                     else
?0066:
; 266.	                     {
; 267.	                                active = 0;
	LD	L,D
	LD	H,D
	LD	(active),HL
; 268.	                                need_draw = TRUE;
?0115:
	LD	(IX-18),1
?0070:
; 269.	                     }
; 270.	                     sel_next(TRUE);
	LD	E,1
	LD	A,BYTE3 sel_next
	LD	HL,LWRD sel_next
	CALL	LWRD ?0117
; 271.	                     g_reader_vars.g_txt.PrevSeek=0;
; 272.	                     g_reader_vars.g_txt.CurrentSeek=0;
; 273.	                     g_reader_vars.g_txt.BufSector=0;
?0072:
; 274.	                     //清除多出的HOLD消息,防止按键停了还跳几曲
; 275.	                     while(ap_get_message() != 0);
	CALL	LWRD ap_get_message
	OR	A
	JP	Z,?0023
?0073:
; 276.	                        break;
	JR	?0072
?0071:
?0074:
; 277.	                case AP_KEY_MODE:
; 278.	                     g_menu_active=1;
; 279.	                     break;         
?0075:
; 280.	                case  AP_KEY_MODE|AP_KEY_UP:
; 281.	                
; 282.	                        if(g_menu_active)                               // set the mode
	LD	A,(g_menu_active)
	OR	A
	JR	Z,?0077
?0076:
; 283.	                        {
; 284.	                                result=MenuInReader();
	LD	A,BYTE3 MenuInReader
	LD	HL,LWRD MenuInReader
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 285.	                  if(result==RESULT_IGNORE)
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0110
?0078:
; 286.	                  {
; 287.	                      file_changed=TRUE;
; 288.	                      break;
?0079:
; 289.	                  }
; 290.	                  else if(result==RESULT_SD_OUT)
	LD	A,54
	XOR	L
	OR	H
	JR	Z,?0112
?0080:
; 291.	                   {
; 292.	                      need_sel_file = TRUE;
; 293.	                      break;
?0081:
; 294.	                   }
; 295.	                                else if(result==0)
	LD	A,L
	OR	H
	JR	NZ,?0086
?0082:
; 296.	                                {
; 297.	                                    need_sel_file = TRUE;
	JR	?0112
; 298.	                                    break;
?0083:
; 299.	                                }
; 300.	                                else
; 301.	                                    return result;
; 302.	                        }
?0077:
; 303.	                        else
; 304.	                        g_menu_active=TRUE;
	LD	A,1
	LD	(g_menu_active),A
; 305.	                      break;
	JP	LWRD ?0023
?0084:
; 306.	                
; 307.	                case AP_KEY_PLAY | AP_KEY_UP:
; 308.	                        result=do_play();
	LD	A,BYTE3 do_play
	LD	HL,LWRD do_play
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 309.	                        if(result==0)
	LD	A,L
	OR	H
	JR	NZ,?0086
?0085:
; 310.	                      {
; 311.	                                file_changed=TRUE;
?0110:
	LD	(IX-17),1
; 312.	                                break;
	JP	LWRD ?0023
?0086:
; 313.	                      }
; 314.	                      else
; 315.	                           return result;
; 316.	        case AP_MSG_SD_OUT:
	JR	?0096
?0087:
; 317.	             if (g_reader_vars.location.disk == 'H')
	LD	A,(g_reader_vars+6)
	CP	72
	JR	NZ,?0089
?0088:
; 318.	                {
; 319.	                    g_reader_vars.location.disk = 'C';
	LD	A,67
	LD	(g_reader_vars+6),A
; 320.	                    ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
	LD	BC,(g_comval+12)
	LD	B,D
	PUSH	BC
	LD	BC,394
	LD	E,C
	LD	D,B
	LD	A,BYTE3 ui_err_msg
	LD	HL,LWRD ui_err_msg
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
; 321.	                    need_sel_file=TRUE;
?0112:
	LD	A,1
	LD	(need_sel_file),A
; 322.	                    break;
	JP	LWRD ?0023
?0089:
?0090:
; 323.	                }
; 324.	
; 325.	                default:
; 326.	                        key = ap_handle_hotkey( key);
	CALL	LWRD ap_handle_hotkey
	LD	C,A
; 327.	                        if(key == RESULT_REDRAW) need_draw = TRUE;
	LD	A,50
	XOR	C
	JR	NZ,?0092
?0091:
	LD	(IX-18),1
	JP	LWRD ?0023
?0092:
; 328.	                        else if(key != 0) return key;
	LD	A,C
	OR	A
	JP	Z,?0023
?0094:
	LD	L,C
	LD	H,B
; 329.	                
; 330.	                }
?0095:
?0093:
?0053:
; 331.	
; 332.	        }
; 333.	        return result;
; 334.	}
?0096:
	LD	SP,IX
	POP	IX
	POP	IY
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
?0117:
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	BC,0
	LD	L,C
	LD	H,B
	LD	(g_reader_vars+55),HL
	LD	(g_reader_vars+57),BC
	LD	(g_reader_vars+59),HL
	LD	(g_reader_vars+61),BC
	LD	(g_reader_vars+63),HL
	RET
	RSEG	CSTR
?0004:
	DEFB	'ROOT'
	DEFB	0
?0006:
	DEFB	92,0
	RSEG	CONST
menu_pos:
	DEFB	22
	DEFB	'('
	DEFB	':'
	DEFB	'L'
	DEFB	'^'
	DEFB	'p'
	RSEG	UDATA0
active:
	DEFS	2
g_file_total:
	DEFS	2
need_sel_file:
	DEFS	1
fileName:
	DEFS	50
	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -