Function 10h TopView API Function Calls (TopView)entry AH 00h PAUSE Give Up CPU Time
return 00h after other processes run
01h GETMEM allocate "system" memory
BX number of bytes to allocate
return ES:DI pointer to block of memory
02h PUTMEM deallocate "system" memory
ES:DI pointer to previously allocated block
return block freed
03h PRINTC display character/attribute on screen
BH attribute
BL character
DX segment of object handle for window
note BX=0 does not display anything, it only
positions the hardware cursor
10h unknown
AL 04h thru 12h
return TopView - unimplemented in DV 2.0x
pops up "Programming error" window in DV 2.0x
11h unknown
12h unknown
Function 10h TopView API Function Calls (TopView)
entry AH 13h GETBIT define a 2nd-level interrupt handler
ES:DI pointer to FAR service routine
return BX bit mask indicating which bit was
allocated
0 if no more bits available
14h FREEBIT undefine a 2nd-level interrupt handler
BX bit mask from int 15/AH 13h
15h SETBIT schedule one or more 2nd-level interrupts
BX bit mask for interrupts to post
return indicated routines will be called at next ???
16h ISOBJ verify object handle
ES:DI possible object handle
return BX -1 if ES:DI is a valid object handle
0 if ES:DI is not
17h TopView - unimplemented in DV 2.00
return pops up "Programming Error" window in DV 2.00
Function 10h TopView API Function Calls (TopView)
entry AH 18h LOCATE Find Window at a Given Screen Location
BH column
BL row
ES segment of object handle for ?
(0 = use default)
return ES segment of object handle for window
which is visible at the indicated
position
19h SOUND Make Tone
BX frequency in Hertz
CX duration in clock ticks (18.2 ticks/sec)
return immediately, tone continues to completion
note If another tone is already playing, the new tone
does not start until completion of the previous
one. In DV 2.00, it is possible to enqueue
about 32 tones before the process is blocked
until a note completes.
In DV 2.00, the lowest tone allowed is 20 Hz
1Ah OSTACK Switch to Task's Internal Stack
return stack switched
Function 10h TopView API Function Calls (TopView)
entry AH 1Bh BEGINC Begin Critical Region
return task-switching temporarily disabled
note Will not task-switch until END CRITICAL REGION
(AH=1Ch) is called
1Ch ENDC End Critical Region
return task-switching enabled
1Dh STOP STOP TASK
ES segment of object handle for task to be stopped
(= handle of main window for that task)
return indicated task will no longer get CPU time
note At least in DV 2.00, this function is ignored
unless the indicated task is the current task.
1Eh START Start Task
ES segment of object handle for task to be started
(== handle of main window for that task)
return Indicated task is started up again
Function 10h TopView API Function Calls (TopView)
entry AH 1Fh DISPEROR Pop-Up Error Window
BX bit fields:
0-12 number of characters to display
13,14 which mouse button may be pressed to
remove window
00 either
01 left
10 right
11 either
15 beep if 1
DS:DI pointer to text of message
CH width of error window (0 = default)
CL height of error window (0 = default)
DX segment of object handle
return BX status:
1 left button pressed
2 right button pressed
27 ESC key pressed
note Window remains on-screen until ESC or indicated
mouse button is pressed
20h TopView - unimplemented in DV 2.0x
return pops up "Programming Error" window in DV 2.0x
Function 10h TopView API Function Calls (TopView)
entry AH 21h PGMINT Interrupt Another Task
BX segment of object handle for task to interrupt
DX:CX address of FAR routine to jump to next time
task is run
return nothing?
note The current ES, DS, SI, DI, and BP are passed
to the FAR routine
22h GETVER Get Version
BX 00h
return BX nonzero, TopView or compatible loaded
BH minor version
BL major version
notes TaskView returns BX = 0001h
DESQview 2.0 returns BX = 0A01h
Function 10h TopView API Function Calls (TopView)
entry AH 23h POSWIN Position Window
BX segment of object handle for parent window
within which to position the window (0 = full
screen)
CH # columns to offset from position in DL
CL # rows to offset from position in DL
DL bit flags
0,1 horizontal position
00 current
01 center
10 left
11 right
2,3 vertical position
00 current
01 center
10 top
11 bottom
4 don't redraw screen if set
5-7 not used
ES segment of object handle for window to be
positioned
return nothing
Function 10h TopView API Function Calls (TopView)
entry AH 24h GETBUF Get Virtual Screen Information
BX segment of object handle for window (0=default)
return CX size of virtual screen in bytes
DL 0 or 1, unknown
ES:DI address of virtual screen
25h USTACK Switch Back to User's Stack
return stack switched back
note Call only after int 15h,fn1Ah
26h-2Ah DesQview (TopView?) - unimplemented in DV 2.0x
return pops up "Programming Error" window in DV 2.0x
2Bh POSTTASK Awaken Task DesQview 2.0 (TopView?)
BX segment of object handle for task
return nothing
2Ch Start New Application in New Process
DesQview 2.0 (TopView?)
ES:DI pointer to contents of .PIF/.DVP file
BX size of .PIF/.DVP info
return BX segment of object handle for new task
Function 10h TopView API Function Calls (TopView)
entry AH 2Dh Keyboard Mouse Control DesQview 2.0
BL subfunction
00h determine whether using keyboard mouse
01h turn keyboard mouse on
02h turn keyboard mouse off
return (calling BL was 00h)
BL 0 using real mouse
1 using keyboard mouse