Fixed AT systems broken by rev 1184.

This commit is contained in:
SarahW 2018-06-04 21:38:18 +01:00
commit 8ac2157f87
3 changed files with 14 additions and 4 deletions

View file

@ -2315,10 +2315,10 @@ void mem_init()
memset(_mem_state, 0, sizeof(_mem_state));
mem_set_mem_state(0x000000, (mem_size > (AT ? 640 : 768)) ? (AT ? 0xa0000 : 0xc0000) : mem_size * 1024, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
mem_set_mem_state(0x000000, (mem_size > 640) ? 0xa0000 : mem_size * 1024, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
mem_set_mem_state(0x0c0000, 0x40000, MEM_READ_EXTERNAL | MEM_WRITE_EXTERNAL);
mem_mapping_add(&ram_low_mapping, 0x00000, (mem_size > (AT ? 640 : 768)) ? (AT ? 0xa0000 : 0xc0000) : mem_size * 1024, mem_read_ram, mem_read_ramw, mem_read_raml, mem_write_ram, mem_write_ramw, mem_write_raml, ram, MEM_MAPPING_INTERNAL, NULL);
mem_mapping_add(&ram_low_mapping, 0x00000, (mem_size > 640) ? 0xa0000 : mem_size * 1024, mem_read_ram, mem_read_ramw, mem_read_raml, mem_write_ram, mem_write_ramw, mem_write_raml, ram, MEM_MAPPING_INTERNAL, NULL);
if (mem_size > 1024)
{
if (cpu_16bitbus && mem_size > 16256)
@ -2377,6 +2377,12 @@ void mem_remap_top_384k()
mem_remap_top(384);
}
void mem_set_704kb()
{
mem_set_mem_state(0x000000, (mem_size > 704) ? 0xb0000 : mem_size * 1024, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
mem_mapping_set_addr(&ram_low_mapping, 0x00000, (mem_size > 704) ? 0xb0000 : mem_size * 1024);
}
void mem_resize()
{
int c;
@ -2416,10 +2422,10 @@ void mem_resize()
memset(_mem_state, 0, sizeof(_mem_state));
mem_set_mem_state(0x000000, (mem_size > (AT ? 640 : 768)) ? (AT ? 0xa0000 : 0xc0000) : mem_size * 1024, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
mem_set_mem_state(0x000000, (mem_size > 640) ? 0xa0000 : mem_size * 1024, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
mem_set_mem_state(0x0c0000, 0x40000, MEM_READ_EXTERNAL | MEM_WRITE_EXTERNAL);
mem_mapping_add(&ram_low_mapping, 0x00000, (mem_size > (AT ? 640 : 768)) ? (AT ? 0xa0000 : 0xc0000) : mem_size * 1024, mem_read_ram, mem_read_ramw, mem_read_raml, mem_write_ram, mem_write_ramw, mem_write_raml, ram, MEM_MAPPING_INTERNAL, NULL);
mem_mapping_add(&ram_low_mapping, 0x00000, (mem_size > 640) ? 0xa0000 : mem_size * 1024, mem_read_ram, mem_read_ramw, mem_read_raml, mem_write_ram, mem_write_ramw, mem_write_raml, ram, MEM_MAPPING_INTERNAL, NULL);
if (mem_size > 1024)
{
if (cpu_16bitbus && mem_size > 16256)

View file

@ -182,6 +182,8 @@ void mem_add_bios();
void mem_init();
void mem_resize();
void mem_set_704kb();
void flushmmucache();
void flushmmucache_nopc();
void flushmmucache_cr3();

View file

@ -417,6 +417,8 @@ void resetpchard()
disc_load(1, discfns[1]);
model_init();
if (!AT)
mem_set_704kb();
mouse_emu_init();
video_init();
speaker_init();