Commit Graph

266 Commits

Author SHA1 Message Date
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