Commit Graph

52 Commits

Author SHA1 Message Date
Jasmine Iwanek
81bb5e564b Better fallthrough annotation macro. 2023-08-09 20:09:36 -04:00
OBattler
c30d5d90b7 PCI and IRQ rework, pci.c rewritten from ground up, fixes numerous issues such as the bridge being added when the number of normal PCI devices equals the number of normal PCI slots, Windows 95 PCI operation on Intel 430NX, sharing of PCI IRQ's with non-PCI level-triggered devices, having both configuration mechanisms operating at the same time (ALi M1435), etc., and makes the code much more readable. 2023-08-07 03:04:52 +02:00
Jasmine Iwanek
d2f42198fd Fix clang build failure 2023-07-26 12:41:18 -04:00
Jasmine Iwanek
db66543959 Apple build fix 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Cacodemon345
03a578708c vid_mga: Make Matrox Millennium multi-monitor compatible 2023-03-07 22:03:04 +06:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -05:00
Cacodemon345
85f38ef7c0 vid_mga: Fix opaque pattern blits 2023-02-17 17:24:04 +06:00
Cacodemon345
68ac52c190 vid_mga: Pattern drawing now works correctly on OS/2 2023-02-17 16:10:06 +06:00
Cacodemon345
104d21f806 vid_mga: Fix Matrox Mystique MGA modes
Clock selection now works properly
2023-01-12 14:00:10 +06:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Cacodemon345
9c775510df video: Make the rest of the FIFO variables atomic 2022-11-07 13:03:19 +06:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
David Hrdlička
e60af6c29d Clean up plat.h a bit 2022-04-20 01:03:39 +02:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
Jasmine Iwanek
3b73ce330c src/video 2022-03-18 18:07:09 -04:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
TC1995
012046bd89 Added the Matrox Millennium card to dev branch and its respective bitblt additions and ROM. 2022-02-03 20:08:46 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
David Hrdlička
7381ab6928 Minor changes to threading
- Renamed `cpp11_thread.cpp` to `thread.cpp`
- Removed features that are only supported by Win32 threads (`thread_wait` with timeout and mutex with spinlock)
- Fixed formatting in `thread.cpp`
2021-12-17 19:59:25 +01:00
OBattler
7047517408 Video threads are now woken before the wait for termination, fixes the hangs. 2021-07-16 19:22:58 +02:00
OBattler
78c3f6759f Removed all usage of TerminateThread()/thread_kill(), thread_wait() is used instead now. 2021-07-16 06:45:32 +02:00
TC1995
fd5ac14f26 Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches. 2021-07-12 22:12:27 +02:00
RichardG867
aed2b179ab Add DPMS support to Mystique 2021-04-13 15:26:12 -03:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
cd0f344221 Video fixes and added the Tseng ET2000. 2021-02-18 21:55:39 +01:00
OBattler
6e233f4ac8 SDL renderer improvements and fixes and added SDL OpenGL option;
Various performance improvements;
Fixed USB UHCI HCHalt;
Cirrus Logic CL-GD 5422/24 fixes and removed them from the Dev branch;
The Storage controllers sections of Settings now has its own corresponding section of the configuration file;
Fixed the AT clock divisors for some Pentium OverDrive CPU's;
Added the ACPI RTC status (no ACPI RTC alarm event yet).
2020-11-26 18:20:24 +01:00
RichardG867
64249d50a3 I2C overhaul part 7: S3 Trio and Cirrus Logic 2020-11-25 00:16:42 -03:00
RichardG867
d6b1d2c63a I2C overhaul part 5: late, but there's still stuff to do 2020-11-23 14:49:49 -03: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
OBattler
6b884112fa The Matrox code now actually uses the DMA bus master API instead of directly accessing the RAM array. 2020-06-07 07:21:27 +02:00
OBattler
3027422e88 PCI graphics cards now correctly use PCI timings instead of VLB timings. 2020-05-06 00:23:07 +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
TC1995
77140b874a Ported the latest Win9x MGA fix from PCem. 2020-04-01 00:40:29 +02:00
TC1995
e9710d4b25 Ported the latest Matrox MGA fixes from PCem.
Removed useless header.
2020-03-31 00:33:49 +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
OBattler
6b46dcc0aa Merge pull request #566 from 86Box/bugfix/mga_fixes
Fixed some fatal's that turned out to be missing parts of the blt and…
2020-03-25 01:49:59 +01:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
590583f7ad Removed an excess log line from the Matrox code and two unnecessary files. 2020-03-23 08:54:32 +01:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
e17c47f590 Disabled excess logging in the Matrox code. 2020-01-21 07:29:28 +01:00
TC1995
e6c75a7f1a Fixed some fatal's that turned out to be missing parts of the blt and the width bpp. 2020-01-19 01:19:40 +01:00
TC1995
4c29f34571 Fixed compile failure. 2020-01-18 21:35:26 +01:00
TC1995
ce8557bf96 Fixed various possible anomalies + implemented a 32-bit bltmod setting required by some Win9x Matrox Mystique drivers. 2020-01-18 21:27:10 +01:00
OBattler
c9b065f9d0 Fixed the Matrox Mystique's on the VIA machine. 2020-01-18 16:52:19 +01:00
OBattler
bde65cb5ce More Matrox clean-ups, fixed the interlaced modes (1920x resolutions now work), and added the Matrox Mystique 220. 2020-01-18 04:33:57 +01:00