Commit Graph

12654 Commits

Author SHA1 Message Date
Volker Ruppert
98e55fe6b2 Fixed and extended summary of changes. 2021-06-05 05:22:11 +00:00
Volker Ruppert
9640d248d6 Adding summary of changes. 2021-06-04 15:49:32 +00:00
Volker Ruppert
45be335327 Started preparing release Bochs 2.7. 2021-06-04 15:18:41 +00:00
Volker Ruppert
ad3090ab1a Some small fixes found with original Cirrus VGABIOS at VBE mode testing.
- Setting up bank #0 modifies the external offset for VRAM access in VGA core.
- Added support for interlaced VGA modes.
2021-06-04 12:14:45 +00:00
Volker Ruppert
ea389fe782 LGPL'd VGABIOS updated to version 0.8a. 2021-06-03 16:43:40 +00:00
Volker Ruppert
7a70d4ae8d LGPL'd VGABIOS updated from SVN.
- Some small fixes in the VBE code of all VGABIOS extensions.
2021-06-03 12:32:09 +00:00
Volker Ruppert
d3ac66deac Reverted 2 items. 2021-06-01 07:07:47 +00:00
Volker Ruppert
f4a04eeba7 Fixed some links (http -> https). 2021-06-01 06:55:05 +00:00
Volker Ruppert
34ab50dd5a LGPL'd VGABIOS updated from SVN.
- Now using the new VBE read and write apertures when setting the banks for
  full scrolling support.
- Added TTY support flags for all 8-bpp VBE mode entries.
2021-05-31 20:32:38 +00:00
Volker Ruppert
733e466628 Split the VBE bank into separate read and write apertures. The compatibility
mode sets both banks to the same value. Reading VBE bank register always
returns the write aperture setting. This feature is designed for the scrolling
function of the VBE 'write character' support. VBE code should use compatibility
mode for now.
TODO: update VGABIOS to use this feature.
2021-05-30 16:13:37 +00:00
Volker Ruppert
c78c1a9af9 Enable preferred timing mode as expected by EDID format version 1.3. 2021-05-30 07:28:53 +00:00
Volker Ruppert
086e188e90 LGPL'd VGABIOS updated from SVN.
- Bochs VBE: implemented 'write character' support.
- Bochs VBE: save/restore code rewritten in assembler.
2021-05-28 20:13:22 +00:00
Volker Ruppert
887b232c95 Updated documentation after adding Banshee version of the LGPL'd VGABIOS. 2021-05-25 19:41:43 +00:00
Volker Ruppert
1d4b8ee46c LGPL'd VGABIOS updated from SVN.
- Banshee: added missing palette loading for 8-bpp modes.
- Banshee VBE: added save/restore Banshee state function.
- Code optimizations: some VGA functions rewritten in assembler.
2021-05-25 18:10:03 +00:00
Stanislav Shwartsman
097c8f13b9 minor coding style modifications 2021-05-25 06:27:49 +00:00
Volker Ruppert
431b3215fd LGPL'd VGABIOS updated from SVN.
- Bochs VBE: enable 32k bank granularity mode.
- Fixed general 'scroll down' bug in graphics modes.
- Code optimizations: some VBE and VGA functions rewritten in assembler.
2021-05-24 06:48:40 +00:00
Volker Ruppert
8cbf4eff8e Some changes for the Bochs VBE 32k bank granularity feature.
- VBE enable register returns 32k granularity flag if enabled.
- VBE bank register returns 32k granularity flag if VBE_DISPI_GETCAPS is set.
- Defining new DISPI ID not necessary.
- TODO: update VGABIOS to use this feature.
2021-05-23 06:30:51 +00:00
Stanislav Shwartsman
d9273a2414 merge type conversion patch from SF tracker #562 Fix type cast bug in bochs debugger by Xinyang Ge 2021-05-23 04:59:43 +00:00
Volker Ruppert
7ba54c951d LGPL'd VGABIOS updated from SVN.
- Banshee: added 'write character' support for 8 bpp modes.
- Banshee / Cirrus: report TTY support for 8 bpp VBE modes.
- FIXME: Banshee scroll code works for 'scroll up' only.
- TODO: TTY support for the Bochs VBE adapter.
2021-05-22 16:24:28 +00:00
Volker Ruppert
43033b2137 Some changes for the Bochs VBE support.
- Limit VBE bank size to 64k as expected.
- Enabling VBE mode now clears the whole video memory for all bpp modes unless
  "noclear" bit is set.
- Prepared 32k bank granularity mode required for text output functions. Added
  new VBE_DISPI_ID6 to indicate this capability. The default is still 64k.
2021-05-21 20:49:34 +00:00
Volker Ruppert
f36ce19524 LGPL'd VGABIOS for Cirrus adapter updated from SVN.
- VBE: vbe_main_handler now checks the presence of the Bochs VBE support.
- Some fixes and code optimizations.
2021-05-20 18:59:20 +00:00
Volker Ruppert
3c8b0ce2b2 LGPL'd VGABIOS for Cirrus adapter updated from SVN.
- Cirrus mode 0x7B (1600x1200x8) now usable.
- Some related fixes and improvements.
2021-05-16 08:02:08 +00:00
Volker Ruppert
57ad842568 Some small Cirrus changes.
- Save/restore: fixed number of registers per controller.
- Report interlaced mode on mode switch.
- Added BX_DEBUG message for MCLK setting (unused).
2021-05-16 07:40:46 +00:00
Volker Ruppert
128e54a137 Some small Cirrus Video clock changes.
- Fixed reset values for VCLK and related sequencer registers.
- Added BX_ERROR for unimplemented feature (using MCLK as VCLK).
2021-05-15 16:15:59 +00:00
Volker Ruppert
8e68dfbef1 LGPL'd VGABIOS updated from SVN.
- Fixed Banshee VBE modes with LFB support enabled.
- Fixed 'write character' support for Cirrus 8-bpp VBE modes.
2021-05-14 17:09:05 +00:00
Volker Ruppert
bf76a6a9ef LGPL'd VGABIOS updated from SVN.
- VGA restore state code now completely rewritten in assembler.
- Added some Banshee 24-bpp modes.
- Added Banshee VBE function AX=0x4f15.
2021-05-13 18:22:06 +00:00
Volker Ruppert
aa9045b63f Set EDID checksum in constructor. 2021-05-13 17:58:57 +00:00
Volker Ruppert
18c8c4bd76 LGPL'd VGABIOS updated from SVN.
- Fixed XOR bug in write_gfx_char_pl4 function.
- VGA restore state code partly rewritten in assembler.
- Added some Banshee 16-bpp modes.
- Added Banshee VBE functions AX=0x4f06 and AX=0x4f07.
2021-05-11 19:42:13 +00:00
Volker Ruppert
95dc1b2012 Skip display update if a mode update is in progress. 2021-05-11 15:00:58 +00:00
Volker Ruppert
4db9f76819 Added port 0xE9 hack switch to runtime options. 2021-05-11 14:42:31 +00:00
Volker Ruppert
4f906524de Banshee VGABIOS: added minimal VBE support for some 8-bpp modes. 2021-05-07 19:32:37 +00:00
Volker Ruppert
73b4429091 Banshee VGABIOS: fixed infinite loop in case Banshee is not detected. 2021-05-02 08:37:11 +00:00
Volker Ruppert
7b8f97b448 Updated LGPL'd VGABIOS from SVN.
- Added 'write character' support for Cirrus 8-bpp modes using bitblt engine.
- Some code optimizations.
2021-04-30 21:00:40 +00:00
Stanislav Shwartsman
e4b2079109 fixed compilation in x86-64 off mode 2021-04-29 04:18:33 +00:00
Stanislav Shwartsman
d112ab9943 fixed compilation 2021-04-28 17:57:57 +00:00
Stanislav Shwartsman
f174ce2b6f SMM enter: never turn off EFER.SVME 2021-04-27 09:33:46 +00:00
Stanislav Shwartsman
2d2ec5e0aa hack to W/A NX paging fault under nested paging while virtualizing SMM under SVM 2021-04-27 08:22:45 +00:00
Stanislav Shwartsman
79d6a16e3b intercept SMI support in SVM 2021-04-27 08:22:04 +00:00
Volker Ruppert
6781067b55 Don't increment number of status items before comparing with maximum.
Fixes segfault when connecting an USB disk and all of the 10 slots are in use.
2021-04-23 20:08:12 +00:00
Volker Ruppert
77cc12cce5 Added support for reading VGA latches using CRTC register 0x22 (undocumented
for original VGA, documented for Cirrus and Voodoo Banshee).
2021-04-23 06:42:52 +00:00
Stanislav Shwartsman
4e41530b8a SVM: Fixed EXITINFO error code after nested page fault (prevented Hyper-V from running) 2021-04-22 11:12:26 +00:00
Volker Ruppert
adf209fe9e Fixed some issues reported by valgrind. 2021-04-18 17:20:41 +00:00
Volker Ruppert
d53a068c5e Some updates after adding USB packet logging support in PCAP format.
- Updated MSVC workspace files.
- Documentation updates.
2021-04-18 15:26:26 +00:00
Volker Ruppert
b19a7b1042 Added USB packet logging support in PCAP format (patch #560 by Ben Lunt).
- Added new files with small changes, output can be viewed with Wireshark.
- FIXME: Windows ports crash with original Win98 guest and USB disk connected.
- TODO: mention new feature in documentation.
2021-04-17 18:57:05 +00:00
Volker Ruppert
719592e2f3 Fixed device connect failure handling in all HCs (reset port parameters).
The old code has blocked the port after failure.
2021-04-17 17:48:42 +00:00
Volker Ruppert
30e24fa3d5 Prepared USB packet logging support in PCAP format (patch #560 by Ben Lunt).
- DONE: config option handling, usb_dump_packet() changes
- TODO: add new file after compiling and testing new code on Windows
2021-04-17 09:30:58 +00:00
Volker Ruppert
6d5897217c Added missing PEL mask support in the VGA core. 2021-04-17 08:42:03 +00:00
Volker Ruppert
049826aa32 Fixed possible segfault in case of invalid filename based on patch #559.
Since this save/restore list exists in all devices, it's safe to move the new
code to the usb_device_c destructor.
2021-04-13 11:56:41 +00:00
Volker Ruppert
d74210b93f Added missing new VGABIOS binary for Banshee. 2021-04-12 19:37:17 +00:00
Volker Ruppert
faa11624e0 Updated LGPL'd VGABIOS from SVN.
- Added initial version of the VGABIOS for Voodoo Banshee adapters.
- Several code optimizations to reduce binary size.
NOTE #1: Banshee version has no VBE support yet.
NOTE #2: Banshee binary uses PCI ID for Banshee PCI and Bochs temporarily
         modifies the PCI data for Voodoo3 and AGP models.
2021-04-12 19:35:37 +00:00