Commit Graph

111 Commits

Author SHA1 Message Date
RichardG867
29a0ce48e7 Merge branch 'master' of https://github.com/86Box/86Box 2020-12-03 01:46:04 -03:00
RichardG867
fa6d95db06 Change Cyrix III CPU table according to the recently located Samuel 1 datasheet 2020-11-30 20:14:10 -03: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
71c406069d Fix EuroPC config save crash 2020-11-22 00:22:24 -03:00
RichardG867
98f09bf4ac Improve handling of fixed multipliers 2020-11-19 14:15:34 -03:00
RichardG867
461f8c2c5e Rename the 3V/5V Pentium OverDrives to something that makes a bit more sense 2020-11-18 21:19:26 -03:00
RichardG867
2e0cbd02e5 Add missing voltage value to iDX4 CPUs 2020-11-18 21:07:37 -03:00
RichardG867
fd08b2fdf1 Fix warnings 2020-11-18 19:59:51 -03:00
RichardG867
85a35e0841 Merge branch 'master' of https://github.com/86Box/86Box
# Conflicts:
#	src/cpu/cpu_table.c
2020-11-18 19:57:10 -03:00
RichardG867
149322a06a Rewrite CPU table backwards compatibility system, and fix a crash in the speed clamping code 2020-11-18 19:56:22 -03:00
RichardG867
e8c83a6c09 Add limited forwards compatibility between the old and new CPU systems, and improve speed tier clamping 2020-11-18 17:32:49 -03:00
RichardG867
56ae551ba2 Remove K5 from K6 backwards compatibility tables due to offset mismatches 2020-11-18 16:10:54 -03:00
RichardG867
10732f6f02 Restore special i486DX2 CPUs for the IBM PC 330 2020-11-18 13:51:12 -03:00
OBattler
9fb3a3ed56 Fixed a warning in cpu/cpu_table.c. 2020-11-18 06:00:13 +01:00
RichardG867
dbd767437b Programmatic CPU table 2020-11-18 01:09:17 -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
anabate123
cfe827c342 Fixed the spacing 2020-10-26 17:53:45 -04:00
anabate123
d52249939c Added support for the 133MHz Pentium processor for Socket 5 CPUs 2020-10-26 17:53:05 -04:00
nerd73
6f5cc1f028 Undo anabate's VIA C3 changes entirely
There are no emulated chipsets which officially support 133 MHz FSB.
2020-09-22 23:57:52 -06:00
OBattler
7bff0cdc89 Fixed a typo in the CPU tables. 2020-09-23 07:23:38 +02:00
anabate123
f97a7aadeb Update cpu_table.c 2020-09-22 19:38:24 -04:00
anabate123
fadbd807ef Update cpu_table.c 2020-09-22 19:32:07 -04:00
RichardG867
4107c2090e Fix M6117 clocking mistake; the CPU has a clock divider(!) 2020-09-08 22:19:36 -03:00
RichardG867
a129291a0d Change STPC CPU table to better values, more in line with the 486 CPU list and BIOS identification naming schemes 2020-09-08 22:10:13 -03:00
RichardG867
55b29db14b Finish M6117 implementation 2020-09-08 22:08:34 -03:00
OBattler
70dd4ba3be Generic MO Device ID changes and implemented the VPCEXT instructions (on the Virtual PC 2007 VM only). 2020-07-25 05:14:06 +02:00
OBattler
b52e91f031 Fixed the FPU stuff and added the ability to select the 487SX. 2020-07-22 16:39:57 +02:00
RichardG867
5a34bab430 Fix build 2020-07-07 16:08:36 -03:00
RichardG867
2efdc9aafc Change non-doubled STPCs to non-doubled Cx486DX 2020-07-07 16:06:40 -03:00
RichardG867
fef6e7f082 Set proper CPU speeds for each STPC machine 2020-07-07 16:05:05 -03:00
RichardG867
5e18163b2e Fix STPC CPU identification
Let port 22h/23h registers >= 0xc0 fall through to the Cyrix port 22h/23h code in cpu.c
2020-07-07 15:38:34 -03:00
RichardG867
18a3e4795c Add STPC 75 to CPU table 2020-07-06 21:11:53 -03:00
RichardG867
11114c97d2 Initial implementation of STPC chipsets and machines 2020-07-06 18:45:34 -03:00
TC1995
33eec2ef52 Removed last instances of the deskpro 386 code. 2020-06-17 14:49:23 +02:00
TC1995
f62fc73862 (Re-)added the Deskpro 386, but only in the development/incomplete section of the code definitions.
Selected XT and AT clones can use either their built-in FDC controller or an external one (the IBM AT and Compaq AT machines don't support booting from a 1.44M floppy so this makes the external floppy useful).
Added the FDC to the Adaptec AHA-154xCF ("2" variant) and defaulted to None to keep compatibility with existing FDC's.
2020-06-17 00:32:48 +02:00
OBattler
3e8d27d015 Fixed FPU on RapidCard onwards (fixes OS/2 on RapidCard onwards to no longer think it's a 287) and renamed the Built-in FPU to Internal to be consistent with the rest of the emulator. 2020-06-15 22:49:30 +02:00
nerd73
a4d33513e4 Preliminary port of PCem's FPU timing emulation 2020-06-15 04:11:12 -06:00
OBattler
60ba71cb4b Renamed the three CPU folders to their final names. 2020-06-13 10:54:05 +02:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
nerd73
43816991b6 Patch for the revamp
- Delinked CPU bus speed from PCI speed
- Changed the CPU multiplier from an integer to a double
- Changed the CPU cache/mem cycles on the K6-2s from fractions to integers
- Fixed cache/mem cycles on the faster Cyrix MIIs
- Fixed some spacing issues that I created
2020-01-05 15:56:52 -07:00
nerd73
8e1c0f5337 CPU table revamp
- Added IBM 486SLC2/40 because somehow I didn't know it existed
- Revoked Dynarec support on the IBM 486 CPUs after several PS/2 machines were buggy with it
- Disallowed Pentium OverDrive and 3.3V 486 CPUs on the AMI 486 clone, Award 486 clone, IBM PS/1 2133, and IBM PS/2 model 70 Type 4 due to discovery that they used either Socket 1 or the original 486 socket
- Disallowed split-rail voltage CPUs (P55C, 6x86L/6x86MX, K6) on all Socket 7 FX and some HX motherboards that don't support it
- Fixed a lot of wrong multipliers on 5th-generation CPUs
- Added mem and cache cycles for the faster K6-2s/K6-3s above 300 MHz
2020-01-03 22:59:49 -07:00
nerd73
0a20ac9570 Update cpu_table.c 2019-12-17 06:51:07 -07:00
nerd73
4e8bcfd6ad Add files via upload 2019-12-16 18:10:19 -07:00
OBattler
0d13366e59 Removed some incorrect CPU table entries. 2019-10-21 05:43:19 +02:00
OBattler
544eb0f1c9 The 486SX2 CPU's no longer have the CPUID instruction, fixes #432;
86Box-Dev is now compiled with the new dynamic recompiler, 86Box-Debug is the new debug job the old one and no Dev branch features.
2019-10-15 20:52:39 +02:00
OBattler
64c4a9946e Removed the Pentium II 75 from cpu_table.c that should not have been there in the first place. 2019-09-22 21:46:55 +02:00
OBattler
552a87ea3d Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g  / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
OBattler
c1f18d9abc More 808x fixed - fixed (kind of) the 8086 lock ups and the DRAM refresh wait states, also further fixed (and cleaned up) prefetch queue operation, applied a few warning fixes, and fixed the behavior of PUSH SP - anything that uses it to tell 808x apart from 286 is now fixed;
Re-added the higher-clocked 8088's;
Fixed PIT timings for 808x CPU's that don't run off an 14.3 MHz crystal;
Fixed CGA cursor half blink rate setting - fixes insane cursor blinking speed in several cases;
DMA now issues DMA refresh DRAM states on every channel;
Gave the 1982 years to the previously emulated PC and XT's names, and added the 1981 IBM PC and 1986 IBM XT;
Redid the PPI DIP switch redout for the PC/XT keyboard controller;
Fixed a segmentation fault in hdc_ide.c that tended to occur on hard reset after switching machines;
Implemented the port 3B8 color disable on the Hercules, Hercules Plus, and Hercules InColor cards;
Fixed the joystick configuration dialog strings;
Fixed a problem that would have prevented win_sdl.c from compiling with logging enabled.
2019-02-11 01:33:15 +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
8ebce46734 The 486SX2's and 486DX2's now have the CPUID instruction. 2018-07-24 01:00:48 +02:00