Commit Graph

42 Commits

Author SHA1 Message Date
nerd73
08b4622348 Improvements to P6 timings
- Removed the RISC86 references
- Some cleanup
- Balancing fixes, so performance should be more accurate
2020-05-09 14:42:22 -06:00
OBattler
20cf306d44 Better fix for the P6 timings. 2020-04-25 22:14:43 +02:00
OBattler
6033f4480c Fixed P6 timings so they no longer fatal (and removed the 3DNow! stuff from them), and also fixed the Distributed DMA bug reported by TheCollector1995. 2020-04-25 22:02:48 +02:00
nerd73
fe6df042be Implement a proper P6 timing model 2020-04-25 03:24:59 -06:00
OBattler
d20c5d525c Fixed the old dynarec's MOD R/M tables to include the 3DNow! instructions, and both dynarec's MOD R/M tables to include the i686 hintable NOP's. 2020-04-23 01:07:11 +02:00
OBattler
8c0bafd16f Fixed new recompiler's codegen.h. 2020-04-10 20:11:16 +02:00
OBattler
2a0b3eb9c5 Added PAE, ported K6, P6, and WinChip 2 timings to the old recompiler, added a bunch of CPU's to the old recompiler, done some x87 fixes for both recompilers, added PAE, and fixed root directory entries for single-sided 5.25" DD floppies in the New Floppy Image dialog. 2020-04-10 01:08:52 +02:00
nerd73
312b96a897 Hacky P6 timing model based off K6 timings 2020-04-06 22:44:26 -06:00
GH Cao
75ca50ce17 allow new dynarec can be built for Windows ARM 2020-04-04 20:50:34 +08:00
GH Cao
9ed018eb96 new dynarec: Stop using WIN32 and _WIN32 to identify x86 MSVC WIN32 is defined in all Windows platforms, including Windows ARM 2020-04-04 19:16:43 +08:00
Melissa Goad
e848f9cdf5 Some compile fixes for clang. Still doesn't compile, but still :P 2020-04-03 10:48:56 -05: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
66e159e0bf Fixed SMM, now it works correctly, and is now also operating on all CPU's from 386 onwards. 2020-03-29 18:12:43 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
0a6f4e1b87 Slight chipset clean-ups and ported the JMP FAR new recompiler commit from PCem. 2020-03-23 08:50:59 +01:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
f662b9f342 Fixed the 286+ CPU timer running. 2020-01-21 02:00:04 +01:00
OBattler
7506b4667e Fixed the HLT instruction on 286+ and Intel Flash aliasing. 2020-01-21 01:23:35 +01:00
OBattler
995e2f0c61 Fixed the fpu_log() function, it should now link correctly. 2020-01-18 04:53:30 +01:00
OBattler
8136f98911 The Pentium Pro and Pentium II Overdrive CPU's now use K6 timings when on the new recompiler. 2020-01-18 02:54:39 +01:00
OBattler
ebf0d1ef3a Fixed MSR's on AMD CPU's - the VIA machine now works without issues with the high-speed AMD CPU's. 2020-01-16 20:49:58 +01:00
OBattler
4401a8d029 Ported some small fixes from PCem that only apply to the new recompiler. 2020-01-16 05:48:56 +01:00
OBattler
d516716b38 Changed the way device timers are run, fixes DesqView/X. 2020-01-16 05:48:36 +01:00
OBattler
e44e60c660 Fixed the fourth batch of problems. 2020-01-15 05:24:33 +01:00
OBattler
932ad5595a Fixed the third batch of problems. 2020-01-15 04:58:28 +01:00
OBattler
a2867e6978 Added fall-through comments to several fall-throughs. 2020-01-15 02:43:25 +01:00
OBattler
0c02679ac4 Fixed some variables in cpu_new/codegen_ops_jump.c to make them signed. 2020-01-15 00:21:49 +01:00
OBattler
cbcb53f7ee Fixed a bug in the 486, WinChip, WinChip 2, Pentium, and 686 timings for the new recompiler. 2020-01-14 22:29:07 +01:00
OBattler
8e566a1ad7 Merge pull request #523 from nerd73/master
CPU table revamp
2020-01-12 18:48:42 +01:00
Melissa Goad
391e71c236 Initial SMM (System Management Mode) emulation 2020-01-12 01:04:05 -06: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
a660f8fc4f Update cpu_table.c 2019-12-17 06:52:22 -07:00
nerd73
6fc060ded1 Update 808x.c 2019-12-17 06:46:54 -07:00
nerd73
d1a1f031d9 Indenting fixes 2019-12-17 06:42:13 -07:00
nerd73
82f918a36f Indenting fixes 2019-12-17 06:35:25 -07:00
nerd73
719534c518 IBM 386SLC/486SLC/486BL emulation 2019-12-16 13:54:59 -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
e65e11fe9a Reworked CPU instruction segment limit and page fault checking a bit, fixes #406;
Implemented the MCA enable/disable bit for the MCA WD NIC's, fixes #407;
A small bug fix in dma.c.
2019-09-21 03:33:05 +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