Commit Graph

79 Commits

Author SHA1 Message Date
Jookia
ee071c5853 ethernet_slirp: Add libslirp EthernetConnection backend
The existing Ethernet connection implementation is PCAP-based. This
allows bridging your virtual machine directly to the host's network, but
requires elevated permissions on your OS and appropriate drivers which
often aren't available on Wi-Fi cards.

This commit adds a libslirp-based backend that provides just enough
internal networking to handle TCP/IP out of the guest to host, LAN or
Internet. As such things like ICMP, IPX and NetBIOS don't work properly.

The use case for this connection is to give Internet access to the guest
for things like IRC, HTTP and other connections to online services.
2021-03-06 09:17:00 +11:00
Jookia
9a2af73a2a ethernet_pcap: Move NE2000 pcap code to PcapEthernetConnection
This change separates the pcap code out of the NE2000 code to its own
EthernetConnection backend, and modifies the NE2000 to use the
EthernetConnection abstraction.
2021-03-06 09:16:59 +11:00
Jookia
ca9111abc2 ethernet: Add EthernetConnection interface
Currently DOSBox-X only supports one emulated network adapter and one
network backend: the NE2000 using libpcap.

In order to change either of those we need an abstraction between them,
and as such I've written the EthernetConnection interface.

The EthernetConnection interface will be used by emulated network
adapters (such as the NE2000) to send and received Ethernet frames to
and from the guest, usually through a DOS packet driver.

The actual implementation of EthernetConnection objects will take the
packets sent from the emulated network adapter and pass them to some
kind of backend (such as libpcap) then pass any received packets from
the backend back to the guest network adapter.

This will allow more emulated Ethernet adapters and more network
backends to be implemented with minimal changes to unrelated code.
2021-03-05 05:39:11 +11:00
Wengier
7b0545166f Add REPLACE command 2021-02-13 04:11:46 -05:00
Wengier
430f2fb795 add CHCP command and more codepages 2021-02-05 18:07:02 -05:00
Allofich
3ce680aef6 Move file in VS project to match actual directory 2021-01-31 17:31:35 +09:00
Allofich
fdbedcddbd Add core_dyn_x86 folder to VS solution 2021-01-23 03:38:15 +09:00
Wengier
f205441713 fixes 2020-12-20 15:44:15 -05:00
Jose Phillips
a7a8bae1b6 Support for OPL3Duo Board 2020-11-29 17:11:33 -05:00
Wengier
ee3121006a more TTF improvements, including support for non-Windows platforms 2020-11-14 19:31:17 -05:00
Wengier
a5ff5c232f Add OPUS CDDA support 2020-10-27 05:21:41 -04:00
Wengier
9b6f987d2e move fluidsynth files and fix -socket option 2020-10-22 19:22:59 -04:00
Wengier
39cea90974 re-add dynamic x86 core 2020-10-12 02:17:44 -04:00
Wengier
e725360f94 Add SORT command 2020-09-27 10:30:03 -04:00
Wengier
b14ae08cc4 move src/xBRZ to src/libs/xBRZ 2020-09-23 19:17:52 -04:00
Wengier
4c3432c3c7 updated MUNT MT32 to version 2.4.0 2020-09-23 16:20:47 -04:00
Wengier
923f7e24f6 move src/mt32 to src/libs/mt32 2020-09-23 12:01:48 -04:00
Wengier
b6a718f323 Included FluidSynth for VS builds 2020-09-22 12:20:43 -04:00
Wengier
52f855bee9 update README 2020-09-19 21:32:27 -04:00
Jonathan Campbell
b22a301710 Merge pull request #1807 from josephillips85/master
Support for OPL2 Audio Board
2020-08-19 15:26:57 -07:00
Wengier
301abc3b34 support for glide wrapper 2020-08-04 22:01:51 -04:00
Wengier
2622e14e35 CP 853 2020-07-30 15:20:07 -04:00
Wengier
33717bfe5b CP 808 mods 2020-07-30 10:23:33 -04:00
Wengier
186c07a3ea CP 872 2020-07-29 18:18:20 -04:00
Wengier
7a9a27c2a4 CP 857/863/869 too 2020-07-29 17:47:44 -04:00
Wengier
bbf35dba92 Add CP 852/855 2020-07-29 15:05:37 -04:00
Wengier
2f39b7171e Add codepage 850/858 and changing options via config 2020-07-29 13:23:04 -04:00
Jose Phillips
ca69eecfd2 Support for OPL2 Audio Board 2020-06-13 01:45:14 -05:00
Phil Krylov
932a2774d6 Add CP866 to translated filesystem codepages 2020-06-09 03:28:05 +03:00
Jonathan Campbell
43efd9c626 Update VS2017 projectfile 2019-10-27 21:15:24 -07:00
Jonathan Campbell
102ab08080 Update VS2017 project file to reflect zmbv.cpp change 2019-10-01 10:32:41 -07:00
Jonathan Campbell
802f9f1f53 hardware.cpp includes zmbv.cpp directly, do not reference directly in project file 2019-09-29 12:26:54 -07:00
Jonathan Campbell
844a5a8f86 vs2017 fixup 2019-09-29 12:20:58 -07:00
Allofich
ede502b087 Add missing files to Visual Studio solution 2019-09-30 00:02:46 +09:00
Allofich
c6747e1042 Merge MAME sound from SVN, except Tandy 2019-06-18 22:36:46 +09:00
Allofich
4fc44b8f98 Remove empty file 2019-06-15 20:13:23 +09:00
Allofich
33add91792 Finish removing modules.h from the VS2017 solution 2019-06-15 20:13:22 +09:00
Allofich
9c9f9a3059 Add midi.h to Visual Studio solution 2019-05-14 20:25:11 +09:00
Allofich
806ffc7aa6 Remove core_dyn_x86.cpp from VS solution 2019-04-28 22:57:40 +09:00
Jonathan Campbell
b65b4698ff VS2017 update project and solution 2019-04-10 22:57:17 -07:00
Jonathan Campbell
15a4f4223b Update VS2017 2019-04-09 17:37:49 -07:00
Jonathan Campbell
174c00c9fa VS2017: Include dynrec CPP, add define for x86_64 2018-11-29 00:27:24 -08:00
Jonathan Campbell
8c1b3c414d Update VS project 2018-08-22 22:20:03 -07:00
Alex/AT
e4f063929b - Include FreeType library and new printer code into compilation, add configuration option
- TODO: fix up FreeType runtime library re-importing (lots of warnings)
- TODO: fix up type conversion warnings inside printer.cpp
- Linux compilation path also probably needs fixes, the configure option and FreeType dependency
2018-07-26 17:34:53 +03:00
Jonathan Campbell
924e215615 Update VS2015 project for ZIP additions. Change ssize_t to int because it triggers an irrational fear in Visual Studio 2017 for some reason. 2018-07-12 15:05:15 -07:00
Alex/AT
60595769be - Adjust D3D related file positions in VS2015 project 2018-07-01 13:00:27 +03:00
Aybe
2ae1e37c14 VS filters now mimic /src 2018-07-01 02:38:15 +02:00
Aybe
a8a2d2d7c9 Added missing outputs to project. 2018-06-30 20:22:03 +02:00
Alex/AT
d89ac281e3 - Splitted out SDL2 surface output code builds now
- Split SDL1 and SDL2 dependent output_surface.cpp parts into separate files to improve readability
2018-06-30 14:46:01 +03:00
Alex/AT
100bdf0c95 - No functional changes in regards to majority of the code
- Start partial refactor of sdlmain.cpp output code
- Move general definitions into sdlmain.h (incomplete)
- Move little part of OpenGL output related code out
- Move almost all of surface output related code out
- Generalize xBRZ postscaling operations into their own respective function to reuse

- Bugfix: commits 3a8d77f and ebdfc33 break intentional output window fill-in for xBRZ
- Minor: non-ppl runs can be done without granularity based loop, adjusted

- TODO: continue factoring out output code
- TODO: SDL2 build is probably not xBRZ-capable now
- TODO: see what can be used instead of ppl taskgroups for other platforms, xBRZ is too slow without parallel processing
- TODO: adjust other build configurations to include new source files / headers
2018-06-30 13:59:11 +03:00