Hermès Bélusca-Maïto [Sun, 3 Nov 2013 22:44:55 +0000 (22:44 +0000)]
[FAST486]: Replace (boolean_condition) ? TRUE : FALSE; by: (boolean_condition) .
svn path=/branches/ntvdm/; revision=60856
Aleksandar Andrejevic [Sun, 3 Nov 2013 21:52:58 +0000 (21:52 +0000)]
[NTVDM]
Use BiosConsoleInput instead of calling GetStdHandle in the keyboard input thread.
svn path=/branches/ntvdm/; revision=60855
Aleksandar Andrejevic [Sun, 3 Nov 2013 21:33:22 +0000 (21:33 +0000)]
[NTVDM]
Implement the CMOS and Real Time Clock (RTC).
Improve the performance of the PIT and RTC (correctly this time).
svn path=/branches/ntvdm/; revision=60854
Hermès Bélusca-Maïto [Sun, 3 Nov 2013 20:31:19 +0000 (20:31 +0000)]
[NTVDM]
Start to implement a basic emulated PC speaker, using the Beep driver.
svn path=/branches/ntvdm/; revision=60853
Aleksandar Andrejevic [Sun, 3 Nov 2013 18:31:00 +0000 (18:31 +0000)]
[FAST486]
BP is certainly not the same register as BX.
svn path=/branches/ntvdm/; revision=60851
Aleksandar Andrejevic [Sun, 3 Nov 2013 14:37:30 +0000 (14:37 +0000)]
[NTVDM]
Improve the I/O read/write callbacks to allow multiple reads or writes
at once.
svn path=/branches/ntvdm/; revision=60849
Hermès Bélusca-Maïto [Sun, 3 Nov 2013 13:25:01 +0000 (13:25 +0000)]
[NTVDM]
Implement INT 10h, AH 10h, AL 10h, 12h, 15h and 17h (set/get individual or block of DAC registers).
svn path=/branches/ntvdm/; revision=60846
Aleksandar Andrejevic [Sun, 3 Nov 2013 03:22:36 +0000 (03:22 +0000)]
[NTVDM]
Halfplement the BIOS palette control command (INT 10h, AH = 10h).
svn path=/branches/ntvdm/; revision=60842
Aleksandar Andrejevic [Sun, 3 Nov 2013 01:05:40 +0000 (01:05 +0000)]
[FAST486]
The RCL, RCR, ROL and ROR instructions do not update SF, ZF or PF.
svn path=/branches/ntvdm/; revision=60841
Aleksandar Andrejevic [Sat, 2 Nov 2013 01:51:27 +0000 (01:51 +0000)]
[NTVDM]
Fix resolution calculation when scanline doubling is enabled.
svn path=/branches/ntvdm/; revision=60827
Hermès Bélusca-Maïto [Sat, 2 Nov 2013 01:24:27 +0000 (01:24 +0000)]
[NTVDM]: Add a DPRINT1 that can be useful later on...
svn path=/branches/ntvdm/; revision=60826
Aleksandar Andrejevic [Sat, 2 Nov 2013 00:47:43 +0000 (00:47 +0000)]
[FAST486]
Fix segment initialization. The cached descriptors must have valid values
during the switch to protected mode.
For some odd reason, GCC makes the FAST486_GDT_ENTRY structure 12 bytes
instead of 8 if there is a bit field with more than 16 bits, so split
the Base field into Base and BaseMid.
Add size checks below important structure declarations.
svn path=/branches/ntvdm/; revision=60825
Aleksandar Andrejevic [Fri, 1 Nov 2013 22:39:43 +0000 (22:39 +0000)]
[FAST486]
Implement opcode group 0x0F, 0x01 (SGDT, SIDT, LGDT, LIDT, SMSW and LMSW).
Only INVLPG is not implemented yet.
svn path=/branches/ntvdm/; revision=60824
Aleksandar Andrejevic [Fri, 1 Nov 2013 02:48:28 +0000 (02:48 +0000)]
[FAST486]
Implement the XADD instruction.
svn path=/branches/ntvdm/; revision=60819
Hermès Bélusca-Maïto [Fri, 1 Nov 2013 02:28:47 +0000 (02:28 +0000)]
[FAST486]
Fix the type of a variable.
[NTVDM]
Introduce a BOP handler table for the 256 possible BOP functions and use it.
svn path=/branches/ntvdm/; revision=60818
Aleksandar Andrejevic [Fri, 1 Nov 2013 02:08:34 +0000 (02:08 +0000)]
[FAST486]
Fix a bug in the IRET instruction.
svn path=/branches/ntvdm/; revision=60817
Aleksandar Andrejevic [Fri, 1 Nov 2013 01:57:40 +0000 (01:57 +0000)]
[NTVDM]
Revert a previous incorrect fix for the PIT.
Modify the PitDecrementCount function to take a parameter instead
of it being called multiple times (which is slower).
svn path=/branches/ntvdm/; revision=60816
Hermès Bélusca-Maïto [Fri, 1 Nov 2013 01:51:15 +0000 (01:51 +0000)]
Fix a comment...
svn path=/branches/ntvdm/; revision=60815
Hermès Bélusca-Maïto [Fri, 1 Nov 2013 01:46:58 +0000 (01:46 +0000)]
[FAST486][NTVDM]
- Introduce a Fast486Initialize which is used to set up the CPU callbacks (and use default ones if some of the given callbacks are NULL), and to reset it the first time. Now Fast486Reset is meant to be used for only resetting the CPU to a safe state.
- Hence we are now sure that State->WhateverCallback is never NULL (and is theoretically valid), so don't do NULL-checks when calling them, but call them directly. The default cases for those checks become the default calls for the default callbacks.
- Remove the now-unneeded EmulatorIdle function.
svn path=/branches/ntvdm/; revision=60814
Aleksandar Andrejevic [Fri, 1 Nov 2013 00:30:26 +0000 (00:30 +0000)]
[FAST486]
In real mode, the value in the IVT is a far pointer, not an IDT entry.
Fix the case when MemReadCallback is NULL.
svn path=/branches/ntvdm/; revision=60813
Hermès Bélusca-Maïto [Fri, 1 Nov 2013 00:01:07 +0000 (00:01 +0000)]
[FAST486][NTVDM]
BOP numbers are 1 byte and map to a function (over 255). But one can pass additional "parameters" to those functions by adding extra bytes, however such functions must advance "by hand" the instruction pointer.
[NTVDM]
- Take into account our previous remark for the BIOS interrupt stubs, and comment them.
- Rework EmulatorBiosOperation (move almost all of its existing code into subfunctions in bop.c) so that one can call many other BOP functions in the future (WIP). The BOP number (still called) EMULATOR_INT_BOP (of value 0xFF) is used for internal 16 --> 32 bit switching for our 32bit bios.
- It appears that the IoRead/WriteCallback and IdleCallback must not be NULL for using fast486. I'm committing a temporary fix that I will definitely fix in a subsequent commit.
svn path=/branches/ntvdm/; revision=60812
Aleksandar Andrejevic [Wed, 30 Oct 2013 22:42:32 +0000 (22:42 +0000)]
[NTVDM]
Fix an EOI condition in the BIOS IRQ handler.
svn path=/branches/ntvdm/; revision=60801
Hermès Bélusca-Maïto [Tue, 29 Oct 2013 21:46:47 +0000 (21:46 +0000)]
Fix a comment.
svn path=/branches/ntvdm/; revision=60791
Hermès Bélusca-Maïto [Tue, 29 Oct 2013 01:55:54 +0000 (01:55 +0000)]
[NTVDM]: DOS:
- The DosErrorLevel is stored as a WORD: its LOWORD is the return code and the HIWORD is the termination code.
- When copying CurrentDirectories[...], be sure that we copy maximum DOS_DIR_LENGTH chars.
- Implement (or stubplement) bunch of INT 21h functions: 0x03, 0x04, 0x05, 0x0C, 0x0D, 0x26, 0x37, 0x47, 0x4D and 0x50. Functions 0x18, 0x1D, 0x1E and 0x20 are NULL functions present in DOS for CP/M compatibility only.
- Fix DOS version querying.
- Use set/getAX() instead of EmulatorSet/GetRegister, and use setCF instead of EmulatorSetFlag.
svn path=/branches/ntvdm/; revision=60790
Aleksandar Andrejevic [Tue, 29 Oct 2013 00:10:14 +0000 (00:10 +0000)]
[NTVDM]
Save the error code returned by applications.
svn path=/branches/ntvdm/; revision=60789
Aleksandar Andrejevic [Mon, 28 Oct 2013 02:25:54 +0000 (02:25 +0000)]
[NTVDM]
Improve performance by computing the resolution required by the PIT,
and then using the standard tick count instead of performance counters
when that resolution is low.
svn path=/branches/ntvdm/; revision=60783
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 23:42:16 +0000 (23:42 +0000)]
Code formatting only.
svn path=/branches/ntvdm/; revision=60782
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 23:39:52 +0000 (23:39 +0000)]
[NTVDM]
- DOS: the DOS file attributes are one byte.
- BIOS: don't use hardcoded values; use the SEG_OFF_TO_PTR macro introduced earlier; use get/setAX instead of EmulatorGet/SetRegister.
svn path=/branches/ntvdm/; revision=60781
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 22:31:53 +0000 (22:31 +0000)]
[NTVDM]
DOS: Make use of get/setAX and consorts instead of EmulatorGet/SetRegister(EMULATOR_REG_AX, ...).
Start to implement real (but undocumented?) behaviour according to http://www.delorie.com/djgpp/doc/rbinter/
and http://www.datadoctor.biz/fr/data_recovery_programming_book_chapter6-pageXX.html (change XX by a valid page number)
and http://spike.scu.edu.au/~barry/interrupts.html
svn path=/branches/ntvdm/; revision=60778
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 22:13:18 +0000 (22:13 +0000)]
[NTVDM]: Use SEG_OFF_TO_PTR ( $+ \epsilon * code _eorganization$ ).
svn path=/branches/ntvdm/; revision=60776
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 22:10:51 +0000 (22:10 +0000)]
[NTVDM]: DPRINT1 ReadConsoleInput failures (for debugging purposes) and remove an unneeded comment.
svn path=/branches/ntvdm/; revision=60775
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 22:08:41 +0000 (22:08 +0000)]
[NTVDM]: Introduce the SEG_OFF_TO_PTR macro for code simplification purposes.
svn path=/branches/ntvdm/; revision=60774
Aleksandar Andrejevic [Sun, 27 Oct 2013 19:08:58 +0000 (19:08 +0000)]
[NTVDM]
The PS/2 should latch the last value that was read in the case of multiple reads.
Modify the BIOS keyboard IRQ handler to support hooks.
svn path=/branches/ntvdm/; revision=60773
Aleksandar Andrejevic [Sun, 27 Oct 2013 16:34:27 +0000 (16:34 +0000)]
[NTVDM]
Simplify BiosPeekCharacter.
Implement DOS direct console I/O functions.
svn path=/branches/ntvdm/; revision=60772
Aleksandar Andrejevic [Sun, 27 Oct 2013 14:57:12 +0000 (14:57 +0000)]
[NTVDM]
Implement the BIOS keyboard shift flags.
svn path=/branches/ntvdm/; revision=60771
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 14:17:34 +0000 (14:17 +0000)]
[NTVDM]
Implement all the missing INT 16h functions but 03h. Also, for simplification purposes (should be fixed later on) act exactly the same for INT 00h and 10h, and for INT 01h and 11h.
Finally, one has to implement setting the BIOS KeybdShiftFlags flag.
svn path=/branches/ntvdm/; revision=60770
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 12:17:06 +0000 (12:17 +0000)]
[NTVDM]: Fix the callback prototypes.
svn path=/branches/ntvdm/; revision=60769
Hermès Bélusca-Maïto [Sun, 27 Oct 2013 11:42:44 +0000 (11:42 +0000)]
[FAST486]
- Remove an unneeded inclusion to the CRT header: limits.h (and use instead NDK definitions for max/min long values).
- Remove unneeded comments...
[NTVDM]
Remove an unneeded add_dependencies(...) command.
svn path=/branches/ntvdm/; revision=60767
Aleksandar Andrejevic [Sun, 27 Oct 2013 01:38:24 +0000 (01:38 +0000)]
[FAST486]
Physical memory read/write callbacks don't need to return a value.
svn path=/branches/ntvdm/; revision=60765
Aleksandar Andrejevic [Sun, 27 Oct 2013 01:33:15 +0000 (01:33 +0000)]
[NTVDM]
Push scancodes on to the BIOS keyboard queue even if they're not ASCII.
svn path=/branches/ntvdm/; revision=60764
Aleksandar Andrejevic [Sun, 27 Oct 2013 00:37:01 +0000 (00:37 +0000)]
[FAST486]
Separate external interrupts from interrupt signals (which are
interrupts whose number is not known until they can be serviced,
just like hardware interrupts on a real CPU).
[NTVDM]
Improve the PIC emulation code (IRQ priorities, etc...).
Instead of checking for interrupts in the main loop, move the
PS/2 input parsing to a different thread.
Improve BIOS keyboard IRQ handling.
svn path=/branches/ntvdm/; revision=60761
Hermès Bélusca-Maïto [Sat, 26 Oct 2013 21:26:28 +0000 (21:26 +0000)]
[SOFTX86]
Remove the now-unneeded headers. Bye-bye SoftX86 !
svn path=/branches/ntvdm/; revision=60758
Aleksandar Andrejevic [Sat, 26 Oct 2013 20:53:33 +0000 (20:53 +0000)]
[SOFTX86]
Remove softx86, as it is no longer used by anything.
svn path=/branches/ntvdm/; revision=60757
Aleksandar Andrejevic [Sat, 26 Oct 2013 20:48:31 +0000 (20:48 +0000)]
[NTVDM]
Remove softx86 support, and use only fast486, since it is now
sufficiently functional.
svn path=/branches/ntvdm/; revision=60755
Aleksandar Andrejevic [Sat, 26 Oct 2013 18:01:40 +0000 (18:01 +0000)]
[NTVDM]
Fix the "Read Buffered Input" command and implement "Get STDIN Status".
svn path=/branches/ntvdm/; revision=60753
Aleksandar Andrejevic [Sat, 26 Oct 2013 17:33:10 +0000 (17:33 +0000)]
[FAST486]
Implement the CLTS instruction.
svn path=/branches/ntvdm/; revision=60752
Aleksandar Andrejevic [Sat, 26 Oct 2013 00:56:11 +0000 (00:56 +0000)]
[FAST486]
Implement the MOV instruction for control and debug registers.
Remove definitions for non-existant registers CR1, CR4, CR5, CR6 and CR7.
The standard 80486 doesn't have a CR4 register (although some implementations
of the 80486 had large page support and CR4, it was not reliable).
As for the debug registers, DR4 is the same as DR6, and DR5 is the same as DR7.
svn path=/branches/ntvdm/; revision=60747
Aleksandar Andrejevic [Fri, 25 Oct 2013 18:15:24 +0000 (18:15 +0000)]
[FAST486]
Implement extended opcode groups 0xB9 (UD2) and 0xBA (BT/BTS/BTR/BTC).
svn path=/branches/ntvdm/; revision=60745
Aleksandar Andrejevic [Thu, 24 Oct 2013 01:01:49 +0000 (01:01 +0000)]
[NTVDM]
Remove the code that performs waiting in 32-bit mode since that blocks the emulator
and prevents interrupts from working.
Implement a 16-bit waiting system in the interrupt handlers.
Fix the PS/2 interrupt code.
svn path=/branches/ntvdm/; revision=60739
Aleksandar Andrejevic [Wed, 23 Oct 2013 00:26:50 +0000 (00:26 +0000)]
Sync with trunk for console graphics palettes.
svn path=/branches/ntvdm/; revision=60735
Hermès Bélusca-Maïto [Wed, 23 Oct 2013 00:12:17 +0000 (00:12 +0000)]
[CONSRV]:
Fix console palette setting. For that, we create a console framebuffer on which we draw the different active screen buffers (be they text or graphics), we can change the palette associated to this framebuffer and then we draw the framebuffer on screen.
Console palettes now work !!!!!! @ [TheFlash]
Part 2/2
svn path=/trunk/; revision=60734
Thomas Faber [Tue, 22 Oct 2013 19:51:25 +0000 (19:51 +0000)]
[EXPLORER]
- Remove no longer needed special casing for __MINGW32__. Patch by Ivan Rodionov.
CORE-7335 #resolve #comment Thanks! Committed in r60733.
svn path=/trunk/; revision=60733
Thomas Faber [Tue, 22 Oct 2013 19:09:45 +0000 (19:09 +0000)]
[SHELL32_WINETEST]
- Add tests for SHCreateShellFolderView[Ex]. Already applied upstream.
CORE-7334
svn path=/trunk/; revision=60732
Thomas Faber [Tue, 22 Oct 2013 19:01:07 +0000 (19:01 +0000)]
[SHELL32]
- Import SHCreateShellFolderView implementation and fixes for -Ex from Wine
CORE-7334 #resolve
svn path=/trunk/; revision=60731
Eric Kohl [Mon, 21 Oct 2013 20:16:56 +0000 (20:16 +0000)]
[SAMSRV]
Create and set a security descriptor for new group account objects.
svn path=/trunk/; revision=60730
Eric Kohl [Mon, 21 Oct 2013 18:53:26 +0000 (18:53 +0000)]
[SAMSRV]
Create and set a security descriptor for new alias account objects.
svn path=/trunk/; revision=60729
Eric Kohl [Mon, 21 Oct 2013 10:25:21 +0000 (10:25 +0000)]
[SAMSRV]
- SampSetupCreateUserAccount, SamrCreateUserInDomain and SamrCreateUser2InDomain: Set the PrivateData attribute.
- SamrGetAliasMembership: Remove a superfluous call to SampRegCloseKey.
- SampQueryUserAll and SampSetUserAll: Disable access to the SecDesc attribute as long as it is not set upon user account creation.
svn path=/trunk/; revision=60728
Eric Kohl [Mon, 21 Oct 2013 09:13:14 +0000 (09:13 +0000)]
[INCLUDE]
- sam.idl: Rename GROUP_ATTRIBUTE_INFORMATION to SAMPR_GROUP_ATTRIBUTE_INFORMATION in order to avoid confilcts with new types in ntsam.h.
- ntsam.h: Add missing group specific structures.
svn path=/trunk/; revision=60727
Hermès Bélusca-Maïto [Sun, 20 Oct 2013 22:35:15 +0000 (22:35 +0000)]
[CONSRV][WIN32K]
- Fix console palette setting; introduce the ConsoleMakePalettePublic control code for NtUserConsoleControl API which
is called by the SetConsolePalette to make the given palette handle public (indeed, the caller to SetConsoleHandle
gives to this API a GDI palette handle which is aimed at being used by another process, i.e. by CSRSS.EXE; in normal
operation this is impossible unless saying to GDI that the handle is meant to be public; that's what it's done there).
Thanks to Aleksander and David (who provided tests) and Timo (see revision 60725) for having helped me in understanding
what happened exactly there.
- Remove now-unneeded DPRINT1s and the hacked palette that was introduced in revision 60629/60641.
Part 1/2
svn path=/trunk/; revision=60726
Timo Kreuzer [Sun, 20 Oct 2013 19:46:28 +0000 (19:46 +0000)]
[WIN32K]
Add GreSetObjectOwnerEx, allowing to set the owner of not-owned objects by passing GDIOBJFLAG_IGNOREPID as 3rd parameter. Use with care :) Dedicated to Alexander and Hermès.
svn path=/trunk/; revision=60725
Aleksandar Andrejevic [Sun, 20 Oct 2013 15:01:28 +0000 (15:01 +0000)]
[NTVDM]
Implement the "Get Default Drive" DOS command.
svn path=/branches/ntvdm/; revision=60724
Hermès Bélusca-Maïto [Sun, 20 Oct 2013 13:54:16 +0000 (13:54 +0000)]
Fix the fix.
svn path=/trunk/; revision=60723
Hermès Bélusca-Maïto [Sun, 20 Oct 2013 13:51:18 +0000 (13:51 +0000)]
[USETUP]: Fix spanish translations, suggestions by Mario Rugiero and Julio Carchi
CORE-7516 #resolve #comment Suggestions committed in revision r60722. Thanks :)
svn path=/trunk/; revision=60722
Aleksey Bragin [Sun, 20 Oct 2013 09:41:54 +0000 (09:41 +0000)]
[NTOS]
- Correctly compute addresses of MI_VAD_BITMAP and MI_WORKING_SET_LIST. In trunk's MM it went unnoticed because nothing really cares about these two structs.
svn path=/trunk/; revision=60721
James Tabor [Sun, 20 Oct 2013 05:36:36 +0000 (05:36 +0000)]
- Fix ATI test and go.
svn path=/trunk/; revision=60720
James Tabor [Sun, 20 Oct 2013 05:31:48 +0000 (05:31 +0000)]
- Fix build.
svn path=/trunk/; revision=60719
James Tabor [Sun, 20 Oct 2013 05:16:52 +0000 (05:16 +0000)]
[Win32k]
- The (ATI) patch CORE-6551. Please oh please use this jira core issue for all bug reports and regressions.
- Major rewrite to input message queue. It is now attachable between threads. After all the hubbub the only thing we pass are all the SetActive/Foreground/Parent/Window wine msg and win tests. But not the message sequence tests.
- Pass all but one foreground API User32 ATI test when the message patch is installed. But w/o it, pass all but 8'ish.
- Tested XP osk (On-Screen Keyboard) with CMD, it works but is quirky. Need to look into set to top window issues.
- AHK issues work long as ATI is used and when it is not the some AHK tests fail. That was why all the hot key changes had been committed before. Still looking into this.
- Please test everything and post to the appropriate jira issue reports. I do not have a lot of time anymore to focus hard on many issues, it will take months to do so with just one.
svn path=/trunk/; revision=60718
Aleksandar Andrejevic [Sun, 20 Oct 2013 00:55:31 +0000 (00:55 +0000)]
[FAST486]
Create a macro SWAP (swaps two variables) to shorten the code.
Implement the BSWAP instruction.
svn path=/branches/ntvdm/; revision=60717
Aleksandar Andrejevic [Sun, 20 Oct 2013 00:25:41 +0000 (00:25 +0000)]
[FAST486]
Implement BT, BTS, BTR and BTC.
svn path=/branches/ntvdm/; revision=60716
Aleksandar Andrejevic [Sat, 19 Oct 2013 23:43:53 +0000 (23:43 +0000)]
[FAST486]
Fix more prefix handling.
Create the macros TOGGLE_ADSIZE and TOGGLE_OPSIZE to shorten the code.
svn path=/branches/ntvdm/; revision=60715
Aleksandar Andrejevic [Sat, 19 Oct 2013 23:03:40 +0000 (23:03 +0000)]
[FAST486]
Fix prefix handling.
Create a macro NO_LOCK_PREFIX to shorten the code.
svn path=/branches/ntvdm/; revision=60714
James Tabor [Sat, 19 Oct 2013 19:08:41 +0000 (19:08 +0000)]
- Remove a mislaid artifact.
svn path=/trunk/; revision=60713
Aleksandar Andrejevic [Sat, 19 Oct 2013 18:56:58 +0000 (18:56 +0000)]
[FAST486]
Implement CMPXCHG.
svn path=/branches/ntvdm/; revision=60712
Aleksandar Andrejevic [Sat, 19 Oct 2013 18:36:04 +0000 (18:36 +0000)]
[FAST486]
Implement PUSH/POP FS/GS.
svn path=/branches/ntvdm/; revision=60711
Aleksandar Andrejevic [Sat, 19 Oct 2013 18:28:27 +0000 (18:28 +0000)]
[FAST486]
The 80486 doesn't have any time stamp counter (TSC) at all.
svn path=/branches/ntvdm/; revision=60710
Timo Kreuzer [Sat, 19 Oct 2013 18:04:15 +0000 (18:04 +0000)]
[NTOSKRNL]
Rewrite NtCallbackReturn in C
svn path=/trunk/; revision=60709
Aleksandar Andrejevic [Sat, 19 Oct 2013 18:00:19 +0000 (18:00 +0000)]
[FAST486]
And add those newly implemented opcodes into the table...
svn path=/branches/ntvdm/; revision=60708
Thomas Faber [Sat, 19 Oct 2013 17:59:29 +0000 (17:59 +0000)]
[NTDLL_APITEST]
- Add test for Rtl MemoryStream functions. Patch by David Quintana.
CORE-7492
svn path=/trunk/; revision=60707
Aleksandar Andrejevic [Sat, 19 Oct 2013 17:57:26 +0000 (17:57 +0000)]
[FAST486]
Implement SETO, SETNO, SETC, SETNC, SETZ, SETNZ, SETBE, SETNBE, SETS, SETNS, SETP
SETNP, SETL, SETNL, SETLE and SETNLE.
svn path=/branches/ntvdm/; revision=60706
Thomas Faber [Sat, 19 Oct 2013 17:48:27 +0000 (17:48 +0000)]
[RTL]
- Implement Rtl MemoryStream functions. Patch by David Quintana.
CORE-7492
svn path=/trunk/; revision=60705
Aleksandar Andrejevic [Sat, 19 Oct 2013 17:29:44 +0000 (17:29 +0000)]
[FAST486]
Remove TODOs for instructions that don't exist on the 80486.
svn path=/branches/ntvdm/; revision=60704
Hermès Bélusca-Maïto [Sat, 19 Oct 2013 16:55:51 +0000 (16:55 +0000)]
Bye bye Soft386, welcome Fast486, courtesy Aleksandar Andrejevic.
[NTVDM]: Define by default NEW_EMULATOR, i.e. use Fast486 instead of softx86.
svn path=/branches/ntvdm/; revision=60703
Timo Kreuzer [Sat, 19 Oct 2013 11:40:00 +0000 (11:40 +0000)]
[NTOSKRNL] Fix a typo I introduced in TRAP_DEBUG only code, spotted by Thomas
svn path=/trunk/; revision=60702
Timo Kreuzer [Sat, 19 Oct 2013 11:33:34 +0000 (11:33 +0000)]
[NTOSKRNL]
- Introduce a new and faster way to return to kernel mode from traps by using a ret 8 instruction instead of an iret.
- Make use of KiUserTrap where appropriate
- Remove some pointless toplevel volatile
svn path=/trunk/; revision=60701
Benedikt Freisen [Sat, 19 Oct 2013 10:57:06 +0000 (10:57 +0000)]
[PAINT]
* Fix number typo introduced in revision 59955
svn path=/trunk/; revision=60700
Aleksandar Andrejevic [Sat, 19 Oct 2013 00:35:06 +0000 (00:35 +0000)]
[SOFT386]
Implement extended conditional jumps.
svn path=/branches/ntvdm/; revision=60699
Aleksandar Andrejevic [Sat, 19 Oct 2013 00:19:57 +0000 (00:19 +0000)]
[SOFT386]
Number the opcodes in the TODO list.
svn path=/branches/ntvdm/; revision=60698
Aleksandar Andrejevic [Sat, 19 Oct 2013 00:04:11 +0000 (00:04 +0000)]
[NTVDM]
Add a hack to fix screen updates while waiting for a keypress.
svn path=/branches/ntvdm/; revision=60697
Aleksandar Andrejevic [Fri, 18 Oct 2013 22:50:00 +0000 (22:50 +0000)]
[SOFT386]
Implement the hardware interrupt system.
Modify Soft386Interrupt to assume hardware interrupts, because
software interrupts from outside the emulator may cause race conditions.
svn path=/branches/ntvdm/; revision=60696
Aleksandar Andrejevic [Fri, 18 Oct 2013 22:01:35 +0000 (22:01 +0000)]
[SOFT386]
Fix previous fix.
svn path=/branches/ntvdm/; revision=60695
Aleksandar Andrejevic [Fri, 18 Oct 2013 21:45:10 +0000 (21:45 +0000)]
[SOFT386]
Fix typecasts to make sure the value is sign-extended.
svn path=/branches/ntvdm/; revision=60694
Amine Khaldi [Thu, 17 Oct 2013 11:19:05 +0000 (11:19 +0000)]
* Sync up to trunk head (r60691).
svn path=/branches/ntvdm/; revision=60692
Eric Kohl [Wed, 16 Oct 2013 19:17:09 +0000 (19:17 +0000)]
[SAMSRV]
Add query and set code of user private data and security descriptor attributes.
svn path=/trunk/; revision=60691
Giannis Adamopoulos [Wed, 16 Oct 2013 19:13:49 +0000 (19:13 +0000)]
[shell32]
- Add an initial stub for CMenuBand that creates a menu bar and fills it with contents. However its still not functional
svn path=/trunk/; revision=60690
Aleksandar Andrejevic [Wed, 16 Oct 2013 03:44:06 +0000 (03:44 +0000)]
[SOFT386]
Allow the DS segment to overriden in LODS, MOVS and CMPS.
svn path=/branches/ntvdm/; revision=60689
Aleksandar Andrejevic [Wed, 16 Oct 2013 03:14:12 +0000 (03:14 +0000)]
[SOFT386]
Implement the far absolute indirect JMP/CALL instructions in group 0xFF.
svn path=/branches/ntvdm/; revision=60688
Aleksandar Andrejevic [Wed, 16 Oct 2013 02:22:40 +0000 (02:22 +0000)]
[SOFT386]
Fix bugs in SF calculation.
svn path=/branches/ntvdm/; revision=60687
Aleksandar Andrejevic [Wed, 16 Oct 2013 01:44:39 +0000 (01:44 +0000)]
[SOFT386]
Implement the near absolute indirect JMP/CALL in opcode group 0xFF.
svn path=/branches/ntvdm/; revision=60686
Aleksandar Andrejevic [Wed, 16 Oct 2013 00:41:24 +0000 (00:41 +0000)]
[SOFT386]
Start implementing call gate support.
Implement the direct far call opcode (0x9A).
svn path=/branches/ntvdm/; revision=60685
James Tabor [Wed, 16 Oct 2013 00:11:23 +0000 (00:11 +0000)]
- Properly remove window properties when destroying the window.
svn path=/trunk/; revision=60684