;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Copyright (c) 2001 -2002 TIMEX Corporation.
; 
; This document is the property of, and contains information proprietary to
; TIMEX Corporation.  It is to be returned upon request.  Reproduction by any
; means, disclosure, or use of its contents for other than the expressed
; purpose for which it is loaned, without the written consent of TIMEX
; Corporation, is strictly prohibited.
;
; File Name:    kstpmac.h
;
; Macro Names:	
;
;	Allocation:
;				KSTP_RELEASE_ALL_RESOURCES 
;								- Makes all resources available.
;
;				KSTP_RELEASE_RESOURCE 
;								- Makes a specific resource available.
;
;				KSTP_RESERVE_RESOURCE 
;								- Reserves next available resource, and returns 
;									resource index.
;
;	Initialization:
;
;				KSTP_LINK_NEXT_RESOURCE
;								- Indicates that the a stopwatch resource is
;									linked to the next STP resource adjacent to
;									it.
;
;	Manipulation:
;
;		   		KSTP_ENABLE_DISP_UPD_EVENT 
;								- Enables display updates for a specific 
;									resource.
;
;		   		KSTP_DISABLE_DISP_UPD_EVENT	
;								- Disables display updates for a specific 
;									resource.
;
;				KSTP_DEACTIVATE_ALL_DISPLAY_UPDATES 
;								- Deactivate the Display update for all the 
;									stopwatch resources
;
;				KSTP_SETUP_POPUP_GENERATION	
;								- Setup a specific resource to generate a popup.
;
;				KSTP_SETUP_EVENT_GENERATION 
;								- Setup a specific resource to generate an 
;									event.
;				KSTP_DISABLE_EVENT_GENERATION
;								- Disables Event generation
;
;				KSTP_CANCEL_POPUPEVENT_GENERATION 
;								- Cancel popup and event generation for a 
;									specific resource.
;
;
;				KSTP_FORCE_START_RESOURCE
;								- Force start a specific stopwatch resource.
;
;				KSTP_START_RESOURCE	
;								- Starts a specific stopwatch resource.
;				KSTP_STOP_RESOURCE
;								- Stops a specific stopwatch resource and 
;									updates the stored time.
;				KSTP_STOP_ALL_RESOURCES 
;								- Stops a all stopwatch resource and updates 
;									the stored time.
;			   	KSTP_TAKE_SPLIT - Updates a specific stopwatch resource. At this
;									point the resource data is now the split 
;									time.
;			   	KSTP_RESET_RESOURCE 
;								- Reset Stopwatch data to 00:00:00.00 and set 
;									Reset flag.
;
;				KSTP_RESET__ALL_RESOURCE
;								- Reset Stopwatch data to 00:00:00.00 and set 
;									Reset flag for all STP resources.
;									
;			   	KSTP_UPDATE_RESOURCE 
;								- Updates the Stopwatch Hour, Minute, Second, 
;									and Hundredths with the new RTC.
;			   	KSTP_UPDATE_ALL_ACTIVE_RESOURCES
;								- Used by the core module to perform the 
;									resources background update.
;
;	Information:
;				KSTP_RETURN_OWNED_INDEX 
;								- Returns the first resource index that matches 
;									the appindex.
;				KSTP_COPY_RESOURCE_TO_BUFFER 
;								- Copy Resource data to application buffer of 
;									same format.
;				KSTP_RETURN_RESOURCE_OWNER 
;								- Returns APPINDEX of resource owner
;
;               KSTP_SEARCH_FOR_AVAILABLE_AND_RESET_RES 
;								- Searches if there is an available reset 
;									stopwatch resource.
;
;    			KSTP_SETUP_APPINDEX_OF_POPUP_SOURCE
;								-	Sets the application index of the popup 
;									source that cause it to start.
;
;				KSTP_GET_RESOURCE_STATUS
;								-  Gets the status of a resource that is owned
;									by the application passed by the caller.
;
;
;
; Purpose:      Macros to use the stopwatch resource utilities
;
; File Change History:
;
;               06/03/2000 RVD - Created kstpmac.h for m841
;
; M851 Development:
;
;				11/10/2001 RBR - Reused and added some macros for M851
;								 Following Macros Removed:
;								    KSTP_SETUP_TMRLINK
;								    KSTP_SETUP_STPLINK
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;	Allocation:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_RELEASE_ALL_RESOURCES
;
; Description:  Releases all stopwatch resources and marks them as available.
;
; Assumptions:  none
;
; Usage:		KSTP_RELEASE_ALL_RESOURCES
;
; Input(s)    :	None	
;
; Output(s)   :	Destroys: HLReg, BReg
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_RELEASE_ALL_RESOURCES	MACRO

				car		kstpReleaseAllResources

		CALLS	SUBROUTINE , 'kstpReleaseAllResources'

				ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_RELEASE_RESOURCE
;
; Description:  Releases the resources associated with the specified application index
;
; Assumptions:  AReg contains the application index for removal check.
;
; Usage:		KSTP_RELEASE_RESOURCE
;
; Input(s)    :	None	
;
; Output(s)   :	Resource flags are cleared
;				KSTPAvailableResources is decremented
;
; Destroys: 	None
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_RELEASE_RESOURCE	MACRO

				car		kstpReleaseResource

		CALLS	SUBROUTINE , 'kstpReleaseResource'

				ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_RESERVE_RESOURCE
;
; Description:  Reserves a resource for the specified application
;
; Assumptions:  AReg contains the application index
;
; Usage:		KSTP_RESERVE_RESOURCE
;
; Input(s)    :	None	
;
; Output(s)   :	AReg - {0x00 - 0xFE} Index to the stopwatch resource
;                      {0xFF}        Error Code: Unable to reserve a resource
;
; Destroys:     None
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_RESERVE_RESOURCE	MACRO

				car	kstpReserveResource

		CALLS	SUBROUTINE , 'kstpReserveResource'

				ENDM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;	Initialization:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_LINK_NEXT_RESOURCE
;
; Description:  Indicates that the next resource is link to itself
;
; Assumptions:  AReg contains the application index
;
; Usage:		KSTP_LINK_NEXT_RESOURCE
;
; Input(s)    :	AReg	
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;		 
; Destroys:     HLReg
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_LINK_NEXT_RESOURCE	MACRO

				car	kstpLinkNextResource

		CALLS	SUBROUTINE , 'kstpLinkNextResource'

				ENDM





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;	Manipulation:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_ENABLE_DISP_UPD_EVENT
;
; Description :	Allows the resource to receive a display update event
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_ENABLE_DISP_UPD_EVENT
;				
; Input(s)    :	AReg = Resource Index
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;
; Destroys:     HLReg
;
; Macro	Change History: 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_ENABLE_DISP_UPD_EVENT	MACRO

				car	   	kstpEnableDispUpdEvent

		CALLS	SUBROUTINE , 'kstpEnableDispUpdEvent'
       
				ENDM
                                
                                
                                
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_DISABLE_DISP_UPD_EVENT
;
; Description :	Disallows the resource to receive a display update event
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_DISABLE_DISP_UPD_EVENT
;				
; Input(s)    :	AReg is set to the Resource Index	
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;
; Destroys:     HLReg
;
; Macro	Change History : 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_DISABLE_DISP_UPD_EVENT	MACRO

				car		kstpDisableDispUpdEvent
       
		CALLS	SUBROUTINE , 'kstpDisableDispUpdEvent'

				ENDM
                                
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_DEACTIVATE_ALL_DISPLAY_UPDATES
;
; Description :	Disallows all the resources from receiving a display update event
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_DEACTIVATE_ALL_DISPLAY_UPDATES
;				
; Input(s)    :	None
;
; Output(s)   :	None
;
; Destroyed:	BReg,HLReg
;
; Macro	Change History : 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_DEACTIVATE_ALL_DISPLAY_UPDATES	MACRO

				car		kstpDeactivateAllDisplayUpdates
       
		CALLS	SUBROUTINE , 'kstpDeactivateAllDisplayUpdates'

				ENDM
                                
                                

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_SETUP_POPUP_GENERATION
;
; Description:  Setup resource to generate popup on stopwatch runout.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
;				AReg    - Resource Index
;
; Usage:		KSTP_SETUP_POPUP_GENERATION
;
; Input(s)    :	None	
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET.
;
; Destroyed:	HLReg
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_SETUP_POPUP_GENERATION		MACRO

				car		kstpSetupPopupGeneration

		CALLS	SUBROUTINE , 'kstpSetupPopupGeneration'

				ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_SETUP_EVENT_GENERATION
;
; Description:  Setup resource to generate event on stopwatch runout.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
; Usage:		KSTP_SETUP_EVENT_GENERATION
;
; Input(s)    :	AReg    - Resource Index
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;
; Destroyed:	HLReg
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_SETUP_EVENT_GENERATION		MACRO

				car		kstpSetupEventGeneration

		CALLS	SUBROUTINE , 'kstpSetupEventGeneration'

				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_DISABLE_EVENT_GENERATION
;
; Description:  Disables resource to generate event on stopwatch runout.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
; Usage:		KSTP_SETUP_EVENT_GENERATION
;
; Input(s)    :	AReg    - Resource Index
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;
; Destroyed:	HLReg
;
; Macro Change History:
;
;              	02/14/2002 RBR - Created macro for M851     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_DISABLE_EVENT_GENERATION	MACRO

				car		kstpDisableEventGeneration

		CALLS	SUBROUTINE , 'kstpDisableEventGeneration'

				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_CANCEL_POPUPEVENT_GENERATION
;
; Description:  Cancel popup or event generation of specified resource.
;
; Assumptions:  No check is being done if the specified resource is already allocated.
;
; Usage:		KSTP_SETUP_EVENT_GENERATION
;
; Input(s)    :	AReg    - Resource Index
;
; Output(s)   :	HLReg points to KSTPRESFLAGOFFSET
;
; Destroyed:	HLReg
;
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_CANCEL_POPUPEVENT_GENERATION		MACRO

				car		kstpCancelPopupEventGeneration
			
		CALLS	SUBROUTINE , 'kstpCancelPopupEventGeneration'

				ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_FORCE_START_RESOURCE
;
; Description :	Starts a specific stopwatch resource. 
;
; Assumptions :	KRESStopwatchHundthsDataBuffer and KRESStopwatchSecondsDataBuffer
;				  Holds the value of the Free running counter snapshot or the
;				  values where this resource should use as reference to start.
;
; Usage	      :	KSTP_FORCE_START_RESOURCE
;				
; Input(s)    :	AReg is set to the Index of the resource to start
;
; Output(s)   :	Resource Flags are modified.
;				Resource data is updated.
;				COREStopwatchControl is modified.
;
; Destroyed:    NONE
;
; Macro	Change History: 
;              	01/16/2002 RBR - Created Macro for M851
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_FORCE_START_RESOURCE	MACRO

				car	kstpForceStartResource

		CALLS	SUBROUTINE , 'kstpForceStartResource'
				
       
		ENDM
 



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_START_RESOURCE
;
; Description :	Starts a specific stopwatch resource. 
;
; Assumptions :	KRESStopwatchHundthsDataBuffer and KRESStopwatchSecondsDataBuffer
;				  Holds the value of the Free running counter snapshot or the
;				  values where this resource should use as reference to start.
;
; Usage	      :	KSTP_START_RESOURCE
;				
; Input(s)    :	AReg is set to the Index of the resource to start
;
; Output(s)   :	Resource Flags are modified.
;				Resource data is updated.
;				COREStopwatchControl is modified.
;
; Destroyed:    NONE
;
; Macro	Change History: 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_START_RESOURCE	MACRO

				car	kstpStartResource

		CALLS	SUBROUTINE , 'kstpStartResource'
				
       
				ENDM





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_STOP_RESOURCE
;
; Description :	Stops a specific stopwatch resource.
;
; Assumptions :	KRESStopwatchHundthsDataBuffer and KRESStopwatchSecondsDataBuffer
;				  Holds the value of the Free running counter snapshot or the
;				  values where this resource should use as reference to start.
;
; Usage	      :	KSTP_STOP_RESOURCE
;				
; Input(s)    :	AReg is set to the Resource Index.
;				
; Output(s)   :	Resource Flags are modified.
;				Resource data is updated.
;				COREStopwatchControl is modified.
;
; Destroyed:    NONE
;
; Macro	Change History: 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_STOP_RESOURCE	MACRO

				car	kstpStopResource
			
		CALLS	SUBROUTINE , 'kstpStopResource'
       
				ENDM


 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_STOP_ALL_RESOURCES
;
; Description :	Stops all stopwatch resources, including the synchro.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_STOP_ALL_RESOURCES
;				
; Input(s)    :	None
;
; Output(s)   :	Resource Flags are modified.
;				Resource data is updated.
;
; Destroyed:	HLReg, AReg
;
; Macro	Change History: 
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_STOP_ALL_RESOURCES	MACRO

				car	kstpStopAllResources
			
		CALLS	SUBROUTINE , 'kstpStopAllResources'
       
				ENDM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_TAKE_SPLIT
;
; Description:  Updates a specific stopwatch resource so a split time can be stored.
;
; Assumptions:  KRESStopwatchHundthsDataBuffer and KRESStopwatchSecondsDataBuffer
;				  Holds the value of the Free running counter snapshot or the
;				  values where this resource should use as reference to start.
;
; Usage:		KSTP_TAKE_SPLIT
;
; Input(s)    :	AReg is set to Index of the Resource whose split time we wish to calculate.	
;
; Output(s)   :	Resource Flags are modified.
;				Resource data is updated.
;
; Destroyed:	None
;		   
; Macro Change History:
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_TAKE_SPLIT	MACRO

				car		kstpTakeSplit

		CALLS	SUBROUTINE , 'kstpTakeSplit'

				ENDM

 




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_RESET_RESOURCE
;
; Description :	Resets a specific stopwatch resource to 00:00:00.00.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_RESET_RESOURCE
;				
; Input(s)    :	AReg is set to the Resource Index
;
; Output(s)   :	The resource flags are cleared, except for the reset flag.
;				The resource data is set to 00:00.00.00
;
; Destroyed:	None
;
; Macro	Change History: 
;
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_RESET_RESOURCE	MACRO

				car	kstpResetResource
				
		CALLS	SUBROUTINE , 'kstpResetResource'
       
				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_RESET_ALL_RESOURCE
;
; Description :	Resets a all specific stopwatch resource to 00:00:00.00.
;
; Assumptions :	All resources are in the inactive state
;						  
; Usage	      :	KSTP_RESET_ALL_RESOURCE
;				
; Input(s)    :	None
;
; Output(s)   :	The resource flags are cleared, except for the reset flag.
;				The resource data is set to 00:00.00.00
;
; Destroyed:	AReg
;
; Macro	Change History: 
;
;              	02/14/2002 RBR - Created macro for M851     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_RESET_ALL_RESOURCE	MACRO

				car	kstpResetAllResource
				
		CALLS	SUBROUTINE , 'kstpResetAllResource'
       
				ENDM







;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_CLEAR_RESOURCE_DATA
;
; Description :	Resets a specific stopwatch resource to 00:00:00.00.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_CLEAR_RESOURCE_DATA
;				
; Input(s)    :	AReg is set to the Resource Index
;
; Output(s)   :	The resource update flags is cleared.
;				The resource data is set to 00:00.00.00
;
; Destroyed   :	HLReg - points to the address next to the hour offset.
;
; Macro	Change History: 
;
;              	11/21/2001 RBR - Created macro for M851     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


KSTP_CLEAR_RESOURCE_DATA	MACRO

				car	kstpClearResourceData
				
		CALLS	SUBROUTINE , 'kstpClearResourceData'
       
				ENDM
  





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name:  	KSTP_UPDATE_RESOURCE
;
; Description:  Updates the Stopwatch Hour, Minute, Second, and Hundredths with the new RTC
;
; Assumptions:  NONE
;
; Usage:		KSTP_UPDATE_RESOURCE
;				
; Input(s):		HLReg points to KSTPPREVHUNDTHSSAMPLEOFFSET of current Resource
;				BReg is set to Resource Index
;
; Output(s):    Resource Flags are modified.
;				Resource data is updated
;
;				If Runout occurs, the runout excess value is stored in
;				   KRESOVFlowHundBuffer - Hundredths overflow	
;                  KRESOVFlowSecBuffer 	- Seconds overflow
;
; Destroy(s):	AReg is destroyed
;
; Macro Change History:
;
;               05/11/2000 RVD - Created Macro for m841    
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KSTP_UPDATE_RESOURCE	MACRO

				car	kstpUpdateResource
				
		CALLS	SUBROUTINE , 'kstpUpdateResource'
       
				ENDM


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name:  	KSTP_UPDATE_ALL_ACTIVE_RESOURCES 
;
; Description:  Used by the core module to perform the resources background update.
;				Updates the synchro, also.
;
; Assumptions:  NONE
;
; Usage:		KSTP_UPDATE_ALL_ACTIVE_RESOURCES
;				
; Input(s):     NONE
;
; Output(s):    All active resource data and flags modified.
;				If popup is generated, core popup queue is added to.
;				If event is generated, CORECurrentEvent is modified.
;
;
; Destroyed: 	None
;
; Macro Change History:
;
;               06/03/2000 RVD - Created Macro for m841
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KSTP_UPDATE_ALL_ACTIVE_RESOURCES	MACRO

				car	kstpUpdateAllActiveResources
				
		CALLS	SUBROUTINE , 'kstpUpdateAllActiveResources'
       
				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name:  	KSTP_COMPARE_BUFFER_FROM_RESOURCE 
;
; Description:  Compares a buffer to a resource.
;				
; Assumptions:  1. The fields to be compared doesn't contain negative numbers.
;				2. The stopwatch resource doesn't contain negative numbers.
;
; Input(s):     AReg is the Index of the Resource
;				IYReg points to the Hours Information of the Buffer.
;
; Output(s):    ZeroFlag == TRUE,  CarryFlag == FALSE   - Resource == Buffer
;				ZeroFlag == FALSE, CarryFlag == TRUE  	- Resource < Buffer
;				ZeroFlag == FALSE, CarryFlag == FALSE   - Resource > Buffer
;
; Destroyed:    BReg, AReg
;               HLReg point to the resource Hundredths field
;               IYReg points to the buffers hundredths field.
;
; Macro Change History:
;
;               11/21/2001 RBR - Created Macro for M851
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_COMPARE_BUFFER_FROM_RESOURCE MACRO


				car	kstpCompareBufferToResource
				
		CALLS	SUBROUTINE , 'kstpCompareBufferToResource'
       
				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;	Information:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_RETURN_OWNED_INDEX
;
; Description :	Returns resource index of first stopwatch resource owned by a 
;				specific application
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_RETURN_OWNED_INDEX
;				
; Input(s)    :	AReg is set to the Application Index
;
; Output(s)   :	BReg is set to the  Resource Index owned by application, or 
;				KSTPERRORCODE if no such resource exists.
;
; Destroyed:	HLReg 
;				
; Macro	Change History: 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_RETURN_OWNED_INDEX	MACRO

				car	kstpReturnOwnedIndex

		CALLS	SUBROUTINE , 'kstpReturnOwnedIndex'
       
				ENDM




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro Name :  KSTP_COPY_RESOURCE_TO_BUFFER
;
; Description:  Copy Resource data to application buffer of same format.
;
; Assumptions:  none
;
; Usage:		KSTP_COPY_RESOURCE_TO_BUFFER
;
; Input(s)   : 	AReg is set to the  Resource Index
;			  	IYReg is the start address of buffer to write into
;
; Output(s)  :	IYReg points to Hours location of the buffer
;				HLReg points to hours location of the resource
;				The 4 consecutive addresses pointed to by IYReg now contain the 
;				resource data.
;
; Macro Change History:
;
;              	06/13/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_COPY_RESOURCE_TO_BUFFER	MACRO

				car		kstpCopyResourceToBuffer

		CALLS	SUBROUTINE , 'kstpCopyResourceToBuffer'

				ENDM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_RETURN_RESOURCE_OWNER
;
; Description :	Returns APPINDEX of resource owner.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_RETURN_RESOURCE_OWNER
;				
; Input(s)    :	AReg is set to the Resource Index
;
; Output(s)   :	BReg is the  Application Index
;				HLReg points to KSTPAPPINDEXOFFSET
;			   
; Destroyed:	HLReg, BReg
;
; Macro	Change History: 
;              	06/03/2000 RVD - Created macro for M841     
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						
KSTP_RETURN_RESOURCE_OWNER	MACRO

				car		kstpReturnResourceOwner
								
				CALLS	SUBROUTINE , 'kstpReturnResourceOwner'
       
				ENDM
                                



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_SEARCH_FOR_AVAILABLE_AND_RESET_RES
;
; Description :	Searches if there is an available reset stopwatch resource.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_SEARCH_FOR_AVAILABLE_AND_RESET_RES
;
; Input(s)	  : None.
;
; Output(s)   : AReg contains the resource index of the resource if there is
;                 any, and 0FFh when there when there is no available reset
;                 resource.
;				BReg contains the application index who own the resource.
;
; Destroyed:	BAReg
;
; Macro	Change History: 
;
;              	01/13/2001 RBR - Created macro for M851    
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_SEARCH_FOR_AVAILABLE_AND_RESET_RES	MACRO

				car		kstpSearchForAvailAndResetRes
								
				CALLS	SUBROUTINE , 'kstpSearchForAvailAndResetRes'
       
				ENDM




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_SETUP_APPINDEX_OF_POPUP_SOURCE
;
; Description :	Sets the application index of the popup source that cause it
;				  to start.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_SETUP_APPINDEX_OF_POPUP_SOURCE
;
; Input(s)	  : AReg should contain the resource index.
;				BReg should contain the Application index where the popup has
;				  was initiated.                
;
; Output(s)   : None
;
; Destroyed:    None
;
; Macro	Change History: 
;
;              	01/13/2001 RBR - Created macro for M851    
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_SETUP_APPINDEX_OF_POPUP_SOURCE	MACRO

				car		kstpSetAppIndexOfPopupSource
								
				CALLS	SUBROUTINE , 'kstpSetAppIndexOfPopupSource'
       
				ENDM



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Macro	Name  :	KSTP_GET_RESOURCE_STATUS
;
; Description :	Gets the status of a resource based on the resource index 
;				  passed.
;
; Assumptions :	None
;						  
; Usage	      :	KSTP_GET_RESOURCE_STATUS
;
; Input(s)	  : AReg should contain the resource index.
;
; Output(s)  :  AReg holds the status of the resource
;
;				AReg = 	00000000B  - reset
;                       00100000B  - not reset and stopped
;                       00100010B  - not reset and running   
;
; Destroyed:    None
;
; Macro	Change History: 
;
;              	05/10/2002 RBR - Created macro for M851 based from FSU request    
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KSTP_GET_RESOURCE_STATUS	MACRO

				car		kstpGetResourceStatus
								
				CALLS	SUBROUTINE , 'kstpGetResourceStatus'
       
				ENDM
