Commit Graph

2683 Commits

Author SHA1 Message Date
Volker Ruppert
69db3a60a8 Some small changes in the Voodoo2 BitBlt code.
- Fixed SGRAM fill command.
- Improved BX_ERROR messages for unimplemented commands.
- Changed message for bltData register writes to BX_DEBUG for now.
- TODO: Implement Voodoo2 BitBlt commands.
2020-09-27 15:36:55 +00:00
Volker Ruppert
e8e9cd03a3 Some work on the CMDFIFO "byte disable" (Voodoo2) / "byte enable" (Banshee)
feature of packet type #5. Added some W2 cases for texture writes, modified
code for linear LFB writes and added BX_ERROR messages for the WN cases. Some
more test cases are needed for a complete implementation.
2020-09-27 08:15:48 +00:00
Volker Ruppert
8977c34db1 Implemented colorkey support for screen-to-screen blts with color source. 2020-09-26 15:59:41 +00:00
Volker Ruppert
870d4034a7 Some work on the Voodoo code.
- Real fix for the Voodoo2 DirectX issue after CLUT pens implementation.
- Banshee hardware cursor now uses the CLUT pens for the background.
- Banshee hardware cursor now uses the same 3D start address as update().
2020-09-25 17:37:46 +00:00
Volker Ruppert
06acf5e761 Some work on the Voodoo 3D code.
- Set clut_dirty flag when writing to fbiInit registers. This fixes a Voodoo2
  issue when using the DirectX driver.
- Report another unimplemented case in the texture code.
2020-09-25 12:06:14 +00:00
Volker Ruppert
f845457362 Implemented usage of the color lookup table (CLUT) for gamma correction during
video refresh in 16 bpp modes. The Banshee also uses this feature in 16 bpp
desktop mode in addition to 3D modes. The code for the pen calculation comes
from the original Voodoo patch for DOSBox. Since it was unused there, I had
disabled it when porting to Bochs.
2020-09-23 14:24:17 +00:00
Volker Ruppert
3aba63304a Added BX_INFO for unimplemented trilinear textures and small code cleanup. 2020-09-18 19:29:47 +00:00
Volker Ruppert
439152d2e4 Implementing 64 bit read access to VRAM fixes background pattern issues in XP. 2020-09-18 15:24:12 +00:00
Volker Ruppert
fa36ec0e87 Fixed i/o access map and changed some messages to BX_DEBUG. 2020-09-18 09:35:52 +00:00
Volker Ruppert
052db63202 Some work on the Voodoo Banshee emulation.
- Fixed serious issues in 16 bpp mode of XP guest (clipped y value).
- Added BX_ERROR messages for unsupported features.
- Added / updated comments.
- TODO #1: Background pattern issues in XP guest still remain in all modes.
- TODO #2: Some small issues in Win9x guests caused by monochrome host blts.
2020-09-17 20:26:52 +00:00
Volker Ruppert
9d2d3cd759 Some changes in the Voodoo code for better performance in 3D mode.
- Now using semaphores instead of events in the Voodoo 3D code.
- Handle swapbuffer command flag "swap in sync with vertical retrace".
2020-09-15 18:55:03 +00:00
Volker Ruppert
6f323dd9fd Some changes for the Banshee emulation.
- Polygon fill: Check if pixels are within clip window.
- Polygon fill: Added error message for unimplemented pattern ROPs.
- Some cleanups in the code for pattern ROPs with transparency.
2020-09-14 18:06:56 +00:00
Volker Ruppert
8b41cc3ff7 Fixed graphics snapshot in Banshee 3D mode. 2020-09-13 09:12:43 +00:00
Volker Ruppert
2429bb7891 Banshee: Fixed video memory offset calculation for tiled LFB space writes. 2020-09-12 12:24:46 +00:00
Volker Ruppert
dcebc1185c Setting up memory for TMU #1 fixes segfault Voodoo3 DirectX test. 2020-09-11 20:23:50 +00:00
Volker Ruppert
d7d3d27f57 Some work on the Voodoo Banshee emulation.
- Implemented 2D command "Polygon Fill".
- Changed some log messages to BX_DEBUG.
2020-09-11 07:08:47 +00:00
Volker Ruppert
42738bf8c9 Some work on the "polygon fill" code (drawing upper left vertex for now). 2020-09-09 08:12:07 +00:00
Volker Ruppert
3183103896 Some small Voodoo changes.
- Voodoo 1/2: fixed behaviour when resetting with Voodoo output on.
- Banshee / Voodoo3: locking render_mutex not necessary when writing i/o regs.
2020-09-06 16:52:18 +00:00
Volker Ruppert
bdb7954732 Some small changes for the vnet server support.
- bxhub: initialize DHCP "net" IP address.
- DHCP: increase lease time to 24 hours.
- DHCP: simplified broadcast IP address handling.
2020-09-05 08:39:25 +00:00
Volker Ruppert
b76e10a600 Added basic support for the debugger command 'info device "voodoo"'
(Banshee/Voodoo3 only).
2020-09-03 18:17:36 +00:00
Volker Ruppert
a16a4a0886 Some improvements for the vnet config file support.
- Added options "net" for the IP address space and "ftp" for the FTP server.
- Added some sanity checks for the IP address configuration.
- Added sample config file.
2020-09-03 14:23:06 +00:00
Volker Ruppert
8bbcc7c65e Save / restore: renamed register methods of device cores (fixes warnings in
FreeBSD gcc 9.3).
2020-09-03 06:45:39 +00:00
Volker Ruppert
748b6a1279 Fixed gcc 9.3 warnings in case C++17 support is enabled. 2020-09-02 08:35:44 +00:00
Volker Ruppert
600228148d Fixed some gcc 9.3 warnings. 2020-09-01 20:13:56 +00:00
Volker Ruppert
77f377a36f Fixed compilation in the MSVC plugins case. 2020-08-30 08:34:57 +00:00
Volker Ruppert
fbc8921b0a Some changes on the "vnet" networking module.
- Added new config file options "host", "dns" and "dhcpstart" (similar to slirp).
- modified bx_vnet_pktmover_c class to be compatible with other modules.
- On TFTP RRQ check file presence directly (fixes iPXE boot).
2020-08-29 17:45:42 +00:00
Volker Ruppert
a96065314c Started implementing config file support for the 'vnet' module similar to the
'slirp' one. File name can be specified with the "script" parameter. Currently
supported parameters: bootfile, hostname and pktlog.
2020-08-25 19:04:05 +00:00
Volker Ruppert
b558f19338 Prepared vnet server for setting up client hostname from config. 2020-08-24 11:22:37 +00:00
Volker Ruppert
0e72952798 Fixed hostname reporting in DHCP reply. 2020-08-23 10:54:16 +00:00
Volker Ruppert
ec9bae94c7 Some small changes for Banshee/Voodoo3 BitBlt.
- Added stub for host-to-screen stretch blt.
- Improved stub for "polygon fill" command.
2020-08-20 09:20:23 +00:00
Volker Ruppert
5e6d0b7545 Some small changes for Banshee/Voodoo3.
- Added support for host-to-screen pattern blts with color source.
- Added stub for "polygon fill".
2020-08-16 20:43:49 +00:00
Volker Ruppert
8d607c4886 Some small changes for Banshee/Voodoo3.
- Fixed start address for the gui screen update in 3D overlay mode.
- Small optimization for drawing transparent monochrome bitmaps.
- In the restore case start the fifo thread in after_restore_state().
- Report unimplemented colorkey feature (test case missing).
- TODO: issues in some Windows guests still not fixed.
2020-08-16 13:37:50 +00:00
Volker Ruppert
843e7ea557 Some fixes for Banshee / Voodoo3.
- Save/restore additions for 2D desktop mode.
- Fixed pitch in 3D overlay mode for hardware cursor.
- TODO list:
  - Minor issues in explorer navigation bar of Win98SE.
  - Ugly background pattern under software cursor and XP start menu.
  - Segfault after switching to 3D mode at XP Direct3D test (Voodoo3 only).
  - Serious display issues in 16 bpp modes of XP guest (Voodoo3 only).
2020-08-14 16:22:59 +00:00
Volker Ruppert
28de72b0ea Added support for setting up the network bootfile in the bxhub utility.
TODO: Implement configurable bootfile in the vnet module.
2020-08-09 17:24:08 +00:00
Volker Ruppert
52d52029dd Fixes in slirp and vnet networking module to make iPXE booting.
- Moved server ID and lease time options to the top of the DHCP reply.
- Increase TFTP buffer size as expected by iPXE.
- TODO: The vnet module still has boot file name hardcoded.
2020-08-08 19:23:35 +00:00
Volker Ruppert
5de465b5b1 Fixed some gcc 9.3 warnings. 2020-08-06 20:21:14 +00:00
Volker Ruppert
bf1d96e7e0 Using the correct variable type fixes Cirrus pattern copy issues introduced with
the segfault fix.
2020-08-03 18:25:10 +00:00
Volker Ruppert
b00873c909 Fixed parameter cleanup after adding "multiple NICs" support. 2020-07-23 21:35:27 +00:00
Volker Ruppert
650d8d919a Enable the new speaker volume control for the lowlevel sound support only. 2020-07-08 21:31:49 +00:00
Volker Ruppert
0d7f37f233 VBE: retrieve gui capabilities only on demand (fixes VBE mode list in RFB gui). 2020-06-28 17:44:55 +00:00
Volker Ruppert
cb57b632b0 Added PC speaker volume control for the lowlevel sound support. 2020-06-21 09:08:05 +00:00
Volker Ruppert
4b27cc1103 Removed member 'extension' from direntry_t structure and increased 'name' size
to 11. Accessing 'extension' data using 'name' index is illegal and at least
gcc version 7.5.0 has produced incorrect code for creating short file name.
2020-06-18 11:18:35 +00:00
Volker Ruppert
af09838514 Fixed another uninitialized variable. 2020-06-17 14:48:27 +00:00
Volker Ruppert
f6825e31de Modified svga_patterncopy() to avoid writing to video memory out of bounds.
This fixes segfault when moving window in guest Win 3.1x with CL-GD 5446 and
suitable drivers for it.
2020-06-16 18:46:37 +00:00
Volker Ruppert
5adcaf2291 Added missing variable initialisation. 2020-06-14 19:30:53 +00:00
Volker Ruppert
401ffecc54 Fixed comparsion (slirp.cc) and MSVC warning (netutil.cc). 2020-06-14 10:16:04 +00:00
Volker Ruppert
4bcc3ba13c Added stubs for IPv6 packets in the slirp and vnet server code and some cleanups. 2020-06-14 08:44:10 +00:00
Volker Ruppert
79156f6b2f Added support for setting up the vnet FTP service with a different IPv4 address.
The 'vnet' networking module now uses 192.168.10.3 and bxhub is setting up the
slirp compatible IP 10.0.2.4 for additional services. Added host name "vnet-ftp"
in the DNS code to translate it to the new IP address.
2020-06-12 06:31:09 +00:00
Volker Ruppert
a4bf5843f0 Some work on the vnet server code.
- FTP: handle the hidden flag on Windows the same way as on other platforms.
- TCP/IP: fixed some gcc 9 warnings (checked with Cygwin gcc 9.3).
- DHCP: changed the way to set up the default client IPv4 address.
2020-06-11 14:26:34 +00:00
Volker Ruppert
3db989b9a8 Fixed gcc 10.1.0 warning "clearing an object of non-trivial type". Now moving
the buffer objects and data members to different structures and use memset()
for data only.
2020-06-11 07:36:31 +00:00