From da82b11b29e7ef2dfbd11dc1550a8c8859e914cf Mon Sep 17 00:00:00 2001 From: Panagiotis <58827426+tiseno100@users.noreply.github.com> Date: Sun, 11 Apr 2021 15:33:11 +0300 Subject: [PATCH] Few minor changes on the Intel i450KX --- src/chipset/intel_i450kx.c | 27 ++++++++------------------- src/win/86Box.rc | 2 +- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/chipset/intel_i450kx.c b/src/chipset/intel_i450kx.c index f4779546c..3435dc8ae 100644 --- a/src/chipset/intel_i450kx.c +++ b/src/chipset/intel_i450kx.c @@ -66,9 +66,9 @@ i450kx_log(const char *fmt, ...) /* SMRAM */ #define SMRAM_ADDR (((dev->pb_pci_conf[0xb9] << 8) | dev->pb_pci_conf[0xb8]) << 17) -#define SMRAM_SIZE (1 << (((dev->pb_pci_conf[0xbb] >> 4) + 1) * 16)) #define SMRAM_ADDR_MC (((dev->mc_pci_conf[0xb9] << 8) | dev->mc_pci_conf[0xb8]) << 16) -#define SMRAM_SIZE_MC (1 << (((dev->mc_pci_conf[0xbb] >> 4) + 1) * 16)) +#define SMRAM_SIZE (((dev->pb_pci_conf[0xbb] >> 4) + 1) * 64) +#define SMRAM_SIZE_MC (((dev->mc_pci_conf[0xbb] >> 4) + 1) * 64) /* Miscellaneous */ #define ENABLE_SEGMENT (MEM_READ_EXTANY | MEM_WRITE_EXTANY) @@ -101,10 +101,7 @@ void i450kx_smm(uint32_t smram_addr, uint32_t smram_size, i450kx_t *dev) smram_disable_all(); if ((smram_addr != 0) && !!(dev->mc_pci_conf[0x57] & 8)) - { smram_enable(dev->smram, smram_addr, smram_addr, smram_size, !!(dev->pb_pci_conf[0x57] & 8), 1); - mem_set_mem_state_smram_ex(1, smram_addr, smram_size, 0x03); - } flushmmucache(); } @@ -263,11 +260,7 @@ pb_write(int func, int addr, uint8_t val, void *priv) case 0xb8: case 0xb9: case 0xbb: - if (addr == 0xbb) - dev->pb_pci_conf[addr] = val & 0xf0; - else - dev->pb_pci_conf[addr] = val; - + dev->pb_pci_conf[addr] = !(addr == 0xbb) ? val : (val & 0xf0); i450kx_smm(SMRAM_ADDR, SMRAM_SIZE, dev); break; @@ -324,7 +317,6 @@ mc_write(int func, int addr, uint8_t val, void *priv) case 0x58: dev->mc_pci_conf[addr] = val & 2; - mem_set_mem_state_both(0xa0000, 0x20000, (val & 2) ? ENABLE_SEGMENT : DISABLE_SEGMENT); break; case 0x59: @@ -354,8 +346,8 @@ mc_write(int func, int addr, uint8_t val, void *priv) case 0x6d: case 0x6e: case 0x6f: - dev->mc_pci_conf[addr] = ((addr & 0x0f) % 2) ? val : (val & 7); - spd_write_drbs(dev->mc_pci_conf, 0x60, 0x6f, 1); + dev->mc_pci_conf[addr] = ((addr & 0x0f) % 2) ? 0 : (val & 0x7f); + spd_write_drbs(dev->mc_pci_conf, 0x60, 0x6f, 4); break; case 0x74: @@ -447,10 +439,7 @@ mc_write(int func, int addr, uint8_t val, void *priv) case 0xb8: case 0xb9: case 0xbb: - if (addr == 0xbb) - dev->mc_pci_conf[addr] = val & 0xf0; - else - dev->mc_pci_conf[addr] = val; + dev->mc_pci_conf[addr] = !(addr == 0xbb) ? val : (val & 0xf0); i450kx_smm(SMRAM_ADDR_MC, SMRAM_SIZE_MC, dev); break; @@ -500,7 +489,7 @@ i450kx_reset(void *priv) dev->pb_pci_conf[0x05] = 4; dev->pb_pci_conf[0x06] = 0x40; dev->pb_pci_conf[0x07] = 2; - dev->pb_pci_conf[0x08] = 1; + dev->pb_pci_conf[0x08] = 2; dev->pb_pci_conf[0x0b] = 6; dev->pb_pci_conf[0x0c] = 8; dev->pb_pci_conf[0x0d] = 0x20; @@ -526,7 +515,7 @@ i450kx_reset(void *priv) dev->mc_pci_conf[0x02] = 0xc5; dev->mc_pci_conf[0x03] = 0x84; dev->mc_pci_conf[0x06] = 0x80; - dev->mc_pci_conf[0x08] = 1; + dev->mc_pci_conf[0x08] = 4; dev->mc_pci_conf[0x0b] = 5; dev->mc_pci_conf[0x49] = 0x14; dev->mc_pci_conf[0x4c] = 0x0b; diff --git a/src/win/86Box.rc b/src/win/86Box.rc index 2fc62098e..6bdf861ae 100644 --- a/src/win/86Box.rc +++ b/src/win/86Box.rc @@ -1018,7 +1018,7 @@ BEGIN IDS_2123 "Save" IDS_2124 "About 86Box" IDS_2125 "86Box v" EMU_VERSION - IDS_2126 "An emulator of old computers\n\nAuthors: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nReleased under the GNU General Public License version 2. See LICENSE for more information." + IDS_2126 "An emulator of old computers\n\nAuthors: Miran Grca (OBattler), Sarah Walker, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nReleased under the GNU General Public License version 2. See LICENSE for more information." IDS_2127 "OK" IDS_2128 "Hardware not available" #ifdef _WIN32