;	[]===========================================================[]
;
;	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.
;
; 	[]===========================================================[]
;

		PAGE	60,132
		TITLE	POST  -- 386 ROM/BIOS POST
;----------------------------------------------------------------------------
;Rev	Date	 Name	Description
;----------------------------------------------------------------------------
;R09B	03/03/99 DRS	Support KEY_SETUP_STRING function when Graphics_Post 
;			definition use
;R30 	09/24/98 KGN	Add Elan400 CPU string
;R29 	09/15/98 RAX	Added switch to report KBD pkug in wrong connector.
;R28	08/24/98 BAR	Added report IDE has changed.
;			Added define "Show_IDE_Changed_Message"
;			Added define "Show_Post_Error_Code"
;R27	07/29/98 ATY	If Defined Setup Key is 'F1',then Set 'DEL' is Continue
;			Key.
;R26	07/11/98 RAY	Some people do not want the end users to return to
;			the text screen for full screen logo. 
;			Add switch: NO_RETURN_TO_TEXT
;R25	07/11/98 RAY	Add string: Clear_Screen_Str
;R24	06/29/98 KVN	Show TCAV version in POST screen
;R23	06/26/98 DRS	Add No_Automatic_Load_Awdflash_InPOST definition
;			Some customers want to automatically load awdflash.exe,
;			but they don't want this function during POST.
;			They just want to autmaticlly load awdflash.exe in BootBlock.
;R20b	06/05/98 MAX	Support CMOS default value save to 2M ROM Flash function
;R20a	06/01/98 MAX	Fixed by 1M ROM 4k Unit Only
;R22	05/21/98 DRS	This function depends on Show_PS2_UnConnect_Message
;			Report PS/2 mouse don't connect message	error message 
;			is "PS/2 Mouse error or no PS/2 mouse present"	
;R21	05/15/98 DNL	Fixed coding mistake
;R20	05/06/98 MAX	Support FlashROM CMOS backupData Save to CMOS function.
;                       If you want to use it then should define
;                       "CMOS_Default_in_Flash EQU 1" in BIOS.CFG
;R18A	04/02/98 RCH	Change high light display instead of normal attribute
;			for Trend's ChipAway message.
;R16A	03/28/98 LAW	fixed msg lost end
;R19	03/18/98 RCH	Removed unused message string.
;R18	03/10/98 KVN	Added ChipAwayVirus driver message in POST screen
;R17	02/20/98 RCH	Change the year of copyright from 1997 to 1998
;R16	02/11/98 KVN	Fixed full screen logo message on bottom be black
;R15A	01/22/98 DRS	Function key ALT+F2 , system will run awdflash.exe 
;			during POST
;R15	01/19/98 DRS	Support run awdflash.exe during POST 
;R13B	01/06/98 LAW	fixed define "Graphics_post" use MONO card some msg no show
;R14	12/24/97 TNY	Add "Show_Press_TAB_Middle" definition.
;R13A	12/24/97 LAW	Cann't show Halt_err_msg, If use full_screen_logo 
;R13	12/18/97 LAW	change "EPA_LOGO_Use_Graphics" with "FULL_SCREEN_LOGO"
;			switch to "Graphics_post"
;R12	11/25/97 LAW	change postmsg position for define "EPA_LOGO_Use_Graphics"
;R11	04/03/97 RCH	Change year of copyright and fix spelling error
;R09A	03/11/97 RCH	Redefine setup key string changeable switch
;R10	03/07/97 TNY	Add "No_Show_Graphic_POST_MSG" definition.
;R09	11/20/96 RAY	Add special option key for entering setup
;R08	10/29/96 STV	Added HDD low level format write-protected error message  
;R07	09/23/96 DNL	Added codes for Notebook Power Management
;R06	07/23/96 KGN	Add defin No_ENTER_SETUP_Message for Special Customer
;R05	05/10/96 KVN	Display exact HDD fail drive
;R04	04/17/96 RAY	Somebody don't want 'DEL' key to enter setup
;R03	01/12/96 KVN	Added full screen logo display function
;R02	11/16/95 KVN	Remove all POST message to E000h
;R01A	07/21/95 KVN	Remove HDD access mode error
;R01	07/15/95 KVN	Added HDD access mode error


		INCLUDE BIOS.CFG

		INCLUDE	COMMON.MAC
		INCLUDE	POST.MAC					

		INCLUDE	POST.EQU  

		INCLUDE	SETUP.EXT
		INCLUDE	USERINT.EXT
		INCLUDE	BTROMSEG.EQU		;R15

ifndef	NO_HDD_LOW_LEVEL_FORMAT
		extrn	BASE_HIGH:ABS
		extrn	BASE_WIDE:ABS
		extrn	SECOND_ROW:ABS
endif	;NO_HDD_LOW_LEVEL_FORMAT
		extrn	Disp_Access_mode:near	;R01


;R02DGROUP		GROUP	FCODE
;R02FCODE		SEGMENT	PARA PUBLIC 'CODE'
;R02		ASSUME	CS:DGROUP,DS:DGROUP
;R02 start
EGROUP		GROUP	ECODE
ECODE		SEGMENT PARA PUBLIC 'ECODE'
		ASSUME	CS:EGROUP,DS:EGROUP
;R02 end

;--------------- Low Level Format String (LOFORMAT.ASM) -----------------
ifndef	NO_HDD_LOW_LEVEL_FORMAT
		public	No_Hdd_Str
		public	Init_Hdd_Str
		public	PREFORMAT_STR
		public	main_key
		public	CY_HD
		public	func_command
		public	format_key
		public	drive_write_protected_msg     ;R08
		public	format_warn
		public	search_intl
		public	cyl_head_same
		public	func0_window
		public	func1_window
		public	func2_window
		public	drive_err_msg
		public	test_intl_msg	
		public	CY_HD_LEN
		public	func_len
		public	FUNC_MAX
		public	for_key_len
		public	for_warn_len
		public	ch_same_len
		public	func0_len
		public	func1_len
		public	func2_len
		public	tmout_msg_len
		public	wprotect_msg_len      ;R08
		public	func_win_str
		public	clear_track_str

No_Hdd_Str:
		db	V_REVERSE
		BORDER1	<,24,11,52,14,0+Empty_Border>
;		CLEAR	<,25,12,51,13>
		POS	<,26,12>
		db	'HARD DISK INSTALL FAILURE'
		POS	<,26,13>
		db	'PRESS ANY KEY TO CONTINUE'
		db	0
Init_Hdd_Str:
		db	V_REVERSE
		BORDER1	<,24,8,52,11,0+Empty_Border>
;		CLEAR	<,25,12,51,13>
		POS	<,26,9>
		db	' HARD DISK initializing  '
		POS	<,26,10>
		db	' Please wait a moment... '
		ADDY	<,1>
		db	0

PREFORMAT_STR	DB	V_NORMAL
;		CLEAR	<,0,0,79,15>
		BORDER1	<,0,0,59,15,1+Empty_Border>
		BORDER1	<,59,0,79,15,1+Empty_Border>		
		POS	<,13,1>
		DB	'Hard Disk Low Level Format Utility'
		POS	<,11,2>
		DB	'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'
		POS	<,BASE_WIDE+1,1>
		DB	'  NO.  CYLS HEAD'
		POS	<,BASE_WIDE,2>			
		DB	'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'			
		BORDER1	<,0,15,79,21,1>				
;
		DB	V_REVERSE
		POS	<,BASE_WIDE+2,>
		DB	'BAD TRACKS TABLE'
;;main_key	DB	V_WARN
main_key	DB	V_NORMAL
		BORDER1	<,0,21,79,24,1+Empty_Border>		
		POS	<,2,BASE_HIGH+6>
		DB	'Up/Down-Select item           ENTER-Accept                  ESC-Exit/Abort'
		POS	<,9,BASE_HIGH+7>
		DB	'Copyright (c) Award Software, Inc. 1992-98 All Rights Reserved'	;R11;R17
		POS	<,59,0>
		DB	'Ë'
		POS	<,0,15>
		DB	'Ì'
		POS	<,59,15>
		DB	'Ê'
		POS	<,79,15>
		DB	'¹'
		POS	<,0,21>
		DB	'Ì'
		POS	<,79,21>
		DB	'¹'
CY_HD		DB	V_REVERSE
		POS	<,30-CY_HD_LEN/2,BASE_HIGH-2>
		DB	' DRIVE : C   CYLINDER :    0   HEAD :  0 '
CY_HD_LEN	EQU	$-offset CY_HD-1
CY_HD_LEN_half	EQU	CY_HD_LEN/2
		DB	0
;
;full_screen	DB	V_NORMAL
;		CLEAR	<,0,0,79,24>
;		DB	0
;
func_command	POS	<,31-func_len/2,4>
		DB	'   SELECT DRIVE   ',0
func_len	EQU	$-offset func_command
func_len_half	EQU	func_len/2
		POS	<,31-func_len/2,5>
		DB	'  BAD TRACK LIST  ',0
		POS	<,31-func_len/2,6>
		DB	'    PREFORMAT     ',0
FUNC_MAX	EQU	($-offset func_command)/func_len-1
format_key:	
		POS	<,30-for_key_len/2,BASE_HIGH-1>
		DB	'    <<< Press [ESC] to abort >>>    ',0
for_key_len	EQU	$-offset format_key-4
for_key_len_half	EQU	for_key_len/2
format_warn:
		POS	<,30-for_warn_len/2,BASE_HIGH-3>
		DB	'Enter will destroy all data on current drive...(y/n)',0
for_warn_len	EQU	$-offset format_warn-4
for_warn_len_half	EQU	for_warn_len/2
search_intl:
		POS	<,30-for_key_len/2,BASE_HIGH-1>
		DB	' Search optimum interleave ..WAIT.. ',0
cyl_head_same:	
		POS	<,30-ch_same_len/2,BASE_HIGH-1>
		DB	' CYLINDER & HEAD number already exist !! ',0
ch_same_len	EQU	$-offset cyl_head_same-4
ch_same_len_half	EQU	ch_same_len/2
func0_window	DB	V_NORMAL
		POS	<,1+30-func0_len/2,SECOND_ROW+3>
		DB	'Current select drive is :'
		DB	0
func0_len	EQU	$-offset func0_window
func1_window	DB	V_NORMAL
		POS	<,1+30-func1_len/2,SECOND_ROW+1>
		DB	' Auto scan bad track '
func1_len	EQU	$-offset func1_window
func1_len_half	EQU	func1_len/2
		POS	<,1+30-func1_len/2,SECOND_ROW+2>
		DB	'    Add bad track'
		POS	<,1+30-func1_len/2,SECOND_ROW+3>
		DB	'  Modify bad track'
		POS	<,1+30-func1_len/2,SECOND_ROW+4>
		DB	'  Delete bad track'
		POS	<,1+30-func1_len/2,SECOND_ROW+5>
		DB	'Clear bad track table'
		DB	0
func2_window	DB	V_NORMAL
		POS	<,1+30-func2_len/2,SECOND_ROW+2>
		DB	'   Interleave (1-8) :   (0 for auto detect)'
func2_len	EQU	$-offset func2_window
		POS	<,1+30-func2_len/2,SECOND_ROW+3>
		DB	'Auto scan bad track :'
		POS	<,1+30-func2_len/2,SECOND_ROW+4>
		DB	'              START :'
		DB	0

;R08 start
drive_write_protected_msg:
		POS	<,30-tmout_msg_len/2,BASE_HIGH-1>
		DB	' Drive write-protected. Press any key to continue...',0
wprotect_msg_len	EQU	$-offset drive_write_protected_msg-4
wprotect_msg_len_half	EQU	tmout_msg_len/2

;R08 end
drive_err_msg:
		POS	<,30-tmout_msg_len/2,BASE_HIGH-1>
		DB	' Drive not ready. Press any key to continue... ',0
tmout_msg_len	EQU	$-offset drive_err_msg-4
tmout_msg_len_half	EQU	tmout_msg_len/2
test_intl_msg	DB	V_HILITE
		BORDER1	<,46,SECOND_ROW-2,75,SECOND_ROW+4>
		DB	V_NORMAL
		POS	<,47,SECOND_ROW-1>
		DB	' Interleave   Transfer-rate '
		POS	<,47,SECOND_ROW>
		DB	'     1             0 KB     '
		POS	<,47,SECOND_ROW+1>
		DB	'     2             0 KB     '
		POS	<,47,SECOND_ROW+2>
		DB	'     3             0 KB     '
		POS	<,47,SECOND_ROW+3>
		DB	'     4             0 KB     '
		DB	0
func_win_str	DB	V_NORMAL
		CLEAR	<,1+1,SECOND_ROW+1,BASE_WIDE-2,BASE_HIGH-3>
		DB	0
clear_track_str	DB	V_NORMAL
		CLEAR	<,BASE_WIDE+1,3,78,BASE_HIGH-2>
		DB	0
endif	;NO_HDD_LOW_LEVEL_FORMAT
;----------------------------------------------------------------------------

;--------------- POSTMSG.001 -----------------
ifndef	Special_Bad_CMOS_Message
			PUBLIC	CKSM_ERROR_MSG
CKSM_ERROR_MSG:
ifndef	Show_Post_Error_Code						;R28
			db	'CMOS checksum error - Defaults loaded',0	
else;	Show_Post_Error_Code						;R28
			db	' 162 CMOS checksum error - Defaults loaded',0	;R28
endif;	Show_Post_Error_Code						;R28

endif	;Special_Bad_CMOS_Message

			PUBLIC	BATTERY_FAIL_MSG
BATTERY_FAIL_MSG:
ifndef	Show_Post_Error_Code						;R28
			db	'CMOS battery failed',0
else;	Show_Post_Error_Code						;R28
			db	' 161 CMOS battery failed',0		;R28
endif;	Show_Post_Error_Code						;R28

			PUBLIC	OVERRIDE_ENABLE_STR
OVERRIDE_ENABLE_STR:
			db	'Override enabled - Defaults loaded',0

ifdef	PM_SUPPORT					;128k
		public	PM_Sign_On_Msg			;128k
PM_Sign_On_Msg:
		db	', An Energy Star Ally',0	;128k
endif;	PM_SUPPORT					;128k

;--------------- POSTMSG1.001 -----------------
ifdef	Elan400					;R30
			public	Elan_CPU	;R30
endif	;Elan400				;R30
			PUBLIC	TEST_MEM_MSG
			PUBLIC	OK_MSG
			PUBLIC	K1_MSG
			Public	CPU_Type_Clk
			PUBLIC	VID_SWITCH_MSG
			PUBLIC	KBD_ERR_MSG
			PUBLIC	KEY_LOCK_MSG
;R131			PUBLIC	MFG_POST_MSG
;R19  			PUBLIC	ROM_MODULE_MSG
;xxxx			PUBLIC	BIOS_CKSM_ERROR_STR
			PUBLIC	MEM_ERROR_MSG		

TEST_MEM_MSG:
			db	'Memory Test : ',0
OK_MSG:
			db	'K OK',0
K1_MSG:
			db	'K: ',0
CPU_Type_Clk:
			db	' CPU at ',0
VID_SWITCH_MSG:
			db	'Display switch is set incorrectly.',0
KEY_LOCK_MSG:
			db	'Keyboard is locked out - Unlock the key',0
KBD_ERR_MSG:
ifndef	Show_Post_Error_Code						;R28
			db	'Keyboard error or no keyboard present',0
else;	Show_Post_Error_Code						;R28
			db	' 031 Keyboard error or no keyboard present',0	;R28
endif;	Show_Post_Error_Code						;R28

;R22 - start	
ifdef   Show_PS2_UnConnect_Message
	Public	MOUSE_ERR_STR
MOUSE_ERR_STR:
			db	'PS/2 Mouse error or no PS/2 mouse present',0
endif	;Show_PS2_UnConnect_Message  		
;R22 - end

;R29 start
ifndef	KBC_KBDMOUSE_SWAP
ifdef	Check_KBD_MOUSE_WRONG_PLUG
		Public	Plugwrong_STR
		Public	Plugwrong_STR_LEN
Plugwrong_STR:		db	'K/B Plug wrong...',0
Plugwrong_STR_LEN	EQU	$ - offset Plugwrong_STR
endif	;Check_KBD_MOUSE_WRONG_PLUG
endif;	KBC_KBDMOUSE_SWAP
;R29 end

;R131 MFG_POST_MSG:
;R131 			db	'Manufacturing POST loop',0
;R19ROM_MODULE_MSG:
;R19			db	'ROM',0
;xxxxBIOS_CKSM_ERROR_STR:
;xxxx			db	'BIOS ROM checksum error - System halted',0
MEM_ERROR_MSG:
ifndef	Show_Post_Error_Code						;R28
			db	'Memory test fail',0
else;	Show_Post_Error_Code						;R28
			db	' 201 Memory test fail',0		;R28
endif;	Show_Post_Error_Code						;R28

;R30 - Start
ifdef	Elan400
Elan_CPU:
			db	'AuthenticAMD',0
endif	;Elan400
;R30 - End
;--------------- POSTMSG2.001 -----------------
		PUBLIC	HALT_ERR_MSG	   
;R20-start	   
;R20bifndef Flash_16K_8K_8K_Unit	  ;R20a
ifdef   CMOS_Default_in_Flash
		PUBLIC	test_ERR_MSG  	   
endif   ;CMOS_Default_in_Flash
;R20bendif   ; Flash_16K_8K_8K_Unit	  ;R20a
;R20-end	   
ifdef	Graphics_Post					;R13A
		PUBLIC	FULL_HALT_MSG			;R13A
		PUBLIC	TO_ENTER_SETUP1			;R13B
endif;	Graphics_Post					;R13A
		PUBLIC	TEST_EXT_MSG
		PUBLIC	TO_ENTER_SETUP
		PUBLIC	FLOPPY_RESET_MSG
		PUBLIC	FLOPPY_MISMATCH_MSG
;R05		PUBLIC	UNABLE_RESET_MSG
		PUBLIC	FIXED_DIAG_MSG
;R05		PUBLIC	UNABLE_INIT_MSG
;R05		PUBLIC	UNABLE_RECALIBRATE_MSG
;R05		PUBLIC	SECTOR_VERIFY_MSG
;R05 start
		public	HDD_Drive0_Err_Str
		public	HDD_Drive1_Err_Str
		public	HDD_Drive2_Err_Str
		public	HDD_Drive3_Err_Str
;R05 end
;R28 - start
ifdef	Show_IDE_Changed_Message	
		public	IDE_Drive0_Changed_Str
		public	IDE_Drive1_Changed_Str
		public	IDE_Drive2_Changed_Str
		public	IDE_Drive3_Changed_Str
endif;	Show_IDE_Changed_Message	
;R28 - end

HALT_ERR_MSG:
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,0,23>
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,0,28>
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
		POS	<,0,23>				;R13
else;	Graphics_Post					;R13
		POS	<,0,28>				;R13
endif;	Graphics_Post					;R13
		db	V_NORMAL,'Press '
ifdef	Continue_Key_Is_DEL 				;R27
		db	V_HILITE,'DEL'			;R27
else	;Continue_Key_Is_DEL				;R27
		db	V_HILITE,'F1'
endif	;Continue_Key_Is_DEL				;R27
		db	V_NORMAL,' to continue,'
;R02		STRSHOW	<,,,offset DGROUP:To_Enter_Setup_1>
		STRSHOW	<,,,offset To_Enter_Setup_1>	;R02
		db	'           ',0
;R20-start	   
;R20bifndef Flash_16K_8K_8K_Unit	  ;R20a
ifdef   CMOS_Default_in_Flash
test_ERR_MSG:
ifndef	Graphics_Post					 ;R20b
		POS	<,21,23>			 ;R20b
else;	Graphics_Post					 ;R20b
		POS	<,21,28>			 ;R20b
endif;	Graphics_Post					 ;R20b
		db	V_HILITE,' F2'
		db	V_NORMAL,' From FlashROM to loaded,'
		STRSHOW	<,,,offset To_Enter_Setup_1>	
		db	'           ',0
endif   ;CMOS_Default_in_Flash
;R20bendif   ;Flash_16K_8K_8K_Unit	  ;R20a
;R20-end
;R13A - start
ifdef	Graphics_Post
FULL_HALT_MSG:
		POS	<,0,23>
		db	V_NORMAL,'Press '
ifdef	Continue_Key_Is_DEL 				;R27
		db	V_HILITE,'DEL'			;R27
else	;Continue_Key_Is_DEL				;R27
		db	V_HILITE,'F1'
endif	;Continue_Key_Is_DEL				;R27
		db	V_NORMAL,' to continue,'
		STRSHOW	<,,,offset To_Enter_Setup_1>
		db	'           ',0
endif;	Graphics_Post
;R13A - end

TEST_EXT_MSG:
		POS	<,14,>
		db	0

;R15 -start
;[]------------------------------------------------------[]
ifdef	Bootblock_16K_Support			
ifdef	Automatic_Load_Awdflash				
ifNdef	No_Automatic_Load_Awdflash_InPOST	   ;R23

		public	TO_ENTER_Awdflash
		public	Load_Awdflash_FromAB
		public	TO_ENTER_Awdflash_Empty
		public	Error_Mess1A
		public	Error_Mess2A
		public	Error_Mess3A

	ifdef	Graphics_Post
		public 	TO_ENTER_Awdflash1
		public	Load_Awdflash_FromAB1
		public	TO_ENTER_Awdflash_Empty1
		public	Error_Mess1B
		public	Error_Mess2B
		public	Error_Mess3B
	endif	;Graphics_Post

TO_ENTER_Awdflash:
ifdef	No_ENTER_SETUP_Message				
		db	0
else	;No_ENTER_SETUP_Message				
	ifdef	NO_DEL_KEY_ENTER_SETUP			
		ifndef	Graphics_Post				
			POS	<,33,23>			
		else;	Graphics_Post				
			POS	<,33,28>			
		endif;	Graphics_Post				
	else	;NO_DEL_KEY_ENTER_SETUP			
		ifndef	Graphics_Post				
			POS	<,24,23>			
		else;	Graphics_Post				
			POS	<,24,28>			
		endif;	Graphics_Post				
	endif	;NO_DEL_KEY_ENTER_SETUP			
endif	;No_ENTER_SETUP_Message				
		db	V_NORMAL,', '
;R15A		db	V_HILITE,'F2'
		db	V_HILITE,'ALT+F2'		;R15A
		db	V_NORMAL,' to enter AWDFLASH',0

ifdef	Graphics_Post				
TO_ENTER_Awdflash1:					
ifdef	No_ENTER_SETUP_Message			
		db	0
else	;No_ENTER_SETUP_Message			
	ifdef	NO_DEL_KEY_ENTER_SETUP			
		POS	<,33,23>			
	else	;NO_DEL_KEY_ENTER_SETUP			
		POS	<,24,23>
	endif	;NO_DEL_KEY_ENTER_SETUP			
endif	;No_ENTER_SETUP_Message			
		db	V_NORMAL,', '
;R15A		db	V_HILITE,'F2'
		db	V_HILITE,'ALT+F2'		;R15A
		db	V_NORMAL,' to enter AWDFLASH',0
endif;	Graphics_Post				
;--------------------------------------
Load_Awdflash_FromAB:
ifndef	Graphics_Post				
		POS	<,0,23>			
else;	Graphics_Post				
		POS	<,0,28>			
endif;	Graphics_Post				
		db	V_HILITE,'Loading "AWDFLASH.EXE" from floppy ,Please wait ...',0

ifdef	Graphics_Post
Load_Awdflash_FromAB1:
		POS	<,0,23>			
		db	V_HILITE,'Loading "AWDFLASH.EXE" from floppy ,Please wait ...',0
endif;	Graphics_Post				

;--------------------------------------
TO_ENTER_Awdflash_Empty:
	ifndef	Graphics_Post				
		POS	<,0,23>			
	else;	Graphics_Post				
		POS	<,0,28>			
	endif;	Graphics_Post				
		db	V_NORMAL,'                                                           ',0

ifdef	Graphics_Post				
TO_ENTER_Awdflash_Empty1:
		POS	<,0,23>			
		db	V_NORMAL,'                                                           ',0
endif;	Graphics_Post				

;[]================== Error ====================[]
Error_Mess1A:
	ifndef	Graphics_Post				
		POS	<,0,23>			
	else;	Graphics_Post				
		POS	<,0,28>			
	endif;	Graphics_Post				
		db	'Can not find any FDD, ESC to continue POST',0

ifdef	Graphics_Post				
Error_Mess1B:
		POS	<,0,23>			
		db	'Can not find any FDD, ESC to continue POST',0
endif;	Graphics_Post				

;--------------------------------------
Error_Mess2A:
	ifndef	Graphics_Post				
		POS	<,0,23>			
	else;	Graphics_Post				
		POS	<,0,28>			
	endif;	Graphics_Post				
		db	'Can not find AWDFLASH.EXE , ESC to continue POST',0

ifdef	Graphics_Post				
Error_Mess2B:
		POS	<,0,23>			
		db	'Can not find AWDFLASH.EXE , ESC to continue POST',0
endif;	Graphics_Post				

;--------------------------------------
Floppy_Disk_Not_Find:
Error_Mess3A:				;;;;;
ifndef	Graphics_Post				
		POS	<,0,23>			
else;	Graphics_Post				
		POS	<,0,28>			
endif;	Graphics_Post	       
		db	'Insert Disk press Enter or ESC to continue POST',0	
			
ifdef	Graphics_Post				
Floppy_Disk_Not_Find1:
Error_Mess3B:				;;;;;
		POS	<,0,23>			
		db	'Insert Disk press Enter or ESC to continue POST',0	
endif;	Graphics_Post	       

;--------------------------------------
;;;;;Error_Mess3A:
;;;;;ifndef	Graphics_Post				
;;;;;		POS	<,0,23>			
;;;;;else;	Graphics_Post				
;;;;;		POS	<,0,28>			
;;;;;endif;	Graphics_Post	       
;;;;;		db	'Insert Disk press Enter or ESC to continue POST',0	
;;;;;			
;;;;;ifdef	Graphics_Post				
;;;;;Error_Mess3B:
;;;;;		POS	<,0,23>			
;;;;;		db	'Insert Disk press Enter or ESC to continue POST',0	
;;;;;endif;	Graphics_Post	       

endif	;No_Automatic_Load_Awdflash_InPOST	   ;R23
endif	;Automatic_Load_Awdflash				
endif	;Bootblock_16K_Support			
;[]------------------------------------------------------[]
;R15 -end


TO_ENTER_SETUP:
ifdef	No_ENTER_SETUP_Message			;R06
		db	0			;R06
endif	;No_ENTER_SETUP_Message			;R06
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,0,23>
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,0,28>			;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post				;R13
		POS	<,0,23>			;R13
else;	Graphics_Post				;R13
		POS	<,0,28>			;R13
endif;	Graphics_Post				;R13
		db	V_NORMAL,'Press'
To_Enter_Setup_1:
		db	' '
ifdef	NO_DEL_KEY_ENTER_SETUP			;R04
;R09A 	ifdef	KEY_SETUP_SCAN_CODE				;R09
 	ifdef	KEY_SETUP_STRING				;R09A
		db	V_HILITE,KEY_SETUP_STRING		;R09
	else	;KEY_SETUP_SCAN_CODE				;R09
		db	V_HILITE,'CTRL+ALT+ESC'	;R04
 	endif	;KEY_SETUP_SCAN_CODE				;R09
else	;NO_DEL_KEY_ENTER_SETUP			;R04
		db	V_HILITE,'DEL'
endif	;NO_DEL_KEY_ENTER_SETUP			;R04
		db	V_NORMAL,' to enter SETUP',0

ifdef	Graphics_Post
TO_ENTER_SETUP1:
ifdef	No_ENTER_SETUP_Message
		db	0
else;	No_ENTER_SETUP_Message
		POS	<,0,23>
		db	V_NORMAL,'Press'
		db	' '
ifdef	NO_DEL_KEY_ENTER_SETUP
 	ifdef	KEY_SETUP_STRING
		db	V_HILITE,KEY_SETUP_STRING
	else	;KEY_SETUP_SCAN_CODE
		db	V_HILITE,'CTRL+ALT+ESC'
 	endif	;KEY_SETUP_SCAN_CODE
else	;NO_DEL_KEY_ENTER_SETUP
		db	V_HILITE,'DEL'
endif	;NO_DEL_KEY_ENTER_SETUP
		db	V_NORMAL,' to enter SETUP',0
endif	;No_ENTER_SETUP_Message
endif;	Graphics_Post

FLOPPY_RESET_MSG:
FLOPPY_MISMATCH_MSG:
		db	'Floppy disk(s) fail (  )'
		SUBX	<,3>
		db	0

;R05 UNABLE_RESET_MSG:
FIXED_DIAG_MSG:
;R05 UNABLE_INIT_MSG:
;R05 UNABLE_RECALIBRATE_MSG:
;R05 SECTOR_VERIFY_MSG:
;R05 		db	'Hard disk(s) fail (  )'
;R05 		SUBX	<,3>
;R05 		db	0
;R05 start
		db	'Hard disk(s) Diagnosis fail',0
ifndef	Show_Post_Error_Code				;R28
HDD_Drive0_Err_Str:
		db	'Primary master hard disk fail',0
HDD_Drive1_Err_Str:
		db	'Primary slave hard disk fail',0
HDD_Drive2_Err_Str:
		db	'Secondary master hard disk fail',0
HDD_Drive3_Err_Str:
		db	'Secondary slave hard disk fail',0

;R28 - start
else;	Show_Post_Error_Code
HDD_Drive0_Err_Str:
		db	'1780 Primary master hard disk fail',0
HDD_Drive1_Err_Str:
		db	'1781 Primary slave hard disk fail',0
HDD_Drive2_Err_Str:
		db	'1782 Secondary master hard disk fail',0
HDD_Drive3_Err_Str:
		db	'1783 Secondary slave hard disk fail',0
endif;	Show_Post_Error_Code
;R28 - end


;R05 end
;R28 - start
ifdef	Show_IDE_Changed_Message	
IDE_Drive0_Changed_Str:
		db	'Primary master IDE has changed',0
IDE_Drive1_Changed_Str:
		db	'Primary slave IDE has changed',0
IDE_Drive2_Changed_Str:
		db	'Secondary master IDE has changed',0
IDE_Drive3_Changed_Str:
		db	'Secondary slave IDE has changed',0
endif;	Show_IDE_Changed_Message	
;R28 - end

;--------------- POSTMSG3.001 -----------------
		PUBLIC	SKIP_MEM_MSG
		PUBLIC	BTM_LINE_CLR
		Public	CLR_SKIP_MEM_MSG
ifdef	Graphics_Post				;R13B
		PUBLIC	SKIP_MEM_MSG1		;R13B
		PUBLIC	BTM_LINE_CLR1		;R13B
		Public	CLR_SKIP_MEM_MSG1	;R13B
endif;	Graphics_Post				;R13B

SKIP_MEM_MSG:
ifdef	No_ENTER_SETUP_Message			;R06
		db	0			;R06
endif	;No_ENTER_SETUP_Message			;R06
ifdef	NO_DEL_KEY_ENTER_SETUP			;R04
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,33,23>		;R04
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,33,28>		;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
		POS	<,33,23>			;R13
else;	Graphics_Post					;R13
		POS	<,33,28>			;R13
endif;	Graphics_Post					;R13
else	;NO_DEL_KEY_ENTER_SETUP			;R04
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,24,23>
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,24,28>		;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
		POS	<,24,23>			;R13
else;	Graphics_Post					;R13
		POS	<,24,28>			;R13
endif;	Graphics_Post					;R13
endif	;NO_DEL_KEY_ENTER_SETUP			;R04
		db	V_NORMAL,', '
		db	V_HILITE,'ESC'
		db	V_NORMAL,' to skip memory test',0
;R13B - start
ifdef	Graphics_Post
SKIP_MEM_MSG1:
ifdef	No_ENTER_SETUP_Message
		db	0
else;	;No_ENTER_SETUP_Message
ifdef	NO_DEL_KEY_ENTER_SETUP
		POS	<,33,23>
else	;NO_DEL_KEY_ENTER_SETUP
		POS	<,24,23>
endif	;NO_DEL_KEY_ENTER_SETUP
		db	V_NORMAL,', '
		db	V_HILITE,'ESC'
		db	V_NORMAL,' to skip memory test',0
endif	;No_ENTER_SETUP_Message
endif;	Graphics_Post
;R13B - end
CLR_SKIP_MEM_MSG:
ifdef	NO_DEL_KEY_ENTER_SETUP			;R04
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,33,23>		;R04
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,33,28>		;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
		POS	<,33,23>			;R13
else;	Graphics_Post					;R13
		POS	<,33,28>			;R13
endif;	Graphics_Post					;R13
else	;NO_DEL_KEY_ENTER_SETUP			;R04
;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,24,23>
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13		POS	<,24,28>		;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
		POS	<,24,23>			;R13
else;	Graphics_Post					;R13
		POS	<,24,28>			;R13
endif;	Graphics_Post					;R13
endif	;NO_DEL_KEY_ENTER_SETUP			;R04
		db	V_NORMAL,'                         ',0

;R13ifndef	EPA_LOGO_Use_Graphics			;R12
;R13BTM_LINE_CLR:	CLEAR	<,0,22,79,24>
;R13else;	EPA_LOGO_Use_Graphics			;R12
;R13BTM_LINE_CLR:	CLEAR	<,0,27,79,29>		;R12
;R13endif;	EPA_LOGO_Use_Graphics			;R12
ifndef	Graphics_Post					;R13
BTM_LINE_CLR:	CLEAR	<,0,22,79,24>			;R13
else;	Graphics_Post					;R13
BTM_LINE_CLR:	CLEAR	<,0,27,79,29>			;R13
endif;	Graphics_Post					;R13
		db	0
;R13B - start
ifdef	Graphics_Post
CLR_SKIP_MEM_MSG1:
ifdef	NO_DEL_KEY_ENTER_SETUP
		POS	<,33,23>
else;	NO_DEL_KEY_ENTER_SETUP
		POS	<,24,23>
endif	;NO_DEL_KEY_ENTER_SETUP
		db	V_NORMAL,'                         ',0

BTM_LINE_CLR1:	CLEAR	<,0,22,79,24>
		db	0
endif;	Graphics_Post
;R13B - end
;R03 start
;R13ifdef FULL_SCREEN_LOGO
ifdef	Graphics_Post					;R13
ifndef	No_Show_Graphic_POST_MSG			;R10
		public	Graphic_POST_MSG
Graphic_POST_MSG:
ifdef	Show_Press_TAB_Middle				;R14
		POS	<,15,29>			;R14
else;	Show_Press_TAB_Middle				;R14
		POS	<,0,29>
endif;	Show_Press_TAB_Middle				;R14
;R16		db	V_NORMAL,'Press '
;R16		db	V_HILITE,'TAB'
;R16		db	V_NORMAL,' to show POST screen,'
;R16		STRSHOW	<,,,offset To_Enter_Setup_1>
;R16		db	'      ',0
;R26		db	V_HILITE,'Press [TAB] to show POST '	;R16
;R26		db	'screen, [DEL] to enter SETUP',V_NORMAL	;R16
;R26 - starts
		db	V_HILITE, 'Press '
ifndef	NO_RETURN_TO_TEXT
		db	'[TAB] to show POST screen, '
endif	;NO_RETURN_TO_TEXT
ifNdef	KEY_SETUP_STRING				;R09B
ifdef	Continue_Key_Is_DEL				;R27
		db	' F1   to enter SETUP',V_NORMAL	;R27
else	;Continue_Key_Is_DEL				;R27
		db	'[DEL] to enter SETUP',V_NORMAL
endif	;Continue_Key_Is_DEL				;R27
;R09B -start
else	;KEY_SETUP_STRING				
		db	KEY_SETUP_STRING
		db	' to enter SETUP',V_NORMAL
endif	;KEY_SETUP_STRING			      
;R09B -end

;R26 - ends
		db	0				;R16A
endif;	No_Show_Graphic_POST_MSG			;R10
;R07 - start
;R21 ifdef	Notebook_Power_Management
if	STD_Function		EQ	1		;R21
		public	Resume_POST_MSG
Resume_POST_MSG:
		POS	<,0,29>
		db	V_NORMAL,'Resuming from disk, Press '	;R11
		db	V_HILITE,'TAB'
		db	V_NORMAL,' to show POST screen.'
		db	'      ',0
endif	;STD_Function		EQ	1		;R21
;R21 endif	;Notebook_Power_Management
;R07 - end
endif;	Graphics_Post					;R13
;R13endif ;FULL_SCREEN_LOGO
;R03 end
				 
comment %					;R01A
;R01 start
		public	HDD0_MODE_NOT_MATCH_MSG
HDD0_MODE_NOT_MATCH_MSG:
		db	'Primary Master '
		STRSHOW	<,,,offset DGROUP:HDD_MODE_NOT_MATCH_MSG>
		db	0
		public	HDD1_MODE_NOT_MATCH_MSG
HDD1_MODE_NOT_MATCH_MSG:
		db	'Primary slave '
		STRSHOW	<,,,offset DGROUP:HDD_MODE_NOT_MATCH_MSG>
		db	0
		public	HDD2_MODE_NOT_MATCH_MSG
HDD2_MODE_NOT_MATCH_MSG:
		db	'Secondary Master '
		STRSHOW	<,,,offset DGROUP:HDD_MODE_NOT_MATCH_MSG>
		db	0
		public	HDD3_MODE_NOT_MATCH_MSG
HDD3_MODE_NOT_MATCH_MSG:
		db	'Secondary Slave '
		STRSHOW	<,,,offset DGROUP:HDD_MODE_NOT_MATCH_MSG>
		db	0
HDD_MODE_NOT_MATCH_MSG:
		db	'HDD access mode ('
		CALLROUTINE	<,offset Disp_Access_mode>
		SUBX	<,1>
		db	') not match with SETUP',0
;R01 end
%						;R01A
;R18 start
ifdef	Trend_AntiVirus
		public	Trend_AntiVirus_Msg
Trend_AntiVirus_Msg:
;R24		db	NEWLINE,NEWLINE,V_HILITE,'Trend ChipAwayVirus(R) On Guard',NEWLINE;R18A
		db	NEWLINE,NEWLINE,V_HILITE,'Trend ChipAwayVirus(R) On Guard '	;R24
;		db	NEWLINE,NEWLINE,'ChipAwayVirus On Guard',NEWLINE
;		db      'Protect Your Computer From All Boot Viruses'
		db	0
endif	;Trend_AntiVirus
;R18 end

		Public	Clear_Screen_Str	;R25
Clear_Screen_Str	db	V_NORMAL	;R25
			CLEAR	<,0,0,79,24>	;R25
			db	0		;R25

;R02FCODE		ENDS
ECODE		ENDS				;R02
		END
