--- np2/pccore.c 2004/01/05 14:16:34 1.39 +++ np2/pccore.c 2004/01/09 04:36:02 1.42 @@ -31,8 +31,10 @@ #include "sxsi.h" #include "calendar.h" #include "timing.h" -//#include "hostdrv.h" #include "debugsub.h" +#if defined(SUPPORT_HOSTDRV) +#include "hostdrv.h" +#endif const char np2version[] = NP2VER_CORE; @@ -52,7 +54,7 @@ 1, 0x82, 0, {0x17, 0x04, 0x1f}, {0x0c, 0x0c, 0x02, 0x10, 0x3f, 0x3f}, 1, 80, 0, - {"", ""}, "", ""}; + {"", ""}, "", "", ""}; PCCORE pc = { PCBASECLOCK25, 4, @@ -185,6 +187,9 @@ static void sound_init(void) { rate = 0; } sound_create(rate, np2cfg.delayms); +#if defined(SUPPORT_WAVEMIX) + wavemix_initialize(rate); +#endif beep_initialize(rate); beep_setvol(np2cfg.BEEP_VOL); tms3631_initialize(rate); @@ -205,6 +210,9 @@ static void sound_init(void) { static void sound_term(void) { soundmng_stop(); +#if defined(SUPPORT_WAVEMIX) + wavemix_deinitialize(); +#endif rhythm_deinitialize(); sound_destroy(); } @@ -233,10 +241,18 @@ void pccore_init(void) { pc9861k_construct(); iocore_create(); + +#if defined(SUPPORT_HOSTDRV) + hostdrv_initialize(); +#endif } void pccore_term(void) { +#if defined(SUPPORT_HOSTDRV) + hostdrv_deinitialize(); +#endif + sound_term(); fdd_eject(0); @@ -277,8 +293,6 @@ void pccore_reset(void) { int i; -// reset_hostdrv(); - ZeroMemory(mem, 0x10fff0); // ver0.28 ZeroMemory(mem + VRAM1_B, 0x18000); ZeroMemory(mem + VRAM1_E, 0x08000); @@ -311,6 +325,13 @@ void pccore_reset(void) { nevent_init(); sound_reset(); +#if defined(SUPPORT_WAVEMIX) + wavemix_bind(); +#endif + + if (pc.model & PCMODEL_EPSON) { // RAM ctrl + CPU_RAM_D000 = 0xffff; + } iocore_reset(); // サウンドでpicを呼ぶので… cbuscore_reset(); @@ -349,6 +370,10 @@ void pccore_reset(void) { sysmng_cpureset(); soundmng_play(); + +#if defined(SUPPORT_HOSTDRV) + hostdrv_reset(); +#endif } static void drawscreen(void) {