home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
sysutl
/
ddosaid.arc
/
DOUBLEDO.EQU
< prev
next >
Wrap
Text File
|
1985-12-12
|
8KB
|
175 lines
PAGE 62,132
TITLE DoubleDOS Equates and Interrupt explanations
Dos_Call EQU 21h ;DOS Service Interrupt
; The following is a list of function calls that DoubleDOS adds to DOS
; These are additional functions available through INT 21H and appear as
; functions E0 hex to EE hex. (calls F0h - FEh are identical) If any of
; these calls to DOS are made when DoubleDOS is NOT running, then no
; function is performed and AL is returned zero by DOS.
; Notes: If your program must run with non PC-DOS Operating Systems then
; calls E0-EE must be used and not F0-FE. Both ranges are functionally
; identical. The term "visible" means "Has keyboard attached." The term
; "Invisible" means "No keyboard attached."
DD_Menu_Control EQU 0E0h ;DoubleDOS Menu control functions
; The following are AL values for this service.
Switch_Jobs EQU 01h ;Exchange Tasks - Visible/Invisible
Resume_Invisible EQU 73h ;Resume Invisible job if suspended
Kill_Other_Job EQU 74h ;Kill other job
Suspend_Invisible EQU 75h ;Suspend Invisible job
DD_Clear_KBD EQU 0E1h ;Clear keyboard buffer for the current
; job only. This call does not clear
; the standard input buffer if it is
; not the keyboard.
DD_Send_Char EQU 0E2h ;Send ASCII charachter in AL to other
; keyboard buffer. AL returns 0 if
; xfer successful, 1 if buffer is full.
; Keyboard buffer is 128 chars.
DD_Add_Char EQU 0E3h ;Add ASCII charachter in AL to keyboard
; buffer. Error return same as the
; DD_Send_Char service.
; Programmable redirection of keyboard input can be accomplished by
; using this call in conjunction with function E8 to disable the
; keyboard (this will prevent unexpected user intervention), and
; optionally function E1 to flush unwanted keyboard input. When
; redirection is completed, the keyboard can be reenabled with
; function E8.
DD_Status EQU 0E4h ;Return current program status in AL
; AL = 0 DoubleDOS NOT running
; AL = 1 Program is Visible
; AL = 2 Program is Invisible
; AH = Task Number
DD_Other_Status EQU 0E5h ;Return other program status in AL
; AL = 0 No program running
; AL = 1 Program is running
; AL = 2 Program is suspended
DD_KBD_Flags EQU 0E8h ;Set/reset keyboard control flags by
; mask bits in DX. "1" enables, "0"
; disables. On return, DX contains
; the previous flags.
; Note: Disabling the Ctrl/Prtsc (Bit 4 = 0) will allow this key sequence
; to be intercepted by applications programs. Disabling any other key
; sequence disables those keys completely.
; AL = 0 Sets flags for this program
; AL = 1 Sets flags for other program
; DX = Keyboard control flags
; = 0001 Bit 0 = Menu
; = 0002 Bit 1 = Exchange
; = 0004 Bit 2 = Entire keyboard enable/disable
; = 0008 Bit 3 = Ctrl/C
; = 0010 Bit 4 = Crtl/Prtsc
; = 0020 Bit 5 = Alt/Erase
; = 0040 Bit 6 = Ctrl/Break
; = 0080 Bit 7 = Ctrl/Numlock
; = 0100 Bit 8 = Shift/Prtsc
; = 0200 Bit 0 = (Undefined)
; = 0400 Bit 0 = (Undefined)
; = 0800 Bit 0 = (Undefined)
; = 1000 Bit 0 = (Undefined)
; = 2000 Bit 0 = (Undefined)
; = 4000 Bit 0 = Cancel key (Clear Keyboard Buffer)
; = 8000 Bit 0 = Suspend Key
SS_Set_Timeshare EQU 0E9h ;Set timesharing priority
; AL = 0 Visible program gets 70% Invisible gets 30% (Default)
; AL = 1 Visible program gets 50% Invisible gets 50% of time
; AL = 2 Visible program gets 30% Invisible gets 70% of time
; AL = 3 Top program gets 70% Bottom gets 30% of time
; AL = 4 Top program gets 30% Bottom gets 70% of time
Timeshare_Off EQU 0EAh ;Turn off timesharing, Ctrl/Break,
; Ctrl/Numlock and Menu. This service
; also performed by INT 0FAh
; The other memory section is suspended by this call. A request for any
; of the funtions disabled will be saved and executed after INT 0FBh is
; issued. Any DOS function call less than 0Dh will automatically
; terminate this mode as if INT 0FBh had been issued.
Timeshare_On EQU 0EBh ;Turn on timesharing, etc.
; This service is also performed by
; INT 0FBh
Display_Address EQU 0ECh ;Return current display buffer address
; in ES. This service is also performed
; by INT 0FCh
; The segment address of the current display buffer is returned in the ES
; register. This function is used for programs which do direct screen
; updates, such as 1-2-3. The address returned will be:
; B800h - If program is visible on Color Adapter
; B000h - If program is visible on Monochrome Adapter
; xxxxh - If program is invisible (Address of virtual buffer)
Give_Other_Time EQU 0EEh ;Give time to other task. Thsi service
; is also performed by INT 0FEh
;
; AL = 0 - 0FFh : Number of 55ms time intervals to give away.
;
; On the next timer interrupt following this call, if the other memory section
; is active, it will recieve AL extra 55ms time intervals before the calling
; program will recieve another interval. A loop of these calls will allow
; the calling program to give all of it's wasted time to the other memory
; section. Programs waiting for keyboard input could do the following:
;
; Keyloop: mov AH,1
; int 16H ;Get keyboard status
; jnz Have_One ;A key was stuck
; call Do_Anything ;Rest of process loop
;
;* Here is a good place to give some time to the other task
;
; mov AL,2 ;Give extra 110ms to other task
; int 0FEH ;Other task also gets unused portion
; ;of current clock cycle
; jmp Keyloop ;Other task has already run
;
; This interrupt will not guarantee that the requested time will actually
; be spent by the other program. If the other program is also "giving
; away time" doing keyboard input, printing etc. then your routine will
; still receive all unused processing time, ie. when the other task does
; int 0FEh it will force an immediate return from the int 0feh in your
; program. DoubleDOS uses this routine to facilitate overlapped
; processing when waiting for devices to respond.
; DoubleDOS VIDEO ROUTINES (INT 10H): The BIOS replacement video handler
; built into DoubleDOS is Enhanced to provide all features of the IBM PC-
; AT video handler including the WRITE STRING function, as well as all
; INT 10H video features built into the IBM TOPVIEW product. These
; features are syntactically identical to their IBM counterparts.