Commit graph

27 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto da7d643e51 [NTVDM]
- Use MAX/MINSHORT instead of CRT macros.
- Include only the relevant headers.

svn path=/branches/ntvdm/; revision=61014
2013-11-16 23:11:54 +00:00
Aleksandar Andrejevic da4af40329 [NTVDM]
For better visibility, double the screen size if the resolution is too low.


svn path=/branches/ntvdm/; revision=60888
2013-11-08 21:56:30 +00:00
Hermès Bélusca-Maïto 3a1ae6ee3b [NTVDM]: Further modularize initialization/resetting of the VGA palette code.
svn path=/branches/ntvdm/; revision=60887
2013-11-08 20:06:10 +00:00
Aleksandar Andrejevic fd61c2cba3 [NTVDM]
Implement the use of palettes for text mode. Adapted from a patch by Hermes Belusca-Maito.
Reset the palette during every BIOS video mode switch.


svn path=/branches/ntvdm/; revision=60886
2013-11-08 19:30:58 +00:00
Hermès Bélusca-Maïto 248dda401d [NTVDM]: Code formatting only.
svn path=/branches/ntvdm/; revision=60876
2013-11-06 22:43:40 +00:00
Aleksandar Andrejevic fde9609542 [NTVDM]
Fix resolution calculation when scanline doubling is enabled.


svn path=/branches/ntvdm/; revision=60827
2013-11-02 01:51:27 +00:00
Aleksandar Andrejevic 0043c2f377 [NTVDM]
Properly handle the case when the console framebuffer could not be created.


svn path=/branches/ntvdm/; revision=60526
2013-10-04 21:16:58 +00:00
Aleksandar Andrejevic 58931acc6a [NTVDM]
Fix VGA interleaved mode.


svn path=/branches/ntvdm/; revision=59739
2013-08-14 21:55:50 +00:00
Aleksandar Andrejevic 516653f447 [NTVDM]
Fix 16 color modes.
Implement 4-bit interleaved shift mode.


svn path=/branches/ntvdm/; revision=59738
2013-08-14 17:17:43 +00:00
Aleksandar Andrejevic 0c3e20ab89 [NTVDM]
Fix bug with VGA DAC register access.


svn path=/branches/ntvdm/; revision=59729
2013-08-13 19:00:02 +00:00
Hermès Bélusca-Maïto e387f7f1cd [NTVDM]
- Add new BIOS video modes (obtained from DosBox with the help of Aleksander)
- Remove an unneeded comment.

svn path=/branches/ntvdm/; revision=59724
2013-08-13 16:49:54 +00:00
Aleksandar Andrejevic 6646ea182c [NTVDM]
Use RGB() macro instead of defining the hexadecimal values manually, which were incorrect.


svn path=/branches/ntvdm/; revision=59721
2013-08-13 11:57:10 +00:00
Hermès Bélusca-Maïto 8a6a428ccc [NTVDM]
- Simplify code (flags resetting)
- Fix console palette initialization (use version 3) and palette change.

svn path=/branches/ntvdm/; revision=59720
2013-08-13 11:09:10 +00:00
Aleksandar Andrejevic 5a7a26d750 [NTVDM]
Synchronize with trunk again for SetConsolePalette.
Implement VGA palettes for graphics mode and DAC register access.


svn path=/branches/ntvdm/; revision=59713
2013-08-12 19:31:54 +00:00
Aleksandar Andrejevic b34e5646dd [NTVDM]
Optimize screen clearing by implementing it as a helper function in vga.c.


svn path=/branches/ntvdm/; revision=59690
2013-08-10 19:30:14 +00:00
Aleksandar Andrejevic 7b2978c43f Synchronize with trunk to fix spec2def issue.
[NTVDM]
Implement write modes and latch register for VGA.


svn path=/branches/ntvdm/; revision=59687
2013-08-10 17:06:04 +00:00
Hermès Bélusca-Maïto 2f3827d040 [NTVDM]
Simplify code.

svn path=/branches/ntvdm/; revision=59681
2013-08-09 14:01:43 +00:00
Aleksandar Andrejevic 2f908ec723 [NTVDM]
Calculate the text height instead of using a hardcoded value.


svn path=/branches/ntvdm/; revision=59674
2013-08-09 09:24:40 +00:00
Hermès Bélusca-Maïto bd75425efd [NTVDM]
- Fix usage of the console framebuffer mutex (used only with graphics screen buffers).
- Do not check for text/graphics mode when updating each scan line, in VgaUpdateFramebuffer.

svn path=/branches/ntvdm/; revision=59673
2013-08-09 00:13:54 +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 94b6893a01 [NTVDM]
Clear the VGA memory during initialization.
Clear the graphics framebuffer when switching to graphics mode.


svn path=/branches/ntvdm/; revision=59671
2013-08-07 21:15:02 +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
Hermès Bélusca-Maïto 58c1653592 [NTVDM]
- Check return value of VgaEnterGraphicsMode (because CreateConsoleScreenBuffer can fail), and create VgaEnterTextMode and VgaLeaveTextMode helpers.
- Don't declare variables inside loops.

svn path=/branches/ntvdm/; revision=59668
2013-08-07 17:41:54 +00:00
Aleksandar Andrejevic bcdc670ae9 [NTVDM]
Fix more MSVC warnings.


svn path=/branches/ntvdm/; revision=59667
2013-08-07 15:42:32 +00:00
Aleksandar Andrejevic 5e69cb4dcb [NTVDM]
Fix MSVC warnings.


svn path=/branches/ntvdm/; revision=59666
2013-08-07 15:01:38 +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