--- np2/pccore.c 2004/01/29 23:42:02 1.58 +++ np2/pccore.c 2004/01/31 20:05:23 1.61 @@ -58,7 +58,6 @@ PCCORE pccore = { PCBASECLOCK25, 4, 0, PCMODEL_VX, 0, 0, - 0, {0, 0, 0}, 0, 0, 4 * PCBASECLOCK25, 4 * PCBASECLOCK25 * 50 / 3104, @@ -177,6 +176,11 @@ static void pccore_set(void) { pccore.keyboardclock = pccore.realclock / 1920; pccore.midiclock = pccore.realclock / 3125; + // HDDの接続 (I/Oの使用状態が変わるので.. + if (np2cfg.dipsw[1] & 0x20) { + pccore.hddif |= PCHDD_IDE; + } + // 拡張メモリ extsize = 0; if (!(np2cfg.dipsw[2] & 0x80)) { @@ -184,11 +188,6 @@ static void pccore_set(void) { } pccore.extmem = extsize; - // HDDの接続 (I/Oの使用状態が変わるので.. - if (np2cfg.dipsw[1] & 0x20) { - pccore.hddif |= PCHDD_IDE; - } - // サウンドボードの接続 pccore.sound = np2cfg.SOUND_SW; @@ -263,9 +262,9 @@ void pccore_init(void) { sound_init(); - mpu98ii_construct(); rs232c_construct(); - pc9861k_construct(); + mpu98ii_construct(); + pc9861k_initialize(); iocore_create(); @@ -289,9 +288,9 @@ void pccore_term(void) { iocore_destroy(); - pc9861k_destruct(); - rs232c_destruct(); + pc9861k_deinitialize(); mpu98ii_destruct(); + rs232c_destruct(); sxsi_trash(); @@ -719,6 +718,13 @@ void pccore_exec(BOOL draw) { TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); } #endif +#if 1 // VX LIO + if (CPU_CS == 0xf990) { + if (CPU_IP == 0x07BE) { + TRACEOUT(("%d,%d - %d,%d", CPU_BP, CPU_DX, CPU_SI, CPU_DI)); + } + } +#endif i286x_step(); // i286c_step(); }