📄 pnpaudio.asm
字号:
; []===========================================================[]
;
; 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
;----------------------------------------------------------------------------
;R03 11/17/97 MIL Rename all audio file as audio.aio
;R02 04/19/97 MIL Added Gx86.AIO support.
;R01 04/03/97 RAX Remove YMF701 support
PAGE 60,132
TITLE PNPAUDIO -- Plug and Play Audio Device Node
; **** NOTES ****
; **** Device node index table structure ****
; byte 0 total number of the device nodes in this table
; byte 1-3 device 0 index structure
; Byte attribute flag of device node
; bit7 = 1 disable (don't report)
; bit6 reserved
; bit5 reserved
; bit4 reserved
; bit3 = 1 special post procedure support
; bit2 = 1 special get device node support
; bit1 = 1 static set device node support
; bit0 = 1 dynamically set device node support
; word offset address point to description block
; byte 4-6 device 1 index structure
; ......
;
; **** Special process table structure (one device) ****
; byte node number in the above index table
; word offset address of special get device node procedure
; word offset address of special set device node procedure
; word offset address of special post process procedure
;
; CHK_ATTR is for assembler to check corresponding procedure present in
; NODE_PROC table, if its attribute flag of index table indicate
; special procedure needed. Avoid coding mistake.
NEED_SET_DYNM EQU 00000001b
NEED_SET_STAT EQU 00000010b
NEED_GET_NODE EQU 00000100b
NEED_POST_NODE EQU 00001000b
.386P
.LIST
;[]========================================================================[]
;
; Include file definition
;
;[]========================================================================[]
INCLUDE BIOS.CFG
INCLUDE COMMON.MAC
INCLUDE PNP.EQU
;[]========================================================================[]
;
; External label definition
;
;[]========================================================================[]
.LIST
;[]========================================================================[]
;
; Low memory init (1st 64k)
;
;[]========================================================================[]
G_RAM SEGMENT USE16 AT 0
ORG 04H*4
INCLUDE SEG_0.INC
ORG 400H
INCLUDE G_RAM.INC
ORG 2000h ;R04
INCLUDE PNPDATA.INC
ORG 7C00H
BOOT LABEL FAR
G_RAM ENDS
;[]========================================================================[]
;
; ONBOARD DEVICE NODES DEFINITION
;
;[]========================================================================[]
ifdef PNP_BIOS
AUDIO_KERNEL = 0
ifdef ES1788F
AUDIO_KERNEL = 1
endif ;ES1788F
ifdef CT2504
AUDIO_KERNEL = 1
endif ;CT2504
ifdef ES1888F
AUDIO_KERNEL = 1
endif ;ES1888F
;R01 ifdef YMF701
;R01 AUDIO_KERNEL = 1
;R01 endif ;YMF701
ifdef ES1878
ifndef ES1878_ISA_PNP
AUDIO_KERNEL = 1
endif ;ES1878_ISA_PNP
endif ;ES1878
ifdef VSA_AUDIO ;R02
AUDIO_KERNEL = 1 ;R02
endif ;VSA_AUDIO ;R02
extrn Get_Cmos1:near
extrn Set_Cmos1:near
extrn Rep_Movsb:near
extrn Chk_Set_Which_Cfg:near
endif ;PNP_BIOS
DGROUP GROUP FCODE
FCODE SEGMENT USE16 PARA PUBLIC 'CODE'
ASSUME CS:DGROUP,DS:DGROUP
ifdef PNP_BIOS
IFE AUDIO_KERNEL
EVEN
Public AUDIO_NODE_INDEX
AUDIO_NODE_INDEX LABEL BYTE
DB 0
Public AUDIO_NODE_PROC
AUDIO_NODE_PROC LABEL BYTE
DB 0FFh
CHK_ATTR %NODE_NUM
ELSE ;AUDIO_KERNEL
COMPILE_FOR_PNP_AUDIO = 1
;R03 - starts
;R03 ifdef ES1788F
;R03 include ES1788.AIO
;R03 endif ;ES1788F
;R03
;R03 ifdef CT2504
;R03 include CT2504.AIO
;R03 endif ;CT2504
;R03
;R03 ifdef ES1888F
;R03 include ES1888.AIO
;R03 endif ;ES1888F
;R03
;R03;R01 ifdef YMF701
;R03;R01 include YMF701.AIO
;R03;R01 endif ;YMF701
;R03
;R03 ifdef ES1878
;R03 ifndef ES1878_ISA_PNP
;R03 include ES1878.AIO
;R03 endif ;ES1878_ISA_PNP
;R03 endif ;ES1878
;R03
;R03 ifdef VSA_AUDIO ;R02
;R03 include GX86.AIO ;R02
;R03 endif ;VSA_AUDIO ;R02
;R03 - ends
include AUDIO.AIO ;R03
ENDIF ;AUDIO_KERNEL
;R05 - ends
ENDIF ;PNP_BIOS
FCODE ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -