📄 sub_display.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:39:42 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_amv\sub_display.c #
# List file = d:\case_i_d913f\ap\ap_amv\list\sub_display.lst #
# Object file = d:\case_i_d913f\ap\ap_amv\obj\sub_display.r01 #
# ASM file = d:\case_i_d913f\ap\ap_amv\list\sub_display.s01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_amv\Obj\ -e -K -w #
# -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d913f\ap\ap_amv\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_amv\List\ #
# -ND:\case_i_d913f\ap\ap_amv\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\ap\ap_amv\sub_display.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sub_display(17)
\ 0000 RSEG AP_SUB_DIS(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG APC_SUB_DIS(0)
\ 0000 PUBLIC DisplayErrMsg
\ 0000 EXTERN GetBattery
\ 0000 EXTERN GetDCStatus
\ 0000 PUBLIC LOOP_PIC
\ 0000 EXTERN PlayStatus
\ 0000 EXTERN PutS
\ 0000 PUBLIC RefreshMainScreen
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 EXTERN SetAsciiFont
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPAVolume
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextPos
\ 0000 EXTERN ShowNowTime
\ 0000 PUBLIC Show_MusicType
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_sleep
\ 0000 EXTERN g_BatteryType
\ 0000 EXTERN g_TagInfoBuf
\ 0000 EXTERN g_amv_vars
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_langid
\ 0000 EXTERN g_musicamount
\ 0000 EXTERN g_musicsequence
\ 0000 EXTERN g_rSetPlayStatus
\ 0000 EXTERN g_volcounter
\ 0000 EXTERN itoa_3
\ 0000 EXTERN main_ResShowPic
\ 0000 EXTERN need_draw
\ 0000 PUBLIC show_volume
\ 0000 EXTERN slider
\ 0000 EXTERN temp_buffer
\ 0000 EXTERN ui_auto_update
\ 0000 EXTERN ui_show_a
\ 0000 EXTERN ui_show_batt
\ 0000 PUBLIC ui_show_h
\ 0000 EXTERN ui_show_msg
\ 0000 PUBLIC ui_show_vol
\ 0000 EXTERN ui_slider
\ 0000 PUBLIC vol_callback
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?STRCAT_L11
\ 0000 RSEG AP_SUB_DIS
\ 0000 RefreshMainScreen:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * This program demostrates how to build an AP
5 *
6 * (c) Copyright Actions Co,Ld.
7 *
8 * $Id: sub_display.c,v 1.1.1.1 2006/05/22 03:24:02 selina Exp $
9 *******************************************************************************
10 */
11 #include "ap_amv.h"
12
13 #pragma codeseg(AP_SUB_DIS)
14
15 #pragma memory=constseg(APC_SUB_DIS)
16 const WORD LOOP_PIC[7] =
17 {
18 MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
19 };
20 /*
21 const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9}; //系统时间&音量显示
22 const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
23 MNUM6,MNUM7,MNUM8,MNUM9}; //音乐曲目
24 */
25 #pragma memory=default
26
27 extern char g_volcounter;
28 extern bool g_rSetPlayStatus;
29 /*
30 ********************************************************************************
31 * void RefreshMainScreen( void )
32 *
33 * Description : 主显示的刷新函数,只有有需要时,才调用此函数
34 *
35 * Arguments : void
36 *
37 * Returns : void
38 *
39 * Notes :
40 *
41 ********************************************************************************
42 */
43 void ui_show_vol(BYTE volume);
44 void ui_show_h(const char *string);
45 void RefreshMainScreen( void )
46 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
47 int result;
48 output8(0x4e,input8(0x4e)|0x08);
\ 0002 DB4E IN A,(78)
\ 0004 CBDF SET 3,A
\ 0006 D34E OUT (78),A
49
50 if(PlayStatus != PlaySta)
\ 0008 3A0000 LD A,(PlayStatus)
\ 000B 3D DEC A
\ 000C 3D DEC A
\ 000D 280F JR Z,?0005
\ 000F ?0002:
51 {
52 if(g_volcounter > 0)
\ 000F 3A0000 LD A,(g_volcounter)
\ 0012 B7 OR A
\ 0013 2809 JR Z,?0005
\ 0015 ?0004:
53 {
54 g_volcounter = 0;
\ 0015 AF XOR A
\ 0016 320000 LD (g_volcounter),A
55 g_rSetPlayStatus = TRUE;
\ 0019 3E01 LD A,1
\ 001B 320000 LD (g_rSetPlayStatus),A
\ 001E ?0005:
\ 001E ?0003:
56 }
57 }
58
59 ResShowPic(BACKMOV, POS_BG, POSY_BG);
\ 001E 0E00 LD C,0
\ 0020 C5 PUSH BC
\ 0021 110B00 LD DE,11
\ 0024 3E00 LD A,BYTE3 ResShowPic
\ 0026 210000 LD HL,LWRD ResShowPic
\ 0029 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 002C F1 POP AF
60
61 SetPenColor(Color_BLACK_def);
\ 002D 010000 LD BC,0
\ 0030 59 LD E,C
\ 0031 50 LD D,B
\ 0032 CD0000 CALL LWRD SetPenColor
62 SetBackgdColor(0x0000df1c);
\ 0035 010000 LD BC,0
\ 0038 111CDF LD DE,57116
\ 003B CD0000 CALL LWRD SetBackgdColor
63 ResShowMultiString(SMOVIE, g_comval.langid, 255, 1);
\ 003E 0E01 LD C,1
\ 0040 C5 PUSH BC
\ 0041 0EFF LD C,255
\ 0043 C5 PUSH BC
\ 0044 ED4B0C00 LD BC,(g_comval+12)
\ 0048 118301 LD DE,387
\ 004B 3E00 LD A,BYTE3 ResShowMultiString
\ 004D 210000 LD HL,LWRD ResShowMultiString
\ 0050 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0053 F1 POP AF
\ 0054 F1 POP AF
64 SetBackgdColor(Color_MENU_def);
\ 0055 010000 LD BC,0
\ 0058 11FFFF LD DE,65535
\ 005B CD0000 CALL LWRD SetBackgdColor
65
66 /*
67 SetTextPos(POS_DIRNAME, POSY_DIRNAME);
68 //main_ResShowPic(DIRBCK,36,78);
69 main_ResShowPic(ADIRBCK,25,140);
70 SetTextOutMode(1); //设字体透明
71 SetPenColor(Color_WHITE_def);
72 if(g_amv_vars.location.disk=='H')
73 main_ResShowPic(CARDDISK,194,140);
74 PutS(dir_name, -1);
75 SetTextOutMode(0);
76 */
77
78 ui_show_vol(g_amv_vars.volume);
\ 005E ED5B0200 LD DE,(g_amv_vars+2)
\ 0062 3E00 LD A,BYTE3 ui_show_vol
\ 0064 216D01 LD HL,LWRD ui_show_vol
\ 0067 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
79
80 /*
81 //SetBackgdColor(Color_MUSIC_def);
82 if (g_comval.EarProtect_flag)
83 {
84 main_ResShowPic(EARLOGO, 0, 162);
85 }
86 Show_MusicType();
87 Show_Bitrate();
88 */
89
90 ResShowPic(LOOP_PIC[g_amv_vars.repeat_mode], 142,22);
\ 006A 0E16 LD C,22
\ 006C C5 PUSH BC
\ 006D 0E8E LD C,142
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -