Commit Graph

13580 Commits

Author SHA1 Message Date
Volker Ruppert 533e2f7c76 Some USB debugger config parameter changes.
- Changed USB debug type defines to enum.
- Trigger options depend on the debug type parameter.
- Minor related changes.
2024-06-16 10:33:14 +02:00
Volker Ruppert 3118f0dec4 Some work on the USB debugger code.
- Moved USB debugger options to the "ports" subtree to make them available in
  the start menu dialog.
- Replaced direct device object access with save/restore tree access for
  compatiblity with the plugins support.
- Minor related changes (removed some hacks, added helper functions).
- FIXME: MSVC build fails to show dialog, closes Bochs session instead.
- FIXME: MSVC plugins version fails to link win32config DLL.
2024-06-15 14:57:10 +02:00
Volker Ruppert f6975151f3 Removed trailing spaces from USB debugger code.
TODO: Rewrite of USB debugger code to make it compatible with Bochs plugin support.
2024-06-14 23:08:41 +02:00
Stanislav Shwartsman 8712a316d2 fix for issue #326 2024-06-14 19:43:46 +03:00
Volker Ruppert 3be49b57f7 Added some missing changes after updating LGPL'd VGABIOS. 2024-06-10 22:14:01 +02:00
Volker Ruppert dcc794a7d3 LGPL'd VGABIOS updated to version 0.9b (several VBE bugfixes).
Now using ".bin" file extension for all VGABIOS images.
2024-06-09 16:27:18 +02:00
Volker Ruppert 730fe8e813 Enable debugger gui only if available (wx handling was incorrect). 2024-06-04 20:39:12 +02:00
Volker Ruppert f3e2cbff5c Fixed GTK library version check for the gui debugger. 2024-06-03 22:18:47 +02:00
Volker Ruppert a23bac15e5 Fixed two legacy SDL key handling issues.
- Scroll lock release now works again (Formerly used as fullscreen toggle).
- Attempt to fix Pause / Ctrl+Break key handling (possibly SDL issue).
2024-06-02 19:28:08 +02:00
Volker Ruppert 3bcd697be5 Banshee / Voodoo3: More accurate check for address wrap during update(). 2024-06-02 14:40:46 +02:00
Volker Ruppert 12e78032af Banshee / Voodoo3: Fixed check for address wrap during update(). 2024-06-01 08:11:09 +02:00
simoc 9264301293
Fixed spelling of word "destination" in log message (#324)
Fixed spelling of word "destination" in log message.
2024-05-31 14:54:13 +02:00
Volker Ruppert 3e8c074580 Fixed SDL2 fullscreen toggle. 2024-05-30 22:19:07 +02:00
simoc e7e76cfb5c
Minor grammar improvements in README and user.dbk documentation (#323)
Minor improvements to English grammar in documentation files.
2024-05-30 19:07:40 +02:00
Volker Ruppert dc10a4195d Fullscreen mode fixes for the win32 gui.
Clear screen on top of dimension_update() to get rid of artifacts from previous resolution.
Adjust tile height at the bottom of the display if necessary.
2024-05-30 13:46:27 +02:00
Volker Ruppert 244e35af87 Banshee: Skip address wrap during display update to avoid segfault.
Original Banshee / Voodoo3 VGABIOS reporting wrong number of image pages in
VBE mode info of at least mode 640x480x8. Issue found with vbetest program.
2024-05-25 22:21:37 +02:00
Volker Ruppert 426bd50b90 Cirrus VGA fixes to make original VGABIOS work correctly with XP (#319).
- Allow BitBlt start after BitBlt reset with one register write.
- Using dstpitch = 0 is valid if bltheight = 1. Skip redraw to avoid division
  by zero error. Win2k and XP are using these settings at startup and expect a
  small piece of memory to be set to 0xff. That's why the LGPL'd VGABIOS for
  Cirrus still has the Win2k hack clearing all memory with 0xff.
2024-05-25 15:18:21 +02:00
Volker Ruppert 9c356c4f2e Enable slirp IPv6 support by default.
Added slirp config option "ipv6_prefix".
2024-05-23 19:01:40 +02:00
Volker Ruppert 87c3e4be79 Changed version of libslirp source to 4.8.0. 2024-05-22 17:06:19 +02:00
Volker Ruppert fe390c3921 Builtin slirp: Last set of updates from libslirp 4.8.0. 2024-05-22 17:02:57 +02:00
Volker Ruppert da41022ee2 Builtin slirp: Some more updates from libslirp and warning fixes. 2024-05-20 18:37:24 +02:00
Volker Ruppert 7b2a322d2f Fixed off-by-one bug when reading from ROM with len > 1. 2024-05-20 17:47:23 +02:00
Volker Ruppert ccfdb05e29 Builtin slirp: First set of updates from recently released libslirp 4.8.0.
- icmpv6: added echo request forwarding support
- tftp: fixed use-after-free and added cleanup code
- eth: pad ethernet frames to 60 bytes
2024-05-20 12:00:59 +02:00
Volker Ruppert 16e5f5828b Builtin slirp: Added some replacement macros for glib ones.
Now slirp_new() checks correctness of config settings.
Some other small additions and cleanups.
2024-05-19 18:32:18 +02:00
Volker Ruppert b76ead90ed Builtin slirp: several fixes and additions.
The slirplog object must exist before calling slirp_new().
Function slirplog_error() can handle arguments now.
Most of the fprintf() calls replaced by slirplog_error().
Added IPv6 host forwarding feature (not yet used by Bochs).
Added stubs for slirp_connection_info() and slirp_neighbor_info().
Fixed some warnings.
2024-05-18 23:14:45 +02:00
Volker Ruppert c5435aef15 Improved builtin slirp debug message support.
All DEBUG_* messages now ported from libslirp and connected to the Bochs
logfunctions method ldebug().
Function slirp_warning() renamed to slirplog_error() (TODO: it should also be
able to handle arguments and replace the fprintf(stderr, ...) stuff).
2024-05-18 16:00:07 +02:00
Volker Ruppert 9e9e1f5e28 Some additions for the builtin slirp support.
Started implementing slirp debug message support. For now DEBUG_CALL messages
can be sent to log file by setting new option 'debug_switches' to 1.
Moved function slirp_warning() to slirp.cc (TODO: change fprintf() to slirp_warning()).
Updated some tcp_emu() stuff from libslirp (not yet used by Bochs).
2024-05-17 20:00:53 +02:00
Volker Ruppert 64e4671c00 Builtin slirp: Added IPv6 support from libslirp code.
TODO: replacements for glib function, debug support, code cleanup.
2024-05-16 23:31:47 +02:00
Volker Ruppert 7dd1a7be9e Big update of builtin slirp networking support (IPv4 only).
Update of existing files based on libslirp 4.7.0 code. It compiles and works
on Linux (gcc 10.4) and Windows (mingw/msys with gcc 14 and VS2019).
Functionality tested on both platforms with Linux guest OS (Firefox shows website).
Next step will be the start of the IPv6 integration.
2024-05-14 20:48:17 +02:00
Volker Ruppert 91c7c1c50a Automatic tab2space changes. 2024-05-13 22:06:12 +02:00
Volker Ruppert f6d772982e New attempt to fix issue reported in discussion #318.
New style callbacks code now requires standard C++17.
With this setting VS2019 can compile the iodev_network module.
2024-05-13 17:41:35 +02:00
Volker Ruppert 7dcecf5e57 Attempt to fix issue reported in discussion #318.
Added code compatible with C++11.
2024-05-12 21:11:24 +02:00
Volker Ruppert f612821c97 Enabled new polling callbacks for builtin slirp.
Big slirp update coming soon.
2024-05-12 08:29:07 +02:00
Stanislav Shwartsman c1472a521a update MSVCPP project files 2024-05-12 08:09:22 +03:00
Volker Ruppert eb477d7bb2 Some work on the builtin slirp core.
- Updated function arp_input() and related code.
- Updated get_dns_addr() functions for 3 different platforms (Apple code untested).
- Started updating IPv6 header file for C++ compatibilty (to be continued).
- Some other small updates.
2024-05-09 11:29:32 +02:00
Volker Ruppert 4d5d31170c BIOS: Fixed lslul helper function similar to lsrul. 2024-05-09 09:41:06 +02:00
Volker Ruppert 49736ddcf0 More accurate fix for the BIOS issue #268.
- lcmpul needs to preserve EAX and EBX, since the result is read from status flags.
- lsrul should not preserve EBX but ECX. The loword of the argument and result is in AX
  and the hiword in BX. Now doing the shift operation with the 16-bit registers
  (lsr bx / rcr ax).
- TODO: the other helper functions need to be reviewed.
2024-05-09 00:46:11 +02:00
Volker Ruppert 8a30642092 Continued updating builtin slirp code (no functional changes).
- Some variable type name changes.
- DEBUG code changes (not yet usable).
- Comment additions and tab-to-space changes.
2024-05-07 19:47:57 +02:00
Volker Ruppert e64ec27113 Compilation fix for libslirp on mingw/msys.
Unlike the official release, the mingw* version of libslirp.h doesn't define slirp_ssize_t.
2024-05-06 17:22:47 +02:00
Volker Ruppert 140e2e96ae Bochs BIOS: helper functions lcmpul and lsrul need to preserve EBX.
This fixes issue #268.
2024-05-06 16:28:48 +02:00
Volker Ruppert 5489f18ff2 Some work on builtin slirp header files.
- Get rid of slirp_config.h.
- Added ip6_icmp.h (not yet used).
- Updates in some other headers.
- Added c++ static_assert for structure size checking at compile time.
- Updated Makefile dependencies and VS2019 project files.
2024-05-05 20:00:45 +02:00
Volker Ruppert a684734975 Next set of updates from libslirp.
- Started implementing guest forwarding feature.
- Updated most of socket.h.
- Added if_mtu / if_mru handling.
- Cleaned up MIN / MAX defines.
2024-05-05 12:27:12 +02:00
Volker Ruppert b84ebf5dfc Fixed text mode cursor rendering in win32 gui (issue #314). 2024-05-04 11:27:06 +02:00
Volker Ruppert b18a1e7c48 Fixed text mode cursor blinking (not depending on text blink feature). 2024-05-04 08:40:00 +02:00
Volker Ruppert 94f6336d15 Continued updating builtin slirp from libslirp.
- Cleaned up system includes in slirp.h and removed most of the HAVE_* defines.
- Renamed exec_list to guestfwd_list and removed ex_pty member.
- Using type "char *" instead of "caddr_t".
2024-05-03 20:58:46 +02:00
Volker Ruppert 74df052eea Updated slirp polling functions from libslirp. 2024-05-02 23:30:48 +02:00
Stanislav Shwartsman f199d64170 reduce further f128 computation precision to get closer to real x87 hw
truncate on 80 bit now
2024-05-01 07:28:05 +03:00
Volker Ruppert b0f238af76 Continued updating slirp code from libslirp (no functional changes). 2024-04-29 22:38:10 +02:00
Volker Ruppert 47f9e4bc12 Builtin slirp: Continued updating from libslirp code.
Processed chksum.cc and dnssearch.cc.
Removed obsolete / unused stuff from compat.h and slirp_config.h.
2024-04-28 21:05:41 +02:00
Stanislav Shwartsman a3fd1fef26 fix for double overflow 2024-04-28 16:25:20 +03:00