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