Can WINE be made for DOS using GCC for DOS?

Jeroen Janssen japj at xs4all.nl
Sun Sep 5 03:11:14 CDT 2004


Hi,

For those interested, I remember there is this thing called 'wdosx' ( 
http://michael.tippach.bei.t-online.de/wdosx/ ), that is a DOS eXtender 
containing a stubbed subset of the WIN32 API.

 From the README.TXT:

"Probably the most advanced feature of WDOSX  is its emulation of a 
subset of the Win32 API, making it work  with compilers that were not 
originally designed to create 32 bit DOS programs.

  As of current, the  following Win32 API functions  are emulated by 
WDOSX, either completely, in parts or as stubs:

  (Note: This table is a bit out of date and reflects the status of WDOSX
  0.95. I've got more important things to do at the moment.)


  Module    Exports

  KERNEL32  AllocConsole, AreFileApisANSI, Beep, CloseHandle,
            CompareStringA, CreateConsoleScreenBuffer, CreateDirectoryA,
            CreateDirectoryW, CreateFileA, CreateFileW, CreateProcessA,
            DebugBreak, DeleteCriticalSection, DeleteFileA, DeleteFileW,
            DosDateTimeToFileTime, EnterCriticalSection, EnumCalendarInfoA,
            ExitProcess, FileTimeToDosDateTime, FileTimeToLocalFileTime,
            FileTimeToSystemTime, FillConsoleOutputAttribute,
            FillConsoleOutputCharacterA, FindClose, FindFirstFileA,
            FindNextFileA, FlushConsoleInputBuffer, FlushFileBuffers,
            FormatMessageA, FreeConsole, FreeEnvironmentStringsA,
            FreeEnvironmentStringsW, FreeLibrary, GetACP, GetCPInfo,
            GetCommandLineA, GetConsoleCP, GetConsoleCursorInfo,
            GetConsoleMode, GetConsoleOutputCP, GetConsoleScreenBufferInfo,
            GetCurrentDirectoryA, GetCurrentProcess, GetCurrentThreadId,
            GetCurrentTime, GetDateFormatA, GetDiskFreeSpaceA,
            GetDriveTypeA, GetEnvironmentStrings, GetEnvironmentStringsA,
            GetEnvironmentStringsW, GetEnvironmentVariableA,
            GetExitCodeProcess, GetFileAttributesA, GetFileAttributesW,
            GetFileInformationByHandle, GetFileSize, GetFileTime,
            GetFileType, GetFullPathNameA, GetLargestConsoleWindowSize,
            GetLastError, GetLocalTime, GetLocaleInfoA, GetLogicalDrives,
            GetModuleFileNameA, GetModuleHandleA,
            GetNumberOfConsoleInputEvents, GetNumberOfConsoleMouseButtons,
            GetOEMCP, GetPrivateProfileStringA, GetProcAddress,
            GetStartupInfoA, GetStdHandle, GetStringTypeA, GetStringTypeW,
            GetSystemDefaultLCID, GetSystemInfo, GetSystemTime,
            GetTempFileNameA, GetThreadLocale, GetTickCount,
            GetTimeZoneInformation, GetVersion, GetVersionExA,
            GetVersionExW, GetVolumeInformationA, GlobalAlloc, GlobalFlags,
            GlobalFree, GlobalHandle, GlobalLock, GlobalMemoryStatus,
            GlobalReAlloc, GlobalSize, GlobalUnlock, HeapAlloc, HeapCreate,
            HeapDestroy, HeapFree, HeapReAlloc, HeapSize,
            InitializeCriticalSection, InterlockedDecrement,
            InterlockedExchange, InterlockedIncrement, IsBadCodePtr,
            IsBadHugeReadPtr, IsBadHugeWritePtr, IsBadReadPtr,
            IsBadWritePtr, LCMapStringA, LCMapStringW,
            LeaveCriticalSection, LoadLibraryA, LoadLibraryExA, LocalAlloc,
            LocalFileTimeToFileTime, LocalFree, LocalReAlloc, MoveFileA,
            MultiByteToWideChar, OutputDebugString, PeekConsoleInputA,
            QueryPerformanceCounter, QueryPerformanceFrequency,
            RaiseException, ReadConsoleA, ReadConsoleInputA, ReadFile,
            RemoveDirectoryA, RemoveDirectoryW, RtlUnwind,
            ScrollConsoleScreenBufferA, SetConsoleCtrlHandler,
            SetConsoleCursorInfo, SetConsoleCursorPosition, SetConsoleMode,
            SetConsoleScreenBufferSize, SetConsoleWindowInfo,
            SetCurrentDirectoryA, SetCurrentDirectoryW, SetEndOfFile,
            SetEnvironmentVariableA, SetFileAttributesA,
            SetFileAttributesW, SetFilePointer, SetFileTime,
            SetHandleCount, SetLastError, SetStdHandle,
            SetUnhandledExceptionFilter, Sleep, SystemTimeToFileTime,
            TerminateProcess, TlsAlloc, TlsFree, TlsGetValue, TlsSetValue,
            UnhandledExceptionFilter, VirtualAlloc, VirtualFree,
            VirtualQuery, WaitForSingleObject, WideCharToMultiByte,
            WriteConsoleA, WriteConsoleOutputA, WriteFile,
            WritePrivateProfileStringA, _hread, _hwrite, _lclose, _lcreat,
            _llseek, _lopen, _lread, _lwrite,  lstrcat, lstrcatA, lstrcmp,
            lstrcmpA, lstrcmpi, lstrcmpiA, lstrcpy, lstrcpyA, lstrcpyn,
            lstrcpynA, lstrlen, lstrlenA
  USER32    CharToOemA, CharToOemBuffA, CharToOemW, EnumThreadWindows,
            GetKeyboardType, GetSystemMetrics, IsCharAlphaNumericA,
            LoadStringA, MessageBoxA, MessageBoxExA, OemToCharA,
            OemToCharBuffA, OemToCharW
  OLEAUT32  SysAllocStringLen, SysFreeString, SysStringLen,
            VariantChangeType, VariantChangeTypeEx, VariantClear,
            VariantCopy, VariantCopyInd, VariantInit
  ADVAPI32  RegCloseKey, RegOpenKeyA, RegOpenKeyExA, RegQueryValueExA"


Todd S. wrote:
> Hello! My name is Todd, and I know this sounds like a stupid question, but if it was ever possible, could the "WINE" application ever be built with the "DOS" version of GCC/G++ so Windows programs can be executed from DOS-mode?
> 
> Thanks.
> 
> Regards,
> Todd Suess
> 
> 
> 





More information about the wine-devel mailing list