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.
This commit is contained in:
@@ -14,8 +14,8 @@
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2008-2019 Sarah Walker.
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2008-2020 Sarah Walker.
|
||||
* Copyright 2016-2020 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -186,7 +186,7 @@ flash_write(uint32_t addr, uint8_t val, void *p)
|
||||
case CMD_ERASE_SETUP:
|
||||
if (val == CMD_ERASE_CONFIRM) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
if ((addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
if ((i == dev->program_addr) && (addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
memset(&(dev->array[dev->block_start[i]]), 0xff, dev->block_len[i]);
|
||||
}
|
||||
|
||||
@@ -209,6 +209,12 @@ flash_write(uint32_t addr, uint8_t val, void *p)
|
||||
case CMD_CLEAR_STATUS:
|
||||
dev->status = 0;
|
||||
break;
|
||||
case CMD_ERASE_SETUP:
|
||||
for (i = 0; i < 3; i++) {
|
||||
if ((addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
dev->program_addr = i;
|
||||
}
|
||||
break;
|
||||
case CMD_PROGRAM_SETUP:
|
||||
case CMD_PROGRAM_SETUP_ALT:
|
||||
dev->program_addr = addr;
|
||||
@@ -237,7 +243,7 @@ flash_writew(uint32_t addr, uint16_t val, void *p)
|
||||
case CMD_ERASE_SETUP:
|
||||
if (val == CMD_ERASE_CONFIRM) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
if ((addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
if ((i == dev->program_addr) && (addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
memset(&(dev->array[dev->block_start[i]]), 0xff, dev->block_len[i]);
|
||||
}
|
||||
|
||||
@@ -260,6 +266,12 @@ flash_writew(uint32_t addr, uint16_t val, void *p)
|
||||
case CMD_CLEAR_STATUS:
|
||||
dev->status = 0;
|
||||
break;
|
||||
case CMD_ERASE_SETUP:
|
||||
for (i = 0; i < 3; i++) {
|
||||
if ((addr >= dev->block_start[i]) && (addr <= dev->block_end[i]))
|
||||
dev->program_addr = i;
|
||||
}
|
||||
break;
|
||||
case CMD_PROGRAM_SETUP:
|
||||
case CMD_PROGRAM_SETUP_ALT:
|
||||
dev->program_addr = addr;
|
||||
@@ -555,7 +567,7 @@ const device_t intel_flash_bxt_ami_device =
|
||||
intel_flash_init,
|
||||
intel_flash_close,
|
||||
intel_flash_reset,
|
||||
NULL, NULL, NULL, NULL
|
||||
{ NULL }, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
|
||||
@@ -566,7 +578,7 @@ const device_t intel_flash_bxt_device =
|
||||
intel_flash_init,
|
||||
intel_flash_close,
|
||||
intel_flash_reset,
|
||||
NULL, NULL, NULL, NULL
|
||||
{ NULL }, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
|
||||
@@ -577,5 +589,5 @@ const device_t intel_flash_bxb_device =
|
||||
intel_flash_init,
|
||||
intel_flash_close,
|
||||
intel_flash_reset,
|
||||
NULL, NULL, NULL, NULL
|
||||
{ NULL }, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user