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
- Hey Arch! You're displaying Major function codes, not IOCTL codes. Also, remove unnecessary casts (coming from some old code), and a use-after free.
- Add some memory helpers.
svn path=/trunk/; revision=59448
Initial commit of the ReactOS Console Driver.
For the moment, it's just able to load/unload, creating a "controller" device
and being able to DPRINT1 lots of messages when you try to access to it.
svn path=/trunk/; revision=59447
- Try again to fix version detection. If anyone sees compilers that are not .00 versions, please complain. This is required because a simply "contains" check can match all parts of the version number -- e.g. 16.00.40219.01 contains "19." in addition to "16."
svn path=/trunk/; revision=59443
Indeed with VS2010, checking for the string content " 16." instead of "16." makes version checking fail.
After checking with a hex editor what was the character preceding the number "1" of the "16." part of the
version string returned by cl.exe, I saw that it wasn't a space as thought by the author, but the character
of code 0xA0 ...
svn path=/trunk/; revision=59437
Forgot to add those files in the previous commit r59435:
We now store only console handles and not console pointers themselves.
svn path=/trunk/; revision=59436
- Use a handle table for storing consoles. Now checking validity of console handles is done in O(1) instead of O(n) as before.
I will see later on whether it would be good to have both a handle table and a linked list (which is removed here) for storing them
(when condrv will be a real console driver, handles to consoles will be obtained as you would obtain usual handles to devices, etc...
so that consoles will be internally stored in a linked list again).
- Add a "dummy" frontend to have the possibility to adopt default actions when no frontend is attached to a console, and to always have
a valid virtual table for them.
svn path=/trunk/; revision=59435
- Fix some files' info-header text.
- Move code of SrvSetConsoleWindowInfo to ConDrvSetConsoleWindowInfo.
- Introduce the helper function GetScreenBufferSizeUnits to retrieve screen-buffer width/height units.
svn path=/trunk/; revision=59433
- Switch back to a 32K receive window, because WRAP doesn't work with a 64K window and our receive code depends on that functionality
svn path=/trunk/; revision=59430
- Fix receive stalling if more than 10 packets are in the receive window
- Tune configuration to use larger DMA transfers and begin DMA earlier
svn path=/trunk/; revision=59429
- Add an RTL8139 driver based on documentation on OSDev, our existing drivers, and some prior work by Z98
- It should fully work on emulated and real RTL8139 hardware (I developed against QEMU's RTL8139)
- It's not 100% complete (some reset and halt paths aren't done) but everything I tested worked (ping, dwnl, rapps, Firefox)
svn path=/trunk/; revision=59427
Features-only commit:
- Fix version presentation at startup and when using the "ver" command (in French)
- Add to the prompt's command help, the fact that the $S specifier can be used to add a space.
- Implement the $I prompt specifier (see http://www.robvanderwoude.com/prompt.php), which sets
an information line on top of the screen (à la OS/2).
Use this new setting by default (I'm doing a poll on who loves it / hates it, and how we can improve it).
To disable it, use the command: "prompt $p$g" (the default windows' prompt).
To enable it, add the $s specifier to the prompt string (e.g. "prompt $i$p$g").
For your information, OS/2 uses "prompt $i[$p]" :)
svn path=/trunk/; revision=59422
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
- Move SrvSetConsoleWindowInfo to a better place.
- When enlarging the console buffer, use the attributes of the last cell of each line to fill the new cells for each line.
- Remove usage of HAVE_WMEMSET / wmemset for resizing the buffer (NOTE: maybe it will be needed again later on...)
svn path=/trunk/; revision=59420
Remove extra \r put by hand in some console output functions, so that we use there only \n.
But modify the ConWrite function so that, if we redirect output to something else than a console
(e.g. redirect to a file or to a serial console via ... > AUX), newline characters \n get converted
into \r\n automatically.
What you get, for instance, is: https://imageshack.com/a/img853/5834/l34.png
svn path=/trunk/; revision=59411
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
Fix the default input & output console modes. Now, you can use the command interpreter via serial port redirection, by:
1- Enabling a serial port on the machine on which ReactOS runs.
2- Launching:
cmd > AUX
at a command prompt.
svn path=/trunk/; revision=59405
Add a helper function which checks whether we are going to output text to a console handle or to a file handle.
Use it in ConWrite and in ConPrintfPaging.
svn path=/trunk/; revision=59401