Commit Graph

330 Commits

Author SHA1 Message Date
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
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Andreas Mohr e82d2f9f5f Moved VGA port access check at the beginning in order to improve
performance a little bit.
1999-02-14 11:21:05 +00:00
Joseph Pranevich 9896a36168 Added comments. Think I've fixed INT 10/08 (Get Character and
Attribute at Cursor).
1999-02-14 11:19:07 +00:00
Michael Veksler f935c59787 Added missing includes to avoid warnings/errors. 1999-02-09 15:49:39 +00:00
Andreas Mohr d2fac756bb Some values of pBiosData added/fixed. 1999-02-04 16:37:04 +00:00
Eric Pouech 6aa4f2e7dc Removed references to obsolete msdos/cdrom.c file.
Make use of new Wine internal CD ROM interface.
1999-02-02 16:10:10 +00:00
Alexandre Julliard 4ff2a27c09 Changed DOS extended error handling to be based on SetLastError;
should be more thread-safe this way.
1999-01-31 15:23:45 +00:00
Ove Kaaven 17a9e349ff Added missing includes (the PSP handling was incorrect, as the
MZ_SUPPORTED definition was missing). Added a simple handler for
direct console input, which needs to be improved.
1999-01-31 09:23:59 +00:00
Andreas Mohr ab4a1c1e9f XMS fix. 1999-01-30 13:41:57 +00:00
Andreas Mohr 7b2242527e Spelling fix. 1999-01-30 13:41:25 +00:00
Andreas Mohr a63458d87c Some interrupt enhancements. 1999-01-30 13:39:21 +00:00
Andreas Mohr 935ccabe08 implemented timer latching
trace message fix
temporary "fix" for Linux's coarse timer resolution
1999-01-30 13:37:54 +00:00
Marcus Meissner 6b5a811175 Some more warnings and bugs fixed. 1999-01-30 13:06:00 +00:00
Joseph Pranevich 9c77b4747f Preliminary color console support. 1999-01-30 12:51:09 +00:00
James Juran c2a1063940 Commented out unused variables to prevent needless compiler warnings. 1999-01-28 16:33:44 +00:00
Marcus Meissner 03479f8adb Fixed a lot of warnings for possible problems. 1999-01-28 10:06:38 +00:00
Andreas Mohr a7894d9311 Implemented Int 0x15/0xc0: BIOS - GET CONFIG and some other BIOS
data.
1999-01-24 09:32:10 +00:00
Ove Kaaven 9acfc0e4fb Clear DOS extended error only for funcs >=0x2f (thanks to Dave
Pickles).
1999-01-20 12:45:32 +00:00
Alexandre Julliard 62a8b43301 Hacked server-side device support
Added user APCs support.
Many changes to the xterm console to make use of the server (not
finished yet).
Moved some other small stuff to the server.
1999-01-19 17:48:23 +00:00
Alexandre Julliard 8da12c43a9 Group commit for recovery after disk crash.
See Changelog for changes WRT release 990110.
1999-01-17 16:55:11 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Joseph Pranevich d8935f10c0 Do not advance the cursor in certain routines. This cleaned up the
implementation quite a bit.
1999-01-03 16:16:36 +00:00
Andreas Mohr cc0248e52d Implemented raw device access calls for ioctlGenericBlkDevReq()
and therefore moved the core functionality of int2[56].c into files/drive.c.
1999-01-03 12:31:51 +00:00
Andreas Mohr eeaafcc047 Added automatic CMOS RAM checksum calculation. 1999-01-03 12:30:43 +00:00
Alexandre Julliard 0562539d18 Implemented file sharing checks in the server.
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Alexandre Julliard 338e757d08 Added beginnings of server-side file handling.
Added -debugmsg +server support.
Better server request dumping for varargs requests.
1998-12-27 15:28:54 +00:00
Joseph Pranevich 25a810fbd5 Hook into the (stubbed) resize code in msdos int10. 1998-12-25 08:50:06 +00:00