⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sus2disk.asm

📁 惠普公司bios完整源代码大机密!
💻 ASM
📖 第 1 页 / 共 2 页
字号:
		extrn	AX_To_DEC2:near
		extrn	Show_SIX_DIGIT:near
ifndef	Wakeup_From_UART			;R95
		EXTRN	GET_SMBASE_SEG:NEAR
endif	;Wakeup_From_UART			;R95
		EXTRN	A20_ON:NEAR
		EXTRN	SND_SPKR_TONE:NEAR
ifndef	P6_BIOS_ONLY				;R43A
		extrn	Check_Cyrix_Cpu:near	;R43A
		extrn	Get_Cyrix:near		;R43A
endif	;P6_BIOS_ONLY				;R43A
ifdef	NEW_SUPERIO_KERNEL
 ifndef	NO_SUPER_IO				;R78
		extrn	Suspend_Super_IO:near
		extrn	Restore_Super_IO:near
 endif;	NO_SUPER_IO				;R78
endif	;NEW_SUPERIO_KERNEL
;R77 - start
ifdef	Superio_Support_Sensor
		extrn	Save_Sensor:Near
		extrn	Restore_Sensor:Near
endif	;Superio_Support_Sensor
;R77 - end
endif	;STD_Function		EQ	1
;R43 - end

;R95 - start
ifdef	Wakeup_From_UART
		EXTRN	GET_SMBASE_SEG:NEAR
endif	;Wakeup_From_UART
;R95 - end

ifdef	Notebook_Power_Management
		INCLUDE	8259.EQU
;R43		INCLUDE	8042.EQU
		INCLUDE	8254.EQU
;R43		extrn	Get_PM_RAM_Seg:near		;PMU.ASM
;R43		EXTRN	Enable_CRT:NEAR
;R43		EXTRN	BUFFER_8042_FULL:NEAR
;R43		EXTRN	OUT_8042_FULL:NEAR
		EXTRN	OUT_AUX:NEAR
;R32		EXTRN	A20_ON:NEAR
;R32B ifdef	Resume_Turn_on_A20				;R32A
;R43		EXTRN	A20_ON:NEAR			;R32A
;R32B endif	;Resume_Turn_on_A20				;R32A
		EXTRN	Multi_Service:near
		EXTRN	Detect_LBA_Mode:near
;R43		EXTRN	Display_String:NEAR
		EXTRN	Get_Color_Off:NEAR
		EXTRN	Check_Display_Mode:NEAR
;R43		EXTRN	SND_SPKR_TONE:NEAR
;R43		EXTRN	SUSPEND_CHIPSET_TABLE:NEAR
;R43		EXTRN	GET_CT:NEAR
;R43		EXTRN	SET_CT:NEAR
;R43		EXTRN	GET_SMBASE_SEG:NEAR
		EXTRN	CT_DISABLE_SMI:NEAR
;R43		EXTRN	CT_0V_SHUTDOWN:NEAR
;R43		EXTRN	CT_SYSTEM_WAKEUP:NEAR
		EXTRN	CT_SAVE_COMA:NEAR
		EXTRN	CT_SAVE_COMB:NEAR
		EXTRN	CT_SAVE_FDC:NEAR
		EXTRN	CT_RESTORE_FDC:NEAR
		EXTRN	CT_SAVE_8259:NEAR
ifdef	NEW_SUPERVGA_KERNEL				;R01
		extrn	Suspend_Vga:near		;R01
		extrn	Resume_Vga:near			;R01
		extrn	Save_VRAM:near			;R01
		extrn	Restore_VRAM:near		;R01
else	;NEW_SUPERVGA_KERNEL				;R01
		EXTRN	CT_SAVE_VGA:NEAR
		EXTRN	CT_RESTORE_VGA:NEAR
endif	;NEW_SUPERVGA_KERNEL				;R01
;R43		EXTRN	CT_ALLSHADOW_RW:NEAR
;R43		EXTRN	CT_SKIP_ZV_SHADOW:NEAR
;R43		EXTRN	CT_SMBASE_OFF:NEAR
;R43		EXTRN	CT_SMBASE_ON:NEAR
		extrn	Set_Full_On_SMM:near
ifndef	NEW_SUPERVGA_KERNEL				;R01
		extrn	Ct_Save_VRAM:near
		extrn	Ct_Restore_VRAM:near
endif	;NEW_SUPERVGA_KERNEL				;R01
;R43		extrn	VIDEO_FUNC:near
;R43		extrn	VGA_Buffer:near
;R41		extrn	ZV_Resume_Byte:ABS
;R43		extrn	E000_64K_shadow_R:near
;R43		extrn	Disable_E000_ROM_Shadow:near
;R43A ifndef	P6_BIOS_ONLY
;R43A 		extrn	Check_Cyrix_Cpu:near
;R43A 		extrn	Get_Cyrix:near
;R43A endif	;P6_BIOS_ONLY
;R43		extrn	Save_Ct_device:near	;R03
;R43		extrn	Restore_Ct_device:near	;R03
ifdef	NEW_SUPERKBC_KERNEL			;R03
		extrn	Suspend_KBC:near	;R03
		extrn	Resume_KBC:near		;R03
endif	;NEW_SUPERKBC_KERNEL			;R03
ifdef	NEW_SUPERIO_KERNEL			;R05
ifndef	DONT_SAVE_SUPER_IO	;R35
;R43		extrn	Suspend_Super_IO:near	;R05
;R43		extrn	Restore_Super_IO:near	;R05
endif	;DONT_SAVE_SUPER_IO	;R35
endif	;NEW_SUPERIO_KERNEL			;R05
	ifdef	Special_Save_VGA_status			;R06
		extrn	Ct_Special_restore_VGA:near	;R06
	endif	;Special_Save_VGA_status		;R06
	ifdef	PNP_BIOS			;R08
	ifndef	NO_ISA_PNP			;R54
	ifndef	ZV_DONT_SAVE_PNP		;R26
		extrn	Suspend_PnP_Device:near	;R08
		extrn	Restore_PnP_Device:near	;R08
	endif	;ZV_DONT_SAVE_PNP		;R26
	endif	;NO_ISA_PNP			;R54
	endif	;PNP_BIOS			;R08
	ifdef	Onboard_Modem_Card		;R08
		extrn	COMM_VECT:far		;R08
	endif	;Onboard_Modem_Card		;R08
;R18	ifdef	AUDIO_KERNEL			;R08
ifndef	No_Save_Sound				;R57
		extrn	Save_Sound:near		;R08
		extrn	Restore_Sound:near	;R08
endif	;No_Save_Sound				;R57
;R18	endif	;AUDIO_KERNEL			;R08
	;R12 - start
	ifndef	NO_STR_SUPPORT
		extrn	Ct_5V_suspend_VGA:near
		extrn	Ct_5V_Resume_VGA:near
		extrn	CT_5V_Shutdown:near
		extrn	Save_5V_Chipset:near
	if	Desktop_Power_Management EQ	2	;R81
	ifndef	NO_STR_PASSWORD_CHECK			;R16
		extrn	kb_cntrlr_out:near		;R16
		extrn	buffer_8042_full:near		;R16
		extrn	keys:near			;R16
		extrn	kyb_enable:near			;R16
		extrn	KB_Out:near			;R16
		extrn	Ct_Enable_CRT:near		;R16
;R81A		extrn	Read_Cmos_To_Stack:near		;R16
		extrn	Fproc_Verify_Password:far	;R16
		extrn	KEYBOARD:near			;R16
	endif	;NO_STR_PASSWORD_CHECK			;R16
	endif	;Desktop_Power_Management EQ	2	;R81
	endif	;NO_STR_SUPPORT
	;R12 - end
;R43 ifdef	ACPI_Support
;R43 		extrn	ACPINVSAddress:near		;R38
;R43 		extrn	ACPITableAddress:near		;R38
;R43 ifdef	S3_SUPPORT					;R40
;R43 		extrn	Save_S3_Chipset:near		;R40
;R43 endif	;S3_SUPPORT					;R40
;R43 ifdef	S4_SUPPORT					;R41
;R43 		extrn	Wakeup_Device:near		;R41
;R43 endif	;S4_SUPPORT					;R41
;R43 endif	;ACPI_Support
;R43		extrn	ExtMem128Mb:near		;R14
;R43		extrn	AX_To_DEC2:near			;R15
;R43		extrn	Show_SIX_DIGIT:near		;R15
;R43		extrn	Display_Char:near		;R15
ifdef	Patch_VGA_Resume_Garbage			;R19
		extrn	Disable_CRT:near		;R19
endif	;Patch_VGA_Resume_Garbage			;R19
endif	;Notebook_Power_Management

		extrn	F000_call_proc:near
		extrn	Post_call_proc:near

;R28 - start
ifndef	DONT_RELEASE_E000_FOR_PCI
		extrn	GET_CMOS:near
		extrn	SET_CMOS:near
else	;DONT_RELEASE_E000_FOR_PCI
		extrn	F000_GET_CMOS:near
		extrn	F000_SET_CMOS:near
endif	;DONT_RELEASE_E000_FOR_PCI
;R28 - end
;R32		extrn	Read_A20_Status:near		;R30
;R44A - start
WINBOND_KBC		=	0
ifdef	W83967AF
WINBOND_KBC		=	1
endif	;W83967AF
ifdef	W83977AF
WINBOND_KBC		=	1
endif	;W83977AF
ifdef	W83977ATF
WINBOND_KBC		=	1
endif	;W83977ATF
ifdef	W83977TF
WINBOND_KBC		=	1
endif	;W83977TF
ifdef	W83977EF
WINBOND_KBC		=	1
endif	;W83977EF
;R44A - end
;R44B - start
ifdef	W83627F
WINBOND_KBC		=	1
endif	;W83627F
ifdef	W83627HF
WINBOND_KBC		=	1
endif	;W83627HF
;R44B - end
;R63a	- start
if	STR_Function	EQ	1
if	DESKTOP_POWER_MANAGEMENT	EQ	1
RES_KBD_RESET   	EQU	1
endif	;DESKTOP_POWER_MANAGEMENT	EQ	1
endif	;STR_Function	EQ	1
;R63a   - end

G_RAM		SEGMENT	USE16 AT 0

		ORG	04H*4
		INCLUDE	SEG_0.INC

		ORG	400H
		INCLUDE	G_RAM.INC

G_RAM		ENDS

;R43 ifdef	Notebook_Power_Management
SM_RAM		SEGMENT	USE16 AT 0
		INCLUDE	SM_RAM.INC
SM_RAM		ENDS

ZV_Temp_Stack	SEGMENT	USE16 AT 0
		org	1000h
VIDEO_BUFFER	LABEL	WORD
		org	0FFF0h
ZV_STACK_TOP	LABEL	DWORD
ZV_Temp_Stack	ENDS
;R43 endif	;Notebook_Power_Management

PM_RAM		SEGMENT	USE16 AT 0 	; define PM RAM segment

		ORG	0
		INCLUDE	PM_RAM.INC

PM_RAM		ENDS

.LIST

EGROUP		GROUP	ECODE
DGROUP		GROUP	FCODE
FCODE		SEGMENT	USE16 DWORD Public 'CODE'
		ASSUME	CS:DGROUP

;R43 - start
ifdef	ACPI_SUPPORT
if	ACPI_RESUME		EQ	1
		extrn	Sx_Resume_Point:near
endif	;ACPI_RESUME		EQ	1
if	ACPI_CPU_POWEROFF	EQ	1
		PUBLIC	Save_S3_Status
Save_S3_Status	PROC	FAR

		Call	E000_64K_shadow_R
		FAR_Call	<offset E_Save_S3_Status>,<Seg Egroup>
		Call	Disable_E000_ROM_Shadow

		ret
Save_S3_Status	Endp
endif	;ACPI_CPU_POWEROFF	EQ	1

ifdef	S2_SUPPORT
		PUBLIC	Restore_S2_Status
Restore_S2_Status	PROC	FAR

		Call	E000_64K_shadow_R
		FAR_Call	<offset E_Restore_S2_Status>,<Seg Egroup>
		Call	Disable_E000_ROM_Shadow

		ret

Restore_S2_Status	Endp
endif	;S2_SUPPORT

ifdef	S3_SUPPORT
		PUBLIC	Restore_S3_Status
Restore_S3_Status	PROC	FAR

		Call	E000_64K_shadow_R
		FAR_Call	<offset E_Restore_S3_Status>,<Seg Egroup>
		Call	Disable_E000_ROM_Shadow

		ret
Restore_S3_Status	Endp
endif	;S3_SUPPORT

ifdef	S4_SUPPORT
;[]========================================================================[]
;
;	Put system into S4 state.
;
;[]=========================================================================[]

		ASSUME	DS:G_RAM
		Public	Do_S4_Suspend
Do_S4_Suspend	Proc	Far

		Call	E000_64K_shadow_R
		FAR_Call 	<offset E_S4_Suspend>,<Seg Egroup>
		Call	Disable_E000_ROM_Shadow

		ret
Do_S4_Suspend	Endp
;R55 - start
		ASSUME	DS:G_RAM
		Public	WakeUp_VGA
WakeUP_VGA	Proc	Far

		Call	E000_64K_shadow_R
		FAR_Call 	<offset E_WakeUP_VGA>,<Seg E_WakeUP_VGA>
		Call	Disable_E000_ROM_Shadow

		ret
WakeUP_VGA	Endp
;R55 - end
endif	;S4_SUPPORT
endif	;ACPI_SUPPORT
;R43 - end

ifdef	Notebook_Power_Management
;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹
;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -