245 lines
3.9 KiB
PHP
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
|