Important: The information in this document is obsolete and should not be used for new development.
Summary of the Start Manager
Pascal Summary
Data Types
TYPE DefStartType = (slotDev, scsiDev); DefStartRec = RECORD CASE DefStartType OF slotDev: sdExtDevID: SignedByte; {external device ID} sdPartition:SignedByte; {reserved} sdSlotNum: SignedByte; {slot number} sdSRsrcID: SignedByte; {SResourceID} scsiDev: sdReserved1:SignedByte; {reserved} sdReserved2:SignedByte; {reserved} sdRefNum: Integer {driver reference number} END; DefStartPtr = ^DefStartRec; {pointer to a start definition record} DefVideoRec = RECORD sdSlot: SignedByte; {slot number} sdsResource:SignedByte; {SResourceID} END; DefVideoPtr = ^DefVideoRec; {pointer to a video definition record} DefOSRec = RECORD sdReserved: SignedByte; {reserved--should be 0} sdOSType: SignedByte; {operating-system type} END; DefOSPtr = ^DefOSRec; {pointer to a default Operating System Record}Routines
Identifying and Setting the Default Startup Device
PROCEDURE GetDefaultStartup (paramBlock: DefStartPtr); PROCEDURE SetDefaultStartup (paramBlock: DefStartPtr);Identifying and Setting the Default Video Device
PROCEDURE GetVideoDefault (paramBlock: DefVideoPtr); PROCEDURE SetVideoDefault (paramBlock: DefVideoPtr);Identifying and Setting the Default Operating System
PROCEDURE GetOSDefault (paramBlock: DefOSPtr); PROCEDURE SetOSDefault (paramBlock: DefOSPtr);Getting and Setting the Timeout Interval
PROCEDURE GetTimeout (VAR count: Integer); PROCEDURE SetTimeout (count: Integer);C Summary
Data Types
struct SlotDev { char sdExtDevId; /*external device ID*/ char sdPartition; /*reserved*/ char sdSlotNum; /*slot number*/ char sdSRsrcID; /*SResourceID*/ }; typedef struct SlotDev SlotDev; struct SCSIDev { char sdReserved1; /*reserved*/ char sdReserved2; /*reserved*/ short sdRefNum; /*driver reference number*/ }; typedef struct SCSIDev SCSIDev; union DefStartRec { SlotDev slotDev; SCSIDev scsiDev; }; typedef union DefStartRec DefStartRec; typedef DefStartRec *DefStartPtr; struct DefVideoRec { char sdSlot; /*slot number*/ char sdsResource; /*SResourceID*/ }; typedef struct DefVideoRec DefVideoRec; typedef DefVideoRec *DefVideoPtr; struct DefOSRec { char sdReserved; /*reserved --should be 0*/ char sdOSType; /*operating-system type*/ }; typedef struct DefOSRec DefOSRec; typedef DefOSRec *DefOSPtr;Routines
Identifying and Setting the Default Startup Device
pascal void GetDefaultStartup (DefStartPtr paramBlock); pascal void SetDefaultStartup (DefStartPtr paramBlock);Identifying and Setting the Default Video Device
pascal void GetVideoDefault (DefVideoPtr paramBlock); pascal void SetVideoDefault (DefVideoPtr paramBlock);Identifying and Setting the Default Operating System
pascal void GetOSDefault (DefOSPtr paramBlock); pascal void SetOSDefault (DefOSPtr paramBlock);Getting and Setting the Timeout Interval
pascal void GetTimeout (short *count); pascal void SetTimeout (short count);Assembly-Language Summary
Data Structures
Default Startup Device Data Structure
0 sdExtDevID byte external device ID 1 sdPartition byte reserved 2 sdSlotNum byte slot number 3 sdSRsrcID byte slot resource ID 0 sdReserved1 byte reserved 1 sdReserved2 byte reserved 2 sdRefNum word driver reference number Default Video Device Data Structure
0 sdSlot byte slot number 1 sdSResource byte slot resource ID Default Operating System Data Structure
0 sdReserved byte reserved 1 sdOSType byte operating-system type Trap Macros
Trap Macros Requiring Register Setup
Trap macro name Registers on entry Registers on exit _GetDefaultStartup A0: address of default video device parameter block A0: address of default startup device parameter block _SetDefaultStartup A0: address of default video device parameter block A0: address of default startup device parameter block _GetVideoDefault A0: address of default video device parameter block A0: address of default video device parameter block _SetVideoDefault A0: address of default video device parameter block A0: address of default video device parameter block _GetDefaultOS A0: address of default operating system parameter block A0: address of default operating system parameter block _SetDefaultOS A0: address of default operating system parameter block A0: address of default operating system parameter block _GetTimeout D0: count (word) _SetTimeout D0: count (word) Trap Macros Requiring Routine Selectors
_InternalWait
Selector Routine $0000 GetTimeout $0001 SetTimeout Global Variables
TimeDBRA The number of times the DBRA instruction is executed per millisecond. TimeSCCDB The number of times the SCC is accessed per millisecond. TimeSCSIDB The number of times the SCSI is accessed per millisecond.