Commit Graph
58372 Commits
Author SHA1 Message Date
Hermès Bélusca-Maïto b152f5cf43 [NTVDM]
The RegisterConsoleVDM API (undocumented) allows NTVDM to get a VGA-like text framebuffer hold by the console server. This text framebuffer is unique, per-console (so that changing the active text screen buffer doesn't change the text framebuffer) and exists even if you use a graphics screen buffer.
NTVDM can write in this framebuffer, and when a call to InvalidateConsoleDIBits is done, it is painted on the screen.

Since RegisterConsoleVDM is unimplemented on ReactOS, I start an implementation of this API *inside* NTVDM (that will then be moved to kernel32/winsrv when it will work correctly).

I adapt the code of the VGA emulation to support RegisterConsoleVDM.

svn path=/branches/ntvdm/; revision=62371
2014-03-01 20:58:42 +00:00
Hermès Bélusca-Maïto 129e5d0305 [NTVDM]: Rework the code template to be used when we will support mice in ntvdm.
svn path=/branches/ntvdm/; revision=62370
2014-03-01 20:52:46 +00:00
Eric Kohl 5012425e7f [MSGINA]
MyLogonUser: Pass the sub status to the caller.

svn path=/trunk/; revision=62369
2014-03-01 20:45:10 +00:00
Eric Kohl dae5c99d12 [MSV1_0]
LsaApLogonUser: Add checks for account restrictions (account disabled and account locked).

svn path=/trunk/; revision=62368
2014-03-01 17:12:21 +00:00
Aleksandar Andrejevic d01148ac9b [BASESRV]
Implement a function that creates a pair of event handles - BaseSrvCreatePairWaitHandles.
As already explained in the comments of BaseCheckForVDM (in kernel32), the hParent parameter
is actually an event handle (or more precisely, the client event handle), not a process handle.


svn path=/branches/ntvdm/; revision=62367
2014-03-01 15:13:54 +00:00
Eric Kohl 27558e0b69 [NETAPI32]
NetUserSetInfo: Enable info levels 4, 22, 1017 and 1018.

svn path=/trunk/; revision=62366
2014-03-01 12:11:26 +00:00
Eric Kohl 2d1a100b57 [NETAPI32]
- NetUserSetInfo: Implement the info level 22.
- Update the users DACL according to the user flags for the info levels 1, 2, 3, 4, 22 and 1008.

svn path=/trunk/; revision=62364
2014-03-01 11:37:23 +00:00
Aleksandar Andrejevic f488f7003e [BASESRV]
Continue implementing BaseSrvCheckVDM.


svn path=/branches/ntvdm/; revision=62363
2014-03-01 04:37:01 +00:00
Hermès Bélusca-Maïto de68f2df0f [CMD][HELP]
Fix the IsConsoleHandle helper.

svn path=/trunk/; revision=62362
2014-02-28 23:55:40 +00:00
Hermès Bélusca-Maïto 4644ad4140 [CMAKE]
Make MSVC warning C4020 "Too many actual parameters" an error
CORE-7960 #resolve #comment Committed in revision 62361.

svn path=/trunk/; revision=62361
2014-02-28 23:34:32 +00:00
Amine Khaldi 9892a47037 [OPENGL32]
* Mark as hotpatchable.
CORE-7959

svn path=/trunk/; revision=62360
2014-02-28 21:24:32 +00:00
Hermès Bélusca-Maïto 9e1ba5c534 [NTVDM]
Get rid of ConsoleInput handles in the BIOS; setting input console modes should be done in the emulator.c module itself (when setting user interface modes), and if a mouse is present, handle it in the ps2.c module.
Next step will be to get rid of ConsoleOutput handle in the BIOS.

svn path=/branches/ntvdm/; revision=62359
2014-02-28 21:21:41 +00:00
Amine Khaldi ccee4fcbce [IPHLPAPI]
* Mark as hotpatchable.
CORE-7959

svn path=/trunk/; revision=62358
2014-02-28 18:39:29 +00:00
Amine Khaldi 66e64a9325 [DIRECTX]
* Mark some modules as hotpatchable.
CORE-7959

svn path=/trunk/; revision=62356
2014-02-28 16:24:50 +00:00
Amine Khaldi 09dfcb5720 [USER32]
* Mark as hotpatchable.
* Uncomment out the hot patching attribute for ShowCursor() now that the feature is supported.
* More will come.
CORE-7959

svn path=/trunk/; revision=62355
2014-02-28 16:21:10 +00:00
Amine Khaldi 06a96d5805 [CMAKE]
* Add support for marking an image as hotpatchable.
[INCLUDES]
* Introduce a way to allow us to mark pretty much any function in our codebase as DECLSPEC_HOTPATCH (not just in Wine modules).
* Fix DECLSPEC_HOTPATCH define and enable this hot patching feature support.
CORE-7959

svn path=/trunk/; revision=62354
2014-02-28 16:18:41 +00:00
Aleksandar Andrejevic bde24e0bb4 [BASESRV]
Implement BaseSrvIsVdmAllowed.


svn path=/branches/ntvdm/; revision=62349
2014-02-27 22:44:56 +00:00
James Tabor 5729a923fe - Remove debug print.
svn path=/trunk/; revision=62348
2014-02-27 13:20:59 +00:00
Aleksandar Andrejevic 931a83808f [FAST486]
The FPU function number is actually just the REG component of a mod-reg-r/m byte.


svn path=/branches/ntvdm/; revision=62346
2014-02-27 06:11:05 +00:00
Aleksandar Andrejevic 2d9fbc6954 [FAST486]
Fix the previous commit. FPU_CHECK should be called after the fetch.


svn path=/branches/ntvdm/; revision=62345
2014-02-27 03:57:20 +00:00
Aleksandar Andrejevic 935289b5bc [FAST486]
All of the FPU opcodes fetch another byte which is the function number.
This is done by the CPU and it occurs even if there is no FPU attached.


svn path=/branches/ntvdm/; revision=62344
2014-02-27 03:54:43 +00:00
Hermès Bélusca-Maïto e29c05a3d5 [NTVDM]
Be able to load an external DOS BIOS file (at 70:0000) and, in case it is the DOS BIOS file of the NT VDM, load the DOS kernel file ntdos.sys when the ntio.sys calls BOP DOS function 0x11 (and put the kernel at DI:0000).
Work in progress...

svn path=/branches/ntvdm/; revision=62343
2014-02-27 03:08:23 +00:00
Hermès Bélusca-Maïto cb45ae15fa [NTVDM]
- Add BOP 0x12 "BiosGetMemorySize" (same number as the corresponding INTerrupt). Needed by ntio.sys when initializing (see next commit).
- Use ASCII names for bios image and dos kernel files names.
- Use the file helper functions committed before for implementing ROM image file loading.

svn path=/branches/ntvdm/; revision=62342
2014-02-27 03:05:42 +00:00
Hermès Bélusca-Maïto 7c73e239b0 [NTVDM]
Add some utility functions (only file-oriented for now :) ). Will be used in the next commit.

svn path=/branches/ntvdm/; revision=62341
2014-02-27 03:02:11 +00:00
James Tabor 4d92b88dea [Win32k]
- Fix server side call for Get Combo and ListBox information so it does not loop through the message loop.

svn path=/trunk/; revision=62340
2014-02-27 01:12:32 +00:00
James Tabor f08e1261ed [User32|ListBox]
- Patch by Huw Davies: If the listbox loses focus while holding capture, release it by essentially simulating a button up event.

svn path=/trunk/; revision=62339
2014-02-26 22:56:27 +00:00
James Tabor bcc1390a36 [User32Test]
- Update listbox and msg test to wine 1.7.13.

svn path=/trunk/; revision=62338
2014-02-26 22:54:03 +00:00
Hermès Bélusca-Maïto ae22dab753 [NTVDM]
- BIOS32: As a demonstration, load a BIOS expansion ROM (the one I've tested is the "OS in PCI expansion ROM" from: https://sites.google.com/site/pinczakko/building-a-kernel-in-pci-expansion-rom ; we don't support PCI thingies at all, but the bootstrap code works correctly).
- Initialize the BIOS32 stack for the callbacks.
- In the common BIOS functions, if we try to load the Windows NTVDM (SoftPC) BIOS (file: bios4.rom), we immediately hit a BOP 0x00 followed by INT 0x19 (bootstrap to run an OS). The BOP 0x00 is the function used by the BIOS to ask NTVDM to initialize the hardware, the IVT with data and so on. Also we finish to load the low part of the NTVDM BIOS in it (file: bios1.rom).
It's work-in-progress, nothing is done, there are lots of debugging code...

Have fun!

(to load a custom bios you need to put its filename as the first parameter of the BiosInitialize call, in the main() function in ntvdm.c).

svn path=/branches/ntvdm/; revision=62333
2014-02-26 01:16:56 +00:00
Hermès Bélusca-Maïto e03a6d7ebb [NTVDM]
- Add utility functions for loading ROM images from files, and running them.
- Add a missing PVOID in the MEM_ALIGN_DOWN macro.

svn path=/branches/ntvdm/; revision=62332
2014-02-26 01:07:09 +00:00
Hermès Bélusca-Maïto 4179d7890c [NTVDM]
- Reduce the size of the trampoline needed to perform 32 ---> 16 bit callbacks.
- Fix some comments, improve DPRINTs.

svn path=/branches/ntvdm/; revision=62331
2014-02-26 01:03:14 +00:00
James Tabor 38758f72ac [Win32ss]
- MapWindowPoints return incorrect result for windows with WS_EX_LAYOUTRTL style.
- Patch by Maxim Andreyanov. see CORE-7947.

svn path=/trunk/; revision=62327
2014-02-25 05:29:00 +00:00
James Tabor 9b4d645ad0 [Ext2fs]
- Fixed the driver start up for Ext2 partitions and drives. Now the driver loads.
- At one time this driver worked on the same hardware I have today, same drives nothing has changed. Now since all the changes else where, guessing it broke something.
- Don't assign and bug reports to me, if so, I will remove them!

svn path=/trunk/; revision=62326
2014-02-25 03:39:23 +00:00
Aleksandar Andrejevic c3e55a625c [FAST486]
Actually, we should return FALSE if any exception occurred...


svn path=/branches/ntvdm/; revision=62325
2014-02-25 00:26:00 +00:00
Aleksandar Andrejevic 8abb2bdad6 [FAST486]
Return TRUE if nothing unexpected occurred.


svn path=/branches/ntvdm/; revision=62324
2014-02-25 00:02:54 +00:00
Aleksandar Andrejevic e61c05c35c [FAST486]
Add missing returns after calls to Fast486Exception.


svn path=/branches/ntvdm/; revision=62316
2014-02-24 03:53:02 +00:00
Aleksandar Andrejevic 5036028dd4 [BASESRV]
Implement BaseSrvExitVDM.


svn path=/branches/ntvdm/; revision=62315
2014-02-24 03:51:49 +00:00
Hermès Bélusca-Maïto 9542b86934 [NTVDM]
- Move an "enable interrupts" command to where it belongs (i.e. in the BIOS32 initialization code; we do it at the very end). Otherwise some problems appears when trying to load 16-bit bios images.
- Use the new macro REAL_TO_PHYS to convert "real-mode" pointers (valid inside the VM only) into "physical" ones (valid in ROS/Windows/whatever).
- Add BIG HACKs (thanks Aleksander ;) ) in EmulatorRead/WriteMemory for wrapping up high memory addresses to low ones, so that we can load bios images (when you start running code at F000:FFF0).

To test 16-bit bios images: in ntvdm.c, put a valid bios file name in the BiosInitialize(...) call, and disable all DOS calls that happen before EmulatorSimulate().

svn path=/branches/ntvdm/; revision=62314
2014-02-24 00:33:21 +00:00
Hermès Bélusca-Maïto ec52f30bc5 [FAST486]
- Fix return values of Fast486OpcodeSahf and Fast486OpcodeLahf handlers.
- [TheFlash], can you please see what we should return after calling Fast486ExceptionWithErrorCode in Fast486OpcodePopFlags ?

svn path=/branches/ntvdm/; revision=62313
2014-02-23 21:02:02 +00:00
Hermès Bélusca-Maïto 679980a06c [NTVDM]
- BIOS location must be aligned on 32bit boundaries (or 16, I have to check). This fixes BIOS images loading when they miss a (null) byte to make them (e.g.) 8192 bytes long (example: the BIOS image of windows ntvdm).
- Add useful alignment (and others) macros.

svn path=/branches/ntvdm/; revision=62312
2014-02-23 20:40:09 +00:00
Hermès Bélusca-Maïto 6f5166457c [NTVDM]: We can call now directly the interrupts instead of the internal functions BiosPeekCharacter and VidBiosPrintCharacter (so that if some program hooks them, we behave correctly).
svn path=/branches/ntvdm/; revision=62311
2014-02-23 19:43:31 +00:00
Hermès Bélusca-Maïto b33a34bec1 [NTVDM]
- Use callbacks in BIOS/DOS (and disable int32.c)
- Move DOS bops to dem.c

svn path=/branches/ntvdm/; revision=62306
2014-02-23 16:09:35 +00:00
Hermès Bélusca-Maïto 0c3c1170ab [NTVDM]: Limit the number of CPU recursion calls (not more than 32).
svn path=/branches/ntvdm/; revision=62305
2014-02-23 15:54:20 +00:00
Amine Khaldi 5f2e7f0391 [CMAKE]
* Add a workaround for the recent MSVC toolchain (MSBUILD) /MP bug.

svn path=/trunk/; revision=62300
2014-02-23 12:25:36 +00:00
Hermès Bélusca-Maïto 5d59eafa57 [MSGINA]: Addendum for r62065 . I don't like freeing this 'msg' object in many places (in the caller and in the thread).
svn path=/trunk/; revision=62299
2014-02-23 11:41:56 +00:00
Amine Khaldi c1e3e32d6d [CMAKE]
* Use the appropriate CMake command to get the absolute path. I forgot to commit this change in the transition phase.
CORE-7918 #resolve #comment Should be fixed in r62298. Thank you for testing the VS build.

svn path=/trunk/; revision=62298
2014-02-23 10:37:31 +00:00
Eric Kohl 11e1167b0c [MSGINA]
Shutdown dialog: Display the current users name in the "log off" list entry.

svn path=/trunk/; revision=62297
2014-02-23 09:32:44 +00:00
Eric Kohl 9347a16a57 [SYSSETUP]
Add date/time to setuplog.txt. Patch by Lee Schroeder. Thanks a lot!
CORE-7927 #resolve

svn path=/trunk/; revision=62289
2014-02-22 13:58:33 +00:00
Eric Kohl cefedcb695 [NETAPI32]
NetGetJoinInformation: Fix netapi32 wksta winetest crash.

svn path=/trunk/; revision=62288
2014-02-22 13:55:29 +00:00
Amine Khaldi 121bde3b83 * Sync up to trunk HEAD (r62286).
svn path=/branches/ntvdm/; revision=62287
2014-02-22 10:50:51 +00:00
Johannes Anderwald 27787c5918 [KS]
- Call Property handler guarded in seh block 
- Needs to be done in portcls too
- 

svn path=/trunk/; revision=62285
2014-02-22 09:53:25 +00:00