📄 musicedit_sel.lst
字号:
\ 0106 2A0600 LD HL,(FileDataBuff+6)
\ 0109 29 ADD HL,HL
\ 010A 29 ADD HL,HL
\ 010B 29 ADD HL,HL
\ 010C 29 ADD HL,HL
\ 010D 29 ADD HL,HL
\ 010E 110000 LD DE,FileDataBuff
\ 0111 19 ADD HL,DE
\ 0112 114100 LD DE,65
\ 0115 19 ADD HL,DE
\ 0116 EB EX DE,HL
\ 0117 DD6E0A LD L,(IX+10)
\ 011A DD660B LD H,(IX+11)
\ 011D EDB0 LDIR
63 memcpy(&(pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].EndTime),SelSeg->EndTime,sizeof(time_t));
\ 011F 0E03 LD C,3
\ 0121 2A0600 LD HL,(FileDataBuff+6)
\ 0124 29 ADD HL,HL
\ 0125 29 ADD HL,HL
\ 0126 29 ADD HL,HL
\ 0127 29 ADD HL,HL
\ 0128 29 ADD HL,HL
\ 0129 110000 LD DE,FileDataBuff
\ 012C 19 ADD HL,DE
\ 012D 114400 LD DE,68
\ 0130 19 ADD HL,DE
\ 0131 EB EX DE,HL
\ 0132 DD6E0C LD L,(IX+12)
\ 0135 DD660D LD H,(IX+13)
\ 0138 EDB0 LDIR
64
65 (pMusicEditIniFile->CurSelSegmemtNO)++;
\ 013A 2A0600 LD HL,(FileDataBuff+6)
\ 013D 23 INC HL
\ 013E 220600 LD (FileDataBuff+6),HL
66 if(pMusicEditIniFile->CurSelSegmemtNO>=MUSICEDIT_MAXSELSEG)
\ 0141 2A0600 LD HL,(FileDataBuff+6)
\ 0144 010C80 LD BC,32780
\ 0147 78 LD A,B
\ 0148 AC XOR H
\ 0149 67 LD H,A
\ 014A ED42 SBC HL,BC
\ 014C 3806 JR C,?0009
\ 014E ?0008:
67 pMusicEditIniFile->CurSelSegmemtNO=0;
\ 014E 210000 LD HL,0
\ 0151 220600 LD (FileDataBuff+6),HL
\ 0154 ?0009:
68
69 if(pMusicEditIniFile->SelSegmemtCount<MUSICEDIT_MAXSELSEG)
\ 0154 2A0400 LD HL,(FileDataBuff+4)
\ 0157 78 LD A,B
\ 0158 AC XOR H
\ 0159 67 LD H,A
\ 015A ED42 SBC HL,BC
\ 015C 3007 JR NC,?0011
\ 015E ?0010:
70 (pMusicEditIniFile->SelSegmemtCount)++;
\ 015E 2A0400 LD HL,(FileDataBuff+4)
\ 0161 23 INC HL
\ 0162 220400 LD (FileDataBuff+4),HL
\ 0165 ?0011:
71
72 FS_FWrite(FileDataBuff,1,temphfile);
\ 0165 FDE5 PUSH IY
\ 0167 0E01 LD C,1
\ 0169 110000 LD DE,FileDataBuff
\ 016C CD0000 CALL LWRD FS_FWrite
\ 016F E1 POP HL
73 FS_FClose(temphfile);
\ 0170 CDCF01 CALL LWRD ?0036
74
75 FS_SetCurDir(CurDirBackup);
76
77 output8(0x27,IMK_Reg);
\ 0173 39 ADD HL,SP
\ 0174 7E LD A,(HL)
\ 0175 D327 OUT (39),A
78
79 return TRUE;
\ 0177 2E01 LD L,1
80 }
\ 0179 ?0012:
\ 0179 F1 POP AF
\ 017A DDE1 POP IX
\ 017C FDE1 POP IY
\ 017E C1 POP BC
\ 017F C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0182 ?0032:
\ 0182 77 LD (HL),A
\ 0183 AF XOR A
\ 0184 D327 OUT (39),A
\ 0186 CD0000 CALL LWRD FS_GetCurDir
\ 0189 220002 LD (CurDirBackup),HL
\ 018C ED430202 LD (CurDirBackup+2),BC
\ 0190 110C00 LD DE,sSelRootDir
\ 0193 CD0000 CALL LWRD FS_CD
\ 0196 0E00 LD C,0
\ 0198 110000 LD DE,sMusicEditIniFileName
\ 019B CD0000 CALL LWRD FS_FOpen
\ 019E E5 PUSH HL
\ 019F FDE1 POP IY
\ 01A1 7D LD A,L
\ 01A2 B4 OR H
\ 01A3 C9 RET
\ 01A4 ?0033:
\ 01A4 ED4B0202 LD BC,(CurDirBackup+2)
\ 01A8 ED5B0002 LD DE,(CurDirBackup)
\ 01AC CD0000 CALL LWRD FS_SetCurDir
\ 01AF FDE5 PUSH IY
\ 01B1 D1 POP DE
\ 01B2 CD0000 CALL LWRD FS_FClose
\ 01B5 210000 LD HL,0
\ 01B8 C9 RET
\ 01B9 ?0034:
\ 01B9 7E LD A,(HL)
\ 01BA D327 OUT (39),A
\ 01BC 118E01 LD DE,398
\ 01BF 3E00 LD A,BYTE3 DisplayErrInfor
\ 01C1 210000 LD HL,LWRD DisplayErrInfor
\ 01C4 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 01C7 ?0035:
\ 01C7 0E01 LD C,1
\ 01C9 110000 LD DE,FileDataBuff
\ 01CC C30000 JP LWRD FS_FRead
\ 01CF ?0036:
\ 01CF FDE5 PUSH IY
\ 01D1 D1 POP DE
\ 01D2 CD0000 CALL LWRD FS_FClose
\ 01D5 ED4B0202 LD BC,(CurDirBackup+2)
\ 01D9 ED5B0002 LD DE,(CurDirBackup)
\ 01DD CD0000 CALL LWRD FS_SetCurDir
\ 01E0 210000 LD HL,0
\ 01E3 C9 RET
\ 01E4 SetDealCommamd:
81
82 /****************************************************************
83 *Description: save the current edit file information and command
84 *Arguments:
85 * CurSeg:current edit file
86 * Cmd:command
87 * CmdPara:command parameter
88 * Returns:
89 * TRUE: Successful,
90 * FALSE: Fail.
91 * Notes:
92 ****************************************************************/
93 BOOL SetDealCommamd(STRU_SelMusicSegment *CurSeg,int Cmd,int CmdPara)
94 {
\ 01E4 FDE5 PUSH IY
\ 01E6 DDE5 PUSH IX
\ 01E8 C5 PUSH BC
\ 01E9 F5 PUSH AF
\ 01EA D5 PUSH DE
\ 01EB DDE1 POP IX
95 HANDLE temphfile;
96 uchar IMK_Reg;
97
98 IMK_Reg=input8(0x27);
\ 01ED DB27 IN A,(39)
\ 01EF 210000 LD HL,0
\ 01F2 39 ADD HL,SP
99 output8(0x27,0);
100
101 CurDirBackup=FS_GetCurDir();
\ 01F3 CD8201 CALL LWRD ?0032
102 FS_CD(sSelRootDir);
103
104 temphfile=FS_FOpen(sMusicEditIniFileName,FS_OPEN_NORMAL);
105 if(temphfile==NULL)
\ 01F6 200C JR NZ,?0014
\ 01F8 ?0013:
106 {
107 FS_SetCurDir(CurDirBackup);
\ 01F8 CDA401 CALL LWRD ?0033
108 FS_FClose(temphfile);
109 output8(0x27,IMK_Reg);
\ 01FB 39 ADD HL,SP
110 DisplayErrInfor(NOSLFILE);
\ 01FC CDB901 CALL LWRD ?0034
111 return FALSE;
\ 01FF 2E00 LD L,0
112 }
\ 0201 C3B202 JP LWRD ?0017
\ 0204 ?0014:
113 FS_FRead(FileDataBuff,1,temphfile);
\ 0204 FDE5 PUSH IY
\ 0206 CDC701 CALL LWRD ?0035
\ 0209 E1 POP HL
114
115 pMusicEditIniFile->EditCommand=Cmd;
\ 020A 210200 LD HL,2
\ 020D 39 ADD HL,SP
\ 020E 46 LD B,(HL)
\ 020F 23 INC HL
\ 0210 66 LD H,(HL)
\ 0211 68 LD L,B
\ 0212 220000 LD (FileDataBuff),HL
116 pMusicEditIniFile->EditCmdPara=CmdPara;
\ 0215 210C00 LD HL,12
\ 0218 39 ADD HL,SP
\ 0219 46 LD B,(HL)
\ 021A 23 INC HL
\ 021B 66 LD H,(HL)
\ 021C 68 LD L,B
\ 021D 220200 LD (FileDataBuff+2),HL
117 if(CurSeg!=NULL)
\ 0220 DDE5 PUSH IX
\ 0222 E1 POP HL
\ 0223 7D LD A,L
\ 0224 B4 OR H
\ 0225 2877 JR Z,?0016
\ 0227 ?0015:
118 {
119 pMusicEditIniFile->CurMusicEditSeg.StartSec=CurSeg->StartSec;
\ 0227 5E LD E,(HL)
\ 0228 23 INC HL
\ 0229 56 LD D,(HL)
\ 022A 23 INC HL
\ 022B 4E LD C,(HL)
\ 022C 23 INC HL
\ 022D 46 LD B,(HL)
\ 022E EB EX DE,HL
\ 022F 221900 LD (FileDataBuff+25),HL
\ 0232 ED431B00 LD (FileDataBuff+27),BC
120 pMusicEditIniFile->CurMusicEditSeg.EndSec=CurSeg->EndSec;
\ 0236 DD4E06 LD C,(IX+6)
\ 0239 DD4607 LD B,(IX+7)
\ 023C DD6E04 LD L,(IX+4)
\ 023F DD6605 LD H,(IX+5)
\ 0242 221D00 LD (FileDataBuff+29),HL
\ 0245 ED431F00 LD (FileDataBuff+31),BC
121 pMusicEditIniFile->CurMusicEditSeg.bSelected=TRUE;
\ 0249 3E01 LD A,1
\ 024B 322700 LD (FileDataBuff+39),A
122 pMusicEditIniFile->CurMusicEditSeg.Disk=CurSeg->location->disk;
\ 024E DD6E08 LD L,(IX+8)
\ 0251 DD6609 LD H,(IX+9)
\ 0254 7E LD A,(HL)
\ 0255 320800 LD (FileDataBuff+8),A
123 pMusicEditIniFile->CurMusicEditSeg.ClusterNo=CurSeg->location->ClusterNo;
\ 0258 DD6E08 LD L,(IX+8)
\ 025B DD6609 LD H,(IX+9)
\ 025E 010900 LD BC,9
\ 0261 09 ADD HL,BC
\ 0262 5E LD E,(HL)
\ 0263 23 INC HL
\ 0264 56 LD D,(HL)
\ 0265 23 INC HL
\ 0266 4E LD C,(HL)
\ 0267 23 INC HL
\ 0268 46 LD B,(HL)
\ 0269 EB EX DE,HL
\ 026A 220900 LD (FileDataBuff+9),HL
\ 026D ED430B00 LD (FileDataBuff+11),BC
124 memcpy(&(pMusicEditIniFile->CurMusicEditSeg.FileName),CurSeg->location->filename,12);
\ 0271 010C00 LD BC,12
\ 0274 110D00 LD DE,FileDataBuff+13
\ 0277 DD6E08 LD L,(IX+8)
\ 027A DD6609 LD H,(IX+9)
\ 027D 0E1A LD C,26
\ 027F 09 ADD HL,BC
\ 0280 0E0C LD C,12
\ 0282 EDB0 LDIR
125 memcpy(&(pMusicEditIniFile->CurMusicEditSeg.StartTime),CurSeg->StartTime,sizeof(time_t));
\ 0284 0E03 LD C,3
\ 0286 112100 LD DE,FileDataBuff+33
\ 0289 DD6E0A LD L,(IX+10)
\ 028C DD660B LD H,(IX+11)
\ 028F EDB0 LDIR
126 memcpy(&(pMusicEditIniFile->CurMusicEditSeg.EndTime),CurSeg->EndTime,sizeof(time_t));
\ 0291 0E03 LD C,3
\ 0293 112400 LD DE,FileDataBuff+36
\ 0296 DD6E0C LD L,(IX+12)
\ 0299 DD660D LD H,(IX+13)
\ 029C EDB0 LDIR
\ 029E ?0016:
127 }
128 FS_FWrite(FileDataBuff,1,temphfile);
\ 029E FDE5 PUSH IY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -