Initialize the ADI 386SX NVR to 0x00's instead of 0xFF's, fixes #2761.
This commit is contained in:
@@ -104,7 +104,7 @@ intel_82335_write(uint16_t addr, uint16_t val, void *priv)
|
|||||||
shadowbios_write = !!(dev->regs[0x22] & 0x01);
|
shadowbios_write = !!(dev->regs[0x22] & 0x01);
|
||||||
|
|
||||||
/* Base System 512/640KB set */
|
/* 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*/
|
/* Video RAM shadow*/
|
||||||
mem_set_mem_state_both(0xa0000, 0x20000, (dev->regs[0x22] & (0x04 << 8)) ? DETERMINE_VIDEO_RAM_WRITE_ACCESS : DISABLED_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));
|
memset(dev->regs, 0, sizeof(dev->regs));
|
||||||
|
|
||||||
|
dev->regs[0x22] = 0x08;
|
||||||
dev->regs[0x28] = 0xf9;
|
dev->regs[0x28] = 0xf9;
|
||||||
|
|
||||||
dev->cfg_locked = 0;
|
dev->cfg_locked = 0;
|
||||||
|
@@ -86,6 +86,7 @@ extern const device_t at_nvr_old_device;
|
|||||||
extern const device_t at_nvr_device;
|
extern const device_t at_nvr_device;
|
||||||
extern const device_t ps_nvr_device;
|
extern const device_t ps_nvr_device;
|
||||||
extern const device_t amstrad_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 ibmat_nvr_device;
|
||||||
extern const device_t piix4_nvr_device;
|
extern const device_t piix4_nvr_device;
|
||||||
extern const device_t ps_no_nmi_nvr_device;
|
extern const device_t ps_no_nmi_nvr_device;
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
#include <86box/fdc.h>
|
#include <86box/fdc.h>
|
||||||
#include <86box/fdc_ext.h>
|
#include <86box/fdc_ext.h>
|
||||||
#include <86box/hdc.h>
|
#include <86box/hdc.h>
|
||||||
|
#include <86box/nvr.h>
|
||||||
#include <86box/port_6x.h>
|
#include <86box/port_6x.h>
|
||||||
#include <86box/sio.h>
|
#include <86box/sio.h>
|
||||||
#include <86box/serial.h>
|
#include <86box/serial.h>
|
||||||
@@ -493,7 +494,8 @@ machine_at_adi386sx_init(const machine_t *model)
|
|||||||
if (bios_only || !ret)
|
if (bios_only || !ret)
|
||||||
return 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(&intel_82335_device);
|
||||||
device_add(&keyboard_at_ami_device);
|
device_add(&keyboard_at_ami_device);
|
||||||
|
@@ -1299,7 +1299,7 @@ const device_t p6rp4_nvr_device = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const device_t amstrad_megapc_nvr_device = {
|
const device_t amstrad_megapc_nvr_device = {
|
||||||
.name = "Amstrad MegapC NVRAM",
|
.name = "Amstrad MegaPC NVRAM",
|
||||||
.internal_name = "amstrad_megapc_nvr",
|
.internal_name = "amstrad_megapc_nvr",
|
||||||
.flags = DEVICE_ISA | DEVICE_AT,
|
.flags = DEVICE_ISA | DEVICE_AT,
|
||||||
.local = 36,
|
.local = 36,
|
||||||
|
Reference in New Issue
Block a user