Commit graph

81 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto fda0b22ee8 [NTVDM]
Fix cursor position.

svn path=/branches/ntvdm/; revision=59675
2013-08-09 11:41:13 +00:00
Aleksandar Andrejevic 12b2347206 [NTVDM]
Fix the default cursor size and cursor size calculation.


svn path=/branches/ntvdm/; revision=59672
2013-08-07 21:57:07 +00:00
Aleksandar Andrejevic b4ed87bb3a [NTVDM]
Fix coding style.
Fix initial cursor position bug.
Fix memory limit constant for VGA memory modes 0 and 1 (64 KB not 32 KB).


svn path=/branches/ntvdm/; revision=59669
2013-08-07 19:56:28 +00:00
Aleksandar Andrejevic 5e69cb4dcb [NTVDM]
Fix MSVC warnings.


svn path=/branches/ntvdm/; revision=59666
2013-08-07 15:01:38 +00:00
Aleksandar Andrejevic a989736ead [NTVDM]
Remove unnecessary call to UNREFERENCED_PARAMETER, as the parameter is used later in the function.


svn path=/branches/ntvdm/; revision=59662
2013-08-07 12:06:39 +00:00
Hermès Bélusca-Maïto 454fade2ac [NTVDM]
Code formatting only.

svn path=/branches/ntvdm/; revision=59660
2013-08-06 21:06:00 +00:00
Hermès Bélusca-Maïto 5bc19fdbfb [NTVDM]
- Don't leak console input/output handles when opening them in BiosInitialize.
- Deinitialize the emulator in the reverse order it was initialized.
- Simplify VgaGetVideoBaseAddress and VgaGetVideoLimitAddress and use the former one in VgaTranslate[Read-Write]Address.
- Use only unicode Win32 APIs where it's needed.

svn path=/branches/ntvdm/; revision=59659
2013-08-06 20:01:05 +00:00
Aleksandar Andrejevic 455deb3bde [NTVDM]
Implement Video Graphics Array (VGA) support.
Replace the old BIOS video code with new code that uses the VGA.


svn path=/branches/ntvdm/; revision=59648
2013-08-05 23:20:25 +00:00
Aleksandar Andrejevic b49476f20c [NTVDM]
Modify the flags on the stack instead of the flags register directly.
The flags register is restored during IRET so changing it directly does nothing.


svn path=/branches/ntvdm/; revision=59566
2013-07-23 21:43:57 +00:00
Aleksandar Andrejevic 6be35ef0bb [NTVDM]
Remove the old "INT 0xFF" hack and instead use an invalid opcode sequence for emulator operations.
Fix the flags register update bug.


svn path=/branches/ntvdm/; revision=59565
2013-07-23 19:31:00 +00:00
Aleksandar Andrejevic c04b008f1f [NTVDM]
Add debug output.


svn path=/branches/ntvdm/; revision=59555
2013-07-22 13:51:26 +00:00
Aleksandar Andrejevic bebaf9e812 [NTVDM]
Add a compile-time option (not default) to run ntvdm manually with the target executable as a parameter.
Fix screen clearing bug.
Rewrite several INT 10h functions to work for all video pages.


svn path=/branches/ntvdm/; revision=59497
2013-07-18 00:01:18 +00:00
Aleksandar Andrejevic 40d639e7ff [NTVDM]
Implement the Bios Data Area (BDA).
Fix keyboard character translation bug.


svn path=/branches/ntvdm/; revision=59489
2013-07-15 01:37:38 +00:00
Aleksandar Andrejevic 7ba3013923 [NTVDM]
Implement the IOCTL command in VDM DOS.
Rewrite the BIOS video pages support to use only one console buffer (not yet complete).
Fix the BIOS video mode table and several bugs in video functions.


svn path=/branches/ntvdm/; revision=59460
2013-07-13 01:56:36 +00:00
Aleksandar Andrejevic be1d88e4b7 [NTVDM]
Add video pages support to INT 10h functions and memory access.
[SOFTX86]
Fix the opcode check for XLAT.


svn path=/branches/ntvdm/; revision=59454
2013-07-10 19:41:43 +00:00
Aleksandar Andrejevic 59e28c4f15 [SOFTX86]
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
2013-07-07 20:53:23 +00:00
Aleksandar Andrejevic 1f4d89e7d7 [NTVDM]
Improve vertical refresh performance.
Properly synchronize access to the framebuffer.


svn path=/branches/ntvdm/; revision=59425
2013-07-05 01:31:50 +00:00
Aleksandar Andrejevic 01fd2f9aa3 [NTVDM]
Implement BIOS video mode setting.
Fix bugs in video memory access emulation.


svn path=/branches/ntvdm/; revision=59424
2013-07-05 00:08:18 +00:00
Aleksandar Andrejevic 988c4490a8 [NTVDM]
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
2013-07-03 23:38:51 +00:00
Aleksandar Andrejevic c4ef9b6f44 [NTVDM]
Add more debug output.
[SOFTX86]
Properly set the carry and overflow flags.


svn path=/branches/ntvdm/; revision=59410
2013-07-02 21:40:11 +00:00
Aleksandar Andrejevic 36f251eca0 [NTVDM]
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
2013-07-02 02:08:30 +00:00
Aleksandar Andrejevic ed9f26ccca [NTVDM]
Fix several bugs.
Implement some interrupt 1Ah services in the BIOS.


svn path=/branches/ntvdm/; revision=59374
2013-06-29 21:37:44 +00:00
Aleksandar Andrejevic 944d6e8b5a [NTVDM]
Implement "Get DOS Version" API call.
Implement BIOS keyboard IRQ handler and some "INT 16h" functions.


svn path=/branches/ntvdm/; revision=59350
2013-06-28 20:52:40 +00:00
Aleksandar Andrejevic 4c4c69fc37 [NTVDM]
Clean up the code and properly separate different modules into different files.


svn path=/branches/ntvdm/; revision=59344
2013-06-26 22:58:41 +00:00
Aleksandar Andrejevic 030a935096 [NTVDM]
Remove whitespace from empty lines.


svn path=/branches/ntvdm/; revision=59296
2013-06-23 00:11:45 +00:00
Hermès Bélusca-Maïto 2bd695b42e [NTVDM]
Use correctly NDEBUG, and use ReactOS macro: ASSERT, instead of the assert() CRT function.

svn path=/branches/ntvdm/; revision=59280
2013-06-22 01:48:28 +00:00
Aleksandar Andrejevic f3aa7c7145 [NTVDM]
Change the PIT code to use only one thread, to avoid race conditions.
Implement PIT counter reading and latch command.


svn path=/branches/ntvdm/; revision=59273
2013-06-21 13:55:31 +00:00
Aleksandar Andrejevic da877e495e [NTVDM]
Implement Programmable Interval Timer (PIT) emulation. Fix bugs in interrupts and PIC emulation.


svn path=/branches/ntvdm/; revision=59271
2013-06-21 00:47:07 +00:00
Aleksandar Andrejevic b44c5d3a6f [NTVDM]
Implement 8259 Programmable Interrupt Controller emulation.


svn path=/branches/ntvdm/; revision=59268
2013-06-20 19:00:07 +00:00
Aleksandar Andrejevic cde3f9547b [NTVDM]
Implement up/down scrolling function in interrupt 0x10.


svn path=/branches/ntvdm/; revision=59261
2013-06-19 22:53:16 +00:00
Hermès Bélusca-Maïto f1e0b70d39 [NTVDM]
Start of an implementation of a software DOS emulator.
Brought to you by Aleksandar Andrejevic. Good luck ;)

Remove the old language files. They will be recreated when the time comes.

svn path=/branches/ntvdm/; revision=59249
2013-06-17 00:00:36 +00:00