--- xmil/pccore.c 2004/08/05 04:53:15 1.8 +++ xmil/pccore.c 2004/08/05 16:47:26 1.11 @@ -12,7 +12,6 @@ #include "sndctrl.h" #include "menu.h" #include "font.h" -#include "juliet.h" #include "xmilver.h" #include "fddfile.h" #include "calendar.h" @@ -28,7 +27,6 @@ const OEMCHAR xmilversion[] = OEMTEXT(XM 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0}; PCCORE pccore = {250, 0, 1, 0}; @@ -130,8 +128,6 @@ BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ ***********************************************************************/ static BYTE keyintcnt = 0; -static BYTE flame = 0; -static BYTE inttiming = 0; void pccore_initialize(void) { @@ -158,6 +154,8 @@ void pccore_reset(void) { sndctrl_deinitialize(); sndctrl_initialize(); } + sound_reset(); + reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW); soundmng_play(); } @@ -212,25 +210,15 @@ void iptrace_out(void) { void x1r_exec(void) { -extern BYTE disp_flashscreen; + REG8 inttiming; v_cnt = 0; s_cnt = 0; xmilcfg.DISPSYNC &= 1; inttiming = xmilcfg.CPU8MHz & 1; -// TRACEOUT(("*sync")); while(s_cnt < 266) { while(h_cnt < pccore.HSYNC_CLK) { -#if defined(TRACE) -// TRACEOUT(("%.4x", Z80_PC)); -// if (Z80_PC == 0x8198) { -// TRACEOUT(("---->sound")); -// } -// if (Z80_PC == 0x8188) { -// TRACEOUT(("-- poll sound")); -// } -#endif #if IPTRACE treip[trpos & (IPTRACE - 1)] = Z80_PC; trpos++; @@ -242,10 +230,10 @@ extern BYTE disp_flashscreen; h_cntbase += pccore.HSYNC_CLK; inttiming ^= 2; if (inttiming != 3) { - if (xmilcfg.SOUNDPLY) { - sound_makesample(pcmbufsize[s_cnt]); - juliet2_exec(); - } + sound_makesample(pcmbufsize[s_cnt]); +// if (xmilcfg.SOUNDPLY) { +// juliet2_exec(); +// } s_cnt++; x1_ctc_int(); if (!((++keyintcnt) & 15)) { @@ -257,7 +245,6 @@ extern BYTE disp_flashscreen; } v_cnt++; if (crtc.s.CRT_YL == v_cnt) { -// TRACEOUT(("--->sync")); pcg.r.vsync = 1; if (xmilcfg.DISPSYNC == 1) { xmilcfg.DISPSYNC |= 0x80; @@ -265,13 +252,8 @@ extern BYTE disp_flashscreen; } } } - if (++flame >= 60) { - flame = 0; - calendar_inc(); - } - if (!xmilcfg.SOUNDPLY) { - sound_makesample(framesoundcnt); - } + sound_sync(); + calendar_inc(); if (!(xmilcfg.DISPSYNC & 0x80)) { scrnupdate(); }