Fixed AT systems broken by rev 1184.
This commit is contained in:
parent
cbf4b9f813
commit
8ac2157f87
3 changed files with 14 additions and 4 deletions
14
src/mem.c
14
src/mem.c
|
|
@ -2315,10 +2315,10 @@ void mem_init()
|
||||||
|
|
||||||
memset(_mem_state, 0, sizeof(_mem_state));
|
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_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 (mem_size > 1024)
|
||||||
{
|
{
|
||||||
if (cpu_16bitbus && mem_size > 16256)
|
if (cpu_16bitbus && mem_size > 16256)
|
||||||
|
|
@ -2377,6 +2377,12 @@ void mem_remap_top_384k()
|
||||||
mem_remap_top(384);
|
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()
|
void mem_resize()
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
|
|
@ -2416,10 +2422,10 @@ void mem_resize()
|
||||||
|
|
||||||
memset(_mem_state, 0, sizeof(_mem_state));
|
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_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 (mem_size > 1024)
|
||||||
{
|
{
|
||||||
if (cpu_16bitbus && mem_size > 16256)
|
if (cpu_16bitbus && mem_size > 16256)
|
||||||
|
|
|
||||||
|
|
@ -182,6 +182,8 @@ void mem_add_bios();
|
||||||
void mem_init();
|
void mem_init();
|
||||||
void mem_resize();
|
void mem_resize();
|
||||||
|
|
||||||
|
void mem_set_704kb();
|
||||||
|
|
||||||
void flushmmucache();
|
void flushmmucache();
|
||||||
void flushmmucache_nopc();
|
void flushmmucache_nopc();
|
||||||
void flushmmucache_cr3();
|
void flushmmucache_cr3();
|
||||||
|
|
|
||||||
2
src/pc.c
2
src/pc.c
|
|
@ -417,6 +417,8 @@ void resetpchard()
|
||||||
disc_load(1, discfns[1]);
|
disc_load(1, discfns[1]);
|
||||||
|
|
||||||
model_init();
|
model_init();
|
||||||
|
if (!AT)
|
||||||
|
mem_set_704kb();
|
||||||
mouse_emu_init();
|
mouse_emu_init();
|
||||||
video_init();
|
video_init();
|
||||||
speaker_init();
|
speaker_init();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue