ui_play.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,122 行 · 第 1/4 页
LST
1,122 行
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 16:59:36 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_dsc2x_dec\ui_play.c #
# List file = d:\case_i_d90f\ap\ap_dsc2x_dec\list\ui_play.lst #
# Object file = d:\case_i_d90f\ap\ap_dsc2x_dec\obj\ui_play.r01 #
# Command line = -v0 -mb -OD:\case_i_d90f\ap\Ap_DSC2X_DEC\Obj\ -e #
# -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT #
# -LD:\case_i_d90f\ap\Ap_DSC2X_DEC\List\ -q -t8 #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# d:\case_i_d90f\ap\ap_dsc2x_dec\ui_play.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_play(17)
\ 0000 RSEG CODE_1(0)
\ 0000 RSEG CONST(0)
\ 0000 RSEG UDATA0(0)
\ 0000 PUBLIC Auto_play
\ 0000 EXTERN BankSwitch
\ 0000 PUBLIC CheckPicType
\ 0000 EXTERN ClearScreen
\ 0000 PUBLIC Delaytime
\ 0000 PUBLIC Dscinf
\ 0000 EXTERN FS_FClose
\ 0000 EXTERN FS_FOpen
\ 0000 EXTERN InitLcmDeviceInfor
\ 0000 EXTERN JpegDec
\ 0000 PUBLIC Manual_play
\ 0000 EXTERN PicViewInit
\ 0000 PUBLIC PictureType
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetDrawMode
\ 0000 PUBLIC Stop_display
\ 0000 EXTERN VMRead
\ 0000 EXTERN active
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN ap_message_init
\ 0000 PUBLIC count_autoplay
\ 0000 PUBLIC do_play
\ 0000 PUBLIC err_id
\ 0000 PUBLIC fp
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_file_total
\ 0000 EXTERN g_viewpic_vars
\ 0000 PUBLIC message_temp
\ 0000 EXTERN need_sel_file
\ 0000 EXTERN sel_next
\ 0000 EXTERN sel_prev
\ 0000 EXTERN ui_err_msg
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?S_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?STRCMP_L11
\ 0000 RSEG CODE_1
\ 0000 CheckPicType:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * voice player stop program.
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 * $Id: ui_play.c,v 1.2 2006/06/26 01:11:51 tangwh Exp $
10 *******************************************************************************
11 */
12 #include "actos.h"
13 #include "enhanced.h"
14 #include "ap_common.h"
15 #include "display.h"
16 #include "DSCDec.h"
17 #include "ap_picdec.h"
18
19
20 ColorLcmInfor Dscinf;
21 handle fp;
22 char err_id;
23 char Stop_display;
24 char count_autoplay;
25 char Delaytime;
26 WORD message_temp[8];
27 extern bool need_sel_file;
28 int InitLcmDeviceInfor(ColorLcmInfor *infor);
29 char PictureType;
30 #pragma codeseg(CODE_1)
31 /*
32 ********************************************************************************
33 *
34 ********************************************************************************
35 */
36
37
38
39 Pic_type_t CheckPicType( char * filename )
40 {
\ 0000 C5 PUSH BC
\ 0001 DDE5 PUSH IX
\ 0003 21F0FF LD HL,65520
\ 0006 39 ADD HL,SP
\ 0007 F9 LD SP,HL
\ 0008 D5 PUSH DE
\ 0009 DDE1 POP IX
41 const char ExtPicstr [] [4] =
42 {
43 "JPG", "BMP", "GIF"
44 };
\ 000B 210400 LD HL,4
\ 000E 39 ADD HL,SP
\ 000F EB EX DE,HL
\ 0010 210000 LD HL,?0002
\ 0013 010C00 LD BC,12
\ 0016 EDB0 LDIR
45
46 BYTE ext[4];
47 memcpy(ext, filename + 8, 3);
\ 0018 69 LD L,C
\ 0019 60 LD H,B
\ 001A 39 ADD HL,SP
\ 001B EB EX DE,HL
\ 001C 210800 LD HL,8
\ 001F DDE5 PUSH IX
\ 0021 C1 POP BC
\ 0022 09 ADD HL,BC
\ 0023 010300 LD BC,3
\ 0026 EDB0 LDIR
48 ext[0] = (ext[0]>='a' && ext[0]<='z') ? ext[0] - 'a' + 'A' : ext[0];
\ 0028 69 LD L,C
\ 0029 60 LD H,B
\ 002A 39 ADD HL,SP
\ 002B 7E LD A,(HL)
\ 002C FE61 CP 97
\ 002E 380A JR C,?0006
\ 0030 3E7A LD A,122
\ 0032 BE CP (HL)
\ 0033 3805 JR C,?0006
\ 0035 7E LD A,(HL)
\ 0036 C6E0 ADD A,224
\ 0038 1801 JR ?0007
\ 003A ?0006:
\ 003A 7E LD A,(HL)
\ 003B ?0007:
\ 003B 77 LD (HL),A
49 ext[1] = (ext[1]>='a' && ext[1]<='z') ? ext[1] - 'a' + 'A' : ext[1];
\ 003C 23 INC HL
\ 003D 7E LD A,(HL)
\ 003E FE61 CP 97
\ 0040 380A JR C,?0012
\ 0042 3E7A LD A,122
\ 0044 BE CP (HL)
\ 0045 3805 JR C,?0012
\ 0047 7E LD A,(HL)
\ 0048 C6E0 ADD A,224
\ 004A 1801 JR ?0013
\ 004C ?0012:
\ 004C 7E LD A,(HL)
\ 004D ?0013:
\ 004D 77 LD (HL),A
50 ext[2] = (ext[2]>='a' && ext[2]<='z') ? ext[2] - 'a' + 'A' : ext[2];
\ 004E 23 INC HL
\ 004F 7E LD A,(HL)
\ 0050 FE61 CP 97
\ 0052 380A JR C,?0018
\ 0054 3E7A LD A,122
\ 0056 BE CP (HL)
\ 0057 3805 JR C,?0018
\ 0059 7E LD A,(HL)
\ 005A C6E0 ADD A,224
\ 005C 1801 JR ?0019
\ 005E ?0018:
\ 005E 7E LD A,(HL)
\ 005F ?0019:
\ 005F 77 LD (HL),A
51 ext[3] = 0;
\ 0060 23 INC HL
\ 0061 70 LD (HL),B
52
53 if (strcmp(ext, ExtPicstr[0]) == 0)
\ 0062 2B DEC HL
\ 0063 2B DEC HL
\ 0064 2B DEC HL
\ 0065 EB EX DE,HL
\ 0066 210400 LD HL,4
\ 0069 39 ADD HL,SP
\ 006A CD0000 CALL LWRD ?STRCMP_L11
\ 006D 7D LD A,L
\ 006E B4 OR H
\ 006F 2004 JR NZ,?0022
\ 0071 ?0021:
54 {
55 return Pic_JPG;
\ 0071 182D JR ?0026
56 }
\ 0073 182C JR ?0027
\ 0075 ?0022:
57 else if (strcmp(ext, ExtPicstr[1]) == 0)
\ 0075 69 LD L,C
\ 0076 60 LD H,B
\ 0077 39 ADD HL,SP
\ 0078 EB EX DE,HL
\ 0079 210400 LD HL,4
\ 007C 39 ADD HL,SP
\ 007D 0E04 LD C,4
\ 007F 09 ADD HL,BC
\ 0080 CD0000 CALL LWRD ?STRCMP_L11
\ 0083 7D LD A,L
\ 0084 B4 OR H
\ 0085 2004 JR NZ,?0024
\ 0087 ?0023:
58 {
59 return Pic_BMP;
\ 0087 2E01 LD L,1
60 }
\ 0089 1816 JR ?0027
\ 008B ?0024:
61 else if (strcmp(ext, ExtPicstr[2]) == 0)
\ 008B 68 LD L,B
\ 008C 60 LD H,B
\ 008D 39 ADD HL,SP
\ 008E EB EX DE,HL
\ 008F 69 LD L,C
\ 0090 60 LD H,B
\ 0091 39 ADD HL,SP
\ 0092 0E08 LD C,8
\ 0094 09 ADD HL,BC
\ 0095 CD0000 CALL LWRD ?STRCMP_L11
\ 0098 7D LD A,L
\ 0099 B4 OR H
\ 009A 2004 JR NZ,?0026
\ 009C ?0025:
62 {
63 return Pic_GIF;
\ 009C 2E02 LD L,2
64 }
\ 009E 1801 JR ?0027
\ 00A0 ?0026:
65 else
66 {
67 return Pic_JPG;
\ 00A0 68 LD L,B
68 }
\ 00A1 ?0027:
\ 00A1 EB EX DE,HL
\ 00A2 211000 LD HL,16
\ 00A5 39 ADD HL,SP
\ 00A6 F9 LD SP,HL
\ 00A7 EB EX DE,HL
\ 00A8 DDE1 POP IX
\ 00AA C1 POP BC
\ 00AB C30000 JP LWRD ?BANK_FAST_LEAVE_L08
69 }
\ 00AE Manual_play:
70
71 /****************************************
72 *Function Name:Manual_play
73 *
74 *****************************************/
75
76 int Manual_play(void)
77 {
\ 00AE C5 PUSH BC
\ 00AF D5 PUSH DE
\ 00B0 FDE5 PUSH IY
\ 00B2 DDE5 PUSH IX
\ 00B4 DD210000 LD IX,0
\ 00B8 DD39 ADD IX,SP
\ 00BA F5 PUSH AF
\ 00BB F5 PUSH AF
78 bool need_draw=TRUE;
79 char tmp;
80 int key;
81 int result;
82 err_id=0;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?