Commit Graph

357 Commits

Author SHA1 Message Date
Alexandre Julliard ef57e18f99 Removed some unnecessary includes. 2000-12-01 21:32:55 +00:00
Alexandre Julliard 7afce0e6d6 Moved the few remaining functions in wprocs.dll to kernel.dll.
No longer load wprocs.dll unconditionally.
Restored default interrupt handler behavior (reported by Andreas Mohr).
2000-12-01 21:25:31 +00:00
Patrik Stridvall 1ed5577522 Don't include windows.h internally. 2000-11-30 01:31:28 +00:00
Alexandre Julliard e296bf3717 Renamed CallTo16* functions to wine_call_to_16* and export them from
kernel32.spec.
2000-11-29 19:39:30 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Alexandre Julliard 5ce902b0b9 Implemented DosFileHandleToWin32Handle, Win32HandleToDosFileHandle and
DisposeLZ32Handle and use them to replace file.c internal functions.
Renamed WOW* functions into K32WOW*.
2000-11-27 21:59:08 +00:00
Alexandre Julliard 5b971f009a Moved wsprintf functions to dlls/user. 2000-11-26 22:39:50 +00:00
Andreas Mohr a59324db91 Cosmetics. 2000-11-25 01:40:10 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Ove Kaaven 693c531f94 When a Win16 app sets a selector base to low DOS memory, make sure low
DOS memory is mapped first.
2000-11-13 04:12:33 +00:00
Ove Kaaven f39a69a51d Use the virtual real-mode interrupt table if low DOS memory isn't
mapped.
2000-11-13 04:12:12 +00:00
Ove Kaaven b27ee9b89d Reorganized DOS memory remapping slightly, so that the real-mode
interrupt table can exist even when low DOS memory isn't mapped,
and is copied down along with the BIOS area whenever it is mapped.
Added DOSMEM_SystemBase() which returns a pointer to the virtual
real-mode interrupt table and BIOS data segment.
Allowed DOSMEM_Init(TRUE) to be called more than once.
2000-11-13 04:11:57 +00:00
Gerald Pfeifer eff75a31ef Added missing #include <sys/types.h>. 2000-11-05 03:19:33 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Andreas Mohr 588ee35618 Always open/close the CD-ROM device for every Windows API CD-ROM
access.
2000-10-23 00:40:23 +00:00
Joerg Mayer 959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Ove Kaaven 7c4bee569c Implemented DOS INT21 AH=4B (EXEC). 2000-10-17 00:33:02 +00:00
Alexandre Julliard 80fc23a939 Set selector 0000H base to 0xf0000 until the first 64K are
unprotected.
2000-10-15 00:37:50 +00:00
Peter Hawkins 866c5886e5 Added DOS int 21h function 4452h support (DR-DOS version check). 2000-10-13 20:22:34 +00:00
Mike McCormack 11776c1fcf Moved comm.c into kernel32. 2000-10-13 17:11:30 +00:00
Mike McCormack 97b9009302 Removed dependency on globals LPT[] and COM{}. 2000-10-12 20:42:23 +00:00
Andreas Mohr 744134e41d Replace null bytes by spaces in WriteConsoleOutputA call. 2000-10-12 20:41:29 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Alexandre Julliard ab170a9c84 Fixed a few non portable zero-size array declarations. 2000-09-27 00:25:24 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
Alexandre Julliard d8fab2e67c Removed some of the XXX_reg macros now that we are using the standard
CONTEXT86 structure everywhere.
2000-09-25 23:53:07 +00:00
Alexandre Julliard 770eb51ed5 Moved most global data out of the LPDOSTASK structure.
Allocate DPMI real-mode segments globally at startup.
Try to allocate DOS memory at address 0.
2000-09-24 20:47:50 +00:00
Alexandre Julliard 9edc7d0529 Misc cleanups. 2000-09-18 02:15:25 +00:00
James Abbatiello 5f150baea7 Stub support for int2f/ax=1684/bx=0027 (VXDLDR). 2000-08-28 19:29:26 +00:00
Andreas Mohr 217a682b4f Minor cosmetic changes. 2000-08-25 21:56:19 +00:00
James Abbatiello 9ad9e65d64 Fixes for reading latched values with ports 0x40-0x43. 2000-08-22 20:38:47 +00:00
Chris Morgan c0b2b9e175 Stubbed INT 15 function 84h. 2000-08-20 18:47:48 +00:00
Alexandre Julliard dcd247e55f Moved CharUpper* and CharLower* functions to dlls/user. 2000-08-14 17:39:15 +00:00
Alexandre Julliard 198746d812 Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.
2000-08-14 14:29:22 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard 4fef2f1917 Removed obsolete SHMDATA parameter in GLOBAL_CreateBlock. 2000-08-09 22:27:11 +00:00
Alexandre Julliard 09ddb59142 Make USER and GDI separate dlls. 2000-08-03 22:22:42 +00:00
Alexandre Julliard 15467bfb1f Moved MulDiv() and VGA routines out of GDI. 2000-08-01 22:03:18 +00:00
Ove Kaaven 660b5105af Removed DOS task fields from the NE_MODULE structure. 2000-07-31 23:22:55 +00:00
Ove Kaaven 6200a48b70 Fixed a few problems. 2000-07-31 20:58:31 +00:00
Ove Kaaven 2325ee4080 Use MZ_Current() instead of pModule->lpDosTask. Cleaned up the RMCB32
assembly code a bit, and wrapped it in #ifdef __i386__.
2000-07-31 20:56:02 +00:00
Ove Kaaven e3b353e220 Removed hModule parameter from MZ_AllocDPMITask(), and renamed
MZ_KillModule() to MZ_KillTask().
2000-07-30 13:41:13 +00:00
Ove Kaaven e6d8768e71 Made DOSMEM_Init() take a BOOL parameter instead of a HMODULE16, and
initialize DOS memory properly in the new process model. Made
DOSMEM_MemoryBase() use MZ_Current()->img instead of pModule->dos_image.
2000-07-30 13:32:10 +00:00
Ove Kaaven bf5ceb9ebc Fill BIOS segments using pointers from DOSMEM_Bios* functions, instead
of pointers from global heap functions.
2000-07-29 21:53:49 +00:00
Ove Kaaven 9f5ef0b410 Make direct console input routines go through int16, rather than
reading directly from the console driver.
2000-07-29 14:34:28 +00:00
Ove Kaaven a9c19f0710 Let Int09 routines remember a keystroke's ASCII code, if available. 2000-07-29 11:30:28 +00:00
Ove Kaaven eba5752f3a Added some int33 function stubs. 2000-07-29 11:30:02 +00:00
Ove Kaaven aeb9c4e200 Changed a few core int10 routines to use the BIOS data segment cursor
positions and the VGA routines, instead of directly accessing the
console driver.
2000-07-29 11:29:50 +00:00
Ove Kaaven 7b49914afc Removed the hModule parameter from various DOSMEM routines, the DOSMEM
routines now always use the current memory space.
2000-07-28 22:23:59 +00:00
Ove Kaaven 0a116b8b8a Just get DOS task structure from MZ_Current(), instead of (clumsily)
trying to find and read from the current task's module structures.
2000-07-28 20:18:49 +00:00
Ove Kaaven 3939b6d9dd Make a global asm helper function to handle 32-bit RMCB calls, so we
don't need those complex constraints either.
2000-07-28 20:18:25 +00:00
Alexandre Julliard 83f650837c Avoid clobbering %ebx. 2000-07-26 18:04:54 +00:00
Andreas Mohr 3084b58606 - fixed a gross bug in SetCurrentDirectoryA (where changing to a new
non-existent directory would leave the new drive enabled upon aborting
  (fixes CuteFTP install and should fix MANY apps)
  This has probably been caused by myself. *brownpaperbag*
- added GetVolumeInformation serial number bug-for-bug compatibility
- corrected Unicode labels (better CD-ROM handling in general)
- moved CD-ROM label detection code to misc/cdrom.c
- possible to use loopback mounted ISO9660 files
- init some uninitialised drive fields
- remove some unnecessary header includes
2000-07-25 20:59:59 +00:00
Ove Kaaven b30b0e74cd Use lcall opcodes, so all gas-es understand it... 2000-07-25 17:42:46 +00:00
Ove Kaaven e58bd1bae6 Make int16 read from the BIOS keyboard buffer, not directly from the
console driver.
2000-07-25 12:24:53 +00:00
Ove Kaaven 0e823c56c3 Fixed broken assembler. Removed support for old protected-mode hack
for running real-mode code on platforms that don't support vm86; the
current CallRM->RMCB shortcut code should take care of all
Wine-supplied RM APIs (such as DOSASPI) anyway.
2000-07-25 12:24:39 +00:00
Ove Kaaven 9b2060afab Change the V86BASE macro to call DOSMEM_MemoryBase() instead of using
the ugly Dr7 hack.
2000-07-23 13:36:41 +00:00
Dmitry Timoshkov 5890c09983 Use GetSystemDefaultLangID() instead of WINE_LanguageId. 2000-06-18 19:31:19 +00:00
Patrik Stridvall c94e086161 Fixed some warnings. 2000-06-07 02:16:47 +00:00
Ulrich Weigand 0121ac1a12 Removed mis-aligned accesses during BIOS/DOS data initialization. 2000-06-07 02:02:56 +00:00
Patrik Stridvall 330cd693b0 Fixed some warnings. 2000-06-03 20:43:06 +00:00
Alexandre Julliard 4324b4778b Delay loading of interrupt table functions until they are needed. 2000-06-03 04:52:14 +00:00
Alexandre Julliard de304909cd Delay initialization of I/O permissions until they are first used. 2000-06-03 04:50:59 +00:00
Andreas Mohr 984f3d9637 Implemented int 0x21 long file name function 0x71a0: Get Volume Info. 2000-05-30 20:04:45 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Marcus Meissner 60729af8a9 Commented out broken __asm__, added comments where it is broken. 2000-05-24 21:02:00 +00:00
Ove Kaaven ce23e9b3c8 Scale mouse coordinates to default width 640. 2000-05-23 21:13:52 +00:00
Eric Pouech 12222f0d54 Fixed a few compilation warnings. 2000-04-29 14:29:41 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Ian Schmidt 21c04b9d9a Implemented FAT32 function 7302 (Get Extended DPB). 2000-04-04 18:55:23 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
David Elliott c3bcd6cec5 - Slightly reworked include files (less messy, more straightforward).
- Moved DOS ASPI functionality to msdos/dosaspi.c.
- Got rid using PROFILE to get SCSI info from wine.conf.
- Read scsi info from /proc/scsi/scsi.
- Added setting of a reasonable timeout when opening a SCSI device (5
  minutes, defined in winescsi.h).
- ExecScsiCommand now ALWAYS posts, even on error (which is the correct
  behavior).
2000-03-08 19:41:49 +00:00
Niels Kristian Bech Jensen 4eb4380360 Removed superfluous #include statements for header files included twice. 2000-02-29 22:06:06 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Alexandre Julliard 383da68cf9 Optimized debugging API to reduce code size. 2000-02-10 22:15:21 +00:00
Alexandre Julliard fc296da4e2 Removed extra includes from ole.h and wingdi.h. 2000-02-10 19:39:48 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Andreas Mohr a16c0e19a7 - implemented serial numbers for audio CDs and data CDs
- big clean up of misc/cdrom.c and dlls/winmm/mcicda/mcicda.c function
  naming and such
- split debug channel cdaudio into cdrom and mcicda
- fixed some typos
2000-02-07 16:28:52 +00:00
Ove Kaaven c956f67f46 Added INT_Int16ReadChar and made int09 handle special keys. 2000-02-03 00:47:01 +00:00
Ove Kaaven 0b7a532acf Made int9 handler add keystroke to BIOS keyboard buffer. 2000-01-30 02:54:14 +00:00
Andreas Mohr 1fe93345c4 - support for reading labels and serial nums from device
- "reasonable" misc/cdrom.c device handling
- much improved audio CD support
- serial number overwrite bug fix
- spelling fixes
2000-01-29 21:11:47 +00:00
Eric Pouech b4b9303e07 Fixed first/last playable frame referencing. 1999-12-25 22:54:54 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Niels Kristian Bech Jensen 1d5bc469cc Removed extra #include statements. 1999-11-21 02:14:36 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Robert 'Admiral' Coeyman 0e04d8b0a8 Report non-hercules video. Turned on int 2a. 1999-10-23 19:01:10 +00:00
Marcus Meissner d87a8abbbc Replicate CreateDirectory() LastError workaround for the LFN part. 1999-10-13 12:16:06 +00:00
Patrik Stridvall 410d89970d Modification due to problems with winapi-check. 1999-09-29 10:23:18 +00:00
Alexandre Julliard 26e1653017 Implemented uppercasing functions (based on a patch by Robert
'Admiral' Coeyman).
1999-09-23 11:50:58 +00:00
Patrik Stridvall 311e456a64 Added support for anonymous structs/unions on compilers that implement it. 1999-09-19 14:20:33 +00:00
Alexandre Julliard 7d8cfeb95c Removed IP_reg, SP_reg and FL_reg definitions to avoid potential
aliasing optimization problems.
1999-08-01 14:58:01 +00:00
Alexandre Julliard a1089c59b9 Made stack manipulation macros into inline functions.
Changed a few accesses to context registers to avoid potential
aliasing optimization problems.
1999-08-01 12:51:55 +00:00
Patrik Stridvall 0e38aa7fda Various ANSI C compability fixes. 1999-07-31 17:34:43 +00:00
Ulrich Weigand ff9c44f396 Bugfix: missing WINAPIs added. 1999-06-27 15:28:51 +00:00
Alexandre Julliard 61fece0590 Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-06-26 19:09:08 +00:00
Alexandre Julliard 617955db88 Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Ove Kaaven e78e1af43e Various DPMI fixes and preliminary DPMI raw mode switch handler. 1999-06-12 08:09:52 +00:00
Ove Kaaven f7bd7adb91 Added INT_Int16AddChar. 1999-05-22 11:27:40 +00:00
Ove Kaaven 59c827325c Changed global DOS_LOL into function DOSMEM_LOL() in order to operate
on the correct address space. Added DOSMEM_MovePointers() that
relocates selectors when the DOS address space changes (i.e. when
dosmod is spawned, particularly from Win16 apps that uses DPMI to
execute real-mode code). More complete DOS device implementation.
1999-05-22 10:41:28 +00:00
Juergen Schmied f08b81961b Some stubs for pccard vxd to debug the native shell32. 1999-05-22 10:33:50 +00:00
Ove Kaaven e9251b05b7 Improved shortcuts - follows jumps in trying to avoid switching to
real mode unnecessarily.
1999-05-17 16:05:16 +00:00
Marcus Meissner 9a6fbe49ca Added missing WINAPI for the callback procs. 1999-05-12 10:45:05 +00:00
Patrik Stridvall 1bb9403938 ANSI C fixes. 1999-05-08 15:47:44 +00:00
Ove Kaaven 07d2a78993 Moved DOS List of Lists initialization, and added the beginnings of
the DOS device structures.
1999-05-08 10:54:04 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Patrik Stridvall a9a671d7ca Fixed ANSI compabillity. 1999-04-25 19:01:52 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Eric Pouech 14eadf5ad2 Fixed crash when status was read with cd-rom tray open. 1999-04-25 11:01:12 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Michael Veksler 58abac376f Fixed warnings. 1999-04-16 09:41:22 +00:00
Bertho Stultiens e6f0b72d8a Added IOCTL function 0x440d/0x72. 1999-04-15 16:43:50 +00:00
Andreas Mohr ee0b5e6969 Fixed "Display Combination" call. 1999-04-11 18:48:17 +00:00
Alexandre Julliard d5240f13db Mask off unsupported attributes in _lcreat (bug reported by Andreas Mohr).
Moved _lcreat16_uniq to int21.c
1999-04-03 13:54:51 +00:00
Michael Veksler 3496b43bd6 Removed "implicit declaration" warnings. 1999-04-01 10:01:20 +00:00
Jess Haas 8768d7cc99 Fixed a warning. 1999-03-28 09:17:11 +00:00
Jess Haas 15aedbc6b1 Added stub for int2f 4b. 1999-03-28 09:16:01 +00:00
Andreas Mohr aa4aca2ea0 Fixed int25 & int26 error code. 1999-03-27 16:13:18 +00:00
Andreas Mohr 14f18bfc0d Implemented Get Shift Flags function. 1999-03-25 16:41:35 +00:00
Ove Kaaven 866b3376a5 Added port 0x60 for int 0x09, and port 0x20 for PIC handling. 1999-03-25 10:51:38 +00:00
Ove Kaaven 4dfd859271 Added int 0x09 and int 0x33. 1999-03-25 10:51:17 +00:00
Ove Kaaven baed48e4e5 Implemented a int 0x33 handler, with a minimal implementation of the
mouse routines, including callbacks.
1999-03-25 10:50:49 +00:00
Ove Kaaven bb7f0de707 Implemented a int 0x09 handler, and a scancode queue that simulates
IRQ 1 in the dos box.
1999-03-25 10:50:32 +00:00
Jess Haas d24cc27967 Fixed a small bug in int10. 1999-03-24 15:00:21 +00:00
Andreas Mohr ad2ffe5022 Cosmetics. 1999-03-22 14:52:46 +00:00
Marcus Meissner 6b9dd2e098 Lots of warning fixed, one missing WINAPI in ddraw.c added. 1999-03-18 17:39:57 +00:00
Jess Haas d20375921b Fixed/implemented various interrupt functions. 1999-03-17 15:29:06 +00:00
Jess Haas d11443e357 Added some stubs for int15 functions. 1999-03-17 15:15:14 +00:00
Eric Pouech d71e297af1 Various fixes for MSCDEX traps. 1999-03-15 15:15:07 +00:00
Jim Aston 2e1cafa288 Renamed wintypes.h to windef.h. 1999-03-14 16:35:05 +00:00
Jess Haas 9bfdb1bcfa Added some more vga video modes. 1999-03-14 13:42:16 +00:00
Ove Kaaven 63d3040f8f Fixed a couple of ugly warnings (caused by ugly errors). 1999-03-14 12:20:12 +00:00
Andreas Mohr 8fc73123ce Bug fix. 1999-03-14 12:18:51 +00:00
Ove Kaaven 8f2fd39108 Fully implemented Direct Console Input. 1999-03-14 12:13:43 +00:00
Andreas Mohr f83cf69b03 Implemented mode setting things as well as VESA additions and other
things. Cleaned up DOSMEM_BiosData handling.
1999-03-13 18:00:52 +00:00
Marcus Meissner 2503e7e4c7 __asm__ fix as suggested by <daniel@mat.utfsm.cl> Daniel Serpell,
removed additional "eax" from clobber list, so egcs-current likes it.
1999-03-09 17:27:52 +00:00
Marcus Meissner de43ef45ec Fixed a lot of warnings using WINE_UNUSED, casts, commenting out and
additional {}. Rewrote GetCreationModeFromSTGM so we don't get
"possible use of uninitialized variable".
1999-02-28 19:56:59 +00:00
Marcus Meissner 412d025243 Changed CreateDirectory LastError returns to match Win32 (found out by
experiment). Adapted int21 CreateDirectory call to still return the
correct DOS error codes according to Ralph Brown.
1999-02-28 19:50:39 +00:00
Jess Haas 32452a4683 Added some support and stubs for VESA to msdos/int10.c. 1999-02-28 19:18:30 +00:00
Ulrich Weigand f6a9361942 Adapted to CreateProcess changes. 1999-02-28 11:19:10 +00:00
Ove Kaaven 9ffd7938a4 Fixed a couple of dosmem block resize bugs. 1999-02-28 11:06:16 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Marcus Meissner 71ad44195d Needs thread.h for non-Linux. 1999-02-25 17:32:56 +00:00
Marcus Meissner 219cfd8387 Optimized away more includes, readded some #includes for necessary
prototypes.
1999-02-24 13:05:13 +00:00
1b9fef5d48 Added low-level Netware installation check. 1999-02-24 13:03:40 +00:00
Joseph Pranevich a82b91cd49 Bugfixes for INT 10/0B (SetBackgroundColor) to work properly.
(Interrupt list did not have correct.)
1999-02-24 10:58:37 +00:00
Joseph Pranevich cebba4dfb0 Fix *DUH* problem causing lots and lots of unnecessary AllocColor errors. 1999-02-20 16:42:17 +00:00
Marcus Meissner 04c3e1d456 Removed a lot of occurences of windows.h (and added necessary other
includes).
1999-02-19 10:37:02 +00:00