More updates regarding the PC-98x1:

1.Fixed I/O step when using interleaving I/O.
2. Add more and fixes of the existing incomplete PC-98x1 core.
This commit is contained in:
TC1995
2024-02-13 01:29:00 +01:00
parent d4cf722d7d
commit 9910b6f3cd
15 changed files with 640 additions and 526 deletions

View File

@@ -82,7 +82,6 @@ machine_init_ex(int m)
machine_snd = NULL;
is_vpc = 0;
machine_pc98.init = 0;
standalone_gameport_type = NULL;
gameport_instance_id = 0;
@@ -185,3 +184,21 @@ machine_common_init(UNUSED(const machine_t *model))
pit_common_init(pit_type, pit_irq0_timer, NULL);
}
void
machine_pc98_common_init(UNUSED(const machine_t *model))
{
uint8_t cpu_requires_fast_pit = is486 || (!is286 && is8086 && (cpu_s->rspeed >= 8000000));
cpu_requires_fast_pit = cpu_requires_fast_pit && !cpu_16bitbus;
/* System devices first. */
pic_pc98_init();
dma_pc98_init();
int pit_type = PIT_8253;
/* Select fast PIT if needed */
if (((pit_mode == -1) && cpu_requires_fast_pit) || (pit_mode == 1))
pit_type += 2;
pit_common_init(pit_type, pit_irq0_timer, NULL);
}