📄 bookmarklst.lst
字号:
66 * Description : show the bookmark list
67 *
68 * Arguments :
69 * Old_active: the last selected
70 * active: current selected
71 * string_id: language id
72 * Returns :
73 * nane
74 * Notes :
75 *
76 ********************************************************************************/
77 void ShowBookMarkList(int Old_active,int active,BYTE string_id,BYTE mode)
78 {
\ 00E3 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 00E6 F0FF DEFW 65520
\ 00E8 FDE5 PUSH IY
\ 00EA C5 PUSH BC
\ 00EB FDE1 POP IY
79 BYTE ItemCount;
80 BYTE pPageHead;
81 BYTE pRow;
82 BYTE ActiveRow;
83 char BmkItemInfor[11];
84
85 // SetAsciiFont(FONT_TYPE_SMALL);
86 SetTextOutMode(1);
\ 00ED 1E01 LD E,1
\ 00EF CD0000 CALL LWRD SetTextOutMode
87
88 if((active/6)!=(Old_active/6)) //not the same page
\ 00F2 010600 LD BC,6
\ 00F5 FDE5 PUSH IY
\ 00F7 D1 POP DE
\ 00F8 CD0000 CALL LWRD ?SS_DIV_L02
\ 00FB D5 PUSH DE
\ 00FC DD5E02 LD E,(IX+2)
\ 00FF DD5603 LD D,(IX+3)
\ 0102 CD0000 CALL LWRD ?SS_DIV_L02
\ 0105 EB EX DE,HL
\ 0106 D1 POP DE
\ 0107 A7 AND A
\ 0108 ED52 SBC HL,DE
\ 010A 2809 JR Z,?0014
\ 010C ?0013:
89 Old_active=active;
\ 010C FDE5 PUSH IY
\ 010E E1 POP HL
\ 010F DD7502 LD (IX+2),L
\ 0112 DD7403 LD (IX+3),H
\ 0115 ?0014:
90
91 if(Old_active!=active)
\ 0115 FDE5 PUSH IY
\ 0117 E1 POP HL
\ 0118 DD4E02 LD C,(IX+2)
\ 011B DD4603 LD B,(IX+3)
\ 011E A7 AND A
\ 011F ED42 SBC HL,BC
\ 0121 CAC401 JP Z,?0016
\ 0124 ?0015:
92 {
93 //清除旧的活动列表项
94 pRow=Old_active%6;
\ 0124 010600 LD BC,6
\ 0127 DD5E02 LD E,(IX+2)
\ 012A DD5603 LD D,(IX+3)
\ 012D CDBF02 CALL LWRD ?0076
95 ResShowPic(menulist_bck_pic[pRow], menu_bck_x_def, menu_pos_list[pRow]-4);
\ 0130 C5 PUSH BC
\ 0131 0E09 LD C,9
\ 0133 6B LD L,E
\ 0134 60 LD H,B
\ 0135 29 ADD HL,HL
\ 0136 110000 LD DE,menulist_bck_pic
\ 0139 19 ADD HL,DE
\ 013A 5E LD E,(HL)
\ 013B 23 INC HL
\ 013C 56 LD D,(HL)
\ 013D CDD402 CALL LWRD ?0077
\ 0140 F1 POP AF
96 ResShowPic(DHT,194,8);
\ 0141 0E08 LD C,8
\ 0143 C5 PUSH BC
\ 0144 0EC2 LD C,194
\ 0146 112600 LD DE,38
\ 0149 CDD402 CALL LWRD ?0077
\ 014C F1 POP AF
97 ResShowPic(MFILE, explorer_pic_x_def, menu_pos_list[pRow]-1);
\ 014D DD4EF0 LD C,(IX-16)
\ 0150 0600 LD B,0
\ 0152 210000 LD HL,menu_pos_list
\ 0155 09 ADD HL,BC
\ 0156 7E LD A,(HL)
\ 0157 C6FF ADD A,255
\ 0159 4F LD C,A
\ 015A C5 PUSH BC
\ 015B CDCF02 CALL LWRD ?0078
\ 015E F1 POP AF
98 SetTextPos(explorer_str_x_def, menu_pos_list[pRow]-2);
\ 015F CDDC02 CALL LWRD ?0079
99 GetBooKMarkItem(BmkItemInfor,Old_active);
\ 0162 DD4E02 LD C,(IX+2)
\ 0165 DD4603 LD B,(IX+3)
\ 0168 210600 LD HL,6
\ 016B 39 ADD HL,SP
\ 016C CDEE02 CALL LWRD ?0080
100 SetPenColor(Color_WHITE_def); //取列表名
101 PutS(BmkItemInfor,-1);
\ 016F 39 ADD HL,SP
\ 0170 EB EX DE,HL
\ 0171 CD0000 CALL LWRD PutS
102 //显示当前活动项
103 pRow=active%6;
\ 0174 010600 LD BC,6
\ 0177 FDE5 PUSH IY
\ 0179 D1 POP DE
\ 017A CDBF02 CALL LWRD ?0076
104 ResShowPic(FILEBCK, explorer_str_x_def-2, menu_pos_list[pRow]-4);
\ 017D C5 PUSH BC
\ 017E 0E1E LD C,30
\ 0180 1E2C LD E,44
\ 0182 CDD402 CALL LWRD ?0077
\ 0185 F1 POP AF
105 ResShowPic(MFILE, explorer_pic_x_def, menu_pos_list[pRow]-1);
\ 0186 DD4EF0 LD C,(IX-16)
\ 0189 0600 LD B,0
\ 018B 210000 LD HL,menu_pos_list
\ 018E 09 ADD HL,BC
\ 018F 7E LD A,(HL)
\ 0190 C6FF ADD A,255
\ 0192 4F LD C,A
\ 0193 C5 PUSH BC
\ 0194 CDCF02 CALL LWRD ?0078
\ 0197 F1 POP AF
106 ResShowPic(DHTHK,194, menu_pos_list[pRow]+5);
\ 0198 DD4EF0 LD C,(IX-16)
\ 019B 0600 LD B,0
\ 019D 210000 LD HL,menu_pos_list
\ 01A0 09 ADD HL,BC
\ 01A1 7E LD A,(HL)
\ 01A2 C605 ADD A,5
\ 01A4 4F LD C,A
\ 01A5 C5 PUSH BC
\ 01A6 0EC2 LD C,194
\ 01A8 112700 LD DE,39
\ 01AB CDD402 CALL LWRD ?0077
\ 01AE F1 POP AF
107 SetTextPos(explorer_str_x_def, menu_pos_list[pRow]-2);
\ 01AF CDDC02 CALL LWRD ?0079
108 GetBooKMarkItem(BmkItemInfor,active);
\ 01B2 FDE5 PUSH IY
\ 01B4 C1 POP BC
\ 01B5 210600 LD HL,6
\ 01B8 39 ADD HL,SP
\ 01B9 CDEE02 CALL LWRD ?0080
109 SetPenColor(Color_WHITE_def); //取列表名
110 PutS(BmkItemInfor,-1);
\ 01BC 39 ADD HL,SP
\ 01BD EB EX DE,HL
\ 01BE CD0000 CALL LWRD PutS
111 }
112 else //if(Old_active==active) 刷新一页屏
\ 01C1 C3B702 JP LWRD ?0023
\ 01C4 ?0016:
113 {
114 SetTextOutMode(1);
\ 01C4 1E01 LD E,1
\ 01C6 CD0000 CALL LWRD SetTextOutMode
115 ResShowPic(MENUTWO,0,0);
\ 01C9 0E00 LD C,0
\ 01CB C5 PUSH BC
\ 01CC 11C300 LD DE,195
\ 01CF CDD402 CALL LWRD ?0077
\ 01D2 F1 POP AF
116 SetPenColor(Color_WHITE_def);
\ 01D3 CD0603 CALL LWRD ?0081
117 if(mode==MUSICBOOKMARK_SELECT)
\ 01D6 DD460C LD B,(IX+12)
\ 01D9 05 DEC B
\ 01DA 0E94 LD C,148
\ 01DC C5 PUSH BC
\ 01DD 0E16 LD C,22
\ 01DF C5 PUSH BC
\ 01E0 DD4E0A LD C,(IX+10)
\ 01E3 2005 JR NZ,?0019
\ 01E5 ?0018:
118 ResShowMultiString(MEB2,string_id, list_str_x_def, list_str_y_def);//显示菜单头
\ 01E5 11A601 LD DE,422
\ 01E8 1803 JR ?0068
119 else
\ 01EA ?0019:
120 ResShowMultiString(MEB4,string_id, list_str_x_def, list_str_y_def);//显示菜单头
\ 01EA 11A801 LD DE,424
\ 01ED ?0068:
\ 01ED 3E00 LD A,BYTE3 ResShowMultiString
\ 01EF 210000 LD HL,LWRD ResShowMultiString
\ 01F2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F5 F1 POP AF
\ 01F6 F1 POP AF
\ 01F7 ?0020:
121 ResShowPic(DHT,194,8);
\ 01F7 0E08 LD C,8
\ 01F9 C5 PUSH BC
\ 01FA 0EC2 LD C,194
\ 01FC 112600 LD DE,38
\ 01FF CDD402 CALL LWRD ?0077
\ 0202 F1 POP AF
122 //显示列表名
123 pPageHead=(active/6)*6;
\ 0203 010600 LD BC,6
\ 0206 FDE5 PUSH IY
\ 0208 D1 POP DE
\ 0209 CD0000 CALL LWRD ?SS_DIV_L02
\ 020C 7B LD A,E
\ 020D 87 ADD A,A
\ 020E 47 LD B,A
\ 020F 87 ADD A,A
\ 0210 80 ADD A,B
\ 0211 DD77F2 LD (IX-14),A
124 ItemCount=BookMarkBuff.RecordCount-pPageHead;
\ 0214 3A0200 LD A,(BookMarkBuff+2)
\ 0217 DD96F2 SUB (IX-14)
\ 021A DD77F1 LD (IX-15),A
125 if(ItemCount>6)
\ 021D 47 LD B,A
\ 021E 79 LD A,C
\ 021F B8 CP B
\ 0220 3003 JR NC,?0022
\ 0222 ?0021:
126 ItemCount=6;
\ 0222 DD71F1 LD (IX-15),C
\ 0225 ?0022:
127 ActiveRow=active%6;
\ 0225 0600 LD B,0
\ 0227 FDE5 PUSH IY
\ 0229 D1 POP DE
\ 022A CD0000 CALL LWRD ?SS_MOD_L02
\ 022D DD73F3 LD (IX-13),E
128
129 for(pRow=0;pRow<ItemCount;pRow++)
\ 0230 DD70F0 LD (IX-16),B
\ 0233 ?0024:
\ 0233 DD7EF0 LD A,(IX-16)
\ 0236 DDBEF1 CP (IX-15)
\ 0239 307C JR NC,?0023
\ 023B ?0025:
130 {
131 output8(0x4e,input8(0x4e) | 0x08);
\ 023B DB4E IN A,(78)
\ 023D CBDF SET 3,A
\ 023F D34E OUT (78),A
132 GetBooKMarkItem(BmkItemInfor,(pPageHead+pRow));
\ 0241 DD6EF0 LD L,(IX-16)
\ 0244 0600 LD B,0
\ 0246 50 LD D,B
\ 0247 DD5EF2 LD E,(IX-14)
\ 024A 60 LD H,B
\ 024B 19 ADD HL,DE
\ 024C 4D LD C,L
\ 024D 44 LD B,H
\ 024E 210600 LD HL,6
\ 0251 39 ADD HL,SP
\ 0252 EB EX DE,HL
\ 0253 3E00 LD A,BYTE3 GetBooKMarkItem
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -