--- xmil/pccore.c 2004/08/07 12:10:27 1.13 +++ xmil/pccore.c 2004/08/10 08:28:48 1.19 @@ -22,21 +22,20 @@ const OEMCHAR xmilversion[] = OEMTEXT(XMILVER_CORE); - XMILCFG xmilcfg = { 0, 0, 1, - 2, 0, 1, - 22050, 1000, 0, 80, - 0, 0, - 0, 0, - 0, 0, 0, - 1, 0}; + XMILCFG xmilcfg = { 2, 0, 1, + 1, 0, 0, 0, + 22050, 500, 0, 0, 80, + 0, 0, 0, 0}; PCCORE pccore = {250, 0, 1, 0}; CORESTAT corestat; BYTE mMAIN[0x10000]; BYTE mBIOS[0x8000]; - BYTE mBANK[16][0x8000]; - WORD v_cnt; - int s_cnt; +#if defined(SUPPORT_BANKMEM) + UINT8 mBANK[16][0x8000]; +#endif + UINT v_cnt; + UINT s_cnt; BYTE *RAM0r; BYTE *RAM0w; @@ -48,7 +47,7 @@ const OEMCHAR xmilversion[] = OEMTEXT(XM IPL-ROM LOAD ***********************************************************************/ -void ipl_load(void) { +static void ipl_load(void) { FILEH hdl; @@ -133,6 +132,7 @@ static BYTE keyintcnt = 0; void pccore_initialize(void) { + fddfile_initialize(); sndctrl_initialize(); makescrn_initialize(); @@ -141,11 +141,6 @@ void pccore_initialize(void) { crtc_initialize(); pcg_initialize(); ppi_initialize(); - -// reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW); - -// keystat_initialize(); -// keystat_reset(); } void pccore_reset(void) { @@ -168,10 +163,10 @@ void pccore_deinitialize(void) { // keyboard_term(); - fdd_eject(0); - fdd_eject(1); - fdd_eject(2); - fdd_eject(3); + fddfile_eject(0); + fddfile_eject(1); + fddfile_eject(2); + fddfile_eject(3); } @@ -213,6 +208,7 @@ void pccore_exec(BRESULT draw) { REG8 inttiming; corestat.drawframe = draw; + soundmng_sync(); v_cnt = 0; s_cnt = 0; @@ -220,13 +216,14 @@ void pccore_exec(BRESULT draw) { while(s_cnt < 266) { while(h_cnt < pccore.HSYNC_CLK) { -#if IPTRACE +#if defined(TRACE) && IPTRACE treip[trpos & (IPTRACE - 1)] = Z80_PC; trpos++; #endif Z80_EXECUTE(); z80dmap(); } + fdcisbusy(); h_cnt -= pccore.HSYNC_CLK; h_cntbase += pccore.HSYNC_CLK; inttiming ^= 2; @@ -252,8 +249,8 @@ void pccore_exec(BRESULT draw) { } } } - sound_sync(); - calendar_inc(); scrnupdate(); + calendar_inc(); + sound_sync(); }