Commit Graph

62 Commits

Author SHA1 Message Date
OBattler
6f2b93923c A lot of fixes - everything now seems to work properly. 2022-02-03 03:10:06 +01:00
Jess Lovelace
4849deb156 added null devices and refactored tables 2022-02-02 17:48:04 -05:00
Jess Lovelace
5398143f42 obsoleting tables for internal names 2022-02-02 16:31:24 -05:00
OBattler
9c7a3477aa Proper reimplementation of C++11 thread event signaling and the network code now uses an atomic instead of mutexes for wait. 2021-12-17 18:48:13 +01:00
RichardG867
ac52052cfa Add PCnet-ISA+ PnP network card 2021-03-22 21:12:58 -03:00
David Hrdlička
339468f25c network: change sys/time.h include to time.h 2020-12-16 20:35:07 +01:00
OBattler
0faf6692c9 WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
RichardG867
3e054a5c45 Improve thread safety and add safeguards to the network packet dumping code 2020-10-17 20:28:30 -03:00
RichardG867
65b1111c11 Restore always-on LPT status bits, except ERROR 2020-10-17 01:52:46 -03:00
RichardG867
852e310c1d Add network debugging feature to dump all packets to a .pcap file when logging is enabled 2020-10-17 01:21:46 -03:00
OBattler
e19ceda157 Even more network timer safeguarding. 2020-07-12 20:21:43 +02:00
OBattler
be9d369a91 A number of bugfixes. 2020-07-12 20:20:06 +02:00
RichardG867
a5e14f2ae7 Improve pcap errors 2020-06-18 21:21:10 -03:00
OBattler
fc28978370 Timer clean-up improvements and some mem.c sanity checks. 2020-05-20 20:35:55 +02:00
OBattler
df3dce487f Fixed a bug in the code for clearing the network queues, should reduce crashes even further. 2020-05-06 00:26:07 +02:00
OBattler
5b87c654e1 Changed the packet structure's data field to a 65536-byte array to need less malloc'ing and free'ing, significantly reducing heap fragmentation. 2020-05-02 02:09:10 +02:00
OBattler
9dc0df4149 Implemented the network transmit queue. 2020-04-30 02:12:59 +02:00
OBattler
bb359ff394 Got rid of an unnecessary memcpy() in the network queue code. 2020-04-30 01:19:01 +02:00
OBattler
ea3d08367e Set minimum network queue period to 128 byte period. 2020-04-30 00:57:11 +02:00
OBattler
0570e21f0f Applied Ryuzaki's Media menu patch, fixed a bug in cpu.c reported by ms. person, fixed bugs (and added a workaround for the Windows 2000 PCnet problems) to mem.c, and added a network packet queue to cap network speed (and do the actual rx poll in the main thread instead) for more stability, also some ES1371 fixes (but not enough to make it work on Linux). 2020-04-29 23:39:54 +02:00
OBattler
a34e5a7d84 Merge branch 'master' of https://github.com/86Box/86Box 2020-04-28 01:01:52 +02:00
OBattler
59822c6c0e Overhauled DMA bus master reads and writes and cleaned up the AMD PCnet code a bit (network queue implementation is pending). 2020-04-28 01:01:39 +02:00
David Hrdlička
2a5382a97b Remove mutex names, fixes #722
Named mutexes are used for inter-process synchronization, using them to synchronize threads of a single process is just begging for trouble when running multiple instances of the application.
2020-04-27 13:24:43 +02:00
David Hrdlička
7d2f9189d3 win: Re-number string table entries 2020-04-26 21:03:31 +02:00
TC1995
2de9a3f37a Set Link State from VBox to 86Box implemented on the PCnet card (any other nics don't have it and will simply return NULL).
The PCnet-based Racal nic now has its own OID to make its drivers happy (according to VBox).
2020-04-20 19:02:13 +02:00
David Hrdlička
a505894a10 Move all include files to src/include
- 86Box's own headers go to /86box
- munt's public interface goes to /mt32emu
- all slirp headers go to /slirp (might want to consider using only its public inteface)
- single file headers from other projects go in include root
2020-03-29 19:53:29 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
1640d48be6 Network changes from TC1995. 2020-03-24 01:02:41 +01:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
7f488e14b9 Final, cleaned up AMD PCnet emulation. 2019-12-02 18:27:40 +01:00
OBattler
841a1f67da Fixed newly-introduced compile-breaking bugs in the network code. 2019-11-14 21:22:54 +01:00
OBattler
aed984c265 Fixed the state of network_wait. 2019-11-14 21:00:52 +01:00
OBattler
9912cc10fe Added the ability to pause and resume the network thread's reception. 2019-11-14 20:59:51 +01:00
OBattler
46d0ed2baa Rewritten 808x CPU emulation core based on reenigne's XTCE, VisiOn, SnatchIt, and 8088 MPH now work correctly;
Fixed PC speaker sound volume in PIT mode 0;
A few CPU emulation clean-ups;
Hard disk controller changing redone in a less messy way;
Re-added the long-missing key send delay handling to the XT keyboard handler;
Fixed a bug that was causing SLiRP not to work when compiled with MingW/GCC 7.3.0-2 or newer;
Some serial mouse and port fixes;
A lot of changes to printer emulation, mostly based on DOSBox-X;
Printer PNG writer now uses statically linked libpng;
Added support for the HxC MFM floppy image format and upped 86F format version to 2.12;
Ported various things from PCem and some from VARCem;
Added the S3 86c801/805 emulation (patch from TheCollector1995);
Fixed and renamed the EGA monitor options;
Better synchronized the 808x to the PIT and the CGA;
Fixed the CGA wait state calculation;
Cleaned up some things in mem.c;
Fixed some things in the floppy emulation to make VisiOn get the correct errors from the copy protection disk;
Fixed several renderer-related bugs, including the SDL2 renderer's failure to take screenshots;
The Jenkins builds are now compiled with MingW/GCC 7.4.0-1 and include all the required DLL's.
2019-02-06 03:34:39 +01:00
OBattler
eaac9e66fc More WD80x3 NIC fixes. 2018-10-23 01:06:00 +02:00
OBattler
d56df03a53 Ported the WinPcap thread's packet sanity checks to the SLiRP thread - SLiRP is now more stable;
Unified all three NIC families' DP8390 chip implementations in net_dp8390.c/h;
Some fixes for the WD8013EBT NIC;
Network status bar icon updating is now done at WinPcap/SLiRP handler level, not at the NIC level anymore.
2018-10-19 00:37:25 +02:00
TC1995
5e00e390de NE/2 changed to a NE/2 compatible card (Ethernext/MC).
Added NCR Business Audio MCA card (Windows Sound System compatible) and its copyright information
2018-08-11 17:48:51 +02:00
TC1995
0c01e1d7a8 Updated copyright info. 2018-07-19 16:11:34 +02:00
TC1995
2fecef0741 Preliminary 186 emulation.
Added MCA variant of the ET4000 VGA card.
Added NE/2 Netware card.
Corrected timings of the NCR 5380-based cards.
Added the WD8003E (8-bit ISA), WD8013EBT (16-bit ISA) and WD8013EP/A
(MCA) network cards.
2018-07-19 16:01:31 +02:00
OBattler
950ce8f5aa Added the 3Com 3C503 Network card;
Several bug fixes;
Preliminar addition of the SDL 2 renderer (does not yet work correctly in full screen mode);
SCSI devices no longer have configurable LUN's (this matches the configurability of real SCSI devices);
SCSI LUN's are now handed by the device's handler;
Removed all unused strings;
Removed some unused code files;
Significantly rewrote the bus mouse emulation.
2018-07-15 01:41:53 +02:00
OBattler
5d8deea63b Changes to logging - nothing (other than some parts of pc.c) uses the global pclog anymore (and logs will be almost empty (until the base set logging flags is agreed upon);
Fixes to various hard disk controllers;
Added the Packard Bell PB640;
Fixed the InPort mouse emulation - now it works correctly on Windows NT 3.1;
Removed the status window and the associated variables;
Completely removed the Green B 486 machine;
Fixed the MDSI Genius;
Fixed the single-sided 5.25" floppy drive;
Ported a CPU-related commit from VARCem.
2018-05-21 19:04:05 +02:00
OBattler
b1efb99ed6 Applied a whole slew of patches, getting RAM usage down by a further 10 MB. 2018-03-19 01:02:04 +01:00
OBattler
b6c393cc91 Numerous CD-ROM fixes (and disc changes now work correctly in Windows 98 SE);
Slight reworking in the mouse and network code (ported from VARCem) in preparation for a major change that will const a lot of things to further reduce RAM usage.
2018-03-18 20:48:10 +01:00
OBattler
e0a9de85c9 Changed several char arrays all around the code to const char pointers, debloats the executable file from 8.7 MB to 5.6 MB;
Replaced the Cirrus Logic code with the latest code from TheCollector1995 - the CL-GD 5428 is now fully working, as is the CL-GD 5429;
Minor clean-up in the AHA/BusLogic BIOS commands code;
Slightly rewritten mem_readb_phys_dma() and mem_writeb_phys_dma().
2018-02-18 10:32:51 +01:00
OBattler
bd7e955b64 Finished the NE1000 (per patch from TheCollector1995) and added the RTL8019AS ISA PnP, finalizing the work on NE1000/NE2000-compatible network cards;
Disabled excess ZIP logging;
Applied the PCem video and SCAT commits;
Restored the video initialization line in pc.c back to where it was before.
2018-01-28 03:15:01 +01:00
waltje
7c67e867c8 Major commit, cleaning a lot of old stuff.
IBM.H is gone, video stuff re-organized. Keyboard stuff reorganized.
Machines that have their own video, mouse and/or keyboard now have all this in their machine file.
Fixed and other cleanups here and there.
2017-11-05 02:00:50 -05:00
waltje
bfe038ded9 Cleanup, mostly network threading madness. Statusbar is now created at hard reset, IF the configuration has changed. Other minor things. 2017-10-29 04:20:59 -05:00
waltje
0659f5fe6a Whoops, and moved the config variables to pc.c. 2017-10-19 21:26:09 -04:00
waltje
555a14746c Merge branch 'master' of https://github.com/OBattler/86Box 2017-10-19 21:09:20 -04:00
waltje
0af26c1c3b More cleanups, also updated Makefile.local with all "user-settable" parts. 2017-10-19 21:08:41 -04:00