📄 bookmarkdel.lst
字号:
\ 01E8 ED42 SBC HL,BC
\ 01EA 3020 JR NC,?0059
\ 01EC ?0037:
127 memcpy(&pMusicBookMarkFileD->MusicBreakPoint[SelIndex],&pMusicBookMarkFileD->MusicBreakPoint[SelIndex+1],(((MUSICBOOKMARK_MAX-1)-SelIndex)*sizeof(STRU_MusicBreakPoint)));
\ 01EC DDE5 PUSH IX
\ 01EE C1 POP BC
\ 01EF 210B00 LD HL,11
\ 01F2 A7 AND A
\ 01F3 ED42 SBC HL,BC
\ 01F5 EB EX DE,HL
\ 01F6 011E00 LD BC,30
\ 01F9 CD0000 CALL LWRD ?S_MUL_L02
\ 01FC D5 PUSH DE
\ 01FD CDAB02 CALL LWRD ?0075
\ 0200 D5 PUSH DE
\ 0201 CDBD02 CALL LWRD ?0076
\ 0204 D1 POP DE
\ 0205 C1 POP BC
\ 0206 79 LD A,C
\ 0207 B0 OR B
\ 0208 2802 JR Z,?0059
\ 020A EDB0 LDIR
\ 020C ?0059:
\ 020C ?0038:
128
129 if(StartIndex!=0)
\ 020C FDE5 PUSH IY
\ 020E E1 POP HL
\ 020F 7D LD A,L
\ 0210 B4 OR H
\ 0211 2844 JR Z,?0061
\ 0213 ?0039:
130 {
131 memcpy(&pMusicBookMarkFileD->MusicBreakPoint[MUSICBOOKMARK_MAX-1],&pMusicBookMarkFileD->MusicBreakPoint[0],sizeof(STRU_MusicBreakPoint));
\ 0213 011E00 LD BC,30
\ 0216 115101 LD DE,BMKFileDataBuffD+334
\ 0219 210700 LD HL,BMKFileDataBuffD+4
\ 021C EDB0 LDIR
132 memcpy(&pMusicBookMarkFileD->MusicBreakPoint[0],&pMusicBookMarkFileD->MusicBreakPoint[1],((StartIndex-1)*sizeof(STRU_MusicBreakPoint)));
\ 021E FDE5 PUSH IY
\ 0220 C1 POP BC
\ 0221 0B DEC BC
\ 0222 111E00 LD DE,30
\ 0225 CD0000 CALL LWRD ?S_MUL_L02
\ 0228 4B LD C,E
\ 0229 79 LD A,C
\ 022A 42 LD B,D
\ 022B 110700 LD DE,BMKFileDataBuffD+4
\ 022E 212500 LD HL,BMKFileDataBuffD+34
\ 0231 B0 OR B
\ 0232 2823 JR Z,?0061
\ 0234 181F JR ?0068
\ 0236 ?0040:
133 }
134 }
135 else
\ 0236 ?0036:
136 {
137 memcpy(&pMusicBookMarkFileD->MusicBreakPoint[SelIndex],&pMusicBookMarkFileD->MusicBreakPoint[SelIndex+1],((StartIndex-SelIndex-1)*sizeof(STRU_MusicBreakPoint)));
\ 0236 DDE5 PUSH IX
\ 0238 C1 POP BC
\ 0239 FDE5 PUSH IY
\ 023B E1 POP HL
\ 023C A7 AND A
\ 023D ED42 SBC HL,BC
\ 023F EB EX DE,HL
\ 0240 1B DEC DE
\ 0241 011E00 LD BC,30
\ 0244 CD0000 CALL LWRD ?S_MUL_L02
\ 0247 D5 PUSH DE
\ 0248 CDAB02 CALL LWRD ?0075
\ 024B D5 PUSH DE
\ 024C CDBD02 CALL LWRD ?0076
\ 024F D1 POP DE
\ 0250 C1 POP BC
\ 0251 79 LD A,C
\ 0252 B0 OR B
\ 0253 2802 JR Z,?0061
\ 0255 ?0068:
\ 0255 EDB0 LDIR
\ 0257 ?0061:
\ 0257 ?0041:
138 }
139
140 (pMusicBookMarkFileD->RecordCount)--;
\ 0257 2A0500 LD HL,(BMKFileDataBuffD+2)
\ 025A 2B DEC HL
\ 025B 220500 LD (BMKFileDataBuffD+2),HL
141
142 if(pMusicBookMarkFileD->CurRecordNO==0)
\ 025E 2A0300 LD HL,(BMKFileDataBuffD)
\ 0261 7D LD A,L
\ 0262 B4 OR H
\ 0263 2005 JR NZ,?0043
\ 0265 ?0042:
143 pMusicBookMarkFileD->CurRecordNO=MUSICBOOKMARK_MAX-1;
\ 0265 210B00 LD HL,11
\ 0268 1804 JR ?0063
144 else
\ 026A ?0043:
145 (pMusicBookMarkFileD->CurRecordNO)--;
\ 026A 2A0300 LD HL,(BMKFileDataBuffD)
\ 026D 2B DEC HL
\ 026E ?0063:
\ 026E 220300 LD (BMKFileDataBuffD),HL
\ 0271 ?0044:
\ 0271 ?0029:
146 }
147
148 FS_FSeek(FileBKSecNo,FS_SEEK_FFROMSTART,hBmkFileD);
\ 0271 2A0000 LD HL,(hBmkFileD)
\ 0274 E5 PUSH HL
\ 0275 0E00 LD C,0
\ 0277 C5 PUSH BC
\ 0278 210400 LD HL,4
\ 027B 39 ADD HL,SP
\ 027C CDA002 CALL LWRD ?0074
\ 027F E1 POP HL
\ 0280 E1 POP HL
149 FS_FWrite(BMKFileDataBuffD,1,hBmkFileD);
\ 0281 2A0000 LD HL,(hBmkFileD)
\ 0284 E5 PUSH HL
\ 0285 0E01 LD C,1
\ 0287 110300 LD DE,BMKFileDataBuffD
\ 028A CD0000 CALL LWRD FS_FWrite
\ 028D E1 POP HL
150 FS_FClose(hBmkFileD);
\ 028E ED5B0000 LD DE,(hBmkFileD)
\ 0292 CD0000 CALL LWRD FS_FClose
151 output8(0x27,BmkIMKD_Reg);
\ 0295 3A0200 LD A,(BmkIMKD_Reg)
\ 0298 D327 OUT (39),A
152
153 return TRUE;
\ 029A 2E01 LD L,1
154
155 }
\ 029C ?0045:
\ 029C F1 POP AF
\ 029D C30001 JP LWRD ?0016
\ 02A0 ?0074:
\ 02A0 5E LD E,(HL)
\ 02A1 23 INC HL
\ 02A2 56 LD D,(HL)
\ 02A3 7A LD A,D
\ 02A4 07 RLCA
\ 02A5 9F SBC A,A
\ 02A6 4F LD C,A
\ 02A7 41 LD B,C
\ 02A8 C30000 JP LWRD FS_FSeek
\ 02AB ?0075:
\ 02AB 59 LD E,C
\ 02AC 50 LD D,B
\ 02AD DDE5 PUSH IX
\ 02AF C1 POP BC
\ 02B0 CD0000 CALL LWRD ?S_MUL_L02
\ 02B3 210300 LD HL,BMKFileDataBuffD
\ 02B6 19 ADD HL,DE
\ 02B7 010400 LD BC,4
\ 02BA 09 ADD HL,BC
\ 02BB EB EX DE,HL
\ 02BC C9 RET
\ 02BD ?0076:
\ 02BD 0E1E LD C,30
\ 02BF DDE5 PUSH IX
\ 02C1 D1 POP DE
\ 02C2 CD0000 CALL LWRD ?S_MUL_L02
\ 02C5 210300 LD HL,BMKFileDataBuffD
\ 02C8 19 ADD HL,DE
\ 02C9 0E22 LD C,34
\ 02CB 09 ADD HL,BC
\ 02CC C9 RET
\ 02CD DeleteBookMark:
156
157 /****************************************************************
158 *Description: delete the BOOKMARK.BMK file
159 * Returns:
160 * TRUE: Successful,
161 * FALSE: Fail.
162 * Notes:
163 ****************************************************************/
164 BOOL DeleteBookMark(void)
165 {
\ 02CD CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 02D0 FCFF DEFW 65532
166 long CurDirBak;
167
168 BmkIMKD_Reg=input8(0x27);
169 output8(0x27,0);
170 CurDirBak=FS_GetCurDir();
\ 02D2 CD4D00 CALL LWRD ?0071
171 FS_CD(sBmkRootD);
\ 02D5 110C00 LD DE,sBmkRootD
\ 02D8 CD0000 CALL LWRD FS_CD
172
173 FS_FRemove(sBmkFileNameD);
\ 02DB 110000 LD DE,sBmkFileNameD
\ 02DE CD0000 CALL LWRD FS_FRemove
174
175 FS_SetCurDir(CurDirBak);
\ 02E1 DD5EFC LD E,(IX-4)
\ 02E4 DD56FD LD D,(IX-3)
\ 02E7 CD0000 CALL LWRD FS_SetCurDir
176 output8(0x27,BmkIMKD_Reg);
\ 02EA 3A0200 LD A,(BmkIMKD_Reg)
\ 02ED D327 OUT (39),A
177 return TRUE;
\ 02EF 2E01 LD L,1
178 }
\ 02F1 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
179
\ 0000 RSEG COM_MUSICBOOKMARKD_C
\ 0000 sBmkFileNameD:
\ 0000 424F4F4B DEFB 'BOOKMARKBMK'
\ 0004 4D41524B
\ 0008 424D4B
\ 000B 00 DEFB 0
\ 000C sBmkRootD:
\ 000C 3A20 DEFB ': '
\ 000E 00 DEFB 0
\ 0000 RSEG COM_MUSICBOOKMARKD_D
\ 0000 hBmkFileD:
\ 0002 DEFS 2
\ 0002 BmkIMKD_Reg:
\ 0003 DEFS 1
\ 0003 BMKFileDataBuffD:
\ 0203 DEFS 512
\ 0203 END
Errors: none
Warnings: none
Code size: 756
Constant size: 15
Static variable size: Data(515) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -