Commit graph

54284 commits

Author SHA1 Message Date
Aleksandar Andrejevic 6f2f5335c2 [SOFT386]
Implement "MOD-REG-R/M" byte decoding.


svn path=/branches/ntvdm/; revision=59959
2013-09-01 23:49:57 +00:00
Aleksandar Andrejevic b61bbb9d66 [SOFT386]
Implement the "MOV reg8, imm8" instruction.


svn path=/branches/ntvdm/; revision=59952
2013-09-01 17:54:51 +00:00
Aleksandar Andrejevic 179627bf40 [SOFT386]
Implement the opcodes for MOV reg16/32, imm16/32


svn path=/branches/ntvdm/; revision=59949
2013-09-01 16:19:29 +00:00
Aleksandar Andrejevic 50e90be14b [SOFT386]
Implement the short unconditional jump instruction (JMP imm8).


svn path=/branches/ntvdm/; revision=59932
2013-08-31 21:23:31 +00:00
Aleksandar Andrejevic c6c282fd70 [SOFT386]
Increment the TSC on every instruction cycle.


svn path=/branches/ntvdm/; revision=59931
2013-08-31 19:26:13 +00:00
Aleksandar Andrejevic 758bdf41d9 [SOFT386]
Fix the "persistant prefix" bug.
Fix the conditional jump bug.
Implement Soft386ExecuteAt.
[NTVDM]
Add Soft386 support to ntvdm.


svn path=/branches/ntvdm/; revision=59929
2013-08-31 19:18:12 +00:00
Aleksandar Andrejevic e8aa2372b7 [SOFT386]
Implement port I/O instructions.


svn path=/branches/ntvdm/; revision=59911
2013-08-31 02:13:58 +00:00
Aleksandar Andrejevic 7ecbd63471 [SOFT386]
Implement CMC instruction.


svn path=/branches/ntvdm/; revision=59892
2013-08-29 22:18:28 +00:00
Aleksandar Andrejevic 3925c4a3d8 [SOFT386]
Add Soft386OpcodeHalt to the opcode table.


svn path=/branches/ntvdm/; revision=59891
2013-08-29 22:11:33 +00:00
Aleksandar Andrejevic c0a39279ae [SOFT386]
Add checks for illegal prefixes.
Implement HLT and PAUSE.


svn path=/branches/ntvdm/; revision=59890
2013-08-29 22:07:53 +00:00
Aleksandar Andrejevic 5a14da958f [SOFT386]
Implement the CLC, STC, CLI, STI, CLD and STD instructions.


svn path=/branches/ntvdm/; revision=59876
2013-08-29 17:48:32 +00:00
Aleksandar Andrejevic 1143eab8a5 [SOFT386]
Implement short conditional jump opcodes.


svn path=/branches/ntvdm/; revision=59856
2013-08-28 17:52:21 +00:00
Aleksandar Andrejevic 3ad78aac17 [SOFT386]
Implement the following opcodes:
NOP
XCHG (E)AX, reg16/reg32


svn path=/branches/ntvdm/; revision=59819
2013-08-25 14:53:58 +00:00
Aleksandar Andrejevic 5a86737e91 [SOFT386]
Implement the following instructions:
PUSH reg16/reg32
POP reg16/reg32


svn path=/branches/ntvdm/; revision=59816
2013-08-25 12:17:24 +00:00
Aleksandar Andrejevic fffdba9eb5 [SOFT386]
Implement the following opcodes:
INC reg16/reg32
DEC reg16/reg32


svn path=/branches/ntvdm/; revision=59814
2013-08-24 21:32:45 +00:00
Aleksandar Andrejevic 610999cb63 [SOFT386]
Implement prefix support.


svn path=/branches/ntvdm/; revision=59810
2013-08-24 11:48:38 +00:00
Aleksandar Andrejevic 675c38e1b9 [SOFT386]
Halfplement Soft386ExecutionControl.


svn path=/branches/ntvdm/; revision=59795
2013-08-22 22:54:59 +00:00
Hermès Bélusca-Maïto 8e37700e5c Synchronize with trunk revision 59781.
svn path=/branches/ntvdm/; revision=59784
2013-08-19 18:55:28 +00:00
Aleksandar Andrejevic 23fbc3204c [SOFT386]
Fix minor bug.


svn path=/branches/ntvdm/; revision=59783
2013-08-19 18:52:53 +00:00
Aleksandar Andrejevic 6f769d6314 [SOFT386]
Implement instruction fetch functions.
Implement CPU exception system.


svn path=/branches/ntvdm/; revision=59782
2013-08-19 18:23:39 +00:00
Hermès Bélusca-Maïto 7e36ed9fa8 Rename CSR_CONNECTION_INFO and CONSOLE_CONNECTION_INFO to the same way as BASESRV_API_CONNECTINFO
svn path=/trunk/; revision=59781
2013-08-19 18:14:43 +00:00
Aleksey Bragin 8925f44f91 [GLU32]
- Lee Schroeder: Add version information.

CORE-7392 #resolve #comment Thanks.

svn path=/trunk/; revision=59780
2013-08-19 18:11:47 +00:00
Hermès Bélusca-Maïto 4203172aa0 [KERNEL32]
Use some existing #define'd constants.

[CSRSRV-BASESRV]
- Add CSR version define (based from BASESRV version define).
- Add missing BASESRV structures, taken from https://code.google.com/p/ontl/source/browse/branches/devel/ntl/nt/csr.hxx (OpenNT Native Template Library).

svn path=/trunk/; revision=59779
2013-08-19 17:50:27 +00:00
Alex Ionescu 519595d9c4 [SACDRV]: IReadLast returns WCHAR, not CHAR.
[SACDRV]: Implement VtUtf8 case in ChannelInitializeVTable.
[SACDRV]: Implement DoHelpCommand, reformat concmd.c to standards.
[SACDRV]: ConMgrInitialize shoudl setup the SAC channel as VtUtf8, not Raw. I guess it was set to Raw since VtUtf8 wasn't yet implemented, however this breaks the command parsing since it expects WCHAR's. Make a note of this, and temporarily hack ConMgrSerialPortConsumer to work with CHAR's from a Raw channel.
[SACDRV]: Implement ConMgrProcessInputLine, which calls out the appopriate helpers.
[SACDRV]: Fixes to parsing in ConMgrSerialPortConsumer
[SACDRV]: Document, reformat, and fix some of the bugs in the RawChannelI* commands.
[SACDRV]: Implement simple (ANSI) case of SacTranslateUtf8ToUnicode.
[SACDRV]: Implement SacFormatMessage and GetMessageLineCount.
[SACDRV]: Start implementing VT-UTF8 support. Input routines are done, output routines are still WIP.
[SACMSG]: Fix the messages in the .MC file. Stuff is now being output correctly. If using Putty, make sure to turn on "Implicit CR in every LF" in Settings->Terminal.

svn path=/trunk/; revision=59778
2013-08-19 03:32:39 +00:00
Eric Kohl ed35b983f9 [SAMSRV]
Implement the last part of SamrSetInformationUser.UserAllInformation: USER_ALL_PASSWORDEXPIRED.

svn path=/trunk/; revision=59777
2013-08-18 21:43:47 +00:00
Amine Khaldi a02dab8fb2 [NTOSKRNL]
* Fix a comment typo.
CORE-7393 #resolve #comment Thanks.

svn path=/trunk/; revision=59776
2013-08-18 21:05:58 +00:00
Amine Khaldi f47701b71d [RSYM]
* Add a flag (-s) to pass the source folder. This allows it to set the debug file paths relatively to that source folder. Brought to you by Arty.
[CMAKE]
* Leverage the new rsym flag. The rossym file paths are no longer absolute.

svn path=/trunk/; revision=59775
2013-08-18 20:05:32 +00:00
Hermès Bélusca-Maïto d1f2547346 [BASESRV]
Add vdm.c for Virtual DOS Machines management.

svn path=/trunk/; revision=59774
2013-08-18 19:46:22 +00:00
Alex Ionescu 57ec941f0f [KDCOM]: Also adhere to new standard.
svn path=/trunk/; revision=59773
2013-08-18 17:51:56 +00:00
Alex Ionescu a93ca08cdc [CPORTLIB/KDBG/FREELDR]: Fix CpGetByte and its callers -- it takes a 4th parameter for polling.
[NTOSKRNL]: Implement InbvPortPollOnly and InbvPortGetByte.
[NTOSKRNL]: Implement HeadlessCmdClearDisplay and HeadlessCmdGetByte.
[SACDRV]: Implement the TimerDpcRoutine which calls HeadlessCmdGetByte. We now consume characters in the EMS port.
[SACDRV]: Implement ConMgrSerialPortConsumer. We now do full VT-100 input parsing. DEL, BS, TAB, SPACE all work. Pressing ENTER results in an ASSERT in ConMgrProcessLine as expected.

svn path=/trunk/; revision=59772
2013-08-18 17:47:19 +00:00
Amine Khaldi d914dce9a0 [PSDK]
* Annotate msi.h.

svn path=/trunk/; revision=59771
2013-08-18 14:47:51 +00:00
Eric Kohl 5d3a6f8098 [SAMLIB]
SamSetInformationUser.UserAllInformation: Pass hashed passwords to SamrSetInformationUser.

[SAMSRV]
SampSetUserAll:
- Get fixed user data at the start of the function and set it only if it has been modified.
- Set user password hashes.

svn path=/trunk/; revision=59770
2013-08-18 13:26:33 +00:00
Eric Kohl cb93ccc1d2 [SAMSRV]
SampSetUserPassword: Fix check for vaild password hashes.

svn path=/trunk/; revision=59769
2013-08-18 11:33:51 +00:00
Amine Khaldi 6356fb1d50 [PSDK]
* Apply some formatting consistency in ks.h.

svn path=/trunk/; revision=59768
2013-08-17 23:51:10 +00:00
Amine Khaldi 52a99be7cb [PSDK]
* Annotate ks.h.

svn path=/trunk/; revision=59767
2013-08-17 22:29:40 +00:00
Hermès Bélusca-Maïto 2672ec8ee5 [SOFT386]
- In the interface header soft386.h, do not include other particular headers (windows.h and debug.h). Those must be included by the different applications which also will include soft386.h.
- LPVOID --> PVOID (do it general, not just à-la Win32).
- The .c files include the headers, and each .c files must have its "#define NDEBUG\n#include <debug.h>" lines, to activate (or deactivate here in the example) debugging output.
- In the .c files, include the header windef.h for having the basic types, and temporarily comment out the needed #defines which will be needed if one needs to include other win***.h files. Those will be deleted if they aren't needed at the end.

svn path=/branches/ntvdm/; revision=59766
2013-08-17 21:15:55 +00:00
Hermès Bélusca-Maïto c2a5e8a610 [SERVICES]
Clarify the fact that WaitForSingleObject returns WAIT_OBJECT_0 (which happens to be equal to ERROR_SUCCESS...)

svn path=/trunk/; revision=59765
2013-08-17 20:07:39 +00:00
Aleksandar Andrejevic 99302b9d00 [SOFT386]
Implement Soft386LoadSegment.
[NTVDM]
Fix BiosPrintCharacter (Adapted from a patch by Hermes Belusca-Maito).


svn path=/branches/ntvdm/; revision=59764
2013-08-17 18:44:16 +00:00
Amine Khaldi 7be422afdc [PSDK]
* Annotate oledlg.h.

svn path=/trunk/; revision=59763
2013-08-17 18:19:52 +00:00
Amine Khaldi 226145ca8e [PSDK]
* Annotate wincon.h.

svn path=/trunk/; revision=59762
2013-08-17 17:20:57 +00:00
Amine Khaldi d7a0874417 [PSDK]
* Annotate oleauto.h.

svn path=/trunk/; revision=59761
2013-08-17 15:39:59 +00:00
Aleksandar Andrejevic c7b66d26f6 [SOFT386]
Implement Soft386ReadMemory, Soft386WriteMemory, Soft386StackPush and Soft386StackPop.


svn path=/branches/ntvdm/; revision=59760
2013-08-17 15:20:47 +00:00
Eric Kohl 4a8340e43a [NETAPI32]
- NetUserAdd: Open the accounts domain with DOMAIN_READ_PASSWORD_PARAMETERS access. This is needed in order to check whether the password matches the password requirements of the domain.
- Start implementing NetUserGetGroups.

svn path=/trunk/; revision=59759
2013-08-17 13:18:02 +00:00
Amine Khaldi 971f5c4558 [PSDK]
* Annotate dbghelp.h.

svn path=/trunk/; revision=59758
2013-08-17 11:20:05 +00:00
Aleksandar Andrejevic fb158ecbe1 [SOFT386]
Add definition for Soft386Interrupt.
Implement Soft386DumpState.


svn path=/branches/ntvdm/; revision=59757
2013-08-17 01:41:22 +00:00
Amine Khaldi 889edacdad [PSDK]
* Annotate objbase.h.

svn path=/trunk/; revision=59756
2013-08-16 22:05:23 +00:00
Amine Khaldi 3dff5bef29 [CRT]
* Annotate mbstring_s.h.
* Update _mbsnbcpy_s() annotation in mbstring.h.

svn path=/trunk/; revision=59755
2013-08-16 21:13:36 +00:00
Aleksandar Andrejevic e1c4d780c1 [NTVDM]
Fix the INT 12h handler to call the correct function (DosOpenFile not DosCreateFile).


svn path=/branches/ntvdm/; revision=59754
2013-08-16 19:40:02 +00:00
Aleksandar Andrejevic 5ffc6554be [NTVDM]
Remove the "new emulator" started in emulator.c in favor of Soft386.


svn path=/branches/ntvdm/; revision=59753
2013-08-16 19:33:04 +00:00
Aleksandar Andrejevic 005e1f0559 [SOFT386]
Start implementing a new emulator library to provide 386/486 emulation support to NTVDM
and perhaps other components aswell.


svn path=/branches/ntvdm/; revision=59752
2013-08-16 19:21:02 +00:00