Fixed SMM, overhauled the emulation of the VIA northbridges, and added the Via Apollo VP3.

This commit is contained in:
OBattler
2020-04-01 08:59:29 +02:00
parent 2c8bcea38c
commit b8b198a56a
37 changed files with 1915 additions and 5024 deletions

View File

@@ -354,6 +354,9 @@ inb(uint16_t port)
// if (!found)
// pclog("inb(%04X) = %02X\n", port, ret);
// if (in_smm)
// pclog("inb(%04X) = %02X\n", port, ret);
return(ret);
}
@@ -364,6 +367,9 @@ outb(uint16_t port, uint8_t val)
io_t *p;
int found = 0;
// if (in_smm)
// pclog("outb(%04X, %02X)\n", port, val);
if (io[port]) {
p = io[port];
while(p) {
@@ -411,6 +417,9 @@ inw(uint16_t port)
if (!found)
ret = (inb(port) | (inb(port + 1) << 8));
// if (in_smm)
// pclog("inw(%04X) = %04X\n", port, ret);
return ret;
}
@@ -420,6 +429,9 @@ outw(uint16_t port, uint16_t val)
{
io_t *p;
// if (in_smm)
// pclog("outw(%04X, %04X)\n", port, val);
p = io[port];
if (p) {
while(p) {
@@ -459,6 +471,9 @@ inl(uint16_t port)
if (!found)
ret = (inw(port) | (inw(port + 2) << 16));
// if (in_smm)
// pclog("inl(%04X) = %08X\n", port, ret);
return ret;
}
@@ -468,6 +483,9 @@ outl(uint16_t port, uint32_t val)
{
io_t *p;
// if (in_smm)
// pclog("outl(%04X, %08X)\n", port, val);
p = io[port];
if (p) {
while(p) {