Commit Graph

329 Commits

Author SHA1 Message Date
Markus Amsler 448dc4fa1e Fixed drive mapping in GET ALLOCATION. 2004-08-09 23:39:12 +00:00
Markus Amsler b5b8810e99 Pass debug exceptions to winedos. 2004-08-04 19:08:19 +00:00
Marcus Meissner f4c813f74b Remove lvalue casts that are no longer supported. 2004-07-12 19:53:24 +00:00
Alexandre Julliard 225c6d2cee Check for non-existent directory in INT21_SetCurrentDirectory to
return a proper error when the directory is not on the current drive.
2004-06-17 04:26:17 +00:00
Rein Klazes a1e8ba9fc2 In INT21_GetFreeDiskSpace adjust the sectors-per-cluster value to make
the total number of clusters fit in a 16 bit register.
2004-06-03 23:20:35 +00:00
Jukka Heinonen 6844c3b59b Implement DOS7 canonicalize path function as a conversion to short
file name.
2004-04-26 20:05:30 +00:00
Alexandre Julliard 73d9e1a62f Fixed/updated the file attributes defines. 2004-04-19 23:11:31 +00:00
Alexandre Julliard bd1fdeddaa Update the drive environment strings when changing the current
directory from 16-bit or DOS code.
2004-04-16 00:08:11 +00:00
Alexandre Julliard 1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Alexandre Julliard 1a833442a1 Replaced create_file server requests by a call to NtCreateFile. 2004-04-14 04:31:55 +00:00
Alexandre Julliard 49b2f6d964 Get rid of the removable media handling in the server. 2004-04-06 23:41:01 +00:00
Florian Goth f5a7f66818 Added some more stubs after examining the dosbox source code. 2004-04-06 20:14:09 +00:00
Florian Goth 37f5166bf4 Added some stubs. 2004-03-30 20:43:00 +00:00
Florian Goth cc96d67aee Added stubs for a few functions. 2004-03-25 05:28:54 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Alexandre Julliard 22508e576f FindFirstFile can return an empty short name if the long name is a
valid DOS name, fixed callers to handle that properly.
2004-03-17 01:50:27 +00:00
Alexandre Julliard 014099caf5 Changed the create_file server request to take NtCreateFile flags
instead of CreateFileW ones (based on a patch by Eric Pouech).
2004-03-12 01:56:49 +00:00
Alexandre Julliard 8045ad5c0e Removed some unnecessary definitions from file.h.
Got rid of drive.h.
2004-03-09 23:51:02 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Alexandre Julliard 16de1f7aff Changed handling of special DOS devices to use real file handles
instead of the server device object.
2004-02-24 01:07:52 +00:00
Uwe Bonnes f31a3204ca IO_pp_outp: Allow to switch direction of the printer port. 2004-02-24 00:59:19 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Michael Stefaniuc f44b5c46e8 Fixed DOS EXE loader for the case where we realy have only 4 bytes on
the last page of the exe.
2004-01-20 01:25:17 +00:00
Eric Pouech 768008fa20 - got rid of FILE_Dup2 export from kernel32
- move all dos handle related code into dlls/kernel32
2004-01-14 04:34:20 +00:00
Alexandre Julliard e8283089cb Get rid of no longer needed WINE_PACKED define. 2004-01-09 22:18:49 +00:00
Michael Stefaniuc 6c34235f3e - add VESA mode 0x6a (same as 0x102)
- add a macro to check if a mode is a VESA mode
- output the unsupported VGA mode in hex (all VGA/VESA docs use hex
  for that)
2004-01-09 05:03:43 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Eric Pouech 5bf3a2669b Made wine_get_unix_file_name take a Unicode string pointer. 2004-01-05 23:42:09 +00:00
Michael Stefaniuc 32c7454d75 Fill in the color MaskSize and FieldPosition fields in the
ModeInfoBlock.
2004-01-02 21:08:41 +00:00
Michael Stefaniuc b6de8b9dbc Use a struct as specified in the VBE 3.0 standard for the
ModeInfoBlock. Code wise this is a NOP.
2004-01-02 20:45:39 +00:00
Michael Stefaniuc 56f85215f9 Set the "bytes per scan line" field when generating the mode info
block.
2004-01-02 20:11:03 +00:00
Alexandre Julliard 04ecca54a1 Use wine_server_release_fd() instead of close() everywhere we use
wine_server_handle_to_fd().
A few minor winsock cleanups.
2003-12-02 04:19:56 +00:00
Jukka Heinonen cf1b653596 Add upper limit for the number of pending timer interrupts.
Check if timer has been stuck and issue an error to user.
Fix handling of timer period zero.
2003-12-01 22:37:15 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Steven Edwards cfcc449324 Porting fixes. 2003-11-26 22:29:30 +00:00
Uwe Bonnes 111b1cbf68 INT21_GetFreeDiskSpace(): The drive parameter is found in the DL
register.
2003-11-25 03:26:14 +00:00
Eric Pouech ff0365290b Got rid of DRIVE_OpenDevice, and replaced it with Win32 equivalents. 2003-11-25 01:51:07 +00:00
Alexandre Julliard 436eda3071 Removed task.h. 2003-11-25 00:42:26 +00:00
Alexandre Julliard 204847e8f6 Use the wine_ldt_* functions directly in winedos instead of calling
SELECTOR_AllocBlock.
2003-11-18 00:06:15 +00:00
Alexandre Julliard d868549754 Moved toolhelp.h to dlls/kernel. 2003-11-17 20:49:45 +00:00
Alexandre Julliard f9be2f3d21 Removed some unnecessary includes. 2003-11-17 20:31:29 +00:00
Alexandre Julliard 8fb98a41e0 Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Alexandre Julliard e983652363 Moved a number of DOS definitions out of the global headers and into
winedos private files. Removed the msdos.h header.
2003-11-15 00:13:20 +00:00
Alexandre Julliard adfa5e101f Repaired INT21_FindFirst/FindNext. 2003-11-14 06:22:32 +00:00
Eric Pouech 8ca6cadab1 - moved the remaining of int21 calls to dlls/winedos
- disabled drive enabling/disabling as well as disk serial number
  writing (for DLL separation issues)
- added volume management prototypes to include/winbase.h
- started DefineDosDevice (needed by first item in this list)
- removed int21 specific code from dlls/kernel
2003-11-14 04:54:39 +00:00
Jukka Heinonen d7ee5f3f31 Fix race in real mode event handling.
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Alexandre Julliard 47f62a402a Set %fs and %gs in the register context to their current value when
calling 16-bit code.
2003-11-05 00:46:44 +00:00
Jukka Heinonen 02a23461ae Implement fat32 extended free space function.
Make fat32 calls reset carry flag explicitly.
2003-11-03 22:13:25 +00:00
Jukka Heinonen 6b47f11db6 Clean up mouse driver implementation. 2003-10-27 22:06:27 +00:00
Jukka Heinonen 181a7cca2b Moved drive parameter block (DPB) routines to winedos. 2003-10-27 22:06:10 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Jukka Heinonen 46f29944c3 Remove races from DPMI async event handling. 2003-10-14 05:20:34 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Oleg Prokhorov 947c61e4f7 Avoid HeapReAlloc of a NULL pointer. 2003-10-09 19:49:05 +00:00
Mike McCormack 8365577125 Don't share some protected mode interrupts in winedos. 2003-10-08 19:07:45 +00:00
Jukka Heinonen ca2902f3d1 Use correct pointer when accessing real mode interrupt vectors under
Win16.
2003-10-07 03:32:03 +00:00
Jukka Heinonen d2936e6ab0 Reboot (int19) under DOS now does ExitProcess.
Made BIOS reboot vector call int19.
2003-10-04 03:06:18 +00:00
Jukka Heinonen abbcf41325 Use correct linear pointer when accessing BIOS data area. 2003-09-30 00:22:12 +00:00
Michael Stefaniuc 0bfdc5554c Silence the FIXME produced by an install check of MVSOUND.SYS. 2003-09-22 19:33:07 +00:00
Michael Stefaniuc 11346f94d1 Silence the FIXME's produced by a check for a dos32 extender. 2003-09-22 19:32:51 +00:00
Jukka Heinonen 23503179dc When entering protected mode, V86 flag must be clear. 2003-09-22 19:32:03 +00:00
Alexandre Julliard 9eb1d2c7fa Moved I/O port handling to dlls/winedos. 2003-09-17 22:45:46 +00:00
Alexandre Julliard add0c5850b Use WOWCallback16Ex to switch to vm86 mode so that we can setup a
proper exception handler and handle instruction emulation.
2003-09-17 20:23:33 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Sylvain Petreolle f20026e7eb Changed some functions to reset CFLAG on success.
Added some traces.
2003-09-03 00:09:29 +00:00
Michael Stefaniuc 8a4f2adace int33 21h is identical to int33 00h. 2003-09-02 00:58:42 +00:00
Jukka Heinonen 7fb4957873 Make DOS process exit using ExitProcess instead of ExitThread.
Make calling DOS exit functions from DPMI either return to StartPM or
print error message if not allowed by DPMI specification.
2003-09-02 00:52:36 +00:00
Jukka Heinonen 0a1fa89f33 Add support for specific EOI PIC command. 2003-09-01 23:55:53 +00:00
Jukka Heinonen ec42ea4dfb Workaround implemented for passing faked mickeys to mouse callback
routine.
2003-08-29 22:13:27 +00:00
Jukka Heinonen f68017b851 Allow application to use VGA window that overlaps framebuffer only
partially.
2003-08-29 22:13:11 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard bf97962a51 Avoid including stackframe.h if it's not needed. 2003-08-27 02:52:17 +00:00
Jukka Heinonen be3b2569c7 Make all users of DOSVM_Enter explicitly set V86 flag.
Fix mouse relay stack usage in protected mode.
Raw mode switch now handles interrupt flag correctly.
2003-08-25 01:01:01 +00:00
Alexandre Julliard d631f30945 Fixed copy/paste error in WOWCallback16Ex call (spotted by Dmitry
Timoshkov).
2003-08-25 00:54:24 +00:00
Jukka Heinonen 9adb6f2e3f Replace some magic numbers with symbols.
Add sanity checks so that VGA window cannot be used to access memory
outside framebuffer.
2003-08-25 00:53:35 +00:00
Alexandre Julliard 3a5b7cf105 Extended WOWCallback16Ex to support register functions too. This
allows simplifying the wine_call_to_16 assembly code by moving part of
it to C code, and getting rid of the extra kernel exports.
2003-08-23 23:30:51 +00:00
Jukka Heinonen fbbe6a43aa Make FPU emulation use CS:IP when determining location of calling
software interrupt.
2003-08-20 18:17:39 +00:00
Jukka Heinonen 37925eaf7b Remove unnecessary __wine_call_from_16_regs call frame management code
from raw mode switch handler.
2003-08-20 18:17:23 +00:00
Jukka Heinonen 32e929c0da When forcing call to DOS relay from protected mode, make sure that
relay sees original stack and code pointers. Make it possible for DOS
relay to modify code and stack pointers.
2003-08-19 00:59:23 +00:00
Alexandre Julliard ef94e40cc1 Added missing \n in TRACE calls. 2003-08-18 20:04:27 +00:00
Jukka Heinonen 215a0d6f3e Fix CPU flag handling when internal interrupts are branched to. 2003-08-18 19:52:28 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Patrik Stridvall ba78aac406 Fixed some issues found by winapi_check. 2003-08-08 21:07:23 +00:00
Jukka Heinonen 02c67f3114 Make int1a BIOS ticks be equal to BIOS segment ticks.
Fix bugs in int1a subfunctions.
2003-07-15 20:50:34 +00:00
Jukka Heinonen 4ef7ba7247 Real mode context should always have V86 flag turned on.
Entering protected mode uses simpler and more robust virtual interrupt
flag check.
Mouse events are now received in graphics modes.
Improved tracing output of int33 handler.
2003-07-08 21:11:52 +00:00
Marcus Meissner 39d1b9c0e5 DPMI exceptions only happen on i386. 2003-07-03 18:08:04 +00:00
Jukka Heinonen 2a3ce4c425 Start processing asynchronous DOS events in DPMI mode. 2003-07-01 03:37:41 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Alexandre Julliard 2b72be546c Replace calls to WaitForMultipleObjects with a 0 count by calls to
SleepEx.
2003-06-30 02:10:19 +00:00
Jukka Heinonen 36001fe660 Make timer IRQ handler regular builtin interrupt handler instead of
using an assembler stub.
2003-06-30 02:03:48 +00:00
Gerald Pfeifer e7724ffc65 Enable all of DllMain(), even if if not MZ_SUPPORTED. 2003-06-27 19:41:10 +00:00
Sylvain Petreolle 1ce760568c Display the interrupt number in hexadecimal. 2003-06-27 19:40:29 +00:00
Gerald Pfeifer 018e3cc67b Expose part of DOSVM_SendQueuedEvents() also for platforms without
MZ_SUPPORTED.
2003-06-24 02:24:54 +00:00
Francois Gouget 17c035b684 O_RDONLY==0 but it's cleaner to pass it to DRIVE_OpenDevice() anyway. 2003-06-23 19:50:16 +00:00
Jukka Heinonen 76f93fb6bc Add IRQ acknowledge handler for internal IRQs.
Change DPMI asynchronous event handling.
Always use alternate stack in DPMI relays and check for pending events
after original stack has been restored.
2003-06-23 03:35:51 +00:00
Jukka Heinonen 75e87b4457 Add int31 VIF manipulation functions.
Fix asynchronous event locking.
Make asynchronous event handling support DPMI.
2003-06-20 21:27:49 +00:00
Jukka Heinonen e827269a99 Migrate create/open file functions to winedos.
Some fixes based on patch by Ferenc Wagner.
2003-06-16 01:18:01 +00:00
Jukka Heinonen 0b79a6e7c3 Make DOSVM_Wait work in protected mode.
Replace SHOULD_PEND macro with a function.
2003-06-16 01:17:30 +00:00
Sylvain Petreolle 918d8f3e20 Trace which real mode interrupt is emulated. 2003-06-13 23:17:34 +00:00