Commit graph

53792 commits

Author SHA1 Message Date
Aleksandar Andrejevic 59e28c4f15 [SOFTX86]
Fix jump conditions.
[NTVDM]
Implement BIOS teletype output command.
Start implementation of a new CPU emulator to replace softx86.


svn path=/branches/ntvdm/; revision=59450
2013-07-07 20:53:23 +00:00
Aleksandar Andrejevic 1f4d89e7d7 [NTVDM]
Improve vertical refresh performance.
Properly synchronize access to the framebuffer.


svn path=/branches/ntvdm/; revision=59425
2013-07-05 01:31:50 +00:00
Aleksandar Andrejevic 01fd2f9aa3 [NTVDM]
Implement BIOS video mode setting.
Fix bugs in video memory access emulation.


svn path=/branches/ntvdm/; revision=59424
2013-07-05 00:08:18 +00:00
Aleksandar Andrejevic 988c4490a8 [NTVDM]
Fix bugs in video memory access emulation.
Implement several missing INT 10h functions.
Resize the console screen buffer on startup.


svn path=/branches/ntvdm/; revision=59421
2013-07-03 23:38:51 +00:00
Aleksandar Andrejevic c4ef9b6f44 [NTVDM]
Add more debug output.
[SOFTX86]
Properly set the carry and overflow flags.


svn path=/branches/ntvdm/; revision=59410
2013-07-02 21:40:11 +00:00
Aleksandar Andrejevic 36f251eca0 [NTVDM]
Fix several bugs:
The file was not entirely read due to an integer overflow.
The second WORD of the Program Segment Prefix (PSP) is not the number of allocated
paragraphs, but the segment of the last paragraph.
Fix the order of registers (SI and DI were mixed up with SP and BP).
Implement interrupt 0x11.
Implement redirection for reading/writing characters.


svn path=/branches/ntvdm/; revision=59409
2013-07-02 02:08:30 +00:00
Aleksandar Andrejevic 40e7d3a9fb [NTVDM]
Implement file creation, opening, reading and writing.


svn path=/branches/ntvdm/; revision=59406
2013-07-01 02:29:29 +00:00
Aleksandar Andrejevic ed9f26ccca [NTVDM]
Fix several bugs.
Implement some interrupt 1Ah services in the BIOS.


svn path=/branches/ntvdm/; revision=59374
2013-06-29 21:37:44 +00:00
Aleksandar Andrejevic 944d6e8b5a [NTVDM]
Implement "Get DOS Version" API call.
Implement BIOS keyboard IRQ handler and some "INT 16h" functions.


svn path=/branches/ntvdm/; revision=59350
2013-06-28 20:52:40 +00:00
Aleksandar Andrejevic 4c4c69fc37 [NTVDM]
Clean up the code and properly separate different modules into different files.


svn path=/branches/ntvdm/; revision=59344
2013-06-26 22:58:41 +00:00
Aleksandar Andrejevic 44f2787b1f [NTVDM]
Use 286 mode in softx86.
Implement "Get / Set Disk Transfer Area".
Start implementation of PS/2 controller.
Improve hardware interrupts. Fix CLI / STI / HLT instruction support.


svn path=/branches/ntvdm/; revision=59343
2013-06-26 17:15:45 +00:00
Aleksandar Andrejevic 53fbdf6bc9 [NTVDM]
Implement the "Get Interrupt Vector" and "Set Interrupt Vector" DOS API functions.


svn path=/branches/ntvdm/; revision=59340
2013-06-25 17:56:05 +00:00
Aleksandar Andrejevic 2ea7dab9a6 [NTVDM]
Fix more bugs in DosResizeMemory().


svn path=/branches/ntvdm/; revision=59339
2013-06-25 17:18:34 +00:00
Aleksandar Andrejevic 6d45f4e6e3 [NTVDM]
Fix the VDM DOS memory manager to use the segment of the data portion of the block, rather than the MCB itself.


svn path=/branches/ntvdm/; revision=59338
2013-06-25 16:46:35 +00:00
Aleksandar Andrejevic 5db2a4a6dd [NTVDM]
Fix many VDM DOS memory manager bugs.


svn path=/branches/ntvdm/; revision=59336
2013-06-24 23:10:31 +00:00
Aleksandar Andrejevic 07928d50d4 [NTVDM]
Implement several directory operations.


svn path=/branches/ntvdm/; revision=59331
2013-06-24 18:15:53 +00:00
Aleksandar Andrejevic ca06374c9f [NTOSKRNL]
Check for old-style MZ executable in PeFmtCreateSection.
[NTVDM]
Fix bugs.
Implement MZ executable loading.


svn path=/branches/ntvdm/; revision=59328
2013-06-24 01:59:09 +00:00
Aleksandar Andrejevic 13a004a57d [KERNEL32]
Use the already implemented BaseIsDosApplication instead of BasepCheckDosApp.


svn path=/branches/ntvdm/; revision=59316
2013-06-23 13:17:06 +00:00
Hermès Bélusca-Maïto 4c66e672da [KERNEL32]
Never EVER process instructions INSIDE a debug macro (e.g. ASSERT) because when compiling in Release Mode, the code isn't executed at all.
Fix that. See revision r59310 for more details.

svn path=/branches/ntvdm/; revision=59314
2013-06-23 12:55:17 +00:00
Aleksandar Andrejevic 4c459af487 [KERNEL32]
Implement BasepCheckDosApp.
Enable NTVDM in CreateProcessInternalW.
[NTVDM]
Remove the old command line parser code. The entire command line is for the DOS application now.


svn path=/branches/ntvdm/; revision=59310
2013-06-23 12:33:13 +00:00
Aleksandar Andrejevic 7befc34a4f [NTOSKRNL]
Fix NtQueryTimerResolution and NtSetTimerResolution to work in kernel mode.


svn path=/branches/ntvdm/; revision=59305
2013-06-23 08:44:46 +00:00
Aleksandar Andrejevic 4ffafc388d [NTVDM]
Implement NtQueryTimerResolution.


svn path=/branches/ntvdm/; revision=59300
2013-06-23 00:56:38 +00:00
Aleksandar Andrejevic 355faf5706 [NTOSKRNL]
Implement NtSetTimerResolution.


svn path=/branches/ntvdm/; revision=59299
2013-06-23 00:47:47 +00:00
Aleksandar Andrejevic e7ce79fc05 [NTVDM]
Perform multiple CPU instructions in one emulator cycle.


svn path=/branches/ntvdm/; revision=59298
2013-06-23 00:20:24 +00:00
Aleksandar Andrejevic 030a935096 [NTVDM]
Remove whitespace from empty lines.


svn path=/branches/ntvdm/; revision=59296
2013-06-23 00:11:45 +00:00
Hermès Bélusca-Maïto 2bd695b42e [NTVDM]
Use correctly NDEBUG, and use ReactOS macro: ASSERT, instead of the assert() CRT function.

svn path=/branches/ntvdm/; revision=59280
2013-06-22 01:48:28 +00:00
Aleksandar Andrejevic 6a3d90cf53 [NTVDM]
Improve keyboard IRQ performance.
Add debug output to measure number of instructions per second.


svn path=/branches/ntvdm/; revision=59279
2013-06-22 01:41:51 +00:00
Aleksandar Andrejevic b040791380 [NTVDM]
Use local time instead of system time for the clock.
Implement the "set system date" and "set system time" DOS functions.


svn path=/branches/ntvdm/; revision=59277
2013-06-21 22:14:07 +00:00
Aleksandar Andrejevic fe6988cbdd [NTVDM]
Implement the keyboard IRQ.


svn path=/branches/ntvdm/; revision=59276
2013-06-21 21:25:01 +00:00
Aleksandar Andrejevic f3aa7c7145 [NTVDM]
Change the PIT code to use only one thread, to avoid race conditions.
Implement PIT counter reading and latch command.


svn path=/branches/ntvdm/; revision=59273
2013-06-21 13:55:31 +00:00
Aleksandar Andrejevic 03b2c06c97 [NTVDM]
Fix the PIC IRQ code. Interrupt requests only occur when no higher-priority IRQ is busy.


svn path=/branches/ntvdm/; revision=59272
2013-06-21 01:44:56 +00:00
Aleksandar Andrejevic da877e495e [NTVDM]
Implement Programmable Interval Timer (PIT) emulation. Fix bugs in interrupts and PIC emulation.


svn path=/branches/ntvdm/; revision=59271
2013-06-21 00:47:07 +00:00
Aleksandar Andrejevic 7765319949 [NTVDM]
Make sure bit 2 in the ISR of the master PIC is set when an IRQ in the slave PIC occurs.


svn path=/branches/ntvdm/; revision=59269
2013-06-20 19:43:29 +00:00
Aleksandar Andrejevic b44c5d3a6f [NTVDM]
Implement 8259 Programmable Interrupt Controller emulation.


svn path=/branches/ntvdm/; revision=59268
2013-06-20 19:00:07 +00:00
Aleksandar Andrejevic c1bb00076e [NTVDM]
Implement the "get system time" and "get system date" functions in the virtual DOS kernel.


svn path=/branches/ntvdm/; revision=59264
2013-06-20 02:10:42 +00:00
Aleksandar Andrejevic 6c73fd8066 [SOFTX86]
Fix warnings in softx87 (the FPU emulator).


svn path=/branches/ntvdm/; revision=59262
2013-06-19 23:12:54 +00:00
Aleksandar Andrejevic cde3f9547b [NTVDM]
Implement up/down scrolling function in interrupt 0x10.


svn path=/branches/ntvdm/; revision=59261
2013-06-19 22:53:16 +00:00
Aleksandar Andrejevic f7714ef9c1 [SOFTX86]
Fix warnings in softx86.


svn path=/branches/ntvdm/; revision=59260
2013-06-19 21:13:43 +00:00
Hermès Bélusca-Maïto f1e0b70d39 [NTVDM]
Start of an implementation of a software DOS emulator.
Brought to you by Aleksandar Andrejevic. Good luck ;)

Remove the old language files. They will be recreated when the time comes.

svn path=/branches/ntvdm/; revision=59249
2013-06-17 00:00:36 +00:00
Hermès Bélusca-Maïto dfd4fed945 [SOFTX86]
Fix some bugs of softx86, see CORE-7250 for more information.
All diffs from the original softx86 code should also be put in softx86_ros.diff.

svn path=/branches/ntvdm/; revision=59248
2013-06-16 23:54:30 +00:00
Hermès Bélusca-Maïto c8317ea346 Integrate softx86-v0.00.0033 library.
Allow compilation warnings (the downsides are that it generates LOTS of warnings...)

svn path=/branches/ntvdm/; revision=59247
2013-06-16 23:33:04 +00:00
Hermès Bélusca-Maïto 4f0b8d3db0 Create a branch for Aleksandar Andrejevic for his work on NTVDM. See http://jira.reactos.org/browse/CORE-7250 for more details.
svn path=/branches/ntvdm/; revision=59241
2013-06-16 22:01:41 +00:00
Hermès Bélusca-Maïto 3e3200acef [KERNEL32]
- Change the argument types of both GetConsoleFontInfo() and SetConsoleFont() to be more complete. This research is based off of the examining of source code from the jockx-the-game project (licensed under a BSD license). Specifically, the files containing the functions are in both ConsoleFont.cpp and ConsoleFont.h:
  * http://code.google.com/p/jockx-the-game/source/browse/DamageCalc/ConsoleFont.cpp?r=a8ee04a8a8156de58754c4190f48435c32cfefaf
  * http://code.google.com/p/jockx-the-game/source/browse/DamageCalc/ConsoleFont.h?r=a8ee04a8a8156de58754c4190f48435c32cfefaf
- Since the code for jockx-the-game used a 0 for the boolean argument for GetConsoleFontInfo() in ConsoleFont.cpp, the patch creator currently doesn't know what the argument does exactly.
  **NOTE**: Using http://pages.videotron.com/lyra/PowerBASIC/ConsoleFont.html too, the patch committer (hbelusca) was able to deduce that the boolean has the same meaning as the bMaximumWindow parameter of the GetCurrentConsoleFont function (http://msdn.microsoft.com/en-us/library/windows/desktop/ms683176(v=vs.85).aspx).

Patch by Lee Schroeder, modified by me as explained above.
CORE-7015 #resolve #comment Committed in revision r, thanks :)

Extras:
- Fix the return type of GetCurrentConsoleFont
- Add both GetConsoleFontSize and GetCurrentConsoleFont prototypes (documented) to wincon.h

svn path=/trunk/; revision=59240
2013-06-16 21:35:18 +00:00
Eric Kohl 97cd0c3833 [USRMGR]
Enable the calls to NetUserSetInfo. We are now able to change user properties.

svn path=/trunk/; revision=59239
2013-06-16 21:26:04 +00:00
Daniel Reimer bfe3f61696 logical 'and' applied to non-boolean constant
Reviewed by Thomas Faber and asked for commit, so blame him!
CORE-7207 #resolve #comment Fixed!

svn path=/trunk/; revision=59238
2013-06-16 20:37:04 +00:00
Eric Kohl 179b2acb7d [NETAPI32]
- BuildUserInfoBuffer: return password age
- SetUserInfo: set account control flags and implement level 1008

svn path=/trunk/; revision=59237
2013-06-16 20:07:29 +00:00
Amine Khaldi 692a6854bd [MESA32]
* Silence warnings.

svn path=/trunk/; revision=59236
2013-06-16 19:13:50 +00:00
Amine Khaldi 862eb61397 [FREETYPE]
* Silence the unused-but-set warnings. Dedicated to Thomas Faber.

svn path=/trunk/; revision=59235
2013-06-16 17:42:42 +00:00
Hermès Bélusca-Maïto aa910aeae4 [KERNEL32]
- Simplify initialization of CONSOLE_START_INFO objects by also initializing their AppPath member in InitConsoleInfo.
- Add two members IconPath and IconIndex in the CONSOLE_START_INFO structure, to be used in a future work...

[HEADERS]
- CHAR_INFO* == PCHAR_INFO
- Add two informative comments for two fields of the CONSOLE_READOUTPUT structure (again, to be used in a future work...)

svn path=/trunk/; revision=59234
2013-06-16 17:16:33 +00:00
Eric Kohl d00ff48b65 [LSASRV]
Fix uninitialized variable.
CORE-7303 #resolve #comment Fixed!

svn path=/trunk/; revision=59233
2013-06-16 16:24:45 +00:00