ACPI, SMM, and PIIX fixes, fixes quite a few boards, also fixed the Via Apollo series northbridge ID's, some CPU instructions on both 808x and 286+, and added SMM to 486's (Intel and AMD), WinChip and WinChip 2, and VIA Cyrix III, also removed the TC430HX and the Toshiba machine from the Dev branch.
This commit is contained in:
20
src/nvr_at.c
20
src/nvr_at.c
@@ -293,8 +293,8 @@
|
||||
typedef struct {
|
||||
int8_t stat;
|
||||
|
||||
uint8_t cent;
|
||||
uint8_t def, flags;
|
||||
uint8_t cent, def,
|
||||
flags, read_addr;
|
||||
|
||||
uint8_t addr[8], wp[2],
|
||||
bank[8], *lock;
|
||||
@@ -707,8 +707,11 @@ nvr_read(uint16_t addr, void *priv)
|
||||
default:
|
||||
ret = nvr->regs[local->addr[addr_id]];
|
||||
break;
|
||||
} else
|
||||
} else {
|
||||
ret = local->addr[addr_id];
|
||||
if (!local->read_addr)
|
||||
ret &= 0x80;
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
@@ -816,6 +819,15 @@ nvr_at_sec_handler(int set, uint16_t base, nvr_t *nvr)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
nvr_read_addr_set(int set, nvr_t *nvr)
|
||||
{
|
||||
local_t *local = (local_t *) nvr->data;
|
||||
|
||||
local->read_addr = set;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
nvr_wp_set(int set, int h, nvr_t *nvr)
|
||||
{
|
||||
@@ -906,6 +918,8 @@ nvr_at_init(const device_t *info)
|
||||
break;
|
||||
}
|
||||
|
||||
local->read_addr = 1;
|
||||
|
||||
/* Set up any local handlers here. */
|
||||
nvr->reset = nvr_reset;
|
||||
nvr->start = nvr_start;
|
||||
|
||||
Reference in New Issue
Block a user