Inverted the operation of the OPTi 495 A20 control bit and made the AT keyboard controller (8042) as well as memory default to A20 off - makes both the MR 386 DX and the Award 386 and 486 clones work correctly;
The Amstrad MegaPC now correctly initializes the internal Paradise WD90C11 graphics card, making the machine work again.
This commit is contained in:
@@ -294,7 +294,8 @@ static void opti495_write(uint16_t addr, uint8_t val, void *p)
|
||||
}
|
||||
if (optireg == 0x27)
|
||||
{
|
||||
mem_a20_key = (val & 0x80) ? 0x00 : 0x02;
|
||||
// mem_a20_alt = (val & 0x80) ? 0x00 : 0x02;
|
||||
mem_a20_alt = (val & 0x80);
|
||||
mem_a20_recalc();
|
||||
flushmmucache();
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#include "../86box.h"
|
||||
#include "../device.h"
|
||||
#include "../io.h"
|
||||
#include "../mem.h"
|
||||
#include "../serial.h"
|
||||
#include "../floppy/floppy.h"
|
||||
#include "../floppy/fdc.h"
|
||||
#include "../video/vid_paradise.h"
|
||||
#include "machine.h"
|
||||
|
||||
|
||||
@@ -141,4 +143,6 @@ machine_at_wd76c10_init(machine_t *model)
|
||||
machine_at_ide_init(model);
|
||||
|
||||
wd76c10_init();
|
||||
|
||||
device_add(¶dise_wd90c11_megapc_device);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user