📄 musicedit_sel.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:02 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\common\musicedit_sel.c #
# List file = d:\case_i_d913f\ap\ap_music\list\musicedit_sel.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\musicedit_sel.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\musicedit_sel.s01 #
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K #
# -w -gA -z9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d913f\ap\ap_music\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_music\List\ #
# -ND:\case_i_d913f\ap\ap_music\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# D:\CASE_I_D913F\AP\COMMON\MusicEdit_Sel.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME musicedit_sel(17)
\ 0000 RSEG COM_MUSICEDIT_SEL(0)
\ 0000 RSEG COM_MUSICEDIT_SEL_C(0)
\ 0000 RSEG COM_MUSICEDIT_SEL_D(0)
\ 0000 PUBLIC CreateMEIniFile
\ 0000 PUBLIC CurDirBackup
\ 0000 PUBLIC DeleteAllSelSegment
\ 0000 EXTERN DisplayErrInfor
\ 0000 EXTERN FS_CD
\ 0000 EXTERN FS_FClose
\ 0000 EXTERN FS_FCreate
\ 0000 EXTERN FS_FOpen
\ 0000 EXTERN FS_FRead
\ 0000 EXTERN FS_FRemove
\ 0000 EXTERN FS_FWrite
\ 0000 EXTERN FS_GetCurDir
\ 0000 EXTERN FS_SetCurDir
\ 0000 PUBLIC FileDataBuff
\ 0000 PUBLIC SaveSelSegment
\ 0000 PUBLIC SetDealCommamd
\ 0000 PUBLIC sMusicEditIniFileName
\ 0000 PUBLIC sSelRootDir
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_CMP_L02
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_LEAVE_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?ENT_AUTO_DIRECT_L09
\ 0000 EXTERN ?MEMSET_L11
\ 0000 RSEG COM_MUSICEDIT_SEL
\ 0000 SaveSelSegment:
1 #include <MusicEdit.h>
2 #include "ap_music.h"
3
4 #define pMusicEditIniFile ((STRU_MusicEditIniFile*)FileDataBuff)
5
6 #pragma memory=constseg(COM_MUSICEDIT_SEL_C)
7 const char sMusicEditIniFileName[]="MUSICEDTINI";
8 const char sSelRootDir[]=": ";
9 #pragma memory=default
10
11 #pragma memory=dataseg(COM_MUSICEDIT_SEL_D)
12 char FileDataBuff[512];
13 long CurDirBackup;
14 #pragma memory=default
15
16 #pragma codeseg(COM_MUSICEDIT_SEL)
17
18 /****************************************************************
19 *Description: save selected segment information to music edit INI file
20 *Arguments:
21 * SelSeg:the segment have been saved
22 * Returns:
23 * TRUE: Successful,
24 * FALSE: Fail.
25 * Notes:
26 ****************************************************************/
27 BOOL SaveSelSegment(STRU_SelMusicSegment *SelSeg)
28 {
\ 0000 C5 PUSH BC
\ 0001 FDE5 PUSH IY
\ 0003 DDE5 PUSH IX
\ 0005 F5 PUSH AF
\ 0006 D5 PUSH DE
\ 0007 DDE1 POP IX
29 HANDLE temphfile;
30 uchar IMK_Reg;
31
32 IMK_Reg=input8(0x27);
\ 0009 DB27 IN A,(39)
\ 000B 210000 LD HL,0
\ 000E 39 ADD HL,SP
33 output8(0x27,0);
34
35 CurDirBackup=FS_GetCurDir();
\ 000F CD8201 CALL LWRD ?0032
36 FS_CD(sSelRootDir);
37
38 temphfile=FS_FOpen(sMusicEditIniFileName,FS_OPEN_NORMAL);
39 if(temphfile==NULL)
\ 0012 200C JR NZ,?0003
\ 0014 ?0002:
40 {
41 FS_SetCurDir(CurDirBackup);
\ 0014 CDA401 CALL LWRD ?0033
42 FS_FClose(temphfile);
43 output8(0x27,IMK_Reg);
\ 0017 39 ADD HL,SP
44 DisplayErrInfor(NOSLFILE);
\ 0018 CDB901 CALL LWRD ?0034
45 return FALSE;
\ 001B 2E00 LD L,0
46 }
\ 001D C37901 JP LWRD ?0012
\ 0020 ?0003:
47
48 FS_FRead(FileDataBuff,1,temphfile);
\ 0020 FDE5 PUSH IY
\ 0022 CDC701 CALL LWRD ?0035
\ 0025 E1 POP HL
49
50 if((pMusicEditIniFile->CurSelSegmemtNO>=MUSICEDIT_MAXSELSEG)||(pMusicEditIniFile->SelSegmemtCount>MUSICEDIT_MAXSELSEG))
\ 0026 2A0600 LD HL,(FileDataBuff+6)
\ 0029 010C80 LD BC,32780
\ 002C 78 LD A,B
\ 002D AC XOR H
\ 002E 67 LD H,A
\ 002F ED42 SBC HL,BC
\ 0031 300C JR NC,?0006
\ 0033 ED4B0400 LD BC,(FileDataBuff+4)
\ 0037 210C00 LD HL,12
\ 003A CD0000 CALL LWRD ?SS_CMP_L02
\ 003D 3009 JR NC,?0005
\ 003F ?0006:
\ 003F ?0007:
\ 003F ?0004:
51 {
52 pMusicEditIniFile->CurSelSegmemtNO=0;
\ 003F 210000 LD HL,0
\ 0042 220600 LD (FileDataBuff+6),HL
53 pMusicEditIniFile->SelSegmemtCount=0;
\ 0045 220400 LD (FileDataBuff+4),HL
\ 0048 ?0005:
54 }
55
56 pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].StartSec=SelSeg->StartSec;
\ 0048 2A0600 LD HL,(FileDataBuff+6)
\ 004B 29 ADD HL,HL
\ 004C 29 ADD HL,HL
\ 004D 29 ADD HL,HL
\ 004E 29 ADD HL,HL
\ 004F 29 ADD HL,HL
\ 0050 010000 LD BC,FileDataBuff
\ 0053 09 ADD HL,BC
\ 0054 013900 LD BC,57
\ 0057 09 ADD HL,BC
\ 0058 E5 PUSH HL
\ 0059 DDE5 PUSH IX
\ 005B E1 POP HL
\ 005C 5E LD E,(HL)
\ 005D 23 INC HL
\ 005E 56 LD D,(HL)
\ 005F 23 INC HL
\ 0060 4E LD C,(HL)
\ 0061 23 INC HL
\ 0062 46 LD B,(HL)
\ 0063 E1 POP HL
\ 0064 73 LD (HL),E
\ 0065 23 INC HL
\ 0066 72 LD (HL),D
\ 0067 23 INC HL
\ 0068 71 LD (HL),C
\ 0069 23 INC HL
\ 006A 70 LD (HL),B
57 pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].EndSec=SelSeg->EndSec;
\ 006B 2A0600 LD HL,(FileDataBuff+6)
\ 006E 29 ADD HL,HL
\ 006F 29 ADD HL,HL
\ 0070 29 ADD HL,HL
\ 0071 29 ADD HL,HL
\ 0072 29 ADD HL,HL
\ 0073 010000 LD BC,FileDataBuff
\ 0076 09 ADD HL,BC
\ 0077 013D00 LD BC,61
\ 007A 09 ADD HL,BC
\ 007B DD4E06 LD C,(IX+6)
\ 007E DD4607 LD B,(IX+7)
\ 0081 DD5E04 LD E,(IX+4)
\ 0084 73 LD (HL),E
\ 0085 DD5605 LD D,(IX+5)
\ 0088 23 INC HL
\ 0089 72 LD (HL),D
\ 008A 23 INC HL
\ 008B 71 LD (HL),C
\ 008C 23 INC HL
\ 008D 70 LD (HL),B
58 pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].bSelected=TRUE;
\ 008E 2A0600 LD HL,(FileDataBuff+6)
\ 0091 29 ADD HL,HL
\ 0092 29 ADD HL,HL
\ 0093 29 ADD HL,HL
\ 0094 29 ADD HL,HL
\ 0095 29 ADD HL,HL
\ 0096 010000 LD BC,FileDataBuff
\ 0099 09 ADD HL,BC
\ 009A 014700 LD BC,71
\ 009D 09 ADD HL,BC
\ 009E 3601 LD (HL),1
59 pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].Disk=SelSeg->location->disk;
\ 00A0 2A0600 LD HL,(FileDataBuff+6)
\ 00A3 29 ADD HL,HL
\ 00A4 29 ADD HL,HL
\ 00A5 29 ADD HL,HL
\ 00A6 29 ADD HL,HL
\ 00A7 29 ADD HL,HL
\ 00A8 010000 LD BC,FileDataBuff
\ 00AB 09 ADD HL,BC
\ 00AC 012800 LD BC,40
\ 00AF 09 ADD HL,BC
\ 00B0 E5 PUSH HL
\ 00B1 DD6E08 LD L,(IX+8)
\ 00B4 DD6609 LD H,(IX+9)
\ 00B7 46 LD B,(HL)
\ 00B8 E1 POP HL
\ 00B9 70 LD (HL),B
60 pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].ClusterNo=SelSeg->location->ClusterNo;
\ 00BA 2A0600 LD HL,(FileDataBuff+6)
\ 00BD 29 ADD HL,HL
\ 00BE 29 ADD HL,HL
\ 00BF 29 ADD HL,HL
\ 00C0 29 ADD HL,HL
\ 00C1 29 ADD HL,HL
\ 00C2 010000 LD BC,FileDataBuff
\ 00C5 09 ADD HL,BC
\ 00C6 012900 LD BC,41
\ 00C9 09 ADD HL,BC
\ 00CA E5 PUSH HL
\ 00CB DD6E08 LD L,(IX+8)
\ 00CE DD6609 LD H,(IX+9)
\ 00D1 0E09 LD C,9
\ 00D3 09 ADD HL,BC
\ 00D4 5E LD E,(HL)
\ 00D5 23 INC HL
\ 00D6 56 LD D,(HL)
\ 00D7 23 INC HL
\ 00D8 4E LD C,(HL)
\ 00D9 23 INC HL
\ 00DA 46 LD B,(HL)
\ 00DB E1 POP HL
\ 00DC 73 LD (HL),E
\ 00DD 23 INC HL
\ 00DE 72 LD (HL),D
\ 00DF 23 INC HL
\ 00E0 71 LD (HL),C
\ 00E1 23 INC HL
\ 00E2 70 LD (HL),B
61 memcpy(&(pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].FileName),SelSeg->location->filename,12);
\ 00E3 010C00 LD BC,12
\ 00E6 2A0600 LD HL,(FileDataBuff+6)
\ 00E9 29 ADD HL,HL
\ 00EA 29 ADD HL,HL
\ 00EB 29 ADD HL,HL
\ 00EC 29 ADD HL,HL
\ 00ED 29 ADD HL,HL
\ 00EE 110000 LD DE,FileDataBuff
\ 00F1 19 ADD HL,DE
\ 00F2 112D00 LD DE,45
\ 00F5 19 ADD HL,DE
\ 00F6 EB EX DE,HL
\ 00F7 DD6E08 LD L,(IX+8)
\ 00FA DD6609 LD H,(IX+9)
\ 00FD 0E1A LD C,26
\ 00FF 09 ADD HL,BC
\ 0100 0E0C LD C,12
\ 0102 EDB0 LDIR
62 memcpy(&(pMusicEditIniFile->SelMusicEditSeg[pMusicEditIniFile->CurSelSegmemtNO].StartTime),SelSeg->StartTime,sizeof(time_t));
\ 0104 0E03 LD C,3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -