;       []===========================================================[]
;
;       NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;               INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE
;               DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED
;               WRITTEN AUTHORIZATION FROM THE OWNER.
;
;       []===========================================================[]
;
;----------------------------------------------------------------------------
;Rev    Date     Name   Description
;----------------------------------------------------------------------------
;R05  01/27/98   PHI	Move sensor code to XGROUP. Please use define
;			"SENSOR_IN_XGROUP" 
;R04  12/17/98   LAW	added "CPU_FEATURE_USE_SPECIAL_STR" can change Feature
;			title 
;R03  05/22/98	 PAL	Add Multi- Language Support for sensor and clockgen
;R02  05/18/98	 PAL	Add "Update_Clkcntl_in_CPUFEAT" option.
;R01  05/11/98 	 TNY	Add sensor item.
;R00  05/08/98 	 TNY	Add CPU Frequency into setup menu


                PAGE    56,132
                .286

                include bios.cfg
                include bsetup.inc
                include common.mac
                include common.equ
                include setup.ext
;R01 - start
ifdef	Update_Sensor_in_CPUFEAT
		include	sensor.ext		
endif;	Update_Sensor_in_CPUFEAT
;R01 - start
                Public  CPU_Feature_Special_Do
                Public  CPU_Feature_Special_Show
                Public  CPU_Feature_StartUp_Str
                Public  CPU_Feature_Start
                Public  CPU_Feature_End  
		Public  CPU_STAT
		Extrn   PAGE_NAME_Y:ABS
		extrn	F000_call_proc:near	
		extrn	Post_call_proc:near		
		extrn	F000_GetItem_Value:Near		
		extrn	PAGE_NAME_Y:ABS
		Extrn	Common_Startup_Str:Near
		Extrn	Ena_Str:Near
		Extrn	Dis_Str:Near
		Extrn	Std_Help_Str:Near
		Extrn	NullStr:Near



Y_Start         EQU     4
Xaxis           =       2
Yaxis           =       Y_Start - 1
DEFINE_ITEM     MACRO   MENU_NAME,GAP
IFNB    <GAP>
        Yaxis = Yaxis + GAP
ENDIF   ;GAP
IF      Yaxis GE 23
        Xaxis = 42
        Yaxis = Y_Start
ELSE    ;
        Yaxis = Yaxis + 1
ENDIF   ;
IFNB    <MENU_NAME>
        PUBLIC  MENU_NAME
        MENU_NAME:
ENDIF
                ENDM

		DECLARE_MULTI_LANGUAGE	;macro to declare externals	;R03

DGROUP          GROUP   FCODE
FCODE           SEGMENT WORD PUBLIC 'CODE'
                ASSUME  CS:DGROUP,DS:DGROUP

; CPU Feature page Start----------------------------------------------------
		db	'$ML$'		;Signature For Multi-Language	;R03

;                ALIGN   4
CPU_Feature_Special_Do:
                        dw      CPU_Feature_Do_NO
CPU_Feature_Do_NO      EQU     (($ - offset CPU_Feature_Special_Do)-2)/4

CPU_Feature_Special_Show:
                dw      CPU_Feature_Show_NO
ifdef   Jumpless_Support
		JUMPLESS_FOR_CPUFEAT_ASM	=	3
		include	JUMPLESS.INC
endif;	Jumpless_Support
;R01 - start
ifdef	Update_Sensor_in_CPUFEAT
		include	sensor.shw
endif;	Update_Sensor_in_CPUFEAT
;R01 - end
;R02 - start
ifdef	Update_CLKCNTL_in_CPUFEAT
		include	clkcntl.shw
endif;	Update_CLKCNTL_in_CPUFEAT
;R02 - end
CPU_Feature_Show_NO    EQU     (($ - offset CPU_Feature_Special_Show)-2)/4


CPU_Feature_StartUp_Str        label   near
                STRSHOW <,,,offset Common_Startup_Str>
ifndef	CPU_FEATURE_USE_SPECIAL_STR			;R04
                POS     <,31,PAGE_NAME_Y>
                db      'CPU FEATURES SETUP'
;R04 - start
else;	CPU_FEATURE_USE_SPECIAL_STR
                POS     <,Feat_Title_pos,PAGE_NAME_Y>
New_CPU_Feature_Str:
		db	CPU_FEATURE_USE_SPECIAL_STR
Feat_Title_pos	=	(40 - (($-offset New_CPU_Feature_Str)/2))
endif;	CPU_FEATURE_USE_SPECIAL_STR
;R04 - end
                db      0


CPU_Feature_START        Label   Near

ifdef   Jumpless_Support
                JUMPLESS_FOR_CPUFEAT_ASM       =       1       ;R44
                include JUMPLESS.INC                            ;R44
endif;  Jumpless_Support

;R02 - start
ifdef	Update_Clkcntl_in_CPUFEAT
		include	clkcntl.mnu
endif;	Update_Clkcntl_in_CPUFEAT
;R02 - end

;R01 - start
ifdef	Update_Sensor_in_CPUFEAT
		include	sensor.mnu			;R07
endif;	Update_Sensor_in_CPUFEAT
;R01 - start
CPU_Feature_End        LABEL   NEAR
;----------------------------------------------------------
IF (offset CPU_Feature_End) EQ (offset CPU_Feature_START)
        CPU_STAT       EQU     0 + ITEMDISABLE
ELSE
        CPU_STAT       EQU     0
ENDIF
;----------------------------------------------------------
ifdef   Jumpless_Support
                JUMPLESS_FOR_CPUFEAT_ASM       =       2
                include JUMPLESS.INC
endif;  Jumpless_Support

;R02 - start
ifdef	Update_Clkcntl_in_CPUFEAT
	COLLON_LOC = 25
	include	clkcntl.str
endif;	Update_Clkcntl_in_CPUFEAT
;R02 - end

;R01 - start
ifdef	Update_Sensor_in_CPUFEAT
	COLLON_LOC = 25
	include	sensor.str
endif;	Update_Sensor_in_CPUFEAT
;R01 - start

ifdef   Jumpless_Support
		JUMPLESS_FOR_CPUFEAT_ASM	=	4
		include	JUMPLESS.INC
endif;	Jumpless_Support

FCODE           ENDS

;R02 - start
ifdef	Update_Clkcntl_in_CPUFEAT
		include	clkcntl.xgp		
endif;	Update_Clkcntl_in_CPUFEAT
;R02 - end

;--------------------------------------------------------------
;--------------------------------------------------------------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;--------------------------------------------------------------
;--------------------------------------------------------------
.386
EGROUP		GROUP	ECODE
ECODE		SEGMENT USE16 PARA PUBLIC 'ECODE'
		ASSUME	CS:EGROUP, ES:EGROUP

;R01 - start
ifndef	SENSOR_IN_XGROUP				;R05
ifdef	Update_Sensor_in_CPUFEAT
		include	sensor.e8		
endif;	Update_Sensor_in_CPUFEAT
endif	;SENSOR_IN_XGROUP				;R05
;R01 - end

ECODE		ENDS

;R05 - start
ifdef	SENSOR_IN_XGROUP				

XGROUP		GROUP	XCODE
XCODE		SEGMENT USE16 PARA PUBLIC 'XCODE'
		ASSUME	CS:XGROUP,ES:XGROUP

ifdef	Update_Sensor_in_CPUFEAT
		include	sensor.e8		
endif;	Update_Sensor_in_CPUFEAT

XCODE		ENDS
endif	;SENSOR_IN_XGROUP				
;R05 - end

                END
