Commit Graph

450 Commits

Author SHA1 Message Date
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
Jukka Heinonen 4cbc69a223 Move get current directory and set current directory int21
subfunctions into winedos. Fix quite a few bugs in the implementation
of these functions.
2003-06-13 18:05:18 +00:00
Jukka Heinonen b2844d2c3a Split timer code into separate source file.
Stop using SIGALRM for timers.
2003-06-13 16:28:49 +00:00
Jukka Heinonen 7731c8e33e Pending timer interrupts no longer deadlock DOSVM_Wait.
Restored interrupt priorities to correct values.
2003-06-06 18:09:14 +00:00
Jukka Heinonen f07dfff17b Migrate most int21 ioctl routines to winedos.
Migrate int21 set drive routine to winedos.
2003-06-04 20:17:52 +00:00
Jukka Heinonen 3da6ff753e Added some long filename functions. 2003-05-20 17:49:04 +00:00
Jukka Heinonen c646408568 Move get current drive int21 function to winedos.
Fix spelling mistakes.
Add some drive handling helper routines.
2003-05-19 21:40:05 +00:00
Alexandre Julliard a098c82aac Moved vxd support to winedos. 2003-05-15 23:25:49 +00:00
Alexandre Julliard 3b4143aea0 Thomas Mertes <thomas.mertes_at_gmx.at>
Implement file control block (FCB) functions:
  INT21_OpenFileUsingFCB [0x0f],
  INT21_CloseFileUsingFCB [0x10],
  INT21_SequenialReadFromFCB [0x14],
  INT21_SequenialWriteToFCB [0x15],
  INT21_ReadRandomRecordFromFCB [0x21],
  INT21_WriteRandomRecordToFCB [0x22],
  INT21_RandomBlockReadFromFCB [0x27],
  INT21_RandomBlockWriteToFCB [0x28].
2003-05-15 22:54:43 +00:00
Jukka Heinonen cadffabd2d Make read from stdin use buffered input code and redirect stderr to
console.
2003-05-11 03:30:24 +00:00
Jukka Heinonen fb3080a2f3 Add scrolling support for VGA text mode. 2003-05-07 03:16:34 +00:00
Jukka Heinonen 643e8740d5 Report errors to applications when illegal dates are passed to set
system date call (required by many installation checks).
2003-05-06 00:12:52 +00:00
Marcus Meissner cba9795f14 Fixed non-x86 DOSVM_Wait prototype. 2003-05-04 02:25:21 +00:00
Jukka Heinonen e2ae56e0b9 Remove obsolete code from DOSVM_Wait.
Prepare DOSVM_Wait for handling nested interrupts in both real and
protected mode.
Provide temporary workaround for keyboard related deadlock.
2003-05-02 20:12:52 +00:00
Jukka Heinonen 40bebee7ce Report correct IRQ bases to DPMI applications.
Make int31 print more tracing information.
2003-05-02 20:12:10 +00:00
Jukka Heinonen f93d452d78 Fix argument passing to DOS program from winevdm.
Add support for invoking DOS programs with long command lines.
2003-05-02 20:11:52 +00:00
Alexandre Julliard 78654e2bff Fixed non-MZ case broken by previous patch. 2003-04-27 20:38:22 +00:00
Alexandre Julliard fedc411743 Moved the functionality of starting Win16 and DOS programs from the
common process startup into a separate winevdm application.
2003-04-27 00:47:58 +00:00
Jukka Heinonen 013f89465c Moved dosconf.c to winedos. 2003-04-21 23:22:53 +00:00
Jukka Heinonen af4f0ee240 Interrupt handling now prints more trace information.
Replaced some magic numbers with preprocessor constants.
2003-04-13 01:06:36 +00:00
Jukka Heinonen 31f35146b9 Return correct segment for VESA information.
Check oem number/version flag first and after that overwrite condition
code.
2003-04-08 19:41:03 +00:00
Alexandre Julliard 06a8c1203f Portability fixes. 2003-04-01 00:12:50 +00:00
Jukka Heinonen 6f6eb82dfc Add prototype for GetCompressedFileSize. Move some int21 functions to
winedos. Improve file attribute functions.
2003-03-30 03:04:37 +00:00
Alexandre Julliard 3dc1f2dff3 Changed the SET_AX etc. macros to not return a value. 2003-03-22 21:12:27 +00:00
Jukka Heinonen 4c6e36faf2 Move real mode interrupt emulation code to file interrupts.c.
Remove last wrapper check from int31 handler.
Move RM/PM hardware interrupt emulation code to separate functions.
2003-03-04 02:16:20 +00:00
Jukka Heinonen 2918ee6b0d Move decoding of long file name functions to winedos.
Move some int21 functions to winedos.
2003-03-04 02:15:56 +00:00
Alexandre Julliard ce13153821 Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.
2003-02-26 20:34:45 +00:00
Sylvain Petreolle 149c0c520b Implemented DSP Version command. 2003-02-26 20:27:23 +00:00
Jukka Heinonen f498d4b8fb Move controller info and state/functionality info initialization to
winedos. Convert many incorrectly static fields into dynamic
fields. Fix vesa mode reporting and realloc memory block consistency
checks.
2003-02-26 05:02:54 +00:00
Michael Stefaniuc 745a78f490 Remove some unreachable code. 2003-02-24 20:48:45 +00:00
Gerald Pfeifer 2154db4d4e Fix TRACE format string. 2003-02-24 20:41:51 +00:00
Jukka Heinonen a969416c56 Ignore get shadow buffer function.
Remember to synchronize VGA display on program exit because update
thread may not have time to run.
2003-02-19 23:27:01 +00:00
Jukka Heinonen 54f377c6c5 Move resize memory block to winedos and make it resize in place and
work correctly even when trying to allocate too much memory.
2003-02-19 22:11:04 +00:00
Jukka Heinonen 5812f52976 Outputting backspaces should only move the cursor.
Text buffer copy is now always initialized correctly.
Preserve video memory flag is parsed and text screen is now really
cleared when flag is clear.
2003-02-14 19:23:16 +00:00
Michael Stefaniuc 62ed0ffe00 Added some missing LeaveCriticalSection's. 2003-02-12 01:26:05 +00:00
Jukka Heinonen 101f91d9df Reorganize IOCTL handling.
Move ASPI hooking to winedos.
Move some miscellaneous functions to winedos.
Remove unnecessary exports from winedos dll.
2003-02-11 22:22:50 +00:00
Jukka Heinonen b3143f6f70 Add locking to VGA_SetWindowStart.
Move console updates to update thread instead of immediately writing
to console.
2003-02-11 22:19:27 +00:00
Jukka Heinonen d6b6dda6c1 Add support for VESA mode information.
Reorganize controller and state information routines.
2003-02-11 22:18:11 +00:00
Jukka Heinonen 8e8518d4ba Fix buffered input function. Add support for UMB subfunctions to
memory allocation strategy function. Move flock to winedos.
2003-01-30 00:17:03 +00:00
Jukka Heinonen f0e1c04b87 Replace FIXMEs with TRACEs in those paging functions that really are
not supposed to do anything.
Add simple emulation of coprocessor state functions.
2003-01-28 00:19:21 +00:00
Jukka Heinonen f92c8ca401 Return scancode when extended keycodes are read using console input
functions. Move file stamp handling to winedos. Implement DOS7 file
stamp extensions.
2003-01-28 00:18:57 +00:00
Jukka Heinonen 6758f027fa Handle horizontal and vertical retrace separately. 2003-01-28 00:16:15 +00:00
Jukka Heinonen 1f5e6994af Unify VGA and VESA video mode setting code. 2003-01-28 00:16:01 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +00:00
Jukka Heinonen 66b29b275e Return number of bytes written when writing to DOS console using int21
function 0x40. Move some int21 functions to winedos.
2003-01-23 01:23:01 +00:00
Jukka Heinonen fcba2b538e Reorganize int10 code. Fix comments. 2003-01-23 01:22:40 +00:00
Lawson Whitney 0c391fe32f Fix reversed hour and minute in int 21 ah=2c. 2003-01-20 23:22:27 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Eric Pouech 0fcada9fa7 Removed unused #include of module.h. 2003-01-02 17:59:47 +00:00
Jukka Heinonen 9d7ff6c85b Add support for DPMI32. Make winedos16.dll unnecessary. 2002-12-15 01:18:40 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Alexandre Julliard 435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Jukka Heinonen be1c6deb18 Move int21 country information handling to winedos.
Improve country information handling.
Move collate table to upper memory.
2002-12-10 19:58:39 +00:00
Jukka Heinonen 1cfc850b2c Move int08 stub and LOL to upper memory.
Move simple int21 functions to winedos.
2002-12-07 23:46:41 +00:00
Jukka Heinonen 2ec8b71bae Clean up int21 handling. Move error handling to winedos.
Call INT_Int21Handler only to emulate selected functions.
2002-12-03 19:11:49 +00:00
Jukka Heinonen 7b7f198786 Move DPMI segments to winedos. 2002-12-02 21:39:58 +00:00
Jukka Heinonen 742142521a Rename old DOS3Call as INT_Int21Handler and make new DOS3Call call
directly winedos int21 handler.
2002-12-02 18:58:32 +00:00
Jukka Heinonen c71cf7e60f Move int13 handler to winedos. 2002-12-02 18:57:42 +00:00
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Andreas Mohr 60e0491fa2 Fixed text mode value. 2002-11-30 01:50:55 +00:00
Jukka Heinonen 3546290285 Moved handlers for int25 and int26 to winedos. 2002-11-27 20:18:50 +00:00
Jukka Heinonen 98058eb14d Moved handlers for int11, int15 and int5c to winedos. 2002-11-24 22:34:04 +00:00
Jukka Heinonen 5d3b7e64ec VGA text mode no longer flickers and it is much faster.
VGA text mode is now initialized earlier.
VGA text mode is now emulated even without console.
2002-11-24 22:15:56 +00:00
Jukka Heinonen ab163db7c0 Move int2f handler to winedos.
Clean winedos headers a bit.
2002-11-23 02:23:54 +00:00
Jukka Heinonen 02e177759d Removed obsolete INT_Int31Handler. 2002-11-18 22:53:38 +00:00
Jukka Heinonen d41581dbde DeviceIoControl now calls winedos interrupt handlers.
Fixed RawModeSwitch.
2002-11-15 01:35:52 +00:00
Marcus Meissner 94c7fa702d Do not define MZ_SUPPORTED if we do not have sys/vm86.h for all the
struct definitions.
2002-11-13 19:37:24 +00:00
Jukka Heinonen 416c2aeb00 Move simple interrupt handlers to winedos. 2002-11-12 23:29:48 +00:00
Jukka Heinonen 69f74dbf0e Move all int31 functions to winedos.
Fix some obvious bugs in int31 functions.
2002-11-11 19:55:52 +00:00
Jukka Heinonen fe2acc1389 Start using winedos handlers for all interrupts. 2002-11-06 21:56:52 +00:00
Patrik Stridvall 517a93afe3 Fixed some issues found by winapi_check. 2002-11-06 19:57:49 +00:00
Jukka Heinonen 23be4ff094 Move most int31 functions to winedos.
Add DPMI32 fixes.
2002-11-06 19:54:39 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Jukka Heinonen 3c9d9182eb Ignore VCPI installation checks. Handle XMS query any extended memory
function. Add stubs for get/set exception handler vector.
2002-11-04 22:35:36 +00:00
Jukka Heinonen 6a216d0eb7 When returning from 32-bit default interrupt handlers, eflags are now
returned correctly.
2002-11-04 22:35:15 +00:00
Jukka Heinonen c1c346ae0d Prevent crashes when DOS program tries to access console and no
Windows console is available.
2002-10-31 03:41:20 +00:00
Alexandre Julliard 1e85f70899 Added winedos16.spec.c. 2002-10-30 23:53:49 +00:00
Jukka Heinonen eb2a39e460 Add winedos16.dll which contains 16-bit protected mode interrupt entry
points.
2002-10-30 23:40:13 +00:00
Jukka Heinonen 6f6abac4f1 Modify winedos interrupt handlers so that they work with PM
interrupts.
Add forwarding functions for handlers in other DLLs.
Make DOSVM_GetBuiltinHandler use static table instead of
GetProcAddress.
2002-10-29 23:09:30 +00:00
Andreas Mohr 90ce2c896f - Make int09 update the BIOS data segment's keyboard status flags
bytes, implement pause key handling.
- Let int16/02 read the keyboard status flags bytes instead of calling
  GetAsyncKeyState().
- Make the keyboard state buffer used for Get*Key*() reflect
  VK_L/RMENU properly.
- Small fixes.
2002-10-28 23:51:27 +00:00
Jukka Heinonen 7710b3c8f3 Add routines for manipulating protected mode interrupt handlers to
winedos dll. Add routine for checking if process is Windows process.
Fix DOSVM_IsDos32 interface. Move real mode interrupt handler
manipulation routines to interrupts.c.
2002-10-28 20:12:40 +00:00
Andreas Mohr 1b6f2574cd Tiny int17 printer fix. 2002-10-25 03:49:15 +00:00
Chris Morgan 23f9d682a1 Call CreateProcessA() when executing non-dos applications from a dos
application.
2002-10-23 23:35:34 +00:00
Jukka Heinonen eca6182749 Move interrupt emulation code from INSTR_EmulateInstruction to winedos
dll. Make CTX_SEG_OFF_TO_LIN work with 32-bit segmented pointers
common in DPMI32. Fix winedos initialization so that DOSMEM_Init(TRUE)
is only called when DOS executable is started.
2002-10-23 22:24:10 +00:00
Patrik Stridvall fb1a572b64 Fix for platforms not supporting DOS mode. 2002-10-23 20:16:36 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Alexandre Julliard 011605edf3 Use the WOWHandle functions to convert between task handle and thread
id. Stop exporting TASK_GetPtr and THREAD_IdToTEB from kernel.
2002-10-17 18:26:53 +00:00
Dmitry Timoshkov 472d016859 Correct SIZE_T size according to MS SDK.
Change some types to SIZE_T according to MS SDK definitions.
2002-09-21 01:21:00 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Alexandre Julliard cea2e825b2 Link all remaining dlls except kernel32 as separated dlls, by
temporarily exporting the few functions that are not properly
separated yet.
2002-09-06 18:51:31 +00:00
Alexandre Julliard 65ea73fedf Added DPMI segments structure and related function to avoid direct
references to dosmem internal variables.
Determine BIOS system offsets at compile time.
2002-09-04 18:52:22 +00:00
Alexandre Julliard 3fa613cf61 Moved internal context macros out of winnt.h.
Added SET_AX etc. macros to avoid non-portable pointer manipulations.
2002-08-31 18:47:00 +00:00
Alexandre Julliard 0d875e773e Fixed some dll separation issues. 2002-08-30 00:03:25 +00:00
Patrik Stridvall 1ee88a2bfb Removed trailing white space. 2002-08-28 23:43:43 +00:00
Dmitry Timoshkov d75aed2c92 Convert most of the file APIs to Unicode. 2002-08-27 01:13:58 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Jukka Heinonen 77c239979a Add support for moving VGA controller window in framebuffer using SVGA
interrupts. Detect correctly color plane modes and linear modes,
including Mode-X. Moved VESA interrupts into separate function and
implemented few more stubs.
2002-08-13 03:17:42 +00:00
Patrik Stridvall 4325554aef Fixed some issues found by winapi_check. 2002-08-09 01:07:29 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Chris Morgan 6ecade7c84 Some dos VGA error handling. Misc TRACE changes. 2002-07-29 23:51:57 +00:00
Jukka Heinonen 216e0248bc VGA emulation now supports outw and outl. 2002-07-29 23:29:03 +00:00
Jukka Heinonen b975aaaa2b Add VGA controller framebuffer between VGA window and
DirectDrawSurface.
2002-07-29 23:28:52 +00:00
Jukka Heinonen 0984b34783 Add decoding logic for VGA indexed registers. 2002-07-28 17:42:30 +00:00
Admiral Coeyman 9cb2b210aa Added support for FPU emulation interrupts. 2002-07-10 23:22:29 +00:00
Andreas Mohr 73f0bfb838 Better toggle all relevant bits in VGA crt register. 2002-07-03 21:04:44 +00:00
Andreas Mohr 45f5f5dabb Make sure we wait some time during int16 keyboard query call. 2002-07-03 01:13:34 +00:00
Andreas Mohr 5ab5c4991c Added a DOS text mode memory buffer copy in order to be able to tell
which lines of text changed and thus which ones to update.
2002-07-03 01:13:17 +00:00
Andreas Mohr db31151b1e Implemented set cursor shape functionality. 2002-07-01 18:13:52 +00:00
Jukka Heinonen 97a003fc37 Redirect all reads and writes to VGA controller to VGA emulation.
Catch and report 16/32-bit reads/writes to VGA controller.
Use correct flags when creating full screen DirectDraw window for
VGA.
2002-06-24 22:57:28 +00:00
Jukka Heinonen d19a64eafa Add save/restore mapping context routines.
Add map multiple pages routine.
Add partial implementation of hardware information query routine.
Replace incorrect use of MapSL with PTR_REAL_TO_LIN.
2002-06-24 22:50:22 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Christian Costa cc208a151f The SVGA block code was not accessible (AH and AL inverted). Fixed.
Removed duplicate VESA Get SuperVGA INFORMATION function.
Fix and finish its implementation.
Add 2 functions to managed structures in the BiosSys segment.
2002-05-28 22:44:53 +00:00
James Juran 32886f6b88 Add missing \n to output messages. 2002-05-24 21:17:59 +00:00
Alexandre Julliard 55e845d11b Removed most inclusions of options.h.
Removed a few no longer used PROFILE_* functions.
2002-05-23 19:40:18 +00:00
Alexandre Julliard 261e28a775 Removed some unnecessary imports. 2002-05-23 02:46:10 +00:00
Patrik Stridvall 5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Christian Costa fc37ef6130 Do not create a window each time VGA_DoSetMode is called. The window
is created the first time and then just resized.
2002-05-17 00:09:35 +00:00
Christian Costa 2fd4a55d07 Handle properly the requested video mode in Int10h SET VIDEO MODE
function by managing the bit 7 of AL.
2002-05-16 20:27:54 +00:00
Christian Costa 53268a54d1 Added DMA and SoundBlaster emulation. 2002-05-16 18:34:48 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Robert Coeyman 38fc50d202 Added the rest of the register manipulation code to int 10. It only
handles the setting of the 16-color palette registers and overscan.
2002-05-14 03:57:26 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Christian Costa 4a0a2ee00e Avoid deadlock in VGA_DoSetMode. 2002-05-11 23:00:17 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Jukka Heinonen 09537b76f7 DOSVM now exports DPMI Raw Mode Switch routine. 2002-05-05 21:06:51 +00:00
Jukka Heinonen 887ed6228a Terminating DOS program in real mode now calls ExitThread which is
exactly what terminating in protected mode does.
2002-05-05 20:22:39 +00:00
Jukka Heinonen 8a1ac6edf4 Real mode interrupt handler now handles interrupt 21 function 0C. 2002-05-05 20:22:06 +00:00
Jukka Heinonen 7ec04452a1 When DOS program executes another DOS program, command line is now
passed correctly. If DOS command line is too long, command line is now
truncated instead of letting it trash memory.
2002-05-01 18:04:11 +00:00
Jukka Heinonen 6138ba089f When freeing XMS memory block, return an error if block has not been
previously allocated.
2002-04-29 17:12:29 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Christian Costa e684c1dad7 GET FUNCTIONALITY/STATE INFORMATION: The input parameter ES:DI is a
buffer where bios information (all the VIDEOSTATE struct) must be
copied to.
2002-04-20 20:52:05 +00:00
Christian Costa de61088197 VGA_ioport_in: Fake the occurrence of the vertical refresh when no
graphic mode has been set.
2002-04-19 00:05:38 +00:00
Christian Costa ee95709090 Implement SET INDIVIDUAL DAC REGISTER and SET BLOCK OF DAC REGISTERS. 2002-04-17 16:50:42 +00:00
Alexandre Julliard 7746e82122 Removed obsolete console driver. 2002-04-11 21:50:16 +00:00
Jukka Heinonen d9f4241d0e Removed obsolete text mode color and attribute code.
Made routines for text mode scolling, clearing and getting character
at cursor use Windows console and VGA buffer.
2002-04-11 17:33:15 +00:00
Jukka Heinonen 66503b0653 Converted "read standard input with echo" interrupt service to use
common DOSVM console input routine and made the service really echo.
2002-04-08 20:11:47 +00:00
Jukka Heinonen adf7751dd5 Writes to stdout and VGA_WriteChars routine now update both VGA
buffers and Windows console.
Added routine for changing current console attributes.
Moved text mode handling from VGA_Poll into new routine and changed
locking primitive into critical section.
2002-04-08 20:11:28 +00:00
Jukka Heinonen 7e94af47aa Redirect DOS writes to stdout/console to DOSVM_PutChar. 2002-04-03 02:34:45 +00:00
Jukka Heinonen 0c80289492 Compiles now even on platforms that do not support DOS VM. 2002-04-02 19:20:12 +00:00
Jukka Heinonen 869b044249 Routine DOSVM_Wait now wakes up if new events are queued and it
returns if it processed any queued events.
2002-04-01 20:56:15 +00:00
Alexandre Julliard ac0e137998 Create threads to manage timers instead of using the service thread. 2002-03-23 18:48:53 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Admiral Coeyman 3a4512b1ff Beginnings of the code that should allow DOS programs to set their
color palette.
2002-03-20 00:55:05 +00:00
Jukka Heinonen a65ef56101 Console mode DOS programs now receive mouse events.
Replaced GetMessage with PeekMessage, since MsgWaitForMultipleObjects
is allowed to return spontaneously.
2002-03-19 02:05:57 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Andreas Mohr 8bc7f16caa Spelling/alignment fixes. 2002-02-27 01:34:08 +00:00
Peter Hunnisett 73ab649ced New file msvcrt/excpt.h. Move some stuff out of winnt.h into it. 2002-02-25 20:10:35 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Nog 867a874375 Fixed function 0xb. 2002-01-31 21:47:57 +00:00
Nog 30f307c4d0 Implement function 0xb (Read mouse motion counters) and 0xf (Set
mickey/pixel ratio).
2002-01-31 20:45:02 +00:00
Jukka Heinonen fd33517a41 Added support for DOS EMS memory. 2002-01-29 17:55:21 +00:00
Nog 42a314dea6 Implement function number 0x5 (Return mouse button press information). 2002-01-29 02:51:47 +00:00
Jukka Heinonen a900cb8797 Low-resolution and low-color VGA modes are now mapped into mode
640x480x8. Added preliminary support for four bit modes.
2002-01-29 02:46:43 +00:00
Patrik Stridvall 19d66cc1f6 Fixed some issues found by winapi_check. 2002-01-07 21:16:46 +00:00
Ove Kaaven a814c4ef08 DOS support restructure. The DOS virtual machine is now a set of
threads running within Wine's own address space, obsoleting the old
dosmod module.
2002-01-06 18:34:02 +00:00
Alexandre Julliard 3f510ad2bb Link with libutil only where needed. 2002-01-01 01:13:03 +00:00
Alexandre Julliard 4895768443 Link to the curses library only for the dlls that need it. 2001-12-26 23:08:31 +00:00
Alexandre Julliard 9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Alexandre Julliard 1f7fce3cde Fixed compile for !MZ_SUPPORTED. 2001-12-05 22:19:57 +00:00
Alexandre Julliard 8cd55d0eba Moved most of the real-mode stuff to dlls/winedos. 2001-12-04 19:54:44 +00:00
Patrik Stridvall ae1c12c4cd Documentation fixes. 2001-11-20 18:55:39 +00:00
Ove Kaaven e2c477b21a Moved the int 9 (keyboard) handler to dlls/winedos. 2001-11-08 17:06:40 +00:00
Ove Kaaven cf6f12f3cf Added RunInThread callout to winedos. 2001-11-07 20:15:39 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Marcus Meissner 3f1ed52d8b Implemented 64bit file size handling.
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
Patrik Stridvall e683d6ec1f Added documentation. 2001-04-27 18:03:09 +00:00
Alexandre Julliard 2ec34e48a3 Added TASK_GetPtr/TASK_GetCurrent functions to get the TDB for a task
handle.
2001-04-04 00:21:05 +00:00
Alexandre Julliard ea2a9a8974 Removed a few Callout functions by doing a GetProcAddress at the time
we actually need the function.
2001-02-20 00:55:17 +00:00
Patrik Stridvall d5f824b482 Fixed some issues found by winapi_check. 2001-01-25 22:23:08 +00:00
Alexandre Julliard a90797d09d Updated debug channels. 2001-01-15 20:23:05 +00:00
Alexandre Julliard 105b0f4e64 Use the exe name and file handle we got from the server also when
starting Win16 or DOS programs, to avoid depending on the contents of
the command-line.
2001-01-06 01:55:49 +00:00
François Gouget da2b6a9f26 Fixed some HFILE vs. HANDLE mismatches.
If not used the last parameter of CreateFile must be 0, not -1.
2001-01-06 01:29:18 +00:00
Ove Kaaven 5c0f1e10a6 Release the Win16 lock before starting the DOS process, since it's not
really a Win16 app.
2000-12-27 03:24:20 +00:00
Ove Kaaven 287638fd4c Since DOSVM_Wait() blocks the normal event processing, it should
dispatch pending events itself.
2000-12-27 02:35:57 +00:00
Ove Kaaven e5557b357a Separated the MZ loader and core DOS VM into dlls/winedos. 2000-12-26 00:22:45 +00:00