windows-nt/Source/XPSP1/NT/base/mvdm/wow16/system/system.inc
2020-09-26 16:20:57 +08:00

245 lines
3.9 KiB
PHP

;***************************************************************************
; *
; Copyright (C) 1983,1984 by Microsoft Inc. *
; *
;***************************************************************************
;***************************************************************************
; *
; Header file for IBM/PC timer device driver. Contains all machine *
; specific constant and data structure definitions. *
; *
;***************************************************************************
.xlist
include cmacros.inc
ifdef NEC_98
include windefs.inc
else ; NEC_98
; include windefs.inc
endif ; NEC_98
.list
; picked off romstuff.inc
DSEG equ DATA
doffset EQU <DataOffset>
; Approximate value of timer tic in milliseconds * 1000.
ifdef NEC_98
res_low EQU 25000
else ; NEC_98
res_low EQU 54925
endif ; NEC_98
res_high EQU 0
; equates for disk status
REMOVEABLE equ 2
FIXED equ 3
REMOTE equ 4
; Offset of Single Diskette indicator from beginning of Bios Data Area, 400h
SingleDrive equ 104h
; Timer structure
tiblock STRUC
tirate DW ? ; -1 means not used, 0 means call as fast as possible
ticount DW ? ; -1 means end of table.
tiproc DD ? ; far proc to call.
tiblock ENDS
ifdef NEC_98
;
; DELAY MACRO FOR 80386
; This macro is defined in SYSMAC.INC(V23 ROM BIOS) <880203 ver2.1
;
DELAY MACRO DEV,ACT,MOD
IFIDN <DEV>,<8237>
IFIDN <ACT>,<O-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<O-I>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<>
JMP SHORT $+2
ENDIF
ENDIF
IFIDN <DEV>,<8253>
IFIDN <ACT>,<O-O>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
IFIDN <ACT>,<I-I>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<O-I>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
IFIDN <ACT>,<I-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
ENDIF
IFIDN <DEV>,<8255>
IFIDN <ACT>,<O-O>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
IFIDN <ACT>,<I-I>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<O-I>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
IFIDN <ACT>,<I-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
ENDIF
IFIDN <DEV>,<8259>
IFIDN <ACT>,<O-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<I-I>
ENDIF
IFIDN <ACT>,<O-I>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<I-O>
ENDIF
IFIDN <ACT>,<>
JMP SHORT $+2
ENDIF
ENDIF
IFIDN <DEV>,<8251>
IFIDN <ACT>,<O-O>
IFIDN <MOD>,<INIT>
REPT 4
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<ASYNC>
REPT 5
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<SYNC>
REPT 10
JMP SHORT $+2
ENDM
ENDIF
ENDIF
ENDIF
IFIDN <DEV>,<765>
ENDIF
IFIDN <DEV>,<7220>
IFIDN <ACT>,<O-O>
IFIDN <MOD>,<GRAPH>
REPT 4
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<TEXT>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
ENDIF
IFIDN <ACT>,<I-I>
IFIDN <MOD>,<GRAPH>
REPT 3
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<TEXT>
JMP SHORT $+2
ENDIF
ENDIF
IFIDN <ACT>,<O-I>
IFIDN <MOD>,<GRAPH>
REPT 4
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<TEXT>
REPT 2
JMP SHORT $+2
ENDM
ENDIF
ENDIF
IFIDN <ACT>,<I-O>
IFIDN <MOD>,<GRAPH>
REPT 3
JMP SHORT $+2
ENDM
ENDIF
IFIDN <MOD>,<TEXT>
JMP SHORT $+2
ENDIF
ENDIF
ENDIF
IFIDN <DEV>,<7201>
IFIDN <ACT>,<O-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<O-I>
JMP SHORT $+2
ENDIF
ENDIF
IFIDN <DEV>,<7210>
IFIDN <ACT>,<O-O>
JMP SHORT $+2
ENDIF
IFIDN <ACT>,<O-I>
JMP SHORT $+2
ENDIF
ENDIF
IFIDN <DEV>,<4990>
REPT 3
JMP SHORT $+2
ENDM
ENDIF
ENDM
; dummy delay
DELAY2 MACRO CNT
local l1
push cx
mov cx, CNT
l1:
out 5fh, al
loop l1
pop cx
ENDM
endif ; NEC_98