|
|
| version 1.21, 2004/08/11 13:53:53 | version 1.22, 2004/08/12 11:03:08 |
|---|---|
| Line 40 const OEMCHAR xmilversion[] = OEMTEXT(XM | Line 40 const OEMCHAR xmilversion[] = OEMTEXT(XM |
| BYTE *RAM0w; | BYTE *RAM0w; |
| /*********************************************************************** | // ---- |
| IPL-ROM LOAD | |
| ***********************************************************************/ | |
| static void ipl_load(void) { | static void ipl_load(void) { |
| Line 66 static void ipl_load(void) { | Line 64 static void ipl_load(void) { |
| } | } |
| /*********************************************************************** | // ---- |
| 初期化 | |
| ***********************************************************************/ | void pccore_initialize(void) { |
| fddfile_initialize(); | |
| sndctrl_initialize(); | |
| makescrn_initialize(); | |
| font_load(NULL, TRUE); | |
| crtc_initialize(); | |
| pcg_initialize(); | |
| ppi_initialize(); | |
| } | |
| void pccore_deinitialize(void) { | |
| sndctrl_deinitialize(); | |
| fddfile_eject(0); | |
| fddfile_eject(1); | |
| fddfile_eject(2); | |
| fddfile_eject(3); | |
| } | |
| void pccore_reset(void) { | |
| soundmng_stop(); | |
| if (corestat.soundrenewal) { | |
| corestat.soundrenewal = 0; | |
| sndctrl_deinitialize(); | |
| sndctrl_initialize(); | |
| } | |
| sound_reset(); | |
| static BRESULT reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) { | |
| pccore.baseclock = 2000000; | pccore.baseclock = 2000000; |
| pccore.multiple = 2; | pccore.multiple = 2; |
| pccore.realclock = pccore.baseclock * pccore.multiple; | pccore.realclock = pccore.baseclock * pccore.multiple; |
| pccore.ROM_TYPE = ROM_TYPE; | pccore.ROM_TYPE = xmilcfg.ROM_TYPE; |
| pccore.SOUND_SW = SOUND_SW; | pccore.SOUND_SW = xmilcfg.SOUND_SW; |
| pccore.DIP_SW = DIP_SW; | pccore.DIP_SW = xmilcfg.DIP_SW; |
| // スクリーンモードの変更... | // スクリーンモードの変更... |
| if (pccore.ROM_TYPE >= 3) { | if (pccore.ROM_TYPE >= 3) { |
| Line 89 static BRESULT reset_x1(BYTE ROM_TYPE, B | Line 117 static BRESULT reset_x1(BYTE ROM_TYPE, B |
| else { | else { |
| scrnmng_setcolormode(FALSE); | scrnmng_setcolormode(FALSE); |
| } | } |
| sound_changeclock(); | |
| ipl_load(); | sound_changeclock(); |
| sysmng_cpureset(); | |
| Z80_RESET(); | Z80_RESET(); |
| nevent_allreset(); | |
| ievent_reset(); | |
| iocore_reset(); | iocore_reset(); |
| ipl_load(); | |
| RAM0r = mBIOS; | RAM0r = mBIOS; |
| RAM0w = mMAIN; | RAM0w = mMAIN; |
| sysmng_cpureset(); | |
| calendar_initialize(); | |
| cgrom_reset(); | cgrom_reset(); |
| cmt_reset(); | cmt_reset(); |
| Line 116 static BRESULT reset_x1(BYTE ROM_TYPE, B | Line 145 static BRESULT reset_x1(BYTE ROM_TYPE, B |
| subcpu_reset(); | subcpu_reset(); |
| vramio_reset(); | vramio_reset(); |
| calendar_initialize(); | |
| pal_reset(); | pal_reset(); |
| makescrn_reset(); | makescrn_reset(); |
| timing_reset(); | timing_reset(); |
| return(SUCCESS); | |
| } | |
| /*********************************************************************** | |
| 実行/終了 | |
| ***********************************************************************/ | |
| void pccore_initialize(void) { | |
| fddfile_initialize(); | |
| sndctrl_initialize(); | |
| makescrn_initialize(); | |
| font_load(NULL, TRUE); | |
| crtc_initialize(); | |
| pcg_initialize(); | |
| ppi_initialize(); | |
| } | |
| void pccore_deinitialize(void) { | |
| sndctrl_deinitialize(); | |
| fddfile_eject(0); | |
| fddfile_eject(1); | |
| fddfile_eject(2); | |
| fddfile_eject(3); | |
| } | |
| void pccore_reset(void) { | |
| soundmng_stop(); | |
| if (corestat.soundrenewal) { | |
| corestat.soundrenewal = 0; | |
| sndctrl_deinitialize(); | |
| sndctrl_initialize(); | |
| } | |
| sound_reset(); | |
| nevent_allreset(); | |
| ievent_reset(); | |
| reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW); | |
| soundmng_play(); | soundmng_play(); |
| } | } |
| // ---- | // ---- |
| // #define IPTRACE (1 << 14) | // #define IPTRACE (1 << 14) |
| Line 248 void nvitem_vdisp(UINT id) { | Line 233 void nvitem_vdisp(UINT id) { |
| if (xmilcfg.DISPSYNC & 1) { | if (xmilcfg.DISPSYNC & 1) { |
| scrnupdate(); | scrnupdate(); |
| } | } |
| nevent_set(NEVENT_FRAMES, (corestat.tl - corestat.vl) * 250, | nevent_set(id, (corestat.tl - corestat.vl) * 250, |
| nvitem_vsync, NEVENT_RELATIVE); | nvitem_vsync, NEVENT_RELATIVE); |
| } | } |
| void nvitem_vsync(UINT id) { | void nvitem_vsync(UINT id) { |
| corestat.vsync = 2; | corestat.vsync = 2; |
| (void)id; | |
| } | } |