📄 txt_utile.lst
字号:
C51 COMPILER V7.50 TXT_UTILE 08/18/2008 13:49:10 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TXT_UTILE
OBJECT MODULE PLACED IN ..\output\output_bin\output_ebook\txt_utile.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_ebook\src\txt_utile.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..
-\..\..\bsp\include;..\..\code\ap_ebook\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load
-) DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_ebook\txt_utile.lst) OBJECT(..\output\output_bin\output_ebook\txt
-_utile.obj)
line level source
1 /****************************
2 * mp3_utile.c
3 ****************************/
4
5 #include <string.h>
6 #include "api.h"
7 #include "lcd.h"
8 #include "common.h"
9 #include "display.h"
10 #include "txt_display.h"
11 #include "txt_main.h"
12 #include "prefer.h"
13
14 #define Page_stack_size 128
15
16 #define isSpecialChar( ch ) ((ch) > 0 && (ch) < 0x0a) || ((ch) > 0x0a && (ch) < '!')
17
18 UINT8 *StepAdd,*flashdata;
19 UINT32 coder_counter;
20
21 //parse file data
22 UINT8 decoderdata1[720];
23
24 static UINT8 Gatdata[513];
25
26 UINT8 txt_page_next();
27
28 void DataConvert_en(void);
29 void DataConvert_ch(void);
30
31 UINT32 page_start=0;
32 UINT32 page_last=0;
33 INT32S page_offset[Page_stack_size];
34
35 FILE_t *fp;
36
37 UINT32 get_stack_size()
38 {
39 1 return (page_last+Page_stack_size-page_start)%Page_stack_size;
40 1 }
41
42 // open the txt file and seek
43 UINT8 txt_init(UINT8 *file_name)
44 {
45 1 UINT32 i;
46 1
47 1 //init page offset stack..
48 1 for(i=0;i<128;i++)
49 1 page_offset[i]=0;
50 1 page_start = 0;
51 1 page_last = 0;
52 1
C51 COMPILER V7.50 TXT_UTILE 08/18/2008 13:49:10 PAGE 2
53 1 fp=api_pFileOpen(file_name);
54 1
55 1 tUserPreference.offset = 0;
56 1 tUserPreference.page_number =1;
57 1
58 1 if(fp==0)
59 1 return 0;
60 1
61 1 txt_page_next();
62 1 return 1;
63 1 }
64
65
66 UINT8 txt_page_prev()
67 {
68 1 UINT32 j,stack_size=0,temp_page_number;
69 1
70 1 if(tUserPreference.page_number > 1)
71 1 tUserPreference.page_number--;
72 1
73 1 //if(tUserPreference.page_number == 1)
74 1 // tUserPreference.offset =0;
75 1
76 1 if(get_stack_size()>0)
77 1 {
78 2 if(page_last != 0)
79 2 {
80 3 tUserPreference.offset = page_offset[page_last-1];
81 3 }
82 2 else
83 2 {
84 3 tUserPreference.offset = page_offset[Page_stack_size-1];
85 3 }
86 2 }
87 1 else //need find last page.
88 1 {
89 2 temp_page_number = tUserPreference.page_number; //find from first.
90 2 tUserPreference.page_number=0;
91 2 tUserPreference.offset=0;
92 2 while(tUserPreference.page_number!=temp_page_number)
93 2 {
94 3 txt_page_next();
95 3 }
96 2 return 1;
97 2 }
98 1
99 1 api_bFileSeek(fp,tUserPreference.offset,SEEK_SET);
100 1
101 1 if(!api_u16FileRead(&Gatdata[0], 512 ,fp ))
102 1 return 0;
103 1 flashdata=&Gatdata[0];
104 1 coder_counter=513;
105 1 StepAdd=decoderdata1;
106 1 for( j = 0; j < 513; j++ )
107 1 {
108 2 if(isSpecialChar(Gatdata[j]) )
109 2 Gatdata[j] = ' ';
110 2 }
111 1
112 1 if((tUserPreference.u8LanguageId==0)||(tUserPreference.u8LanguageId>4))
113 1 DataConvert_en();
114 1 else
C51 COMPILER V7.50 TXT_UTILE 08/18/2008 13:49:10 PAGE 3
115 1 DataConvert_ch();
116 1
117 1 return 1;
118 1 }
119
120 UINT8 txt_close(void)
121 {
122 1 return 1;
123 1 }
124
125 UINT8 txt_page_next()
126 {
127 1 UINT32 j;
128 1 UINT32 i;
129 1
130 1 api_bFileSeek(fp,tUserPreference.offset,SEEK_SET);
131 1
132 1 for(i=0;i<513;i++)
133 1 {
134 2 Gatdata[i]=0;
135 2 }
136 1
137 1 if(!api_u16FileRead(&Gatdata[0], 512 ,fp ))
138 1 {
139 2 return 0;
140 2 }
141 1
142 1 tUserPreference.page_number++;
143 1
144 1 if(tUserPreference.page_number<Page_stack_size)
145 1 page_offset[tUserPreference.page_number-1]=tUserPreference.offset;
146 1 else
147 1 {
148 2 if(get_stack_size()==Page_stack_size) //stack is full.
149 2 if(page_start<Page_stack_size-1)
150 2 page_start++;
151 2 else
152 2 page_start = 0;
153 2 page_last = (tUserPreference.page_number-1)%Page_stack_size;
154 2 page_offset[page_last] = tUserPreference.offset;
155 2 }
156 1
157 1 flashdata=&Gatdata[0];
158 1 coder_counter=513;
159 1 StepAdd=decoderdata1;
160 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -