diff --git a/io/fdc.c b/io/fdc.c index 45feaab..de25e94 100644 --- a/io/fdc.c +++ b/io/fdc.c @@ -20,6 +20,7 @@ void nvitem_fdcbusy(UINT id) { TRACEOUT(("dma ready!")); dmac_sendready(TRUE); } + (void)id; } static void setbusy(UINT clock) { @@ -235,8 +236,9 @@ void IOOUTCALL fdc_o(UINT port, REG8 value) { fdc.s.stat = type2flash(); } fdc.s.bufdir = FDCDIR_NONE; - // マリオは コマンド発行後にbusyを見張る - // 逆にソーサリアンとかは busyだとエラーになる… + // リストアコマンドにおいて + //  マリオは コマンド発行後にbusyを見張る + //  逆にソーサリアンとかは busyだとエラーになる… // 条件は何? setbusy(20); switch(cmd) { diff --git a/io/ppi.c b/io/ppi.c index 8b4ac2d..651de03 100644 --- a/io/ppi.c +++ b/io/ppi.c @@ -6,69 +6,58 @@ // ---- 8255 PPI〜 -void IOOUTCALL ppi_o(UINT port, REG8 value) { +static REG8 getportb(void) { - UINT8 bak_c; - UINT8 bit; + REG8 ret; + UINT v; + + ret = cmt_test(); // | cmt_read(); // THUNDER BALL + + v = pccore_getraster(NULL); + if (v < crtc.s.CRT_YL) { + ret |= 0x80; // 1:DISP + } + if (subcpu.IBF) { + subcpu.IBF = 0; + ret |= 0x40; // 1:SUB-CPU BUSY + } + if (subcpu.OBF) { + ret |= 0x20; // 1:SUB-CPU Data empty + } + if (memio.ram) { + ret |= 0x10; // 1:RAM + } +#if 1 + if (!(v < crtc.e.vs)) { + ret |= 0x04; // V-SYNC + } +#else // ラプラステスト…VYSNCが長すぎるらしい + if (v_cnt == crtc.e.vs) { + ret |= 0x04; + } +#endif + return(ret); +} + +static void setportc(REG8 dat) { + + REG8 oldc; UINT8 xl; + oldc = ppi.portc; if (crtc.s.TXT_XL == 40) { - ppi.PORT_C |= 0x40; + oldc |= 0x40; } else { - ppi.PORT_C &= ~0x40; + oldc &= ~0x40; } - bak_c = ppi.PORT_C; + ppi.portc = dat; - switch(port & 0x0f) { - case 0: - if (!(ppi.MODE & 0x10)) { - ppi.PORT_A = value; - } - return; - - case 1: - if (!(ppi.MODE & 0x02)) { - ppi.PORT_B = value; - } - return; - - case 2: - if (!(ppi.MODE & 0x01)) { - ppi.PORT_C &= 0xf0; - ppi.PORT_C |= (value & 0x0f); - } - if (!(ppi.MODE & 0x08)) { - ppi.PORT_C &= 0x0f; - ppi.PORT_C |= (value & 0xf0); - } - break; - - case 3: - if (value & 0x80) { - ppi.MODE = value; - return; - } - else { - bit = (UINT8)(1 << ((value >> 1) & 7)); - if (value & 0x01) { - ppi.PORT_C |= bit; - } - else { - ppi.PORT_C &= ~bit; - } - } - break; - - default: - return; - } - -// cmt_write(ppi.PORT_C & 1); - if ((bak_c & 0x20) && (!(ppi.PORT_C & 0x20))) { +// cmt_write((REG8)(dat & 1)); + if ((oldc & 0x20) && (!(dat & 0x20))) { iocore.s.mode = 1; } - xl = ((ppi.PORT_C & 0x40)?40:80); + xl = ((dat & 0x40)?40:80); if (crtc.s.TXT_XL != xl) { crtc.s.TXT_XL = (UINT8)xl; // crtc.s.GRP_XL = xl << 3; @@ -77,53 +66,72 @@ void IOOUTCALL ppi_o(UINT port, REG8 value) { } } -REG8 IOINPCALL ppi_i(UINT port) { - UINT v; +// ---- - ppi.PORT_B = cmt_test(); // | cmt_read(); // THUNDER BALL +void IOOUTCALL ppi_o(UINT port, REG8 value) { + + REG8 bit; - v = pccore_getraster(NULL); - if (v < crtc.s.CRT_YL) { - ppi.PORT_B |= 0x80; // 1:DISP - } - if (subcpu.IBF) { - subcpu.IBF = 0; - ppi.PORT_B |= 0x40; // 1:SUB-CPU BUSY - } - if (subcpu.OBF) { - ppi.PORT_B |= 0x20; // 1:SUB-CPU Data empty - } - if (memio.ram) { - ppi.PORT_B |= 0x10; // 1:RAM - } -#if 1 - if (!(v < crtc.e.vs)) { - ppi.PORT_B |= 0x04; // V-SYNC - } -#else // ラプラステスト…VYSNCが長すぎるらしい - if (v_cnt == crtc.e.vs) { - ppi.PORT_B |= 0x04; - } -#endif - if (crtc.s.TXT_XL == 40) { - ppi.PORT_C |= 0x40; - } - else { - ppi.PORT_C &= ~0x40; - } switch(port & 0x0f) { case 0: - return(ppi.PORT_A); + ppi.porta = value; + return; case 1: - return(ppi.PORT_B); + ppi.portb = value; + return; case 2: - return(ppi.PORT_C); + setportc(value); + break; case 3: - return(ppi.MODE); + if (value & 0x80) { + ppi.mode = value; + return; + } + else { + bit = 1 << ((value >> 1) & 7); + if (value & 0x01) { + setportc((REG8)(ppi.portc | bit)); + } + else { + setportc((REG8)(ppi.portc & (~bit))); + } + } + break; + } +} + +REG8 IOINPCALL ppi_i(UINT port) { + + switch(port & 0x0f) { + case 0: + // if (!(ppi.mode & 0x10)) { + // return(ppi.porta); + // } + return(ppi.porta); + + case 1: + if (!(ppi.mode & 0x02)) { + return(ppi.portb); + } + return(getportb()); + + case 2: +#if 1 + if (crtc.s.TXT_XL == 40) { + ppi.portc |= 0x40; + } + else { + ppi.portc &= ~0x40; + } +#endif + return(ppi.portc); + + case 3: + return(ppi.mode); } return(0xff); } @@ -133,16 +141,16 @@ REG8 IOINPCALL ppi_i(UINT port) { void ppi_initialize(void) { - ppi.PORT_A = 0x00; - ppi.PORT_B = 0xff; - ppi.PORT_C = 0xff; - ppi.MODE = 0; + ppi.porta = 0x00; + ppi.portb = 0xff; + ppi.portc = 0xff; + ppi.mode = 0x9b; } void ppi_reset(void) { - ppi.MODE = 0; - ppi.PORT_A = 0; - ppi.PORT_C |= 0x40; + ppi.porta = 0x00; + ppi.portc |= 0x40; + ppi.mode = 0x82; } diff --git a/io/ppi.h b/io/ppi.h index e0d8b8f..9bbe166 100644 --- a/io/ppi.h +++ b/io/ppi.h @@ -1,9 +1,9 @@ typedef struct { - UINT8 PORT_A; - UINT8 PORT_B; - UINT8 PORT_C; - UINT8 MODE; + UINT8 porta; + UINT8 portb; + UINT8 portc; + UINT8 mode; } PPI; diff --git a/macos9/ini.cpp b/macos9/ini.cpp index 6ca7694..a5c2317 100644 --- a/macos9/ini.cpp +++ b/macos9/ini.cpp @@ -331,7 +331,6 @@ static const INITBL iniitem[] = { {"SkpFrame", INITYPE_UINT8, &xmiloscfg.DRAW_SKIP, 0}, {"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3}, - {"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0}, {"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0}, {"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0}, diff --git a/macos9/menu.cpp b/macos9/menu.cpp index 87e5da0..fbe8a19 100644 --- a/macos9/menu.cpp +++ b/macos9/menu.cpp @@ -122,13 +122,6 @@ void menu_setmouse(UINT8 value) { _CheckMenuItem(GetMenu(IDM_DEVICE), IDM_MOUSE, MFCHECK(value)); } -void menu_setcpuspeed(UINT8 value) { - - value &= 1; - xmilcfg.CPU8MHz = value; - _CheckMenuItem(_GetMenu(IDM_DEVICE), IDM_8MHZ, MFCHECK(value)); -} - void menu_setmotorflg(UINT8 value) { value &= 1; diff --git a/macos9/menu.h b/macos9/menu.h index bef410b..9075074 100644 --- a/macos9/menu.h +++ b/macos9/menu.h @@ -10,7 +10,6 @@ void menu_setframe(UINT8 value); void menu_setkey(UINT8 value); void menu_setsound(UINT8 value); void menu_setmouse(UINT8 value); -void menu_setcpuspeed(UINT8 value); void menu_setmotorflg(UINT8 value); void menu_setdispclk(UINT8 value); void menu_setskipline(UINT8 value); diff --git a/macos9/resource.h b/macos9/resource.h index 1330a5d..6c3d277 100644 --- a/macos9/resource.h +++ b/macos9/resource.h @@ -66,8 +66,7 @@ enum { IDM_FMBOARD = MAKE_MENUID(IDM_DEVICE, 5), IDM_JOYSTICK = MAKE_MENUID(IDM_DEVICE, 6), IDM_MOUSE = MAKE_MENUID(IDM_DEVICE, 7), - IDM_8MHZ = MAKE_MENUID(IDM_DEVICE, 8), - IDM_SEEKSND = MAKE_MENUID(IDM_DEVICE, 10), + IDM_SEEKSND = MAKE_MENUID(IDM_DEVICE, 9), IDM_BMPSAVE = MAKE_MENUID(IDM_OTHER, 1), IDM_OPMLOG = MAKE_MENUID(IDM_OTHER, 2), diff --git a/macos9/sysmng.cpp b/macos9/sysmng.cpp index 8314253..d24fa9e 100644 --- a/macos9/sysmng.cpp +++ b/macos9/sysmng.cpp @@ -25,7 +25,7 @@ static struct { void sysmng_workclockreset(void) { workclock.tick = GETTICK(); - workclock.clock = h_cnt + h_cntbase; // CPU_CLOCK; + workclock.clock = CPU_CLOCK; workclock.draws = drawtime; // drawcount; } @@ -40,8 +40,8 @@ BOOL sysmng_workclockrenewal(void) { workclock.tick += tick; workclock.fps = ((drawtime - workclock.draws) * 10000) / tick; workclock.draws = drawtime; - workclock.khz = (h_cnt + h_cntbase - workclock.clock) / tick; - workclock.clock = h_cnt + h_cntbase; + workclock.khz = (CPU_CLOCK - workclock.clock) / tick; + workclock.clock = CPU_CLOCK; return(TRUE); } @@ -52,14 +52,14 @@ void sysmng_updatecaption(BYTE flag) { if (flag & 1) { strtitle[0] = '\0'; - if (fdd_diskready(0)) { + if (fddfile_diskready(0)) { milstr_ncat(strtitle, " FDD0:", sizeof(strtitle)); - milstr_ncat(strtitle, file_getname((char *)fdd_diskname(0)), + milstr_ncat(strtitle, file_getname(fddfile_diskname(0)), sizeof(strtitle)); } - if (fdd_diskready(1)) { + if (fddfile_diskready(1)) { milstr_ncat(strtitle, " FDD1:", sizeof(strtitle)); - milstr_ncat(strtitle, file_getname((char *)fdd_diskname(1)), + milstr_ncat(strtitle, file_getname(fddfile_diskname(1)), sizeof(strtitle)); } } diff --git a/macos9/xmil.cpp b/macos9/xmil.cpp index b0b90bb..88e317c 100644 --- a/macos9/xmil.cpp +++ b/macos9/xmil.cpp @@ -314,11 +314,6 @@ static void HandleMenuChoice(long wParam) { update = SYS_UPDATECFG; break; - case IDM_8MHZ: - menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1); - update = SYS_UPDATECFG; - break; - case IDM_SEEKSND: menu_setmotorflg(xmilcfg.MOTOR ^ 1); update = SYS_UPDATECFG; @@ -614,7 +609,6 @@ int main(int argc, char *argv[]) { menu_setkey(0); menu_setsound(xmilcfg.SOUND_SW); menu_setmouse(xmilcfg.MOUSE_SW); - menu_setcpuspeed(xmilcfg.CPU8MHz); menu_setmotorflg(xmilcfg.MOTOR); menu_setdispclk(xmiloscfg.DISPCLK); menu_setbtnmode(xmilcfg.BTN_MODE); diff --git a/macos9/xmil.proj b/macos9/xmil.proj index eee43ea..5203d57 100644 Binary files a/macos9/xmil.proj and b/macos9/xmil.proj differ diff --git a/macos9/xmil.r b/macos9/xmil.r index 9888a5d..60871b9 100644 --- a/macos9/xmil.r +++ b/macos9/xmil.r @@ -100,15 +100,14 @@ data 'MENU' (138) { }; data 'MENU' (139) { - $"008B 0000 0000 0000 0000 FFFF FDAF 0644" /* .........ッ.D */ + $"008B 0000 0000 0000 0000 FFFF FEAF 0644" /* .........ッ.D */ $"6576 6963 6508 4B65 7962 6F61 7264 0000" /* evice.Keyboard.. */ $"0000 084A 6F79 4B65 792D 3100 0000 0008" /* ...JoyKey-1..... */ $"4A6F 794B 6579 2D32 0000 0000 012D 0000" /* JoyKey-2.....-.. */ $"0000 0846 4D20 426F 6172 6400 0000 0008" /* ...FM Board..... */ $"4A6F 7973 7469 636B 0000 0000 054D 6F75" /* Joystick.....Mou */ - $"7365 0000 0000 0438 4D48 7A00 0000 0001" /* se.....8MHz..... */ - $"2D00 0000 0009 5365 656B 536F 756E 6400" /* -....ニSeekSound. */ - $"0000 0000" /* .... */ + $"7365 0000 0000 012D 0000 0000 0953 6565" /* se.....-....ニSee */ + $"6B53 6F75 6E64 0000 0000 00" /* kSound..... */ }; data 'MENU' (140) { @@ -119,7 +118,7 @@ data 'MENU' (140) { $"6D65 2044 6973 7000 0000 000B 4A6F 7920" /* me Disp.....Joy */ $"5265 7665 7273 6500 0000 0009 4A6F 7920" /* Reverse....ニJoy */ $"5261 7069 6400 0000 0008 5A38 3020 5361" /* Rapid.....Z80 Sa */ - $"7665 0000 0000 0100 0000 0000 00" /* ve........... */ + $"7665 0000 0000 00" /* ve..... */ }; data 'BNDL' (128) { diff --git a/pccore.c b/pccore.c index ae3ac69..5667ec1 100644 --- a/pccore.c +++ b/pccore.c @@ -40,9 +40,7 @@ const OEMCHAR xmilversion[] = OEMTEXT(XMILVER_CORE); BYTE *RAM0w; -/*********************************************************************** - IPL-ROM LOAD -***********************************************************************/ +// ---- static void ipl_load(void) { @@ -66,67 +64,7 @@ static void ipl_load(void) { } -/*********************************************************************** - 初期化 -***********************************************************************/ - -static BRESULT reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) { - - pccore.baseclock = 2000000; - pccore.multiple = 2; - pccore.realclock = pccore.baseclock * pccore.multiple; - - pccore.ROM_TYPE = ROM_TYPE; - pccore.SOUND_SW = SOUND_SW; - pccore.DIP_SW = DIP_SW; - - // スクリーンモードの変更... - if (pccore.ROM_TYPE >= 3) { - if (scrnmng_setcolormode(TRUE) != SUCCESS) { - pccore.ROM_TYPE = 2; - } - } - else { - scrnmng_setcolormode(FALSE); - } - sound_changeclock(); - - ipl_load(); - - Z80_RESET(); - iocore_reset(); - - RAM0r = mBIOS; - RAM0w = mMAIN; - sysmng_cpureset(); - - calendar_initialize(); - - cgrom_reset(); - cmt_reset(); - crtc_reset(); - ctc_reset(); - dmac_reset(); - fdc_reset(); - memio_reset(); - pcg_reset(); - ppi_reset(); - sio_reset(); - sndboard_reset(); - subcpu_reset(); - vramio_reset(); - - pal_reset(); - makescrn_reset(); - timing_reset(); - return(SUCCESS); -} - - - -/*********************************************************************** - 実行/終了 -***********************************************************************/ +// ---- void pccore_initialize(void) { @@ -161,14 +99,61 @@ void pccore_reset(void) { } sound_reset(); + + pccore.baseclock = 2000000; + pccore.multiple = 2; + pccore.realclock = pccore.baseclock * pccore.multiple; + + pccore.ROM_TYPE = xmilcfg.ROM_TYPE; + pccore.SOUND_SW = xmilcfg.SOUND_SW; + pccore.DIP_SW = xmilcfg.DIP_SW; + + // スクリーンモードの変更... + if (pccore.ROM_TYPE >= 3) { + if (scrnmng_setcolormode(TRUE) != SUCCESS) { + pccore.ROM_TYPE = 2; + } + } + else { + scrnmng_setcolormode(FALSE); + } + + sound_changeclock(); + sysmng_cpureset(); + + Z80_RESET(); nevent_allreset(); ievent_reset(); - reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW); + iocore_reset(); + + ipl_load(); + + RAM0r = mBIOS; + RAM0w = mMAIN; + + cgrom_reset(); + cmt_reset(); + crtc_reset(); + ctc_reset(); + dmac_reset(); + fdc_reset(); + memio_reset(); + pcg_reset(); + ppi_reset(); + sio_reset(); + sndboard_reset(); + subcpu_reset(); + vramio_reset(); + + calendar_initialize(); + pal_reset(); + makescrn_reset(); + timing_reset(); + soundmng_play(); } - // ---- // #define IPTRACE (1 << 14) @@ -248,13 +233,14 @@ void nvitem_vdisp(UINT id) { if (xmilcfg.DISPSYNC & 1) { scrnupdate(); } - nevent_set(NEVENT_FRAMES, (corestat.tl - corestat.vl) * 250, + nevent_set(id, (corestat.tl - corestat.vl) * 250, nvitem_vsync, NEVENT_RELATIVE); } void nvitem_vsync(UINT id) { corestat.vsync = 2; + (void)id; } diff --git a/pccore.h b/pccore.h index 3271a27..6f6e64a 100644 --- a/pccore.h +++ b/pccore.h @@ -1,7 +1,7 @@ typedef struct { UINT8 ROM_TYPE; - UINT8 CPU8MHz; + UINT8 __CPU8MHz; UINT8 DIP_SW; UINT8 DISPSYNC; @@ -39,6 +39,10 @@ typedef struct { UINT8 soundrenewal; } CORESTAT; +enum { + RASTER_CLOCK = 250 +}; + enum { DIPSW_RESOLUTE = 0x01, DIPSW_BOOTMEDIA = 0x04 @@ -64,7 +68,6 @@ extern BYTE mBANK[16][0x8000]; #endif -void nvitem_raster(UINT id); UINT pccore_getraster(UINT *h); void nvitem_vdisp(UINT id); void nvitem_vsync(UINT id); diff --git a/win9x/ini.cpp b/win9x/ini.cpp index d26fa5f..ec2a292 100644 --- a/win9x/ini.cpp +++ b/win9x/ini.cpp @@ -193,7 +193,6 @@ static const INITBL iniitem[] = { {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, {"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3}, - {"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0}, {"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0}, {"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0}, diff --git a/win9x/menu.cpp b/win9x/menu.cpp index 0880c40..d8e5b20 100644 --- a/win9x/menu.cpp +++ b/win9x/menu.cpp @@ -264,13 +264,6 @@ void menu_setmouse(UINT8 value) { CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); } -void menu_setcpuspeed(UINT8 value) { - - value &= 1; - xmilcfg.CPU8MHz = value; - CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); -} - void menu_setmotorflg(UINT8 value) { value &= 1; diff --git a/win9x/menu.h b/win9x/menu.h index ff209ba..6784811 100644 --- a/win9x/menu.h +++ b/win9x/menu.h @@ -18,7 +18,6 @@ void menu_setkey(UINT8 value); void menu_setsound(UINT8 value); void menu_setjoystick(UINT8 value); void menu_setmouse(UINT8 value); -void menu_setcpuspeed(UINT8 value); void menu_setmotorflg(UINT8 value); void menu_opmlog(UINT8 value); void menu_setdispclk(UINT8 value); diff --git a/win9x/resource.h b/win9x/resource.h index 72aa8ce..1a83327 100644 --- a/win9x/resource.h +++ b/win9x/resource.h @@ -66,23 +66,22 @@ #define IDM_FMBOARD 40036 #define IDM_JOYSTICK 40037 #define IDM_MOUSE 40038 -#define IDM_8MHZ 40039 -#define IDM_SEEKSND 40040 -#define IDM_BMPSAVE 40041 -#define IDM_OPMLOG 40042 -#define IDM_DISPCLOCK 40043 -#define IDM_DISPFRAME 40044 -#define IDM_JOYX 40045 -#define IDM_RAPID 40046 -#define IDM_Z80SAVE 40047 -#define IDM_ABOUT 40048 +#define IDM_SEEKSND 40039 +#define IDM_BMPSAVE 40040 +#define IDM_OPMLOG 40041 +#define IDM_DISPCLOCK 40042 +#define IDM_DISPFRAME 40043 +#define IDM_JOYX 40044 +#define IDM_RAPID 40045 +#define IDM_Z80SAVE 40046 +#define IDM_ABOUT 40047 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 107 -#define _APS_NEXT_COMMAND_VALUE 40049 +#define _APS_NEXT_COMMAND_VALUE 40048 #define _APS_NEXT_CONTROL_VALUE 1011 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/win9x/xmil.cpp b/win9x/xmil.cpp index a88cd75..2965903 100644 --- a/win9x/xmil.cpp +++ b/win9x/xmil.cpp @@ -339,11 +339,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { updateflag = SYS_UPDATECFG; break; - case IDM_8MHZ: - menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1); - updateflag = SYS_UPDATECFG; - break; - case IDM_SEEKSND: menu_setmotorflg(xmilcfg.MOTOR ^ 1); updateflag = SYS_UPDATECFG; @@ -730,7 +725,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, menu_setsound(xmilcfg.SOUND_SW); menu_setjoystick(xmiloscfg.JOYSTICK); menu_setmouse(xmilcfg.MOUSE_SW); - menu_setcpuspeed(xmilcfg.CPU8MHz); menu_setmotorflg(xmilcfg.MOTOR); menu_setdispclk(xmiloscfg.DISPCLK); menu_setbtnmode(xmilcfg.BTN_MODE); diff --git a/win9x/xmil.rc b/win9x/xmil.rc index 2cf9f0f..dd8b920 100644 --- a/win9x/xmil.rc +++ b/win9x/xmil.rc @@ -126,7 +126,6 @@ BEGIN MENUITEM "&FM Board", IDM_FMBOARD MENUITEM "&Joystick", IDM_JOYSTICK MENUITEM "&MOUSE", IDM_MOUSE - MENUITEM "&8MHz", IDM_8MHZ MENUITEM SEPARATOR MENUITEM "SeekSound", IDM_SEEKSND END diff --git a/win9xc/ini.cpp b/win9xc/ini.cpp index 664340f..600ca53 100644 --- a/win9xc/ini.cpp +++ b/win9xc/ini.cpp @@ -191,7 +191,6 @@ static const INITBL iniitem[] = { {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, {"IPL_TYPE", INIMAX_UINT8, &xmilcfg.ROM_TYPE, 3}, - {"cpu_8MHz", INITYPE_BOOL, &xmilcfg.CPU8MHz, 0}, {"Resolute", INITYPE_HEX8, &xmilcfg.DIP_SW, 0}, {"DispSync", INITYPE_BOOL, &xmilcfg.DISPSYNC, 0}, diff --git a/win9xc/menu.cpp b/win9xc/menu.cpp index 58804de..fe25d5b 100644 --- a/win9xc/menu.cpp +++ b/win9xc/menu.cpp @@ -145,13 +145,6 @@ void menu_setmouse(UINT8 value) { CheckMenuItem(GetMenu(hWndMain), IDM_MOUSE, MFCHECK(value)); } -void menu_setcpuspeed(UINT8 value) { - - value &= 1; - xmilcfg.CPU8MHz = value; - CheckMenuItem(GetMenu(hWndMain), IDM_8MHZ, MFCHECK(value)); -} - void menu_setmotorflg(UINT8 value) { value &= 1; diff --git a/win9xc/menu.h b/win9xc/menu.h index f18eff9..fb7ed10 100644 --- a/win9xc/menu.h +++ b/win9xc/menu.h @@ -12,7 +12,6 @@ void menu_setkey(UINT8 value); void menu_setsound(UINT8 value); void menu_setjoystick(UINT8 value); void menu_setmouse(UINT8 value); -void menu_setcpuspeed(UINT8 value); void menu_setmotorflg(UINT8 value); void menu_opmlog(UINT8 value); void menu_setdispclk(UINT8 value); diff --git a/win9xc/resource.h b/win9xc/resource.h index 9aafac4..3759878 100644 --- a/win9xc/resource.h +++ b/win9xc/resource.h @@ -57,23 +57,22 @@ #define IDM_FMBOARD 40036 #define IDM_JOYSTICK 40037 #define IDM_MOUSE 40038 -#define IDM_8MHZ 40039 -#define IDM_SEEKSND 40040 -#define IDM_BMPSAVE 40041 -#define IDM_OPMLOG 40042 -#define IDM_DISPCLOCK 40043 -#define IDM_DISPFRAME 40044 -#define IDM_JOYX 40045 -#define IDM_RAPID 40046 -#define IDM_Z80SAVE 40047 -#define IDM_ABOUT 40048 +#define IDM_SEEKSND 40039 +#define IDM_BMPSAVE 40040 +#define IDM_OPMLOG 40041 +#define IDM_DISPCLOCK 40042 +#define IDM_DISPFRAME 40043 +#define IDM_JOYX 40044 +#define IDM_RAPID 40045 +#define IDM_Z80SAVE 40046 +#define IDM_ABOUT 40047 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 107 -#define _APS_NEXT_COMMAND_VALUE 40049 +#define _APS_NEXT_COMMAND_VALUE 40048 #define _APS_NEXT_CONTROL_VALUE 1015 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/win9xc/xmil.cpp b/win9xc/xmil.cpp index f2ed206..62e84e8 100644 --- a/win9xc/xmil.cpp +++ b/win9xc/xmil.cpp @@ -281,11 +281,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { updateflag = SYS_UPDATECFG; break; - case IDM_8MHZ: - menu_setcpuspeed(xmilcfg.CPU8MHz ^ 1); - updateflag = SYS_UPDATECFG; - break; - case IDM_SEEKSND: menu_setmotorflg(xmilcfg.MOTOR ^ 1); updateflag = SYS_UPDATECFG; @@ -644,7 +639,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst, menu_setsound(xmilcfg.SOUND_SW); menu_setjoystick(xmiloscfg.JOYSTICK); menu_setmouse(xmilcfg.MOUSE_SW); - menu_setcpuspeed(xmilcfg.CPU8MHz); menu_setmotorflg(xmilcfg.MOTOR); menu_setdispclk(xmiloscfg.DISPCLK); menu_setbtnmode(xmilcfg.BTN_MODE); diff --git a/win9xc/xmil.rc b/win9xc/xmil.rc index e93c6cd..ffb60d1 100644 --- a/win9xc/xmil.rc +++ b/win9xc/xmil.rc @@ -126,7 +126,6 @@ BEGIN MENUITEM "&FM Board", IDM_FMBOARD MENUITEM "&Joystick", IDM_JOYSTICK MENUITEM "&MOUSE", IDM_MOUSE - MENUITEM "&8MHz", IDM_8MHZ MENUITEM SEPARATOR MENUITEM "SeekSound", IDM_SEEKSND END