--- np2/pccore.c 2003/12/25 05:07:49 1.36 +++ np2/pccore.c 2004/01/07 06:53:47 1.40 @@ -199,6 +199,7 @@ static void sound_init(void) { adpcm_setvol(np2cfg.vol_adpcm); pcm86gen_initialize(rate); pcm86gen_setvol(np2cfg.vol_pcm); + cs4231_initialize(rate); } static void sound_term(void) { @@ -311,10 +312,15 @@ void pccore_reset(void) { sound_reset(); + if (pc.model & PCMODEL_EPSON) { // RAM ctrl + CPU_RAM_D000 = 0xffff; + } + iocore_reset(); // サウンドでpicを呼ぶので… cbuscore_reset(); fmboard_reset(np2cfg.SOUND_SW); + i286_memorymap((pc.model & PCMODEL_EPSON)?1:0); iocore_build(); iocore_bind(); cbuscore_bind(); @@ -549,6 +555,9 @@ void pccore_exec(BOOL draw) { pic_irq(); if (CPU_RESETREQ) { CPU_RESETREQ = 0; +#if 1 + CPU_SHUT(); +#else CPU_CS = 0xf000; CS_BASE = 0xf0000; CPU_IP = 0xfff0; @@ -556,6 +565,7 @@ void pccore_exec(BOOL draw) { CPU_DX = 0x0300; #endif CPU_CLEARPREFETCH(); +#endif } #if 1 // ndef TRACE