cseg01:00056938 mov edx, offset var_byte_0004DCC8
cseg01:0005693D mov eax, offset hmi_drv_str
cseg01:00056942 call strcpy_
cseg01:00056947 mov edx, offset aHmidrv_386 ; "hmidrv.386"
cseg01:0005694C mov eax, offset hmi_drv_str
cseg01:00056951 call strcat_
cseg01:00056956 push 200h
cseg01:0005695B mov eax, offset hmi_drv_str
cseg01:00056960 push eax
cseg01:00056961 call open_
cseg01:00056966 add esp, 8
cseg01:00056969 mov [ebp+var_4], eax
cseg01:0005696C cmp [ebp+var_4], 0FFFFFFFFh
cseg01:00056970 jnz short loc_5697E
cseg01:00056972 mov [ebp+var_14], 0Fh
cseg01:00056979 jmp on_exit
cseg01:0005697E ; ---------------------------------------------------------------------------
cseg01:0005697E
cseg01:0005697E loc_5697E: ; CODE XREF: Unkn_Subroutine_Reg_7+8Dj
cseg01:0005697E mov ebx, 2Ch ; ','
cseg01:00056983 mov edx, offset unk_C7F78
cseg01:00056988 mov eax, [ebp+var_4]
cseg01:0005698B call read_
This code trying to open file of sound manager for MS- DOS hmidrv.386, but please help understand what means flag 200h?
open_
function part of the code? DOS extensions can make virtual devices available as files. Early versions of Windows use *.386 files for this purpose. If this is the case then the truncate flag has no effect, but should there be a regular file by that name it will be truncated. It may have been added by a compiler: callingfopen
with "w" mode impliesO_TRUNC
on the underlyingopen
call – Yotamz Feb 14 '24 at 21:26