📄 bookmark_menu.lst
字号:
75 // reload content and display
76 }
77 }
78 else if(list.active == 1)
\ 010C 3E01 LD A,1
\ 010E AD XOR L
\ 010F B4 OR H
\ 0110 C29901 JP NZ,?0019
\ 0113 ?0018:
79 {
80 /* del bookmark */
81 if( i == 0 )
\ 0113 DDB6DE OR (IX-34)
\ 0116 200D JR NZ,?0021
\ 0118 ?0020:
82 {
83 // No bookmark at current
84 ui_err_msg(EBOKMSG2,EBOKMSG2,g_comval.langid);
\ 0118 ED4B0C00 LD BC,(g_comval+12)
\ 011C 47 LD B,A
\ 011D C5 PUSH BC
\ 011E CD3602 CALL LWRD ?0044
\ 0121 F1 POP AF
85 }
86 else
\ 0122 C31502 JP LWRD ?0029
\ 0125 ?0021:
87 {
88 // FIXME:
89 //list.strid = play_text;
90 sub_list.total = i;
\ 0125 4F LD C,A
\ 0126 0600 LD B,0
\ 0128 ED430200 LD (sub_list+2),BC
91 sub_list.active = 0;
\ 012C 68 LD L,B
\ 012D 60 LD H,B
\ 012E 220400 LD (sub_list+4),HL
92 sub_list.string_id = g_comval.langid;
\ 0131 3A0C00 LD A,(g_comval+12)
\ 0134 320800 LD (sub_list+8),A
93 sub_list.headid = menuStr[list.active];
\ 0137 2A0400 LD HL,(list+4)
\ 013A 29 ADD HL,HL
\ 013B 010000 LD BC,menuStr
\ 013E 09 ADD HL,BC
\ 013F 46 LD B,(HL)
\ 0140 23 INC HL
\ 0141 66 LD H,(HL)
\ 0142 68 LD L,B
\ 0143 220600 LD (sub_list+6),HL
94 result = ui_bookmark_list(&sub_list, NULL);
\ 0146 0E00 LD C,0
\ 0148 C5 PUSH BC
\ 0149 69 LD L,C
\ 014A 61 LD H,C
\ 014B E5 PUSH HL
\ 014C 110000 LD DE,sub_list
\ 014F 3E00 LD A,BYTE3 ui_bookmark_list
\ 0151 210000 LD HL,LWRD ui_bookmark_list
\ 0154 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0157 F1 POP AF
\ 0158 F1 POP AF
\ 0159 E5 PUSH HL
\ 015A FDE1 POP IY
95
96 if( result != 0 )
\ 015C 7D LD A,L
\ 015D B4 OR H
\ 015E 280E JR Z,?0024
\ 0160 ?0023:
97 {
98 close_bookmark();
\ 0160 ?0039:
\ 0160 3E00 LD A,BYTE3 close_bookmark
\ 0162 210000 LD HL,LWRD close_bookmark
\ 0165 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
99 return result;
\ 0168 ?0038:
\ 0168 FDE5 PUSH IY
\ 016A E1 POP HL
100 }
\ 016B C32B02 JP LWRD ?0032
\ 016E ?0024:
101
102 active = sub_list.active;
\ 016E 2A0400 LD HL,(sub_list+4)
\ 0171 DD75DC LD (IX-36),L
103 if( active >= MAX_BKMARK_NUM )
\ 0174 011080 LD BC,32784
\ 0177 78 LD A,B
\ 0178 AC XOR H
\ 0179 67 LD H,A
\ 017A ED42 SBC HL,BC
\ 017C 380E JR C,?0026
\ 017E ?0025:
104 {
105 close_bookmark();
\ 017E ?0043:
\ 017E 3E00 LD A,BYTE3 close_bookmark
\ 0180 210000 LD HL,LWRD close_bookmark
\ 0183 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
106 return RESULT_IGNORE;
\ 0186 C32802 JP LWRD ?0031
107 }
\ 0189 C32B02 JP LWRD ?0032
\ 018C ?0026:
108
109 /* del the bookmark */
110 del_bookmark_id(active);
\ 018C DD5EDC LD E,(IX-36)
\ 018F 3E00 LD A,BYTE3 del_bookmark_id
\ 0191 210000 LD HL,LWRD del_bookmark_id
\ 0194 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0197 ?0022:
\ 0197 187C JR ?0029
\ 0199 ?0019:
111 // FIXME:
112 // reload content and display bookmark list
113 }
114 }
115 else if(list.active == 2)
\ 0199 3E02 LD A,2
\ 019B AD XOR L
\ 019C B4 OR H
\ 019D 2076 JR NZ,?0029
\ 019F ?0028:
116 {
117 /* insert bookmark */
118 /* add the bookmark */
119 long CurrentLen_bak,PrevLen_bak;
120 CurrentLen_bak=g_reader_vars.g_txt.CurrentSeek;
\ 019F 213B00 LD HL,g_reader_vars+59
\ 01A2 5E LD E,(HL)
\ 01A3 23 INC HL
\ 01A4 56 LD D,(HL)
\ 01A5 23 INC HL
\ 01A6 4E LD C,(HL)
\ 01A7 23 INC HL
\ 01A8 46 LD B,(HL)
\ 01A9 EB EX DE,HL
\ 01AA DD75DF LD (IX-33),L
\ 01AD DD74E0 LD (IX-32),H
\ 01B0 DD71E1 LD (IX-31),C
\ 01B3 DD70E2 LD (IX-30),B
121 PrevLen_bak=g_reader_vars.g_txt.PrevSeek;
\ 01B6 213700 LD HL,g_reader_vars+55
\ 01B9 5E LD E,(HL)
\ 01BA 23 INC HL
\ 01BB 56 LD D,(HL)
\ 01BC 23 INC HL
\ 01BD 4E LD C,(HL)
\ 01BE 23 INC HL
\ 01BF 46 LD B,(HL)
\ 01C0 EB EX DE,HL
\ 01C1 DD75E3 LD (IX-29),L
\ 01C4 DD74E4 LD (IX-28),H
\ 01C7 DD71E5 LD (IX-27),C
\ 01CA DD70E6 LD (IX-26),B
122 /*
123 if(g_reader_vars.g_txt.BufSector==0&&g_reader_vars.g_txt.PrevSeek==0) //第一屏
124 {
125 g_reader_vars.g_txt.CurrentSeek=0;
126 }
127 else
128 {
129 view_page_up(&g_reader_vars.g_txt,NULL);
130 view_page_down(&g_reader_vars.g_txt, 1,NULL ); // 读当前屏到buffer,计算当前屏
131 */
132 g_reader_vars.g_txt.CurrentSeek=g_reader_vars.g_txt.PrevSeek; //取当前屏第一行的位置
\ 01CD 213700 LD HL,g_reader_vars+55
\ 01D0 5E LD E,(HL)
\ 01D1 23 INC HL
\ 01D2 56 LD D,(HL)
\ 01D3 EB EX DE,HL
\ 01D4 223B00 LD (g_reader_vars+59),HL
\ 01D7 ED433D00 LD (g_reader_vars+61),BC
133 add_bookmark(&g_reader_vars.g_txt, NULL, 0xFFFFFFFF);
\ 01DB 21FFFF LD HL,65535
\ 01DE E5 PUSH HL
\ 01DF E5 PUSH HL
\ 01E0 4F LD C,A
\ 01E1 47 LD B,A
\ 01E2 113100 LD DE,g_reader_vars+49
\ 01E5 3E00 LD A,BYTE3 add_bookmark
\ 01E7 210000 LD HL,LWRD add_bookmark
\ 01EA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01ED F1 POP AF
\ 01EE F1 POP AF
134 g_reader_vars.g_txt.CurrentSeek=CurrentLen_bak;
\ 01EF DD4EE1 LD C,(IX-31)
\ 01F2 DD46E2 LD B,(IX-30)
\ 01F5 DD6EDF LD L,(IX-33)
\ 01F8 DD66E0 LD H,(IX-32)
\ 01FB 223B00 LD (g_reader_vars+59),HL
\ 01FE ED433D00 LD (g_reader_vars+61),BC
135 g_reader_vars.g_txt.PrevSeek=PrevLen_bak;
\ 0202 DD4EE5 LD C,(IX-27)
\ 0205 DD46E6 LD B,(IX-26)
\ 0208 DD6EE3 LD L,(IX-29)
\ 020B DD66E4 LD H,(IX-28)
\ 020E 223700 LD (g_reader_vars+55),HL
\ 0211 ED433900 LD (g_reader_vars+57),BC
\ 0215 ?0029:
\ 0215 ?0027:
\ 0215 ?0017:
136 // }
137 // FIXME:
138 // reload content and display bookmark list
139 }
140
141 close_bookmark();
\ 0215 3E00 LD A,BYTE3 close_bookmark
\ 0217 210000 LD HL,LWRD close_bookmark
\ 021A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
142 if(list.active == 0)
\ 021D 2A0400 LD HL,(list+4)
\ 0220 7D LD A,L
\ 0221 B4 OR H
\ 0222 2004 JR NZ,?0031
\ 0224 ?0030:
143 return 0;
\ 0224 6F LD L,A
\ 0225 67 LD H,A
144 else
\ 0226 1803 JR ?0032
\ 0228 ?0031:
145 return RESULT_IGNORE;
\ 0228 213400 LD HL,52
146 }
\ 022B ?0032:
\ 022B DDF9 LD SP,IX
\ 022D DDE1 POP IX
\ 022F FDE1 POP IY
\ 0231 D1 POP DE
\ 0232 C1 POP BC
\ 0233 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0236 ?0044:
\ 0236 01AA01 LD BC,426
\ 0239 59 LD E,C
\ 023A 50 LD D,B
\ 023B 3E00 LD A,BYTE3 ui_err_msg
\ 023D 210000 LD HL,LWRD ui_err_msg
\ 0240 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
147
148 #pragma function = default
\ 0000 RSEG IDATA0
\ 0000 menuStr:
\ 0008 DEFS 8
\ 0000 RSEG CDATA0
\ 0000 A601 DEFW 422
\ 0002 A801 DEFW 424
\ 0004 A701 DEFW 423
\ 0006 D101 DEFW 465
\ 0008 END
Errors: none
Warnings: none
Code size: 579
Constant size: 8
Static variable size: Data(8) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -