title OS2_STUB - OS/2 Simulation routines for DOS 3 ; These routines simulate family API routines for DOS 3 ; ; Routines which are never called under DOS 3 just return ; popping the parameters. ; ; 87/04/24 SKS DOSGETMACHINEMODE stores a Byte, not a Word! ; memL=1 ; simulate large model for returns ?PLM=1 ; pascal calling conventions ?WIN=0 ; no Windows .xlist include cmac_mrt.inc ; old, customized masm510 cmacros .list include msdos.inc sBegin code assumes cs,code ; __DOSDEVCONFIG - return 8087/80287 indicator cProc __DOSDEVCONFIG,, parmDP devinfo parmW devitem parmW reserved cbegin les bx,devinfo mov word ptr es:[bx],1 ; assume have 287 xor ax,ax ; return no error cend ; __DOSGETMACHINEMODE - return real mode indicator cProc __DOSGETMACHINEMODE,, parmDP mode cbegin les bx,mode xor ax,ax ; ax = return code and mode mov es:[bx],al ; set machine mode to real cend ; __DOSSETVEC - never called under DOS 3.x cProc __DOSSETVEC,,<> parmDP oldaddr parmDP newaddr parmW vecnum cbegin cend ; __DOSCREATECSALIAS cProc __DOSCREATECSALIAS,, parmW dataseg parmDP csalias cbegin mov ax,dataseg les bx,csalias mov es:[bx],ax ; use dataseg value cend ; __DOSFREESEG - never called from DOS 3.x cProc __DOSFREESEG,,<> parmW dataseg cbegin cend ; __DOSWRITE - stripped-down version called from emulator for no87 message ; - note that there is no error detection in this version ; - since the emulator doesn't check for write errors anyway cProc __DOSWRITE,, ; commented out parmW handle ; unsigned parmD p_buffer ; char far * parmW bytestowrite ; unsigned parmD p_byteswritten ; unsigned far * ; returns unsgined cbegin mov cx,bytestowrite mov bx,handle lds dx,p_buffer callos write ; jc wrtret ; if write error, error code already in AX ; ; if no error, set bytes written ; les di,p_byteswritten ; mov word ptr es:[di],ax xor ax,ax ; if no error, clear return code ;wrtret: cend sEnd code end