Function 0DEh DesQview Services (DesQview)

entry AH 0DEh

AL 00h Get Program Name

return AX offset into DESQVIEW.DVO of current

program's record:

byte length of name

n bytes name

2 bytes keys to invoke program (second

= 00h if only one key used)

word ? (I see 0 always)

byte end flag: 00h for all but last

entry, which is 0FFh

01h Update "Open Window" Menu

return none

note Reads DESQVIEW.DVO, disables Open menu if file

not in current directory

02h unimplemented in DV 2.0x

return nothing (NOP in DV 2.0x)

03h unimplemented in DV 2.0x

return nothing (NOP in DV 2.0x)

04h Get Available Common Memory

return BX bytes of common memory available

CX largest block available

DX total common memory in bytes

05h Get Available Conventional Memory

return BX K of memory available

CX largest block available

DX total conventional memory in K

06h Get Available Expanded Memory

return BX K of expanded memory available

CX largest block available

DX total expanded memory in K

07h APPNUM Get Current Program's Number

return AX number of program as it appears on the

"Switch Windows" menu

08h GET (unknown)

return AX 0 unknown

1 unknown

09h unimplemented in DV 2.00

return nothing (NOP in DV 2.00)

0Ah DBGPOKE Display Character on Status Line

BL character

return character displayed, next call will display in

next position (which wraps back to the start of

the line if off the right edge of screen)

note 1) Displays character on bottom line of *physical*

screen, regardless of current size of window

(even entirely hidden)

2) Does not know about graphics display modes,

just pokes the characters into display memory

0Bh APILEVEL Define Minimum API Level Required

BL API level

2 pops up "You need a newer version" error

window in DV 2.00

BH unknown

return AX maximum API level?

0Ch GETMEM Allocate "System" Memory

BX number of bytes

return ES:DI pointer to allocated block

0Dh PUTMEM Deallocate "System" Memory

ES:DI pointer to previously allocated block

return nothing

0Eh Find Mailbox by Name (DV 2.0+)

ES:DI pointer to name to find

CX length of name

return BX 0 not found

1 found

DS:SI object handle

0Fh Enable DesQview Extensions (DV 2.0+)

return AX and BX destroyed (seems to be bug, weren't

saved & restored)

note 1) Sends a manager stream with opcodes AEh, BDh,

and BFh to task's window

2) Enables an additional mouse mode

10h PUSHKEY PUT KEY INTO KEYBOARD INPUT STREAM (DV 2.0+)

BH scan code

BL character

return BX unknown (sometimes, but not always,

same as BX passed in)

note A later read will get the keystroke as if it

had been typed by the user

11h ENABLE/DISABLE AUTO JUSTIFICATION OF WINDOW (DV 2.0+)

BL 0 viewport will not move automatically

nonzero viewport will move to keep cursor

visible

return none

12h unknown (DV 2.0+)

BX 0 clear something?

nonzero set something?

return none