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