Commit Graph

195 Commits

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