Commit Graph

172 Commits

Author SHA1 Message Date
OBattler
3e5c2b88d5 The Intel 420TX and 420ZX chipsets now correctly have 57h as the SMRAM control register (identified by register write logging on the ASUS P/I-486SP3G) rather than 72h, fixes hangs and errors on the ASUS P/I-486SP3G. 2021-04-13 02:33:40 +02:00
OBattler
bcb2e5598e CPU and MMU fixes, fixes #1366 and the entire mess that is build 2900. 2021-04-10 19:05:12 +02:00
OBattler
c370ae7e18 CPU and MMU cleanups and fixes, and non-Debug builds are now stripped again. 2021-04-10 07:18:47 +02:00
OBattler
39f98cd063 Attempted revert back to resetx86() with a mem.c fix. 2021-04-04 08:17:02 +02:00
OBattler
637e70841e More mem.c fixes - simplified some unnecessary complexities introduced this morning and rewrote do_mmutranslate() again, fixes #1351. 2021-04-03 19:55:13 +02:00
OBattler
e49296805d Rewritten the read and write functions in mem.c again and fixed type casting, fixes quite a few bugs introduced in build 2842. 2021-04-03 04:42:12 +02:00
OBattler
880f2f0304 Added some sanity checks to mem_invalidate_range(), fixes OS/2 2.0 segmentation faulting the emulator on IBM PS/2 Model 80 on the Dev builds. 2021-04-01 03:06:26 +02:00
OBattler
5dace5e657 Fixed warnings introduced by the UTF-8 conversion. 2021-04-01 00:04:59 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
345a61fa7c Removed the redundant mem_write_null* functions (the few mappings that use them, now use NULL pointers instead) and made the _phys function used by DMA not write to the exec buffer if the address has no write mapping (as in that case, it's clearly not intended to be writable), fixes #1332. 2021-03-30 02:16:01 +02:00
OBattler
1a643ab040 Reworked some memory and CPU parts to fix bugs, improve performance by getting rid of excess calls to mmutranslate(), and properly invalidate page bytes on page invalidation on new recompiler. 2021-03-24 19:52:44 +01:00
OBattler
5205a06eb2 Flash chips' memory mappings now have the ROM flag in order to incur the ROM access cycle penalty, BIOS beeps should now be more reasonable. 2021-03-24 19:39:35 +01:00
David Hrdlička
96eb8d806e Add copyright headers 2021-01-12 18:26:18 +01:00
David Hrdlička
11b6604196 Add CMake build files 2021-01-12 18:22:40 +01:00
OBattler
b9b753c9aa Fixed the SCAMP chipset emulation and the Commodore SL386SX-25 (it was using the SL386SX-16 BIOS), added the SL386-SX16 (NEAT) and the Samsung SPC-4620P, SPC-6033P, and SPC-6000A. 2020-12-28 05:34:33 +01:00
RichardG867
841c4b3651 Disable I2C EEPROM logging 2020-12-11 18:27:15 -03:00
RichardG867
7192007e7d Reset I2C EEPROM address position on stop, fixes HWiNFO SPD reading 2020-12-11 18:25:14 -03:00
David Hrdlička
9511b75b49 Unify RAM size units in the machine table 2020-12-04 07:01:16 +01:00
RichardG867
29a0ce48e7 Merge branch 'master' of https://github.com/86Box/86Box 2020-12-03 01:46:04 -03:00
RichardG867
89d5a0f911 Disable I2C EEPROM logging 2020-12-02 18:24:07 -03:00
OBattler
c5f4cda6db Fixed the AIX fix. 2020-12-01 05:05:44 +01:00
qeeg
62dc0b0154 Readd the AIX fix 2020-11-30 20:09:13 -06:00
OBattler
1ddee67aa6 Got rid of the last differences between the old and new recompilers with regards to the readmem*/writemem* functions. 2020-12-01 02:41:22 +01:00
RichardG867
3fb42999b2 Move SPD log() function to i2c_eeprom 2020-11-30 20:16:04 -03:00
RichardG867
ee0d9f79f3 Make the ram(2) allocation failed fatals more user friendly 2020-11-30 20:12:35 -03:00
RichardG867
2579f7fb83 Move i2c_eeprom to mem/ directory 2020-11-30 20:08:37 -03:00
qeeg
f7dcd358f0 i386 CPUs don't have the WP bit in CR0. Fixes IBM AIX 1.3 2020-11-30 09:46:35 +01:00
OBattler
a5ae4cfba5 Got completely rid of readmemb386l() and writememb386l(). 2020-11-30 05:27:04 +01:00
OBattler
bdd4499eb3 Added support for loading ROM's with even bytes followed by odd bytes in the same file. 2020-11-28 07:03:57 +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
d6b1d2c63a I2C overhaul part 5: late, but there's still stuff to do 2020-11-23 14:49:49 -03:00
RichardG867
739fdc46cc I2C overhaul part 2 2020-11-20 19:23:14 -03:00
RichardG867
886dbe09ea DDC/I2C/SMBus overhaul (incomplete, commit for the night) 2020-11-20 01:22:04 -03:00
RichardG867
833635afaa Fix crash in standalone settings mode 2020-11-19 15:49:32 -03:00
RichardG867
8fff49d5c5 Merge branch 'master' of https://github.com/86Box/86Box
# Conflicts:
#	src/win/win_settings.c
2020-11-18 01:12:32 -03:00
RichardG867
dbd767437b Programmatic CPU table 2020-11-18 01:09:17 -03:00
OBattler
bbf08e258d Fixed the Intel Flashes. 2020-11-18 01:45:29 +01:00
OBattler
0307ec60e5 Intel 2 Mbit BIOS boot blocks are now loaded from offset 0. 2020-11-18 00:47:13 +01:00
OBattler
26bffcb91f Reenabled addreadlookup() and addwritelookup() in mem/mem.c, fixes performance of the emulator. 2020-11-17 21:05:13 +01:00
OBattler
ab8f9d3866 The new 808x-only memory read/write functions now apply the RAM mask to the address so addresses now correctly wrap around 1 MB, fixes #1062;
More 808x bug fixes.
2020-11-17 02:20:19 +01:00
OBattler
bf4b5b781f Implemented PIC IRQ latch and delay (per the datasheet), IBM PCjr now works without a workaround delay in cpu/808x.c which was therefore removed; also redid memory and I/O accesses in cpu/808x.c to fix word writes on 8086. 2020-11-17 00:25:28 +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
Panagiotis
cd65d25ec0 Added 4Mbit capabilities to the Intel Flashes & the 4Mbit SST can be used. 2020-11-05 15:03:20 +02:00
OBattler
baee7c1530 And fixed them again, this time properly (verified by testing). 2020-10-20 21:53:47 +02:00
OBattler
4390fd3bc6 Removed excess SST flash logging. 2020-10-20 21:32:33 +02:00
OBattler
2bda968594 Flash and Apollo fixes - fixes Flash corruption on the FIC KA-6130. 2020-10-20 21:29:45 +02:00
OBattler
36fa15c009 More 29*0x0 fixes. 2020-10-20 19:44:24 +02:00
OBattler
2e92878869 The 29*0x0 Flash now correctly determines the page address by the address of the last byte loaded, and only writes the bytes in the buffer that marked as dirty. 2020-10-20 19:33:10 +02:00
OBattler
4c4fed4109 29*0x0 command A0 now correctly re-enables software data protection. 2020-10-20 18:23:19 +02:00
OBattler
c2329eefda 29*0x0 Flash now only starts the page write timer after the page address has been loaded, fixes accidental writes addresses that are not supposed to be written to. 2020-10-20 16:23:04 +02:00