📄 io.mak
字号:
# *****************************************************************;
# *****************************************************************;
# ** **;
# ** (C)Copyright 1985-1996, American Megatrends, Inc. **;
# ** **;
# ** All Rights Reserved. **;
# ** **;
# ** 6145-F Northbelt Pkwy, Norcross, GA 30071 **;
# ** **;
# ** Phone (770)-246-8600 **;
# ** **;
# *****************************************************************;
# *****************************************************************;
#-----------------------------------------------------------------------#
# SELECT IO MODULE #
#-----------------------------------------------------------------------#
# NOTE TO ENGINEERS #
# 1. Select the IO chipset present in the motherboard by setting the #
# corresponding switch to 1. #
# For example, if SMC665 is present in motherboard, set SMC665 = 1. #
# 2. If onboard PCI IDE controller is present, please ADD the proper #
# routine in IO_PERIPHERALS in BIOS.MAK file. The corresponding #
# IOC.ASM and IOC.SSP file for PCI IDE is in CHIPSET\IO directory. #
# 3. Generally you do not need to do anything else. #
# 4. But there are execptions. This make file is generated based on #
# following ASSUMPTIONs #
# a) IDE support is NOT USED from any of these IO Chipsets. #
# Nowadays IDE support is generally provided by onboard PCI IDE #
# chipset e.g. Intel Triton IDE (PIIX, PIIX3, etc.), SiS PCI IDE, #
# CMD PCI IDE, etc. #
# b) All other devices (e.g. COM1, COM2, LPT, KBC, RTC, FDC) present #
# in the IO chipset are used in the motherboard. #
# 5. If any one of the above assumptions is NOT valid, you may need to #
# change/modify different switches according to the requirement. #
# For example: #
# a) If system is an EISA system #
# AND {(chipset does not have any PCI-EISA Bridge) #
# OR (PCI-EISA Bridge does not have proper class code)} #
# please add "SystemEisaBus" to IO_PERIPHERALS. #
# b) If system is an ISA system #
# AND {(chipset does not have any PCI-ISA Bridge) #
# OR (PCI-ISA Bridge does not have proper class code)} #
# please add "SystemIsaBus" to IO_PERIPHERALS. #
# c) If SMC932 is used but KBC is not used from SMC932, please TAKE #
# OUT the "Smc932BBlkKeyboardControllerAuto" from SMC932 block in #
# BOOT_KBC_RTC. #
# d) If SMC932 is used but RTC is not used from SMC932, please TAKE #
# OUT the "Smc932BBlkRTCControllerAuto" from SMC932 block in #
# BOOT_KBC_RTC. #
# e) If NAT306 is used and also IDE support is used from NAT306, #
# please ADD the "Nat306IdeController" in the NAT306 block in #
# IO_PERIPHERALS. #
# 6. The above examples are only a few of the many possible exceptions. #
# If your requirement is different from the above execptions, please #
# do it accordingly OR contact AMI. #
# 7. If BIOS does not build with the selected IO support, please contact#
# AMI for proper/latest IO library (IO.LIB, IO.PUB, IO*.SSP files). #
#-----------------------------------------------------------------------#
# Select Index Port, Data Port, Unlock Value (if any) #
#-----------------------------------------------------------------------#
# I/O Chipset Possible Index Possible Data Possible Unlock Value
# ----------- -------------- ------------- ---------------------
# AIP 22/24/26E/398 23/25/26F/399
# ALI5105 Not used Not used
# ALI5113 Not used 3F1/398
# ALI5119 Not used Not used 19/29
# ALI5123 3F0/370 3F1/371
# CT711 3F0 3F1
# CT712 3F0 3F1
# CT735 3F0 3F1
# DS83CH20 2E 2F
# GM803B 398 399
# GM803C 398 399
# ITE8661 3F0/3BD/370 3F1/3BE/371
# ITE8680 3F0/3BD/370 3F1/3BE/371
# Nat303 398/26E/15C/2E 399/26F/15D/2F
# Nat306 398/26E/15C/2E 399/26F/15D/2F
# Nat307 15C/2E 15D/2F
# Nat308 15C/2E 15D/2F
# Nat312 398/26E 399/26F
# Nat322 398/26E 399/26F
# Nat332 398/26E/15C/2E 399/26F/15D/2F
# Nat336 398/15C/2E/Any 399/15D/2F/(Any+1)
# Nat338 398/15C/2E/Any 399/15D/2F/(Any+1)
# SMC651 3F0 3F1
# SMC661 3F0 3F1
# SMC665 3F0 3F1
# SMC665IR 3F0 3F1
# SMC669 3F0/370 3F1/371
# SMC669FR 3F0/370 3F1/371
# SMC67X 3F0/370 3F1/371
# SMC68X 3F0/370 3F1/371
# SMC922 3F0/370 3F1/371
# SMC932 3F0/370 3F1/371
# SMC932FR 3F0/370 3F1/371
# SMC957 3F0/370 3F1/371
# UMC8663 108 109
# UMC8663B 108 109
# UMC8669 (Note2) 108 109
# Win787 251 252 88/89
# Win787IF 251 252 88/89
# Win877 3F0 3F1 86/87
# 251 252 88/89
# NOTE1 : For Winbond 787(IF)/877, if the unlock data is 88h/89h then the
# port used to enable the access to the configuration registers is 250h,
# the index port is 251h, the data port is 252h.
#
# NOTE2 : Also specify an I/O port for the ISA PnP RD_DATA port - In the
# range of 203h - 3FFh
#-----------------------------------------------------------------------#
IO_INDEX_PORT = 3f0h #index port should be 3f0h (ITE8661F) #
IO_DATA_PORT = 3f1h #index port should be 3f1h (ITE8661F) #
IO_UNLOCK_DATA = # e.g. 87h for Winbond877 #
IO_ISA_PNP_DATA_PORT = # RD_DATA Port e.g. 203h for UMC8669 #
#-----------------------------------------------------------------------#
# ONLY ONE IO SHOULD BE SELECTED #
#-----------------------------------------------------------------------#
AIP = 0 # 1 = Include Intel AIP #
ALI5105 = 0 # 1 = Include ALI 5105 #
ALI5113 = 0 # 1 = Include ALI 5113 #
ALI5119 = 0 # 1 = Include ALI 5119 #
ALI5123 = 0 # 1 = Include ALI 5123 #
CT735 = 0 # 1 = Include CT735 #
DSCH20 = 0 # 1 = Include Dallas DS83CH20 #
GM803B = 0 # 1 = Include LG Semicon GM82C803B #
GM803C = 0 # 1 = Include LG Semicon GM82C803C #
ITE8661 = 1 # 1 = Include ITE 8661 #
ITE8680 = 0 # 1 = Include ITE 8680 #
NAT303 = 0 # 1 = Include National 303 #
NAT306 = 0 # 1 = Include National 306 #
NAT307 = 0 # 1 = Include National 307 #
NAT308 = 0 # 1 = Include National 308 #
NAT312 = 0 # 1 = Include National 312 #
NAT322 = 0 # 1 = Include National 322 #
NAT332 = 0 # 1 = Include National 332 #
NAT336 = 0 # 1 = Include National 336 #
NAT338 = 0 # 1 = Include National 338 #
SMC651_SMC661_CT711_CT721 = 0 # 1 = Include SMC651/SMC661/CT711/CT721 #
SMC665 = 0 # 1 = Include SMC665 #
SMC665IR = 0 # 1 = Include SMC665IR #
SMC669 = 0 # 1 = Include SMC669 #
SMC669FR = 0 # 1 = Include SMC669FR #
SMC67X = 0 # 1 = Include SMC67X #
SMC68X = 0 # 1 = Include SMC68X #
SMC922 = 0 # 1 = Include SMC922 #
SMC932_SMC935 = 0 # 1 = Include SMC932/SMC935 #
SMC932FR = 0 # 1 = Include SMC932FR #
SMC957 = 0 # 1 = Include SMC957 #
UMC8663 = 0 # 1 = Include UMC 8663 #
UMC8663B = 0 # 1 = Include UMC 8663B #
UMC8669 = 0 # 1 = Include UMC 8669 #
WIN787_WIN777 = 0 # 1 = Include Winbond 83787F/83777F #
WIN787IF = 0 # 1 = Include Winbond 83787IF #
WIN877 = 0 # 1 = Include Winbond 83877 #
WIN977 = 0 # 1 = Include Winbond 83977 #
#-----------------------------------------------------------------------#
# I/O CHIPSET SUPPORT IN BOOT BLOCK #
#-----------------------------------------------------------------------#
# select the I/O peripheral for Boot Block code. #
# BOOT_KBC_RTC selects KBC and RTC routines controlled by I/O chipset. #
BOOT_KBC_RTC =
!if $(ALI5123)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Ali5123BBlkRTCControllerAuto\
Ali5123BBlkKeyboardControllerAuto
!endif
!if $(DSCH20)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Dsch20BBlkRTCControllerAuto\
Dsch20BBlkKeyboardControllerAuto
!endif
!if $(ITE8680)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
IT8680BBlkRTCControllerAuto\
IT8680BBlkKeyboardControllerAuto
!endif
!if $(NAT303)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Nat303BBlkRTCControllerAuto\
Nat303BBlkKeyboardControllerAuto
!endif
!if $(NAT306)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Nat306BBlkRTCControllerAuto\
Nat306BBlkKeyboardControllerAuto
!endif
!if $(NAT307)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Nat307BBlkRTCControllerAuto\
Nat307BBlkKeyboardControllerAuto
!endif
!if $(NAT308)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Nat308BBlkRTCControllerAuto\
Nat308BBlkKeyboardControllerAuto
!endif
!if $(SMC67X)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Smc67xBBlkKeyboardControllerAuto
!endif
!if $(SMC68X)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Smc68xBBlkKeyboardControllerAuto
!endif
!if $(SMC922)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Smc922BBlkKeyboardControllerAuto\
Smc922BBlkRTCControllerAuto
!endif
!if $(SMC932_SMC935) || $(SMC932FR)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Smc932BBlkKeyboardControllerAuto\
Smc932BBlkRTCControllerOff
!endif
!if $(SMC957)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Smc957BBlkKeyboardControllerAuto\
Smc957BBlkRTCControllerAuto
!endif
!if $(WIN977)
BOOT_KBC_RTC = $(BOOT_KBC_RTC)\
Win977BBlkKeyboardControllerAuto\
Win977BBlkRTCControllerOff
!endif
# BOOT_FDC selects the FDC routines controlled by I/O chipset. #
BOOT_FDC =
!if $(AIP)
BOOT_FDC = $(BOOT_FDC)\
AIPBBlkFloppyControllerAuto
!endif
!if $(ALI5105)
BOOT_FDC = $(BOOT_FDC)\
Ali5105BBlkFloppyControllerAuto
!endif
!if $(ALI5113)
BOOT_FDC = $(BOOT_FDC)\
Ali5113BBlkFloppyControllerAuto
!endif
!if $(ALI5119)
BOOT_FDC = $(BOOT_FDC)\
Ali5119BBlkFloppyControllerAuto
!endif
!if $(ALI5123)
BOOT_FDC = $(BOOT_FDC)\
Ali5123BBlkFloppyControllerAuto
!endif
!if $(CT735)
BOOT_FDC = $(BOOT_FDC)\
Ct735BBlkFloppyControllerAuto
!endif
!if $(DSCH20)
BOOT_FDC = $(BOOT_FDC)\
Dsch20BBlkFloppyControllerAuto
!endif
!if $(GM803B)
BOOT_FDC = $(BOOT_FDC)\
Gm803BBBlkFloppyControllerAuto
!endif
!if $(GM803C)
BOOT_FDC = $(BOOT_FDC)\
Gm803CBBlkFloppyControllerAuto
!endif
!if $(ITE8661)
BOOT_FDC = $(BOOT_FDC)\
IT8661FBBlkFloppyControllerAuto
!endif
!if $(ITE8680)
BOOT_FDC = $(BOOT_FDC)\
IT8680BBlkFloppyControllerAuto
!endif
!if $(NAT303)
BOOT_FDC = $(BOOT_FDC)\
Nat303BBlkFloppyControllerAuto
!endif
!if $(NAT306)
BOOT_FDC = $(BOOT_FDC)\
Nat306BBlkFloppyControllerAuto
!endif
!if $(NAT307)
BOOT_FDC = $(BOOT_FDC)\
Nat307BBlkFloppyControllerAuto
!endif
!if $(NAT308)
BOOT_FDC = $(BOOT_FDC)\
Nat308BBlkFloppyControllerAuto
!endif
!if $(NAT312)
BOOT_FDC = $(BOOT_FDC)\
Nat312BBlkFloppyControllerAuto
!endif
!if $(NAT322)
BOOT_FDC = $(BOOT_FDC)\
Nat322BBlkFloppyControllerAuto
!endif
!if $(NAT332)
BOOT_FDC = $(BOOT_FDC)\
Nat332BBlkFloppyControllerAuto
!endif
!if $(NAT336)
BOOT_FDC = $(BOOT_FDC)\
Nat336BBlkFloppyControllerAuto
!endif
!if $(NAT338)
BOOT_FDC = $(BOOT_FDC)\
Nat338BBlkFloppyControllerAuto
!endif
!if $(SMC651_SMC661_CT711_CT721)
BOOT_FDC = $(BOOT_FDC)\
Smc651BBlkFloppyControllerAuto
!endif
!if $(SMC665)
BOOT_FDC = $(BOOT_FDC)\
Smc665BBlkFloppyControllerAuto
!endif
!if $(SMC665IR)
BOOT_FDC = $(BOOT_FDC)\
Smc665IrBBlkFloppyControllerAuto
!endif
!if $(SMC669)
BOOT_FDC = $(BOOT_FDC)\
Smc669BBlkFloppyControllerAuto
!endif
!if $(SMC669FR)
BOOT_FDC = $(BOOT_FDC)\
Smc669FrBBlkFloppyControllerAuto
!endif
!if $(SMC67X)
BOOT_FDC = $(BOOT_FDC)\
Smc67xBBlkFloppyControllerAuto
!endif
!if $(SMC68X)
BOOT_FDC = $(BOOT_FDC)\
Smc68xBBlkFloppyControllerAuto
!endif
!if $(SMC922)
BOOT_FDC = $(BOOT_FDC)\
Smc922BBlkFloppyControllerAuto
!endif
!if $(SMC932_SMC935) || $(SMC932FR)
BOOT_FDC = $(BOOT_FDC)\
Smc932BBlkFloppyControllerAuto
!endif
!if $(SMC957)
BOOT_FDC = $(BOOT_FDC)\
Smc957BBlkFloppyControllerAuto
!endif
!if $(UMC8663)
BOOT_FDC = $(BOOT_FDC)\
Umc8663BBlkFloppyControllerAuto
!endif
!if $(UMC8663B)
BOOT_FDC = $(BOOT_FDC)\
Umc8663BBBlkFloppyControllerAuto
!endif
!if $(UMC8669)
BOOT_FDC = $(BOOT_FDC)\
Umc8669BBlkFloppyControllerAuto
!endif
!if $(WIN787_WIN777)
BOOT_FDC = $(BOOT_FDC)\
Win787BBlkFloppyControllerAuto
!endif
!if $(WIN787IF)
BOOT_FDC = $(BOOT_FDC)\
Win787IFBBlkFloppyControllerAuto
!endif
!if $(WIN877)
BOOT_FDC = $(BOOT_FDC)\
Win877BBlkFloppyControllerAuto
!endif
!if $(WIN977)
BOOT_FDC = $(BOOT_FDC)\
Win977BBlkFloppyControllerAuto
!endif
#-----------------------------------------------------------------------#
# ONBOARD I/O PERIPHERALS SUPPORT FOR MAIN BIOS #
#-----------------------------------------------------------------------#
IO_PERIPHERALS =\
SystemMemory\
SystemInterruptController\
SystemDmaController\
SystemTimer\
SystemRealTimeClock\
SystemKeyboardController\
SystemSpeaker\
SystemMathCoprocessor
!if $(AIP)
SERIAL_IRQ = 0
IO_PERIPHERALS = $(IO_PERIPHERALS)\
AIPSerialPortA\
AIPSerialPortB\
AIPParallelPortExt\
AIPFloppyController
!endif
!if $(ALI5105)
SERIAL_IRQ = 0
IO_PERIPHERALS = $(IO_PERIPHERALS)\
Ali5105SerialPortA\
Ali5105SerialPortB\
Ali5105ParallelPort\
Ali5105FloppyController
!endif
!if $(ALI5113)
SERIAL_IRQ = 0
IO_PERIPHERALS = $(IO_PERIPHERALS)\
Ali5113SerialPortA\
Ali5113SerialPortB\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -