Commit graph

62005 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
86ba2faa4e [NTVDM]: Fix DOS file find. Introduced in r61507, it was indeed untested...
svn path=/trunk/; revision=67619
2015-05-10 12:25:27 +00:00
Hermès Bélusca-Maïto
122a0a5ccc [NTVDM]: Fix (again) command-line parsing in DosCreateProcess.
svn path=/trunk/; revision=67618
2015-05-10 11:34:35 +00:00
Pierre Schweitzer
2225244d03 [NTFS]
Addendum to r67540: don't complete the IRP twice (NtfsQueryInformation() + NtfsFsdDispatch()).
This fixes regression

svn path=/trunk/; revision=67617
2015-05-10 10:30:40 +00:00
Hermès Bélusca-Maïto
32bc389748 [NTVDM]: temporary fix for "lastdrive": put it to 'Z' (max drive letter you can have on DOS). A better fix would be DOS listing all the accessible drives in the current PC and compute the last one.
svn path=/trunk/; revision=67616
2015-05-10 10:28:33 +00:00
Pierre Schweitzer
8ddf736b58 [NTFS]
Handle IRP_MJ_DIRECTORY_CONTROL with the dispatch routine

svn path=/trunk/; revision=67615
2015-05-10 10:17:29 +00:00
Pierre Schweitzer
8426d2f96e [NTFS]
NTFS doesn't need CdfsGetEntryName()

svn path=/trunk/; revision=67614
2015-05-10 10:02:53 +00:00
Aleksandar Andrejevic
2c93627ac0 [NTVDM]
Make sure the BOP doesn't repeat when the timeout expires in INT 15h, AH = 41h.


svn path=/trunk/; revision=67613
2015-05-10 02:10:19 +00:00
Aleksandar Andrejevic
4113fbb5a3 [NTVDM]
- Modify the int32 dispatch to clear the CF only on entry, so that we can
track in our handlers whether it was the first time the BOP executed.
- Implement INT 15h, AH = 41h (Wait On External Event).
- Fix INT 15h, AX = E801h - modify the stack CF instead of the handler CF.
- Make INT 16h AH = 00h clear CF when there is a character, so that the BOP doesn't
repeat.


svn path=/trunk/; revision=67612
2015-05-10 01:42:39 +00:00
Aleksandar Andrejevic
8872cfb339 [NTVDM]
- Implement XMS function 0x0E (Get Handle Information).
- Fix INT 15h, AX = E820h - setCF can't be used inside an int32 callback for changing
the return carry flag, because it has a different meaning there (it means that the BOP
should be repeated). Instead, we must modify the CF that was pushed on the stack.


svn path=/trunk/; revision=67611
2015-05-10 00:55:38 +00:00
Aleksandar Andrejevic
ec4790f045 [NTVDM]
Correct the byte order of the magic value: 'PAMS' -> 'SMAP'.


svn path=/trunk/; revision=67610
2015-05-09 23:56:38 +00:00
Aleksandar Andrejevic
18f771e535 [NTVDM]
Implement BIOS INT 15h functions AX = E820 (Get Memory Map) and AX = E801
(Get Memory Size for >64M Configurations).


svn path=/trunk/; revision=67609
2015-05-09 23:48:09 +00:00
Thomas Faber
88f12ca109 [DDK]
- Include <suppress.h> from wdm.h to satisfy __WARNING_MEMORY_NOT_ACQUIRED. Patch by Mark Jansen.
CORE-9657 #resolve

svn path=/trunk/; revision=67608
2015-05-09 22:49:37 +00:00
Thomas Faber
d0fb55f564 [CMAKE]
- Enable C4189 (local variable initialized but not referenced) on MSVC builds and make it an error.
CORE-9676 #resolve

svn path=/trunk/; revision=67607
2015-05-09 22:44:52 +00:00
Aleksandar Andrejevic
6cba38d854 [FAST486]
If the executable bit of a segment descriptor is set, it's never a grow-down segment.


svn path=/trunk/; revision=67606
2015-05-09 21:56:40 +00:00
Aleksandar Andrejevic
b3dfcac1cf [NTVDM]
Remove an accidentally committed temporary DPRINT1.


svn path=/trunk/; revision=67605
2015-05-09 03:15:11 +00:00
Hermès Bélusca-Maïto
464ff78f4e [NTVDM]: hardcoded_values--;
svn path=/trunk/; revision=67604
2015-05-08 23:47:33 +00:00
Aleksandar Andrejevic
cd1046dd75 [NTVDM]
DosTerminateProcess shouldn't blindly attempt to restore the old state,
(for example if the process was started manually by a debugger).


svn path=/trunk/; revision=67603
2015-05-08 23:26:15 +00:00
Hermès Bélusca-Maïto
410c54e5f9 [NTVDM]: Merge Bios32 ResetBop with POST function.
svn path=/trunk/; revision=67602
2015-05-08 19:43:12 +00:00
Hermès Bélusca-Maïto
b86604cdde [NTVDM]: Implement PC reset handling in the BIOS. Used by some apps for switching from protected mode back to real mode the 286 way (see: http://www.rcollins.org/articles/pmbasics/ for more details).
svn path=/trunk/; revision=67601
2015-05-08 19:26:46 +00:00
Benedikt Freisen
ff8b29da1b [MSPAINT_NEW] Convert to C++, update header comments
svn path=/trunk/; revision=67600
2015-05-08 16:27:46 +00:00
Benedikt Freisen
a95c9f4d03 [MSPAINT_NEW] bootstrap mspaint_new from mspaint
svn path=/trunk/; revision=67599
2015-05-08 16:02:36 +00:00
Aleksandar Andrejevic
93b0b74399 [FAST486]
Fix the order of operatins in RETF.


svn path=/trunk/; revision=67598
2015-05-08 03:43:31 +00:00
Aleksandar Andrejevic
7dbe9e8e67 [FAST486]
The "Call" parameter should be true for calls.


svn path=/trunk/; revision=67597
2015-05-08 02:30:28 +00:00
Aleksandar Andrejevic
d28f0fd901 [FAST486]
Don't forget to check for gates in 16-bit protected mode too.


svn path=/trunk/; revision=67596
2015-05-08 01:34:18 +00:00
Hermès Bélusca-Maïto
1522bf4fc0 [NTVDM]
- Move some interrupt initialization where it belongs and activate few other ones.
- Initialize interruct vector for INT 2Ah (Network check) because some apps directly call it and crash if it contains NULL.

svn path=/trunk/; revision=67595
2015-05-07 23:54:47 +00:00
Hermès Bélusca-Maïto
226f484ce6 [NTVDM]: Initialize only the interrupt vectors that we really need, and nothing else. I also include a (by default disabled) option that activates extended debug features that may break some DOS apps (for example, initializing ALL of the non-handled interrupts to a default vector), to be used at your own risk.
svn path=/trunk/; revision=67594
2015-05-07 23:11:32 +00:00
Aleksandar Andrejevic
e37ae6f6bd [FAST486]
Support legacy (286) Task State Segments in Fast486InterruptInternal and Fast486CallGate.


svn path=/trunk/; revision=67593
2015-05-07 13:38:29 +00:00
Aleksandar Andrejevic
26ba3ae4f6 [FAST486]
The NULL selector is valid in the LDT.


svn path=/trunk/; revision=67592
2015-05-07 12:18:41 +00:00
Aleksandar Andrejevic
dfb9b0ea42 [FAST486]
Add support for legacy (286) Task State Segments.


svn path=/trunk/; revision=67591
2015-05-07 03:22:18 +00:00
Hermès Bélusca-Maïto
a3c2a76a7e [NTVDM]: Update the console title only in non-standalone mode.
svn path=/trunk/; revision=67590
2015-05-07 01:44:29 +00:00
Hermès Bélusca-Maïto
dcfe21b3c1 [NTVDM]
- Improvement/Usability: when a DOS app is started in a separate console, print its full path as it's done in Windows.
- Stubplement a LoadGlobalSettings function for NTVDM so that it will be able to grab user settings from the registry.
- Move DOS-only related variables AcceptCommands, CommandThread and SessionId to where they belong. I will rework ConsoleCtrlHandler to make it more elegant in the future (DOS-agnostic).
- Remove the useless ENTER-key-up hack.

svn path=/trunk/; revision=67589
2015-05-07 01:23:33 +00:00
Aleksandar Andrejevic
194530e567 [NTVDM]
Fix the previous fix.


svn path=/trunk/; revision=67588
2015-05-07 00:53:47 +00:00
Aleksandar Andrejevic
17fd1cc052 [NTVDM]
Fix the calculation of the executable's base size.


svn path=/trunk/; revision=67587
2015-05-07 00:36:14 +00:00
Aleksandar Andrejevic
6dede8eba6 [NTVDM]
... and don't forget to set AH to the error code.


svn path=/trunk/; revision=67586
2015-05-06 23:13:55 +00:00
Aleksandar Andrejevic
93e6fa1b01 [NTVDM]
Implement EMS function AH = 59h (Get Expanded Memory Hardware Information).


svn path=/trunk/; revision=67585
2015-05-06 23:06:28 +00:00
Aleksandar Andrejevic
f619a2d270 [NTVDM]
- INT 21h AH = 0Ah: don't increment the count for a backspace.
- Fix the EMS version number.


svn path=/trunk/; revision=67584
2015-05-06 22:41:22 +00:00
David Quintana
f6f2e8dbac [EXPLORER]
Remove notification icons when their attached HWND is no longer valid. Patch by Joachim Henze (reactosfanboy), with some extra newlines by me.
CORE-9537 #resolve

svn path=/trunk/; revision=67583
2015-05-06 22:13:06 +00:00
Hermès Bélusca-Maïto
9e03420395 [NTVDM]: Move the DosStartProcess dprint inside the function.
svn path=/trunk/; revision=67582
2015-05-06 22:07:16 +00:00
Ged Murphy
3dd1331f2c [ATL]
Add support for assigning CAtlString to WCHAR

svn path=/trunk/; revision=67581
2015-05-06 21:56:24 +00:00
Aleksandar Andrejevic
17047d0b62 [NTVDM]
Try to find the shortened full path in DosLoadExecutable, and use that whenever
possible.


svn path=/trunk/; revision=67580
2015-05-06 21:56:15 +00:00
Ged Murphy
41044145e2 [ATL]
Add skeleton support for CAtlStringW

svn path=/trunk/; revision=67579
2015-05-06 21:31:40 +00:00
Aleksandar Andrejevic
df3b279994 [NTVDM]
The DOS CON driver shouldn't return DOS_DEVSTAT_BUSY while an extended
character can be read.


svn path=/trunk/; revision=67578
2015-05-06 20:09:38 +00:00
Aleksandar Andrejevic
5f9be9e447 [NTVDM]
Implement EMS functions AH = 47h and AH = 48h (Save/Restore Page Map).


svn path=/trunk/; revision=67574
2015-05-06 03:52:19 +00:00
Aleksandar Andrejevic
ea58ec7edb [NTVDM]
Implement EMS function AH = 53h (Get/Set Handle Name).
Some programs expect to find the string "EMMXXXX0" at offset 0x0A in
the segment where the EMS interrupt handler is, so move the interrupt
handler BOP to the private device area of the EMS driver.


svn path=/trunk/; revision=67573
2015-05-06 03:38:41 +00:00
Aleksandar Andrejevic
64dcdf9208 [NTVDM]
Don't set all the bits in the bitmap in XmsAlloc.


svn path=/trunk/; revision=67572
2015-05-06 02:05:01 +00:00
Ged Murphy
3f81100a8b Revert NTAPI changes.
MS uses stdcall by default (/gz), we don't and need to explicitly add this in the headers

svn path=/trunk/; revision=67571
2015-05-05 22:30:50 +00:00
Daniel Reimer
8ad8574f4b [RC] Truncate some too long strings in resources. Some I cant't cut down because of it's language were marked as too long for translators to fix. VMWInst skipped, it should die anyway.
svn path=/trunk/; revision=67570
2015-05-05 21:00:44 +00:00
Aleksandar Andrejevic
fbd6184f27 [NTVDM]
Fix INT 16h, AH=01h/11h.


svn path=/trunk/; revision=67569
2015-05-05 20:49:09 +00:00
Timo Kreuzer
066c89edc7 [NTOSKRNL/FREELDR/NDK]
- "equalize" internal arch specific Mm headers
- Move some definitions into more appropriate locations

svn path=/trunk/; revision=67568
2015-05-05 20:36:07 +00:00
Timo Kreuzer
e2ae1410f2 [NTOSKRNL]
Clean up some obsolete architecture specific Mm definitions

svn path=/trunk/; revision=67567
2015-05-05 20:35:27 +00:00