summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/netdev
Commit message (Collapse)AuthorAgeFilesLines
* Fixed up some stuff: Vas Crabb2025-04-251-28/+25
| | | | | | | | | * apple/mac128.cpp, apple/macii.cpp: Added CPU family filters to floppy and hard disk lists. * apple/mac128.cpp: Added fine-grained model filters to software lists because of badly behaved booters. * mac_flop_orig.xml: Fixed compatibility filters for '000 booters (ignoring the Portable/PB100 for now). * netdev/pcap.cpp: Don't return a pointer to a buffer on the stack that's about to be unwound. * seta/ssv.cpp: Fixed width of DSP RAM acccess handlers.
* netdev/pcap.cpp: Fix build errors. Vas Crabb2025-04-231-39/+40
|
* osd: Got rid of the gross globals and functions for manipulating them in the ↵ Vas Crabb2025-04-236-73/+225
| | | | network modules.
* osd: remove mac address filter from osd (fixes #13586) (#13614) Patrick Mackinlay2025-04-222-32/+2
| | | | | * dp8390: improve address filtering * osd: remove mac address filter from osd (fixes #13586)
* -heathzenith: Removed trivia file - content should be on wiki, etc. Vas Crabb2024-05-291-3/+2
| | | | -Fixed various warnings.
* osd: Cleaned up MIDI and network interfaces a little more. Vas Crabb2024-03-012-4/+4
|
* osd/osdnet.cpp: Removed dependency from OSD network device to libemu. (#12058) Vas Crabb2024-02-252-25/+34
| | | | * This allows save states to be created and loaded when network interfaces are present. * device_network_interface may need some more attention to get save states taken while receiving a packet to work properly.
* taptun: fix adapter detection on windows for newer versions of taptun driver Patrick Mackinlay2023-04-251-9/+14
|
* Reduced usage of sprintf. (#10892) Erik2023-02-201-4/+3
|
* Various input and OSD refactoring: Vas Crabb2023-01-294-29/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* OSD/network interface cleanup AJR2022-08-282-0/+2
| | | | | | | - Move osd_midi_device from osdcore.h to osdepend.h - Move osd_list_network_adapters from osdcore.h to osdnet.h (was already defineduniquely in osdnet.cpp) - Move #include <cstdarg> from osdcore.h to emu.h - Remove dinetwork.h from emu.h
* -ui: Made zoom controls a bit more intuitive. Vas Crabb2021-09-061-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The UI controls are described as zoom in/out, but they had the opposite effect on the palette and tile viewers. That has been changed to make them consistent with the tilemap viewer. * Made the default zoom key not act as a toggle. People are familiar with the function of Ctrl+0/=/- in web browsers, so making them behave similarly in MAME should make it more approachable. Also added the default zoom key to the relevant documentation page. * Implemented the default zoom key for the palette and tile viewers. * In the tilemap viewer, if the view is in default expand to fit mode, zoom in/out starting from the actual zoom ratio. Once again, this behaves more like the zoom controls in a web browser displaying an image so it should be more intuitive. * Made more messages from the tilemap viewer localisable. -util/zippath.cpp: Fixed MT08074. * There were multiple issues at play here. After #8443 was applied, is_root was simply never returning true on Windows, as OSD_WINDOWS isn't actually defined outside libosd and libocore. This caused phantom parent items to appear in disk roots on Windows, but it meant that the check in zippath_resolve would always fail so the trailing backslash would be trimmed. Fixing the macro test in is_root meant the trailing backslash from C:\ would no longer be trimmed, which caused the stat in zippath_resolve to fail. -bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost. -Reduced tag map lookups in several drivers and devices. -util/coretmpl.h: Removed an overload of bitswap that can be avoided using if constexpr. -Added doxygen comments to some classes, and fixed several doxygen warnings. -util, osd: Test for _WIN32 rather than WIN32. * In C++17 mode, WIN32 is no longer a predefined macro, although various things in 3rdparty define it to maintain legacy support. We're better off moving forward anyway for when WIN32 disappears entirely. (WIN32 is not a reserved name, while _WIN32 is, starting with an underscore follwed by an uppercase letter.)
* unicode.h: Updates AJR2020-12-151-0/+1
| | | | | - Remove from emu.h (except for UTF8_xxx macros, which have been transplanted to emucore.h since a lot of drivers use them) and osdepend.h - Add std::string_view overrides for uchar_from_utf8 and normalize_unicode
* Got rid of global_alloc/global_free. Vas Crabb2020-10-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The global_alloc/global_free functions have outlived their usefulness. They don't allow consistently overriding the default memory allocation behaviour because they aren't used consistently, and we don't have standard library allocator wrappers for them that we'd need to use them consistently with all the standard library containers we're using. If you need to change the default allocator behaviour, you can override the new/delete operators, and there are ways to get more fine-grained control that way. We're already doing that to pre-fill memory in debug builds. Code was already starting to depend on global_alloc/global_free wrapping new/delete. For example some parts of the code (including the UI and Windows debugger) was putting the result of global_alloc in a std::unique_ptr wrappers without custom deleters, and the SPU sound device was assuming it could use global_free to release memory allocated with operator new. There was also code misunderstanding the behaviour of global_alloc, for example the GROM port cartridge code was checking for nullptr when a failure will actually throw std::bad_alloc. As well as substituting new/delete, I've made several things use smart pointers to reduce the chance of leaks, and fixed a couple of leaks, too.
* Revert "fixed some modernize-use-equals-default clang-tidy warnings (… (#6360) Oliver Stöneberg2020-04-083-3/+3
| | | | | | | * Revert "fixed some modernize-use-equals-default clang-tidy warnings (nw)" This reverts commit 54486ab9 * fixed merge error
* fixed some modernize-use-auto clang-tidy warnings (nw) (#6238) Oliver Stöneberg2020-01-302-2/+2
|
* fixed some modernize-use-equals-default clang-tidy warnings (nw) (#6237) Oliver Stöneberg2020-01-303-3/+3
|
* use C++ library includes (nw) firewave2020-01-221-1/+1
|
* Fix crashiness on OS X when the network device couldn't be opened (nw) arbee2018-11-221-0/+3
|
* taptun: and formatting too (nw) Patrick Mackinlay2018-11-211-1/+1
|
* taptun: bollocks (nw) Patrick Mackinlay2018-11-211-1/+1
|
* taptun: padding and fcs on Linux too (nw) Patrick Mackinlay2018-11-211-5/+10
|
* fix clang build (nw) smf-2018-09-061-1/+1
|
* interpro: notworking -> networking (#3815) Patrick Mackinlay2018-09-041-4/+36
| | | | | | | | | | | | | | | | | | | * interpro: notworking -> networking These changes combine to make InterPro networking work on Windows with the TAP-Windows6 driver. * osdnet: add a receive delay (1 frame) after transmit to avoid a time-travel problem * taptun: pad short Ethernet frames and append FCS (Windows-only until Linux taptun behaviour is verified) * clipper: fix bugs in carry flag handling, prefer sign bit for tests * i82586: fix transmit bug, handle reset * networking: delayed transmit/receive A second attempt to fix networking on InterPro systems, by introducing somewhat realistic delays into network transmit and receive paths. This version works by adding functions to device_network_interface which enable a device to be informed when the transmit or receive completes. The delay is only crudely approximated based on the specified bandwidth and the number of bytes being transmitted, but it should be good enough in practice. Existing drivers should not be impacted by these changes; overriding the new functions (and no longer overriding recv_cb) is necessary to obtain the new behaviour. Changes from the previous commit: * i82586: improve interrupt handling, implement delayed transmit/receive behaviour * dinetwork: add transmit/receive delay timers, handlers and logic * osdnet: remove receive delay, add the ability to start the receive timer
* (nw) more render work: Vas Crabb2018-07-311-4/+3
| | | | | | | | | | | | * Clean up some corner cases in layouts with repeating blocks * Make complay.py validate many more elements and attributes * Make complay.py easier to use for just validating a layout * Remove redundant view from Sega VMU layout * Make buttons visually respond to input in whousetc.lay * Add view with LED displays as well as terminal for aim65_40 and use repeats * Clean up some outdated "game" terminology in clifront.cpp * Initiaise a couple of members in tap/tun network module * Start documenting layout format
* taptun: add support for Windows (#3790) Patrick Mackinlay2018-07-301-0/+190
| | | | | | | | | | | | | | | | | | | * taptun: add support for Windows Looking for feedback only at this point, because it's the first time I've attempted any OSD stuff - be gentle. This extends the existing taptun OSD module to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6). * TAP-Windows6 is GPLv2, however only the header file is required in MAME, and the driver itself is entirely optional. * I've tried to minimise the size of the diff, rather than completely separate the Windows/non-Windows implementations - not sure which is preferable in this case. * The license file has Mac(?) line-endings - unsure if they should be normalized or used verbatim. * Uncertain about the non-Windows case (or the Windows SDL case) - existing code uses __linux__, but I'm not clear on how that works with OSX, for example? * I can't claim this actually "works" yet, because I don't know enough to configure the tap end of it properly to get networking doing something useful, but I will get there and correct anything necessary in a subsequent real PR. * minor fixes/improvements (nw) * Use Unicode Windows APIs, and UTF-8 for MAME * Deal with unterminated registry string values * Cancel any pending I/O in destructor
* Move special windows.h include directives to build defines (nw) Brad Hughes2016-12-281-1/+0
|
* Small cleanup (nw) Miodrag Milanovic2016-11-111-1/+4
|
* simplified memory allocation for osd_module (nw) Miodrag Milanovic2016-11-111-0/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-222-12/+12
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* Cleanup and version bumpmame0175 Miodrag Milanovic2016-06-291-1/+1
|
* Change two dynamic bind messages to verbose. Brad Hughes2016-06-171-1/+1
|
* Introduce dynamic_module Giuseppe Gorgoglione2016-06-111-109/+72
| | | | | This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it.
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-18/+18
|
* pcap: fix error and crash (nw) cracyc2016-02-241-2/+2
|
* fixing some more override (nw) Miodrag Milanovic2015-12-062-7/+8
|
* more cleanups and fix (nw) Miodrag Milanovic2015-11-111-2/+2
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-083-0/+0
|
* making logerror part of machine and device classes [Miodrag Milanovic] Miodrag Milanovic2015-11-011-6/+6
| | | | display tag of device that logged message
* netdev: fix pcap crashes on OS X [Rob Braun] arbee2015-09-101-1/+8
|
* did license settings for OG and Andrew, cleared up OSD part for licenses (nw) Miodrag Milanovic2015-05-094-8/+8
|
* Added license headers to the rest of files (nw) Miodrag Milanovic2015-05-074-0/+8
|
* Make OSD options an init parameter for modules Vas Crabb2015-04-073-4/+5
|
* Fixed non-unicode builds (nw) Miodrag Milanovic2015-04-061-4/+9
|
* netdev: fix race condition/crash when using the OSD to choose pcap devices. ↵ arbee2015-04-011-2/+14
| | | | [Rob Braun]
* Link osdnet into a library reflecting its location, define USE_NETWORK ↵ Vas Crabb2015-04-012-2/+2
| | | | properly, don't use SDL in non-SDL-specific macros
* Cleanups and version bumpmame0159 Miodrag Milanovic2015-02-251-7/+6
|
* Add a netdev provider "none" as a fallback doing nothing. couriersud2015-02-021-0/+18
|
* Missed one file. (nw) couriersud2015-01-301-0/+26
|
* Converted pcap and taptun network code into modules. (nw) couriersud2015-01-302-0/+444