home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-14 | 25.6 KB | 1,306 lines |
- {
- ════════════════════════════════════════════════════════════════════════════
-
- Visionix Microsoft CD-ROM Extensions Unit (VMSCDEX)
- Copyright 1991,92,93 Visionix
- ALL RIGHTS RESERVED
-
- ────────────────────────────────────────────────────────────────────────────
-
- Revision history in reverse chronological order:
-
- Initials Date Comment
- ──────── ──────── ────────────────────────────────────────────────────────
-
- lpg 03/16/93 Added Source Documentation
-
- mep 02/11/93 Cleaned up code (yuck!) for beta release
-
- jrt 02/08/93 Sync with beta 0.12 release
-
- jrt 12/07/92 Sync with beta 0.11 release
-
- jrt 11/21/92 Sync with beta 0.08
-
- jrt 11/18/92 First logged revision.
-
- ────────────────────────────────────────────────────────────────────────────
- }
-
-
- Unit VMSCDEX;
-
-
- Uses
-
- VTypes,
- VGen,
- DOS;
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- Type
-
- TError = WORD;
-
-
- Type
-
- TMSF = RECORD
-
- M : BYTE;
- S : BYTE;
- F : BYTE;
-
- P : BYTE;
-
-
- END;
-
- PMSF = ^TMSF;
-
- Type
-
- TUPCCode = Array[1..7] of BYTE;
-
- PUPCCode = ^TUPCCode;
-
-
-
- Type
-
- TmscdexReqHeader = RECORD
-
- HeaderSize : BYTE;
- Subunit : BYTE;
- CommandCode : BYTE;
- Status : WORD;
- Reserved : Array[1..8] of BYTE;
-
- END;
-
- PmscdexReqHeader = ^TmscdexReqHeader;
-
-
- {------------------------}
- { MSCDEX IOCTL Requests }
- {------------------------}
-
-
- Type
-
- TmscdexIOCTLReq = RECORD
-
- Header : TmscdexReqHeader;
- MediaDescript : BYTE;
- ControlBlock : POINTER;
- ControlBlockSize : WORD;
- StartingSector : WORD;
- RequestedVol : POINTER;
-
- END;
-
- PmscdexIOCTLReq = ^TmscdexIOCTLReq;
-
-
- {--------------------------------}
- { IOCTL Read Control Block Types }
- {--------------------------------}
-
- Const
-
- cmscdexIOCTLread = 3;
-
-
- Type
-
- TmscdexGetDevAddr = RECORD
-
- ConBCode : BYTE;
- DevAddr : POINTER;
-
- END;
-
- PmscdexGetDevAddr = ^TmscdexGetDevAddr;
-
-
-
- Type
-
- TmscdexGetHeadPos = RECORD
-
- ConBCode : BYTE;
- AddrMode : BYTE;
- HeadPos : LONGINT
-
- END;
-
- Const
-
- cmscdexGetHeadPos = 1;
- cmscdexGetHeadPosCBS = 5;
-
-
- Type
-
- TmscdexAudioChanInfo = RECORD
-
- ConBCode : BYTE;
- InChan0 : BYTE;
- Volume0 : BYTE;
- InChan1 : BYTE;
- Volume1 : BYTE;
- InChan2 : BYTE;
- Volume2 : BYTE;
- InChan3 : BYTE;
- Volume3 : BYTE;
-
- END;
-
- PmscdexAudioChanInfo = ^TmscdexAudioChanInfo;
-
- Const
-
- cmscdexGetAudioChanInfo = 4;
- cmscdexGetAudioChanInfoCBS = 9;
-
-
- Type
-
- TmscdexDevStatus = RECORD
-
- ConBCode : BYTE;
- DevParams : LONGINT;
-
- END;
-
- PmscdexDevStatus = ^TmscdexDevStatus;
-
- Const
-
- cmscdexGetDevStatus = 6;
- cmscdexGetDevStatusCBS = 5;
-
- Const
-
- cmscdexDoorOpen = 1;
- cmscdexDoorLocked = 2;
- cmscdexCanRawRead = 4;
- cmscdexReadWrite = 8;
- cmscdexCanPlayAudio = 16;
- cmscdexCanInterleave = 32;
- cmscdexCanPrefetch = 64;
- cmscdexCanSetVolume = 128;
- cmscdexCanRedbook = 256;
- cmscdexNoDisc = 1024;
-
-
-
- Type
-
- TmscdexGetSecSize = RECORD
-
- ConBCode : BYTE;
- ReadMode : BYTE;
- SectorSize : WORD;
-
- END;
-
- PmscdexGetSecSize = ^TmscdexGetSecSize;
-
- Const
-
- cmscdexGetSecSize = 7;
- cmscdexGetSecSizeCBS = 4;
-
-
-
- Type
-
- TmscdexGetVolumeSize = RECORD
-
- ConBCode : BYTE;
- VolumeSize : LONGINT;
-
- END;
-
- PmscdexGetVolumSize = ^TmscdexGetVolumeSize;
-
- Const
-
- cmscdexGetVolumeSize = 8;
- cmscdexGetVolumeSizeCBS = 5;
-
-
-
- Type
-
- TmscdexCheckMediaChange = RECORD
-
- ConBCode : BYTE;
- MediaStatus : BYTE;
-
- END;
-
- PmscdexCheckmediaChange = ^TmscdexCheckMediaChange;
-
- Const
-
- cmscdexCheckMediaChange = 9;
- cmscdexCheckMediaChangeCBS = 2;
-
-
- Const
-
- cmscdexMediaNotChanged = $01;
- cmscdexMediaMaybeChanged = $00;
- cmscdexMeidaChanged = $FF;
-
-
-
- Type
-
- TmscdexGetAudioDiskInfo = RECORD
-
- ConBCode : BYTE;
- LowestTrack : BYTE;
- HighestTrack : BYTE;
- StartOfLeadout : LONGINT;
-
- END;
-
- PmscdexGetAudioDiskInfo = ^TmscdexGetAudioDiskInfo;
-
- Const
-
- cmscdexGetAudioDiskInfo = 10;
- cmscdexGetAudioDiskInfoCBS = 7;
-
-
-
- Type
-
- TmscdexGetAudioTrackInfo = RECORD
-
- ConBCode : BYTE;
- TrackNum : BYTE;
- StartPoint : LONGINT;
- TrackConInfo : BYTE;
-
- END;
-
- PmscdexGetAudioTrackInfo = ^TmscdexGetAudioTrackInfo;
-
- Const
-
- cmscdexGetAudioTrackInfo = 11;
- cmscdexGetAudioTrackInfoCBS = 7;
-
-
-
- Type
-
- TmscdexGetAudioQChanInfo = RECORD
-
- ConBCode : BYTE;
- ControlAndAddr : BYTE;
- TrackNum : BYTE;
- IndexNum : BYTE;
-
- TrackTime : TMSF;
-
- DiskTime : TMSF;
-
- END;
-
- PmscdexGetAudioQChanInfo = ^TmscdexGetAudioQChanInfo;
-
- Const
-
- cmscdexGetAudioQChanInfo = 12;
- cmscdexGetAudioQChanInfoCBS = 11;
-
-
-
- Type
-
- TmscdexGetAudioSubChanInfo = RECORD
-
- ConBCode : BYTE;
- StartFrame : LONGINT;
- TransferAddr : POINTER;
- SecsToRead : LONGINT;
-
- END;
-
- PmscdexGetAudioSubChanInfo = ^TmscdexGetAudioSubChanInfo;
-
- Const
-
- cmscdexGetAudioSubChanInfo = 13;
- cmscdexGetAudioSubChanInfoCBS = 13;
-
-
-
-
- Type
-
- TmscdexGetUPCCode = RECORD
-
- ConBCode : BYTE;
- ControlAndAdr : BYTE;
- UPCCode : TUPCCode;
- Zero : BYTE;
- AFrame : BYTE;
-
- END;
-
- PmscdexGetUPCCode = ^TmscdexGetUPCCode;
-
- Const
-
- cmscdexGetUPCCode = 14;
- cmscdexGetUPCCodeCBS = 11;
-
-
-
-
- Type
-
- TmscdexGetAudioStatusInfo = RECORD
-
- ConBCode : BYTE;
- AudioStatus : WORD;
- PlayStart : LONGINT;
- PlayEnd : LONGINT;
-
- END;
-
- PmscdexGetAudioStatusInfo = ^TmscdexGetAudioStatusInfo;
-
- Const
-
- cmscdexGetAudioStatusInfo = 15;
- cmscdexGetAudioStatusInfoCBS = 11;
-
-
- {---------------------------------}
- { IOCTL Write Control Block Types }
- {---------------------------------}
-
- Const
-
- cmscdexIOCTLWrite = 12;
-
-
-
- Type
-
- TmscdexEjectDisk = RECORD
-
- ConBCode : BYTE;
-
- END;
-
- PmscdexEjectDisk = ^TmscdexEjectDisk;
-
- Const
-
- cmscdexEjectDisk = 0;
- cmscdexEjectDiskCBS = 1;
-
-
-
- Type
-
- TmscdexLockUnlockDoor = RECORD
-
- ConBCode : BYTE;
- LockCode : BYTE;
-
- END;
-
- PmscdexLockUnlockDoor = ^TmscdexLockUnlockDoor;
-
- Const
-
- cmscdexLockUnlockDoor = 1;
- cmscdexLockUnlockDoorCBS = 2;
-
- Const
-
- cmscdexLockDoor = 1;
- cmscdexUnlockDoor = 0;
-
-
-
- Type
-
- TmscdexResetDrive = RECORD
-
- ConBCode : BYTE;
-
- END;
-
- PmscdexResetDrive = ^TmscdexResetDrive;
-
- Const
-
- cmscdexResetDrive = 2;
- cmscdexResetDriveCBS = 1;
-
-
-
-
- Type
-
- TmscdexAudioChanControl = RECORD
-
- ConBCode : BYTE;
- InChan0 : BYTE;
- Volume0 : BYTE;
- InChan1 : BYTE;
- Volume1 : BYTE;
- InChan2 : BYTE;
- Volume2 : BYTE;
- InChan3 : BYTE;
- Volume3 : BYTE;
-
- END;
-
- PmscdexAudioChanControl = ^TmscdexAudioChanControl;
-
- Const
-
- cmscdexAudioChanControl = 3;
- cmscdexAudioChanControlCBS = 9;
-
-
-
-
-
- Type
-
- TmscdexCloseTray = RECORD
-
- ConBCode : BYTE;
-
- END;
-
- PmscdexCloseTray = ^TmscdexCloseTray;
-
- Const
-
- cmscdexCloseTray = 5;
- cmscdexCloseTrayCBS = 1;
-
-
-
-
-
- {--------------------------}
- { MSCDEX Read Long Request }
- {--------------------------}
-
-
- Type
-
- TmscdexReadLongReq = RECORD
-
- Header : TmscdexReqHeader;
- AddrMode : BYTE;
- TransferAddr : POINTER;
- SecsToRead : WORD;
- StartSec : LONGINT;
- ReadMode : BYTE;
- InterleaveSize : BYTE;
- InterleaveSkip : BYTE;
-
- END;
-
- PmscdexReadLongReq = ^TmscdexReadLongReq;
-
- Const
-
- cmscdexBlockMode = 0;
- cmscdexHSGMode = 0;
-
- cmscdexMSFMode = 1;
- cmscdexReadBookMode = 1;
-
- cmscdexCookedRead = 0;
- cmscdexRawRead = 1;
-
-
-
- Type
-
- TmscdexPlayAudioReq = RECORD
-
- Header : TmscdexReqHeader;
- AddrMode : BYTE;
- Start : LONGINT;
- PlayFor : LONGINT;
-
- END;
-
- PmscdexPlayAudioReq = ^TmscdexPlayAudioReq;
-
-
- Type
-
- TmscdexStopAudioReq = RECORD
-
- Header : TmscdexReqHeader;
-
- END;
-
- PmscdexStopAudioReq = ^TmscdexStopAudioReq;
-
-
-
- Type
-
- TmscdexResumeAudioReq = RECORD
-
- Header : TmscdexReqHeader;
-
- END;
-
- PmscdexResumeAudioReq = ^TmscdexResumeAudioReq;
-
-
-
-
- {────────────────────────────────────────────────────────────────────────────}
- {────────────────────────────────────────────────────────────────────────────}
-
- Procedure BCDMSFtoMSF( Var N : TMSF );
-
-
- Function MSCDEX_GetNumDrives : WORD;
-
- Function MSCDEX_GetFirstDrive : WORD;
-
-
-
- Procedure MSCDEX_ExecRequest( Drive : BYTE;
- Request : POINTER );
-
- {----------------------}
- { Read IOCTL Functions }
- {----------------------}
-
- Function MSCDEX_GetHeadPos( Drive : BYTE;
- AddrMode : BYTE;
- Var HeadPos : LONGINT ) : TError;
-
- Function MSCDEX_GetAudioChanInfo( Drive : BYTE;
- Channel : BYTE;
- Var InputChan : BYTE;
- Var Volume : BYTE ) : TError;
-
- Function MSCDEX_GetDevStatus( Drive : BYTE;
- Var DevStatus : LONGINT ) : TError;
-
- Function MSCDEX_GetSectorSize( Drive : BYTE;
- ReadMode : BYTE;
- Var SecSize : WORD ) : TError;
-
- Function MSCDEX_GetVolumeSize( Drive : BYTE;
- Var VolumeSize : LONGINT ) : TError;
-
- Function MSCDEX_IsMediaChanged ( Drive : BYTE ) : BYTE;
-
- Function MSCDEX_GetAudioDiskInfo( Drive : BYTE;
- Var StartTrack : BYTE;
- Var EndTrack : BYTE;
- Var LeadOutStart : LONGINT ) : TError;
-
- Function MSCDEX_GetAudioTrackInfo( Drive : BYTE;
- TrackNum : BYTE;
- Var StartPoint : LONGINT;
- Var TrackConInfo : BYTE ) : TError;
-
- Function MSCDEX_GetAudioQChanInfo( Drive : BYTE;
- Var ConAddr : BYTE;
- Var TrackNum : BYTE;
- Var IndexNum : BYTE;
- Var TrackTime : TMSF;
- Var DiskTime : TMSF ) : TError;
-
- Function MSCDEX_GetAudioSubChanInfo( Drive : BYTE;
- StartFrame : LONGINT;
- SecsToRead : LONGINT;
- TransferAddr : POINTER ) : TError;
-
- Function MSCDEX_GetUPCCode( Drive : BYTE;
- Var ConAddr : BYTE;
- Var UPCCode : TUPCCode;
- Var AFrame : BYTE ) : Terror;
-
- Function MSCDEX_GetAudioStatusInfo( Drive : BYTE;
- Var AudioStatus : WORD;
- Var PlayStart : LONGINT;
- Var PlayEnd : LONGINT ) : TError;
-
- {-----------------------}
- { IOCTL Write Functions }
- {-----------------------}
-
- Function MSCDEX_EjectDisk( Drive : BYTE ) : TError;
-
- Function MSCDEX_LockUnlockDoor( Drive : BYTE;
- Lock : BOOLEAN ) : TError;
-
- Function MSCDEX_ResetDrive( Drive : BYTE ) : TError;
-
- {-----------------------}
- { Audio Channel Control }
- {-----------------------}
-
- Function MSCDEX_CloseTray( Drive : BYTE ) : TError;
-
- Function MSCDEX_ReadLong( Drive : BYTE;
- AddrMode : BYTE;
- TransferAddr : POINTER;
- SecsToRead : WORD;
- StartSec : LONGINT;
- ReadMode : BYTE;
- InterleaveSize : BYTE;
- InterleaveSkip : BYTE ) : TError;
-
- {----------------}
- { prefetch, seek }
- {----------------}
-
- Function MSCDEX_PlayAudio( Drive : BYTE;
- AddrMode : BYTE;
- Start : LONGINT;
- Playfor : LONGINT ) : TError;
-
- Function MSCDEX_StopAudio( Drive : BYTE ) : TError;
-
- Function MSCDEX_ResumeAudio( Drive : BYTE ) : TError;
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetNumDrives : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetFirstDrive : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure MSCDEX_ExecRequest( Drive : BYTE;
- Request : POINTER );
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- Request Pointer to MSCDEX Request Packet
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Procedure MSCDEX_LoadIOR( IOR : PmscdexIOCTLReq;
- ReqHeadLength : BYTE;
- CommandCode : BYTE;
- MediaDescript : BYTE;
- ControlBlock : POINTER;
- CBS : WORD );
-
- [PARAMETERS]
-
- IOR Pointer to MSCDEX IOCtl Request Packet
- ReqHeadLength Request Header Length
- CommandCode ?
- MediaDescript ?
- ControlBlock ?
- CBS ?
-
- [RETURNS]
-
- (None)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetHeadPos( Drive : BYTE;
- AddrMode : BYTE;
- Var HeadPos : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- AddrMode ?
- HeadPos VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [HeadPos] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioChanInfo( Drive : BYTE;
- Channel : BYTE;
- Var InputChan : BYTE;
- Var Volume : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- Channel ?
- InputChan VAR Returned ?
- Volume VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [InputChan] ?)
- (VAR : [Volume] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetDevStatus( Drive : BYTE;
- Var DevStatus : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- DevStatus VAR Returned ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetSectorSize( Drive : BYTE;
- ReadMode : BYTE;
- Var SecSize : WORD ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- ReadMode ?
- SecSize VAR Returned Sector Size
-
- [RETURNS]
-
- Function : ?
- (VAR : [SecSize] Sector Size)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetVolumeSize( Drive : BYTE;
- Var VolumeSize : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- VolumeSize VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [VolumeSize] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_IsMediaChanged( Drive : BYTE ) : BYTE;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- Whether the CD-ROM Media has been Changed (TRUE=Changed)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioDiskInfo( Drive : BYTE;
- Var StartTrack : BYTE;
- Var EndTrack : BYTE;
- Var LeadOutStart : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- StartTrack VAR Returned ?
- EndTrack VAR Returned ?
- LeadOutStart VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [StartTrack] ?)
- (VAR : [EndTrack] ?)
- (VAR : [LeadOutStart] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioTrackInfo( Drive : BYTE;
- TrackNum : BYTE;
- Var StartPoint : LONGINT;
- Var TrackConInfo : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- TrackNum ?
- StartPoint VAR Returned ?
- TrackConinfo VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [StartPoint] ?)
- (VAR : [TrackConInfo] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioQChanInfo( Drive : BYTE;
- Var ConAddr : BYTE;
- Var TrackNum : BYTE;
- Var IndexNum : BYTE;
- Var TrackTime : TMSF;
- Var DiskTime : TMSF ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- ConAddr VAR Returned ?
- TrackNum VAR Returned ?
- IndexNum VAR Returned ?
- TrackTime VAR Returned ?
- DiskTime VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [ConAddr] ?)
- (VAR : [TrackNum] ?)
- (VAR : [IndexNum] ?)
- (VAR : [TrackTime] ?)
- (VAR : [DiskTime] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioSubChanInfo( Drive : BYTE;
- StartFrame : LONGINT;
- SecsToRead : LONGINT;
- TransferAddr : POINTER ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- StartFrame ?
- SecsToRead ?
- TransferAddr ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetUPCCode( Drive : BYTE;
- Var ConAddr : BYTE;
- Var UPCCode : TUPCCode;
- Var AFrame : BYTE ) : Terror;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- ConAddr VAR Returned ?
- UPCCode VAR Returned ?
- AFrame VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [ConAddr] ?)
- (VAR : [UPCCode] ?)
- (VAR : [AFrame] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_GetAudioStatusInfo( Drive : BYTE;
- Var AudioStatus : WORD;
- Var PlayStart : LONGINT;
- Var PlayEnd : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- AudioStatus VAR Returned ?
- PlayStart VAR Returned ?
- PlayEnd VAR Returned ?
-
- [RETURNS]
-
- Function : ?
- (VAR : [AudioStatus] ?)
- (VAR : [PlayStart] ?)
- (VAR : [PlayEnd] ?)
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_EjectDisk( Drive : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_LockUnlockDoor( Drive : BYTE;
- Lock : BOOLEAN ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- Lock Is Action Lock Door? (TRUE=Yes)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_ResetDrive( Drive : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_CloseTray( Drive : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_ReadLong( Drive : BYTE;
- AddrMode : BYTE;
- TransferAddr : POINTER;
- SecsToRead : WORD;
- StartSec : LONGINT;
- ReadMode : BYTE;
- InterleaveSize : BYTE;
- InterleaveSkip : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- AddrMode ?
- TransferAddr ?
- SecsToRead ?
- StartSec ?
- ReadMode ?
- InterleaveSize ?
- InterleaveSkip ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_PlayAudio( Drive : BYTE;
- AddrMode : BYTE;
- Start : LONGINT;
- PlayFor : LONGINT ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
- AddrMode ?
- Start ?
- PlayFor ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_StopAudio( Drive : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function MSCDEX_ResumeAudio( Drive : BYTE ) : TError;
-
- [PARAMETERS]
-
- Drive CD-ROM Drive Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-