Commit graph

56311 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto d25d9ea618 [NTVDM]
- Enable experimental sound support (only PC speaker for the moment, aka. uses beep.sys).
- Introduce a #define WORKING_TIMER which aim is to disable the currently problematic approximate performance counter value calculation done in order not to call QueryPerformanceCounter each time.
  The problem is that we then compute a number of clock ticks for the PIT, which becomes negative, and therefore everything starts to hang.
  Disabling this code and calling each time QueryPerformanceCounter, fixes everything; we gain in precision but we loose in performance...
  A definitive fix must be found, [TheFlash] !!

This fixes sound (and hangs) in Advanced NetWars, Dangerous Dave, ElitePlus and Rescue Rover (the games that I've tested so far).

svn path=/branches/ntvdm/; revision=61875
2014-01-29 00:25:43 +00:00
Hermès Bélusca-Maïto f2a98176d6 [NTVDM]: Add debug print for timer ticks to try to find why the emulator sometimes hangs...
svn path=/branches/ntvdm/; revision=61867
2014-01-28 20:39:16 +00:00
Hermès Bélusca-Maïto 03d8479401 [NTVDM]
Part 2 of PIT + sound fix.
- Move port 61h management from speaker.c to the emulator.c module;
- Add PIT OUT callbacks support;
- Add (unimplemented) PitSetGate function (will be used later on).
Still WIP.

svn path=/branches/ntvdm/; revision=61866
2014-01-28 20:24:24 +00:00
Hermès Bélusca-Maïto 5dafb169e0 [NTVDM]: Replace my #if 0 by #ifdef IPS_DISPLAY for DPRINTing (or not) the no. of instructions per seconds.
svn path=/branches/ntvdm/; revision=61865
2014-01-28 20:18:52 +00:00
Hermès Bélusca-Maïto 951276a7d8 [NTVDM]: Remove erroneous comments.
svn path=/branches/ntvdm/; revision=61861
2014-01-28 17:26:26 +00:00
Hermès Bélusca-Maïto 0a46ec7a18 [NTVDM]
- Break the DOS source file into the "DOS BIOS" (also known in other places as ibmbio or io or...), which is in fact some kind of hardware abstraction layer, and the "DOS BDOS" kernel (also known in other places as ibmdos.com or msdos.sys or...).
- Add in DEM the possibility of loading the DOS from another files (WIP).

svn path=/branches/ntvdm/; revision=61846
2014-01-26 21:51:27 +00:00
Hermès Bélusca-Maïto c98977184f [NTVDM]
- Start to refactor the DOS sources:
  Introduce the DEM (DOS Emulation) support library that is used by our built-in DOS, and that is used (via BOPs) by windows NT DOS (files: ntio.sys and ntdos.sys).
- Export some of DEM functions; stub most of them and implement the remaining ones (with existing code that we had in dos.c before).

svn path=/branches/ntvdm/; revision=61838
2014-01-26 18:25:59 +00:00
Hermès Bélusca-Maïto 1608c84d72 [NTVDM]: Implement a basic BIOS Wait interrupt INT 15h, AH=86h.
svn path=/branches/ntvdm/; revision=61821
2014-01-25 22:29:54 +00:00
Hermès Bélusca-Maïto 298e47dbaf [NTVDM]
- Shut up some DPRINTs in io.c and ntvdm.c
- I forgot to update the call to PitClock in the previous revision...

svn path=/branches/ntvdm/; revision=61816
2014-01-25 18:57:17 +00:00
Hermès Bélusca-Maïto 4bbed217b6 [NTVDM]: Each PIT channel is decreased by the same amount of "Count".
svn path=/branches/ntvdm/; revision=61815
2014-01-25 18:56:12 +00:00
Hermès Bélusca-Maïto 2bbb94f82b [NTVDM]
Big PIT fix Part 1/X
Currently, sound frequency is fixed (in Advanced NetWars, Rover, Dave)

svn path=/branches/ntvdm/; revision=61810
2014-01-25 17:00:09 +00:00
Hermès Bélusca-Maïto f878b8abae [NTVDM]
Welcome sound in Advanced NetWars!
However it won't work totally due to problems in the PIT or in the sound emulation (and as a result, the emulator will "hang").

svn path=/branches/ntvdm/; revision=61809
2014-01-25 16:23:27 +00:00
Aleksandar Andrejevic a3a28181c2 [NTVDM]
Add two general-purpose variables to the interrupt handler stub stack.
Fix INT 29h so that it works correctly when the INT 10h, AH = 0Eh call is hooked.


svn path=/branches/ntvdm/; revision=61797
2014-01-25 00:53:10 +00:00
Hermès Bélusca-Maïto 6ddfa7d2b8 [NTVDM]
- Move all the hardware initialization to EmulatorInitialize (since emulator.c can be viewed as support functions for emulating a PC motherboard) --> PS2 and VGA go there.
- Break bios.c into bios.c and kbdbios.c (the keyboard bios module) (according to the IBM documentation as well as other emulator sources or SeaBIOS or...).
- Move Exception handling from int32.c to emulator.c, because it's something tight to the emulator, not to the interrupt system by itself (yet it happens that INT 00h to 07h are commonly set to some exception handlers). In the bios.c, initialize those vectors with the default exception handler.
- Handling IRQs is done fully in bios.c now: introduce PicSetIRQMask and EnableHwIRQ helper functions (adapted from their equivalents from SeaBIOS) that allows the bios to set (and activate in the PIC) a given IRQ with its corresponding handler. Also introduce PicIRQComplete that serves as a PIC IRQ completer (i.e. sends the EOI to the right PIC(s)).
- Continuing on that, at the moment I set dumb default PIC IRQ handlers for IRQ 08h - 0Fh and IRQ 70h - 77h).
- By default I disable all the IRQs; there are then set on-demand with EnableHwIRQ.
- Rework the POST (aka. BiosInitialize function):
  * the memory size is now get from the CMOS (as well as the extended memory size via INT 12h, AH=88h),
  * then we initialize the interrupts,
  * then platform hardware (ie. the chips) are initialized,
  * and finally the keyboard and video bioses.
- As said before, move memory sizes into the CMOS.
- Simplify video bios initialization.

svn path=/branches/ntvdm/; revision=61796
2014-01-25 00:21:51 +00:00
Hermès Bélusca-Maïto 3c273ca1a9 [NTVDM]: Register functions are already declared via the inclusion of ddk/vddsvc.h. However still keep their definitions also in registers.h (yet #if 0'ed out) for reference.
svn path=/branches/ntvdm/; revision=61795
2014-01-24 20:37:40 +00:00
Hermès Bélusca-Maïto ba97a8f567 [NTVDM]: Clean ConsoleFramebuffer after leaving graphics mode.
svn path=/branches/ntvdm/; revision=61794
2014-01-24 20:36:17 +00:00
Hermès Bélusca-Maïto 1d9208e0a3 [NTVDM]: Use EmulatorRead/WriteMemory instead of directly use the VgaXXXMemory helpers.
svn path=/branches/ntvdm/; revision=61786
2014-01-24 00:41:26 +00:00
Hermès Bélusca-Maïto b393d6bbc4 [NTVDM]: Improve the icon, and add 16x16 format.
svn path=/branches/ntvdm/; revision=61785
2014-01-23 23:46:10 +00:00
Hermès Bélusca-Maïto 3224e67cfc Sync to trunk revision 61757.
svn path=/branches/ntvdm/; revision=61758
2014-01-22 22:56:41 +00:00
Amine Khaldi 52da71702d [CMAKE]
* Apply the 5.01 subsystem version regardless of cl version. All the supported MSVC toolchains accept it.

svn path=/trunk/; revision=61756
2014-01-22 22:46:30 +00:00
Timo Kreuzer 793f6fe43d [KSECDD]
Implement IRP_MJ_QUERY_INFORMATION and IRP_MJ_QUERY_VOLUME_INFORMATION

svn path=/trunk/; revision=61755
2014-01-22 20:52:01 +00:00
Timo Kreuzer fcc7d66c11 [KSECDD]
Start implementing ksecdd

svn path=/trunk/; revision=61754
2014-01-22 16:58:36 +00:00
Timo Kreuzer 8b8043e5bf [NTOSKRNL]
- Implement NtPrivilegedServiceAuditAlarm, the internal function SepAdtPrivilegedServiceAuditAlarm is not implemented yet.
- Stubplement SepAccessCheckAndAuditAlarm and make NtAccessCheckAndAuditAlarm, NtAccessCheckByTypeAndAuditAlarm, NtAccessCheckByTypeResultListAndAuditAlarm and NtAccessCheckByTypeResultListAndAuditAlarmByHandle (love that name) wrappers around it.

svn path=/trunk/; revision=61753
2014-01-22 16:29:26 +00:00
Timo Kreuzer 5ed6d51e02 [NTOSKRNL]
Implement TokenSessionReference case in NtSetInformationToken, also make sure not to leak a reference on the token in case of an exception.

svn path=/trunk/; revision=61752
2014-01-22 15:05:16 +00:00
Timo Kreuzer c9192d2c20 [NTOSKRNL]
Fix return type of PsSetProcessSecurityPort

svn path=/trunk/; revision=61751
2014-01-22 14:48:45 +00:00
Eric Kohl 4dda515e77 [MSGINA]
Move the unlock code to a separate function and display error messages if user name or password do not match.

svn path=/trunk/; revision=61750
2014-01-21 23:31:13 +00:00
Amine Khaldi b787a3513b [DBGHELP]
* Move some inclusions to the main header.
* Remove inclusions and definitions that already exist in the main header.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61749
2014-01-21 18:04:09 +00:00
Amine Khaldi 3ab8f89804 [CRYPT32]
* Move cryptres.h inclusion to the main header.
CORE-7716

svn path=/trunk/; revision=61748
2014-01-21 18:01:34 +00:00
Amine Khaldi dcf4622237 [CRTDLL]
* We don't need PCH for one source file modules.
CORE-7716

svn path=/trunk/; revision=61747
2014-01-21 18:00:17 +00:00
Amine Khaldi cabd4e530e [COMDLG32]
* Remove one time inclusions from the main header and put them back where they belong.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61746
2014-01-21 17:59:36 +00:00
Amine Khaldi 20febaafd2 [COMCTL32]
* Move some inclusions to the main header.
* Remove inclusions and definitions that already exist in the main header/resource file.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61745
2014-01-21 17:58:34 +00:00
Amine Khaldi bca9468bea [CABINET]
* Remove one time inclusions from the main header and put them back where they belong.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61744
2014-01-21 17:56:16 +00:00
Amine Khaldi 63be6007bd [BROWSEUI]
* Remove one time inclusions from the main header and put them back where they belong.
* Set the default debugging channel globally through the main header.
* Improve the main header.
CORE-7716

svn path=/trunk/; revision=61743
2014-01-21 17:55:08 +00:00
Eric Kohl 5192d67c43 [EVENTLOG]
LogfClearFile: Write the backup file and add status checks. 

svn path=/trunk/; revision=61742
2014-01-20 21:32:49 +00:00
Eric Kohl c3cdc1abae [MSGINA]
Save the password in the gina-context after successful logon and use it to check the password when unlocking the computer.

svn path=/trunk/; revision=61741
2014-01-20 21:23:17 +00:00
Amine Khaldi d74e783572 [TRANSLATIONS]
* Massive update of Romanian resources. Brought to you by Ștefan Fulea.
CORE-7778 #resolve #comment Committed in r61740. Thanks !

svn path=/trunk/; revision=61740
2014-01-20 19:42:49 +00:00
Amine Khaldi 9ec6ca712b [RAPPS]
* Maintenance of Romanian resources. Brought to you by Ștefan Fulea.
CORE-7761 #resolve #comment Committed in r61739. Cheers ;)

svn path=/trunk/; revision=61739
2014-01-20 18:00:14 +00:00
Amine Khaldi 8fc7ff7770 [AVIFIL32]
* Improve the GUIDs situation.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61738
2014-01-20 13:18:32 +00:00
Amine Khaldi 3f75b028f8 [ATL100]
* Create a main header and move some inclusions to it.
CORE-7716

svn path=/trunk/; revision=61737
2014-01-20 13:16:55 +00:00
Amine Khaldi f886edae28 [ADVAPI32]
* Remove one time inclusions from the main header and put them back where they belong.
* Cleanup the main header.
CORE-7716

svn path=/trunk/; revision=61736
2014-01-20 13:16:06 +00:00
Amine Khaldi 2270bdbba6 [ACTIVEDS]
* Create a main header and move some inclusions to it.
CORE-7716

svn path=/trunk/; revision=61735
2014-01-20 13:14:55 +00:00
Amine Khaldi 5011f7fade [ACLUI]
* Remove one time inclusions from the main header and put them back where they belong.
* Cleanup the main header.
CORE-7716

svn path=/trunk/; revision=61734
2014-01-20 13:14:06 +00:00
Amine Khaldi ff191296fd [SLAYER]
* We don't need PCH for one source file modules.
CORE-7716

svn path=/trunk/; revision=61733
2014-01-20 13:12:05 +00:00
Amine Khaldi 39502106c6 [FONTEXT]
* Remove one time inclusions from the main header and put them back where they belong.
* Do not include debug.h into the main header.
CORE-7716

svn path=/trunk/; revision=61732
2014-01-20 13:10:32 +00:00
Amine Khaldi 3d3767517c [DESKMON]
* Remove one time inclusions from the main header and put them back where they belong.
* Cleanup the main header.
CORE-7716

svn path=/trunk/; revision=61731
2014-01-20 13:09:04 +00:00
Amine Khaldi 7c0107fcd0 [DESKADP]
* Remove one time inclusions from the main header and put them back where they belong.
CORE-7716

svn path=/trunk/; revision=61730
2014-01-20 13:08:23 +00:00
Amine Khaldi 909dd423a0 [OPENGL32]
* Move wine/debug.h inclusion to the main header.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61729
2014-01-20 13:07:26 +00:00
Amine Khaldi bdbf7cd306 [NTDLL]
* Remove one time inclusions from the main header and put them back where they belong.
* Cleanup the main header.
CORE-7716

svn path=/trunk/; revision=61728
2014-01-20 12:59:27 +00:00
Amine Khaldi 19f2e50258 [WINED3D]
* Remove one time inclusions from the main header and put them back where they belong.
* Cleanup the main header.
CORE-7716

svn path=/trunk/; revision=61727
2014-01-20 12:57:33 +00:00
Amine Khaldi ba47e91e6f [QUARTZ]
* Remove one time inclusions from the main header and put them back where they belong.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61726
2014-01-20 12:37:33 +00:00