diff --git a/src/chipset/intel_82335.c b/src/chipset/intel_82335.c index 14936530b..20ae0981f 100644 --- a/src/chipset/intel_82335.c +++ b/src/chipset/intel_82335.c @@ -104,7 +104,7 @@ intel_82335_write(uint16_t addr, uint16_t val, void *priv) shadowbios_write = !!(dev->regs[0x22] & 0x01); /* Base System 512/640KB set */ - mem_set_mem_state_both(0x80000, 0x20000, (dev->regs[0x22] & 0x08) ? ENABLE_TOP_128KB : DISABLE_TOP_128KB); + // mem_set_mem_state_both(0x80000, 0x20000, (dev->regs[0x22] & 0x08) ? ENABLE_TOP_128KB : DISABLE_TOP_128KB); /* Video RAM shadow*/ mem_set_mem_state_both(0xa0000, 0x20000, (dev->regs[0x22] & (0x04 << 8)) ? DETERMINE_VIDEO_RAM_WRITE_ACCESS : DISABLED_SHADOW); @@ -167,6 +167,7 @@ intel_82335_init(const device_t *info) memset(dev->regs, 0, sizeof(dev->regs)); + dev->regs[0x22] = 0x08; dev->regs[0x28] = 0xf9; dev->cfg_locked = 0; diff --git a/src/include/86box/nvr.h b/src/include/86box/nvr.h index 97c8786c3..8b59c0883 100644 --- a/src/include/86box/nvr.h +++ b/src/include/86box/nvr.h @@ -86,6 +86,7 @@ extern const device_t at_nvr_old_device; extern const device_t at_nvr_device; extern const device_t ps_nvr_device; extern const device_t amstrad_nvr_device; +extern const device_t amstrad_megapc_nvr_device; extern const device_t ibmat_nvr_device; extern const device_t piix4_nvr_device; extern const device_t ps_no_nmi_nvr_device; diff --git a/src/machine/m_at_286_386sx.c b/src/machine/m_at_286_386sx.c index 0787fd170..a07e981df 100644 --- a/src/machine/m_at_286_386sx.c +++ b/src/machine/m_at_286_386sx.c @@ -37,6 +37,7 @@ #include <86box/fdc.h> #include <86box/fdc_ext.h> #include <86box/hdc.h> +#include <86box/nvr.h> #include <86box/port_6x.h> #include <86box/sio.h> #include <86box/serial.h> @@ -493,7 +494,8 @@ machine_at_adi386sx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init(model); + machine_at_common_init_ex(model, 2); + device_add(&amstrad_megapc_nvr_device); /* NVR that is initialized to all 0x00's. */ device_add(&intel_82335_device); device_add(&keyboard_at_ami_device); diff --git a/src/nvr_at.c b/src/nvr_at.c index d05508e5f..222b635ae 100644 --- a/src/nvr_at.c +++ b/src/nvr_at.c @@ -1299,7 +1299,7 @@ const device_t p6rp4_nvr_device = { }; const device_t amstrad_megapc_nvr_device = { - .name = "Amstrad MegapC NVRAM", + .name = "Amstrad MegaPC NVRAM", .internal_name = "amstrad_megapc_nvr", .flags = DEVICE_ISA | DEVICE_AT, .local = 36,