- 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
- 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
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
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
- 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
- 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
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
* 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
* 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
* 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
* 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
* 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
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
* Massive update of Romanian resources. Brought to you by Ștefan Fulea.
CORE-7778 #resolve #comment Committed in r61740. Thanks !
svn path=/trunk/; revision=61740
* Maintenance of Romanian resources. Brought to you by Ștefan Fulea.
CORE-7761 #resolve #comment Committed in r61739. Cheers ;)
svn path=/trunk/; revision=61739
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Remove one time inclusions from the main header and put them back where they belong.
* Improve header inclusions.
CORE-7716
svn path=/trunk/; revision=61725
* Create a main header and move some inclusions to it.
* Set the default debugging channel globally through the main header.
CORE-7716
svn path=/trunk/; revision=61724
* Move some inclusions to the main header.
* Set the default debugging channel globally through the main header.
* Remove inclusions and definitions that already exist in the main header.
* Improve header inclusions.
* Improve the GUIDs situation.
CORE-7716
svn path=/trunk/; revision=61723
* Move some inclusions to the main header.
* Set the default debugging channel globally through the main header.
* Remove inclusions and definitions that already exist in the main header.
* Improve header inclusions.
* Improve the GUIDs situation.
CORE-7716
svn path=/trunk/; revision=61722
* Move some inclusions to the main header.
* Set the default debugging channel globally through the main header.
* Remove inclusions and definitions that already exist in the main header.
* Improve header inclusions.
* Improve the GUIDs situation.
CORE-7716
svn path=/trunk/; revision=61721
* Move some inclusions to the main header.
* Set the default debugging channel globally through the main header.
* Remove inclusions and definitions that already exist in the main header.
* Improve header inclusions.
CORE-7716
svn path=/trunk/; revision=61720