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

📄 win977.8

📁 tiny bios--了解BIOS非常好的资料
💻 8
字号:
	;
	; Initialize Winbond W83977EF super I/O
	;
	; (C)1997-2001 Pascal Dornier / PC Engines; All rights reserved.
	; This file is licensed pursuant to the COMMON PUBLIC LICENSE 0.5.
	;
sio_idx	equ	03f0h
	;
	; initialize super I/O
	;
	; (interrupts disabled on entry)
	;
sio_init:	pushf		;disable interrupts, preserve old status
	cli
	cld
	
	; enter configuration mode
	
	mov	dx,sio_idx
	mov	al,87h
	out	dx,al
	out	dx,al
	
	; set super I/O registers
	
;	mov	dx,sio_idx
	mov	si,offset sio_tab
	call	sio_set

	; leave configuration mode

;	mov	dx,sio_idx	;leave configuration mode
	mov	al,0aah
	out	dx,al
	
	popf		;restore flags
	ret
	;
	; set super I/O registers from table
	;
sio_set1:	out	dx,al	;set index register
	inc	dx
	mov	al,ah
	out	dx,al	;set data register
	dec	dx
sio_set:	cs:	lodsw
	cmp	al,0ffh	;end of table ?
	jnz	sio_set1
	ret
	;
	; Winbond W83977EF SIO configuration
	;
sio_tab:	db	002,001	;Soft reset 94
;	db	020,052	;SID register 94 RO
;	db	021,0F4	;SID register 94 RO
	db	022,0FF	;Power control 94
	db	023,0FE	;Power management 94
	db	024,084	;clock control 95
	db	025,000	;tristate 95
	db	026,000	;mode select 96
	db	028,000	;IRQ sharing, LPT mode 97
	db	02A,000	;pin select 97
	db	02B,000	;pin select 98
	db	02C,000	;pin select 98

	db	007,000	;FDC
	db	060,003	;base MSB
	db	061,0F0	;base LSB
	db	070,006	;FDC int
	db	074,002	;DMA channel
	db	0F0,00C	;FDC config 100
	db	0F1,000	;FDD option 101
	db	0F2,0FF	;FDD type 102
	db	0F4,000	;FDD drive type select 102
	db	0F5,000	;FDD drive type select 103
	db	030,001	;Activate FDC

	db	007,001	;LPT
	db	060,003	;Base MSB
	db	061,078	;Base LSB
	db	070,007	;LPT int
	db	074,003	;DMA channel
	db	0F0,000	;LPT config 104
	db	030,001	;Activate LPT

	db	007,002	;COM1
	db	060,003	;Base MSB
	db	061,0F8	;Base LSB
	db	070,004	;COM1 int
	db	0F0,000	;COM mode register 105
	db	030,001	;Activate COM1

	db	007,003	;COM2
	db	060,002	;Base MSB
	db	061,0F8	;Base LSB
	db	070,003	;COM2 int
	db	074,0FF	;DMA channel
	db	0F0,000	;COM2 config 106
	db	0F1,000	;COM2 config 106
	db	030,001	;Activate COM2

	db	007,005	;Keyboard
	db	060,000	;Base MSB
	db	061,060	;Base LSB
	db	062,000	;Base MSB
	db	063,064	;Base LSB
	db	070,000	;KBC int
	db	072,000	;Mouse int
	db	0F0,083	;KBC config 108
	db	030,000	;Activate KBD -> disable

	db	007,006	;CIR
	db	060,000	;Base MSB
	db	061,000	;Base LSB
	db	070,000	;CIR int
	db	030,000	;Activate CIR -> disable

	db	007,007	;GPIO1
	db	060,000	;Base MSB
	db	061,000	;Base LSB
	db	062,000	;GP14 Base MSB
	db	063,000	;GP14 Base LSB
	db	064,000	;GP15 Base MSB
	db	065,000	;GP15 Base LSB
	db	070,000	;GP10 int
	db	072,000	;GP11 int
	db	0E0,001	;GP10 110 input
	db	0E1,001	;GP11 110 input
	db	0E2,001	;GP12 111 input
	db	0E3,001	;GP13 111 input
	db	0E4,001	;GP14 111 input
	db	0E5,001	;GP15 112 input
	db	0E6,001	;GP16 112 input
	db	0E7,001	;GP17 112 input
	db	0F1,000	;I/O decode enable 113 -> disable
	db	030,001	;Activate GPIO

	db	007,008	;GPIO2
	db	060,000	;Base MSB
	db	061,000	;Base LSB
	db	070,000	;GP20..26 int
	db	072,000	;watch dog int
	db	0E8,010	;GP20 114 keyboard reset output
	db	0E9,001	;GP21 114 input
	db	0EA,001	;GP22 114 input
	db	0EB,001	;GP23 114 input
	db	0EC,001	;GP24 115 input
	db	0ED,008	;GP25 115 A20 gate output
	db	0F0,000	;interrupt filter 116
	db	0F2,000	;watchdog timer 116
	db	0F3,000	;watchdog timer 116
	db	0F4,000	;watchdog timer 117
	db	030,001	;Activate GPIO2

	db	007,00A	;ACPI
	db	070,000	;SCI# int
	db	0E0,000	;enable 118
	db	0E1,005	;keyboard wake-up index 119
	db	0E2,000	;keyboard wake-up data 119
;	db	0E3,000	;kb/ms wake status 119
	db	0E4,000	;power loss control 119
	db	0E5,000	;compare code length 120
	db	0E6,000	;CIR rate divisor 120
	db	0E7,000	;CIR mode 120
	db	0F0,000	;auto power management enable 120
	db	0F1,08F	;trap status 121
	db	0F3,034	;IRQ status 122
	db	0F4,000	;IRQ status 122
	db	0F6,000	;SCI# enable 123
	db	0F7,000	;SCI# enable 123
	db	0F9,000	;SCI# enable 124
	db	030,000	;Activate GPIO2 -> disable

	db	0ff	;end of table

⌨️ 快捷键说明

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