Commit graph

13 commits

Author SHA1 Message Date
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Amine Khaldi 04cf45ec29 [NTVDM] Revert r69435.
svn path=/trunk/; revision=69438
2015-10-04 11:49:28 +00:00
Amine Khaldi f24e24d07c [NTVDM] Improve the PCH situation.
svn path=/trunk/; revision=69435
2015-10-03 21:47:46 +00:00
Hermès Bélusca-Maïto 59028e471e [NTVDM]
Add basic disk support with mounting/unmounting images in NTVDM:
- basic disk controller (at the moment this is just a collection of helper functions. A real HW emulation will come later on).
- INT 13h services for the BIOS.
At the moment, the images to be mounted are hardcoded in disk.c. Please see disk.c for examples of how to use the function. This will be reworked to allow user choice without having to recompile NTVDM.
CORE-10262 #resolve

svn path=/trunk/; revision=69365
2015-09-26 17:35:31 +00:00
Amine Khaldi ae645087b2 [BASESRV][NTVDM][TESTVDD] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69270
2015-09-18 17:01:49 +00:00
Hermès Bélusca-Maïto f6fbd83783 [NTVDM]
PS2:
- By default all the PS/2 ports are disabled. They become enabled by the BIOS at the POST step.
- Similarly it is the BIOS POST that sets up the PS/2 controller configuration byte.
- Synchronize the value of bit 2 "System flag" and bit 4 "Keyboard enable flag" in the status register, according to what is set in the controller configuration register. What is the "keyboard enable flag" ? See http://www.os2museum.com/wp/the-dos-4-0-shell-mouse-mystery/ for more details...

HW MOUSE:
- Resetting the mouse sends also an ACKnowledge byte too...

BIOS32:
- Fix the reported number of bytes in the BIOS configuration table.
- Enable the PS/2 ports in the POST.
- Implement the "Pointing Device BIOS Interface" INT 15h, AH=C2h, AL=00h...09h based on VBox OSE & SeaBIOS; we should make our PS/2 mouse driver use it.

The real call to INT 15h, AH=C2h function is still disabled because our mouse driver doesn't react well with it, when we run some applications like MS Diagnostics.

PS2 MOUSE DRV:
- Update copyright notice;
- Remove 2 useless functions;
- I've put in comments in the code the places where calls to the BIOS ps/2 mouse interface are needed.

svn path=/trunk/; revision=68613
2015-08-07 16:10:18 +00:00
Hermès Bélusca-Maïto c549f52a2b [NTVDM]
- Add some level of "Advanced debugging" (see ntvdm.h) which one can adjust to enable/disable debugging features inside NTVDM (this can be useful as long as NTVDM is under heavy bugfixing. When it will be more perfect, this stuff will be removed).
- Add the possibility to load option ROMs at a given segment. Currently their list should be specified from inside ntvdm.c (in the BiosInitialize call), but I plan to make it available from a registry option (or via command-line for NTVDM-standalone mode).
- Start to separate the initialization of "static" BIOS data (stuff that lives in ROM space) and initialization of "dynamic" BIOS data (eg. initializing the interrupt vector table, the BIOS data area at segment 40h, ...) so that we may be able to reuse part of our code to be able to more-or-less run external (16-bit) BIOSes, or the Windows NTVDM BIOS that uses BOPs to run some of its stuff in ntvdm in 32-bit (as we do for our 32-bit BIOS, except that *all* of our bios is 32-bit, not just some parts). Also, some file reorganization will be in order there soon...

- Add video BIOS version information in memory so that tools such as Microsoft Diagnostics can correctly recognize our video BIOS (btw, we try to emulate the functionality of Cirrus' CL-GD5434).
- Correctly put video BIOS ROM header (+ checksum) in memory so that it is recognized as such by diagnostics tools.
- During BIOS POST, scan for ROMs starting segment 0xC000 (where video ROMs reside).
- Store statically the BIOS configuration table.

- Fix INT 16h, AH=12h "Get extended shift states" so that it correctly returns the state of right Ctrl and Alt keys.
- Fix bit-setting state; report that our keyboard is 101/102 enhanced keyboard.
- Correctly set the error return values (AH=86h and CF set) when a function of INT 15h is unsupported.
- Implement INT 15h, AH=C9h "Get CPU Type and Mask Revision"; INT 1Ah, AH=02h "Get Real-Time Clock Time" and Ah=04h "Get Real-Time Clock Date" by reading the CMOS.
- Implement CMOS century register support.

svn path=/trunk/; revision=68598
2015-08-04 20:17:05 +00:00
Hermès Bélusca-Maïto 93c0a8a1a0 [NTVDM]: Commit what I have in my local wc so far (and which is commitable & works):
- Simplify PicIRQComplete helper function.
- Set up temporary stack for the BIOS.
- Initialize the "User Data Area" that is found at 0050:xxxx (see http://helppc.netcore2k.net/table/memory-map for more details).
- Some INT --> UINT
- Simplify few macros.
- Simplify DOS initialization; add few functions that will be useful later on.
- Remove trailing whitespace.

svn path=/trunk/; revision=68159
2015-06-15 23:43:16 +00:00
Aleksandar Andrejevic 71d4766281 [NTVDM]
Now that the Fast486 FPU is feature-complete, tell programs that we have a builtin FPU.
(This commit may cause regressions if there are bugs in the FPU)


svn path=/trunk/; revision=67934
2015-05-27 01:07:05 +00:00
Hermès Bélusca-Maïto 578d9849a0 [NTVDM]
- Update the CrtModeControl byte in the BDA when we change video modes.
- Implement INT 10h, AX=1003h "Toggle Intensity/Blinking Bit".
- Partially implement INT 10h, AH=1Bh "Functionality/State Information (VGA)".

svn path=/trunk/; revision=67879
2015-05-24 12:35:29 +00:00
Hermès Bélusca-Maïto b86604cdde [NTVDM]: Implement PC reset handling in the BIOS. Used by some apps for switching from protected mode back to real mode the 286 way (see: http://www.rcollins.org/articles/pmbasics/ for more details).
svn path=/trunk/; revision=67601
2015-05-08 19:26:46 +00:00
Hermès Bélusca-Maïto 9d3bb1fef2 [NTVDM]
- Rearrange header inclusions. Put almost all NDK stuff in ntvdm.h.
- sizeof(array)/sizeof(array[0]) --> ARRAYSIZE(array) : increase code readability.
- Use Rtl heap functions (other parts of the code already did use them).

svn path=/trunk/; revision=67283
2015-04-19 00:01:03 +00:00
Hermès Bélusca-Maïto ddb90f1e10 Start source tree (final, I hope!) restructuration. Part 1/X
Win32, Shell, Services, MVDM

svn path=/trunk/; revision=66575
2015-03-05 23:03:33 +00:00
Renamed from reactos/subsystems/ntvdm/bios/bios.h (Browse further)