From 212d15cc6196acd5481e2fa66fa1df32d16d5e7e Mon Sep 17 00:00:00 2001 From: "K.Ohta" Date: Fri, 31 Jul 2015 15:44:02 +0900 Subject: [PATCH] [GENERAL][BUILD] Merge upstream 2015-07-31. --- history.txt | 23 +- source/babbage2nd.vcproj | 2 +- source/build-cmake/pc8801ma/CMakeLists.txt | 10 +- source/familybasic.vcproj | 2 +- source/fm16pi.vcproj | 2 +- source/fm7.vcproj | 30 +- source/fm77.vcproj | 2 +- source/fm77av.vcproj | 30 +- source/fmr30.vcproj | 2 +- source/fmr50_i286.vcproj | 2 +- source/fmr50_i386.vcproj | 2 +- source/fmr50_i486.vcproj | 2 +- source/fmr60.vcproj | 2 +- source/fmr70.vcproj | 2 +- source/fmr80.vcproj | 2 +- source/fp1100.vcproj | 2 +- source/fp200.vcproj | 2 +- source/gamegear.vcproj | 2 +- source/hc20.vcproj | 2 +- source/hc40.vcproj | 2 +- source/hc80.vcproj | 2 +- source/j3100gt.vcproj | 2 +- source/j3100sl.vcproj | 2 +- source/jx.vcproj | 2 +- source/m5.vcproj | 2 +- source/map1010.vcproj | 2 +- source/mastersystem.vcproj | 2 +- source/msx1.vcproj | 2 +- source/msx2.vcproj | 2 +- source/multi8.vcproj | 2 +- source/mycomz80a.vcproj | 2 +- source/mz1200.vcproj | 2 +- source/mz1500.vcproj | 2 +- source/mz2200.vcproj | 2 +- source/mz2500.vcproj | 2 +- source/mz2800.vcproj | 2 +- source/mz3500.vcproj | 2 +- source/mz5500.vcproj | 2 +- source/mz6500.vcproj | 2 +- source/mz6550.vcproj | 2 +- source/mz700.vcproj | 2 +- source/mz800.vcproj | 2 +- source/mz80a.vcproj | 2 +- source/mz80b.vcproj | 2 +- source/mz80k.vcproj | 2 +- source/n5200.vcproj | 2 +- source/pasopia.vcproj | 2 +- source/pasopia7.vcproj | 2 +- source/pasopia7lcd.vcproj | 2 +- source/pc100.vcproj | 2 +- source/pc6001.vcproj | 2 +- source/pc6001mk2.vcproj | 2 +- source/pc6001mk2sr.vcproj | 2 +- source/pc6601.vcproj | 2 +- source/pc6601sr.vcproj | 2 +- source/pc8001mk2sr.vcproj | 2 +- source/pc8201.vcproj | 2 +- source/pc8201a.vcproj | 2 +- source/pc8801ma.vcproj | 2 +- source/pc9801.vcproj | 2 +- source/pc9801e.vcproj | 2 +- source/pc9801u.vcproj | 2 +- source/pc9801vf.vcproj | 2 +- source/pc9801vm.vcproj | 2 +- source/pc98do.vcproj | 2 +- source/pc98ha.vcproj | 2 +- source/pc98lt.vcproj | 2 +- source/pcengine.vcproj | 2 +- source/phc20.vcproj | 2 +- source/phc25.vcproj | 2 +- source/pv1000.vcproj | 2 +- source/pv2000.vcproj | 2 +- source/px7.vcproj | 2 +- source/pyuta.vcproj | 2 +- source/qc10.vcproj | 2 +- source/qc10cms.vcproj | 2 +- source/rx78.vcproj | 2 +- source/sc3000.vcproj | 2 +- source/scv.vcproj | 2 +- source/src/config.cpp | 54 +- source/src/config.h | 4 +- source/src/res/fm16pi.rc | 4 + source/src/res/fm7.png | Bin 0 -> 762 bytes source/src/res/fm7.rc | 503 +++++----- source/src/res/fm77.rc | 516 ++++++----- source/src/res/fm77av.rc | 496 +++++----- source/src/res/fmr30.rc | 4 + source/src/res/fmr50_i286.rc | 8 + source/src/res/fmr50_i386.rc | 8 + source/src/res/fmr50_i486.rc | 8 + source/src/res/fmr60.rc | 8 + source/src/res/fmr70.rc | 8 + source/src/res/fmr80.rc | 8 + source/src/res/fp1100.rc | 4 + source/src/res/gamegear.rc | 2 + source/src/res/hc20.rc | 4 + source/src/res/hc40.rc | 8 + source/src/res/hc80.rc | 8 + source/src/res/j3100.rc | 4 + source/src/res/jx.rc | 4 + source/src/res/msx1.rc | 4 + source/src/res/msx2.rc | 4 + source/src/res/multi8.rc | 4 + source/src/res/mz1500.rc | 4 + source/src/res/mz2200.rc | 8 + source/src/res/mz2500.rc | 8 + source/src/res/mz2800.rc | 8 + source/src/res/mz3500.rc | 8 + source/src/res/mz5500.rc | 8 + source/src/res/mz6500.rc | 8 + source/src/res/mz6550.rc | 8 + source/src/res/mz800.rc | 4 + source/src/res/mz80a.rc | 8 + source/src/res/mz80b.rc | 8 + source/src/res/n5200.rc | 4 + source/src/res/pasopia.rc | 4 + source/src/res/pasopia7.rc | 4 + source/src/res/pc100.rc | 4 + source/src/res/pc6001.rc | 4 + source/src/res/pc6001mk2.rc | 4 + source/src/res/pc6001mk2sr.rc | 4 + source/src/res/pc6601.rc | 8 + source/src/res/pc6601sr.rc | 8 + source/src/res/pc8001mk2sr.rc | 4 + source/src/res/pc8801ma.rc | 9 +- source/src/res/pc9801.rc | 12 + source/src/res/pc9801e.rc | 12 + source/src/res/pc9801u.rc | 4 + source/src/res/pc9801vf.rc | 4 + source/src/res/pc9801vm.rc | 4 + source/src/res/pc98do.rc | 8 + source/src/res/pc98ha.rc | 2 + source/src/res/pc98lt.rc | 2 + source/src/res/qc10.rc | 4 + source/src/res/qc10cms.rc | 4 + source/src/res/resource.h | 1364 ++++++++++++++++++++++------ source/src/res/sc3000.rc | 2 + source/src/res/x1.ico | Bin 3262 -> 3262 bytes source/src/res/x1.rc | 4 + source/src/res/x1turbo.rc | 4 + source/src/res/x1turboz.rc | 508 ++++++----- source/src/res/x1twin.rc | 4 + source/src/vm/disk.cpp | 2 +- source/src/vm/disk.h | 7 + source/src/vm/fm7/floppy.cpp | 21 +- source/src/vm/fm7/fm7_mainio.h | 3 +- source/src/vm/fmgen/fmtimer.cpp | 9 +- source/src/vm/mb8877.cpp | 16 +- source/src/vm/mb8877.h | 4 +- source/src/vm/pc6001/floppy.h | 4 + source/src/vm/pc6001/pc6001.cpp | 13 + source/src/vm/pc6031.h | 4 + source/src/vm/pc80s31k.cpp | 17 +- source/src/vm/pc8801/pc88.cpp | 367 ++++++-- source/src/vm/pc8801/pc88.h | 31 +- source/src/vm/pc8801/pc8801.cpp | 45 +- source/src/vm/pc8801/pc8801.h | 13 +- source/src/vm/pc9801/pc9801.cpp | 22 +- source/src/vm/pc9801/pc9801.h | 3 + source/src/vm/upd765a.cpp | 38 +- source/src/vm/upd765a.h | 1 + source/src/vm/ym2151.cpp | 27 + source/src/vm/ym2151.h | 3 + source/src/vm/ym2203.cpp | 104 ++- source/src/vm/ym2203.h | 9 +- source/src/winmain.cpp | 50 +- source/tk80bs.vcproj | 2 +- source/x07.vcproj | 2 +- source/x1.vcproj | 2 +- source/x1turbo.vcproj | 2 +- source/x1turboz.vcproj | 2 +- source/x1twin.vcproj | 2 +- source/ys6464a.vcproj | 2 +- source/z80tvgame_i8255.vcproj | 2 +- source/z80tvgame_z80pio.vcproj | 2 +- 175 files changed, 3236 insertions(+), 1592 deletions(-) create mode 100644 source/src/res/fm7.png diff --git a/history.txt b/history.txt index db6289ceb..9929e9247 100644 --- a/history.txt +++ b/history.txt @@ -1,10 +1,29 @@ +7/31/2015 + +[COMMON] fix all vcproj files to disable WholeProgramOptimization option +[COMMON] fix all vcproj files to enable SSE2 instructions +[CONFIG] support ignore crc options individually for each floppy drive + +[VM/DISK] support ignore crc options individually for each floppy drive +[VM/MB8877] improve read/write commands (thanks Mr.Artane.) +[VM/MC6809] improve mc6809 instructions (thanks Mr.Artane.) +[VM/PC80S31K] fix m1 wait for PC-8801 series (thanks Mr.PI.) +[VM/PC80S31K] fix for force ready signal (thanks Mr.PI.) +[VM/UPD765A] fix for force ready signal (thanks Mr.PI.) +[VM/YM2203] improve timer timing (thanks Mr.PI.) +[VM/YM2151] improve timer timing (thanks Mr.PI.) + +[FM77AV] import Mr.Artane.'s fixes +[PC8801] import Mr.PI.'s fixes from XM8 version 1.20 + + 6/28/2015 [FM77AV] import Mr.Artane.'s fixes [MZ2500/CMT] fix reset signal [MZ2500/CRTC] improve timing for 15KHz and 24KHz mode [MZ2500/MEMORY] improve vram wait in display timing -[PC8801] import Mr.PI.'s fixes from XM8 +[PC8801] import Mr.PI.'s fixes from XM8 version 1.10 6/25/2015 @@ -19,7 +38,7 @@ [FM77] add eFM77 codes (thanks Mr.Artane.) [FM77AV] import Mr.Artane.'s fixes -[PC8801] import Mr.PI.'s fixes from XM8 +[PC8801] import Mr.PI.'s fixes from XM8 version 1.00 [PC8801/PC88] fix to check if sio output is connected to cmt or rs232c diff --git a/source/babbage2nd.vcproj b/source/babbage2nd.vcproj index 6945cee46..e516221d0 100644 --- a/source/babbage2nd.vcproj +++ b/source/babbage2nd.vcproj @@ -118,7 +118,6 @@ UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" - WholeProgramOptimization="1" > - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/fmr30.vcproj b/source/fmr30.vcproj index 9251e8d4f..9656d997d 100644 --- a/source/fmr30.vcproj +++ b/source/fmr30.vcproj @@ -118,7 +118,6 @@ UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" - WholeProgramOptimization="1" > FputInt32(config.drive_type); #endif #ifdef USE_FD1 - for(drv = 0; drv < 8; drv++) state_fio->FputBool(config.ignore_crc[drv]); + for(int drv = 0; drv < MAX_FD; drv++) { + state_fio->FputBool(config.ignore_crc[drv]); + } + for(int drv = 0; drv < MAX_FD; drv++) { + state_fio->FputBool(config.fdd_hack_fast_transfer[drv]); + } #endif #ifdef USE_MONITOR_TYPE state_fio->FputInt32(config.monitor_type); @@ -713,7 +707,6 @@ void save_config_state(void *f) bool load_config_state(void *f) { FILEIO *state_fio = (FILEIO *)f; - int drv; if(state_fio->FgetUint32() != STATE_VERSION) { return false; @@ -734,7 +727,12 @@ bool load_config_state(void *f) config.drive_type = state_fio->FgetInt32(); #endif #ifdef USE_FD1 - for(drv = 0; drv < 8; drv++) config.ignore_crc[drv] = state_fio->FgetBool(); + for(int drv = 0; drv < MAX_FD; drv++) { + config.ignore_crc[drv] = state_fio->FgetBool(); + } + for(int drv = 0; drv < MAX_FD; drv++) { + config.fdd_hack_fast_transfer[drv] = state_fio->FgetBool(); + } #endif #ifdef USE_MONITOR_TYPE config.monitor_type = state_fio->FgetInt32(); diff --git a/source/src/config.h b/source/src/config.h index 1729a102f..9b92d21e3 100644 --- a/source/src/config.h +++ b/source/src/config.h @@ -128,8 +128,8 @@ typedef struct { int drive_type; #endif #ifdef USE_FD1 - bool ignore_crc[8]; - bool fdd_hack_fast_transfer[8]; + bool ignore_crc[16]; + bool fdd_hack_fast_transfer[16]; #endif #ifdef USE_TAPE bool tape_sound; diff --git a/source/src/res/fm16pi.rc b/source/src/res/fm16pi.rc index 0e039153d..604e09d68 100644 --- a/source/src/res/fm16pi.rc +++ b/source/src/res/fm16pi.rc @@ -103,6 +103,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -110,6 +112,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/fm7.png b/source/src/res/fm7.png new file mode 100644 index 0000000000000000000000000000000000000000..ea95dfdda4b3db9547ce38fae387d8e29b9e4e7f GIT binary patch literal 762 zcmVs2_g_L3=s(;BB8+p5ANAe)T!H8GACNB3wO?*y_lI(FYC*{&$!}Ls68%Stiyr%>-Z)iKkwSW53#gp3w1i`s&86D{V4qYHJ-mp%c0r zq3_m1WC2sJpTf3EdS}0`$@PSev$;tYAmX=o2U%T8GW=kYMx!kCPVVdU@#yh$8UNMG zC+G>C_U<4~hqqb*|Bb+@t+~bA!tSqaEanypb_cs@D}nH6xdLL)zXldu3kACaOZI?` zC@Ubo^6AtRV5P)uo<86@01cwQ`LgBol2>4T?R&WbcAJZA4tyQANoV3X9p1m@lcEtI zn@eH0xn$6fUy^{8{;oKSOI9GsVBj#jyJ$zYRV_x3;s>C=E6?JRRoVm(2HfQeh(VDN zP_;DxRIOC0s>KZL+V=jgyutUt?rpn-s_m88R4pb8Xb=jB&TKA4kK&gzI8Iym*6Odt zvH-iyB^^F|E#UUG5?x&;JUl>jbs4v>m0z}|Bkg(XP1&z%F;p#v-R45oV$vqKY!4Xa z85$m7b|K18sF&G=C}ZIu@8>>OeILcWa+Z0*#h7FFLKS_6V<;3bCLap*%Al3sN3ju= zh5u0jbJ5|rGp=NFZojxOJ+g4YMgvVXTykG5~&csW5U?a21HA5kXaXqn- s*#r#7@VsDxvwsl_h?nsNE^w~+4a}h(oqOnPh5!Hn07*qoM6N<$g7r~ndjJ3c literal 0 HcmV?d00001 diff --git a/source/src/res/fm7.rc b/source/src/res/fm7.rc index d9afaa176..f1061ee44 100644 --- a/source/src/res/fm7.rc +++ b/source/src/res/fm7.rc @@ -1,247 +1,256 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Japanese (Japan) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -#pragma code_page(932) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // Japanese (Japan) resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Accelerator -// - -IDR_ACCELERATOR1 ACCELERATORS -BEGIN - VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "Control" - BEGIN - MENUITEM "Reset", ID_RESET - MENUITEM "HOT Reset", ID_SPECIAL_RESET - MENUITEM SEPARATOR - MENUITEM "BASIC", ID_BOOT_MODE0 - MENUITEM "DOS", ID_BOOT_MODE1 - MENUITEM SEPARATOR - MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 - MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 - MENUITEM SEPARATOR - MENUITEM "CPU x1", ID_CPU_POWER0 - MENUITEM "CPU x2", ID_CPU_POWER1 - MENUITEM "CPU x4", ID_CPU_POWER2 - MENUITEM "CPU x8", ID_CPU_POWER3 - MENUITEM "CPU x16", ID_CPU_POWER4 - MENUITEM SEPARATOR - MENUITEM "Cycle Steal", ID_DIPSWITCH0 - MENUITEM SEPARATOR - MENUITEM "Paste", ID_AUTOKEY_START - MENUITEM "Stop", ID_AUTOKEY_STOP - MENUITEM SEPARATOR - MENUITEM "Save State", ID_SAVE_STATE - MENUITEM "Load State", ID_LOAD_STATE - MENUITEM SEPARATOR - MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 - MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 - MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER - MENUITEM SEPARATOR - MENUITEM "Exit", ID_EXIT - END - POPUP "FD1" - BEGIN - MENUITEM "Insert", ID_OPEN_FD1 - MENUITEM "Eject", ID_CLOSE_FD1 - MENUITEM "Ignore CRC Errors", ID_FD1_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD1 - END - POPUP "FD2" - BEGIN - MENUITEM "Insert", ID_OPEN_FD2 - MENUITEM "Eject", ID_CLOSE_FD2 - MENUITEM "Ignore CRC Errors", ID_FD2_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD2 - END - POPUP "CMT" - BEGIN - MENUITEM "Play", ID_PLAY_TAPE - MENUITEM "Rec", ID_REC_TAPE - MENUITEM "Eject", ID_CLOSE_TAPE - MENUITEM SEPARATOR - MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND - MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_TAPE - END - POPUP "Screen" - BEGIN - MENUITEM "Rec 60fps", ID_SCREEN_REC60 - MENUITEM "Rec 30fps", ID_SCREEN_REC30 - MENUITEM "Rec 15fps", ID_SCREEN_REC15 - MENUITEM "Stop", ID_SCREEN_STOP - MENUITEM "Capture", ID_SCREEN_CAPTURE - MENUITEM SEPARATOR - MENUITEM "Window x1", ID_SCREEN_WINDOW1 - MENUITEM "Window x2", ID_SCREEN_WINDOW2 - MENUITEM "Window x3", ID_SCREEN_WINDOW3 - MENUITEM "Window x4", ID_SCREEN_WINDOW4 - MENUITEM "Window x5", ID_SCREEN_WINDOW5 - MENUITEM "Window x6", ID_SCREEN_WINDOW6 - MENUITEM "Window x7", ID_SCREEN_WINDOW7 - MENUITEM "Window x8", ID_SCREEN_WINDOW8 - MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 - MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 - MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 - MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 - MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 - MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 - MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 - MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 - MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 - MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 - MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 - MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 - MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 - MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 - MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 - MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 - MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 - MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 - MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 - MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 - MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 - MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 - MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 - MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 - MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 - MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 - MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 - MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 - MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 - MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 - MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 - MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 - MENUITEM SEPARATOR - MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT - MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT - MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL - MENUITEM SEPARATOR - MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 - MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC - MENUITEM SEPARATOR - MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER, GRAYED - MENUITEM "Scanline", ID_SCREEN_SCANLINE - END - POPUP "Sound" - BEGIN - MENUITEM "Rec", ID_SOUND_REC - MENUITEM "Stop", ID_SOUND_STOP - MENUITEM SEPARATOR - MENUITEM "2000Hz", ID_SOUND_FREQ0 - MENUITEM "4000Hz", ID_SOUND_FREQ1 - MENUITEM "8000Hz", ID_SOUND_FREQ2 - MENUITEM "11025Hz", ID_SOUND_FREQ3 - MENUITEM "22050Hz", ID_SOUND_FREQ4 - MENUITEM "44100Hz", ID_SOUND_FREQ5 - MENUITEM "48000Hz", ID_SOUND_FREQ6 - MENUITEM "96000Hz", ID_SOUND_FREQ7 - MENUITEM SEPARATOR - MENUITEM "50msec", ID_SOUND_LATE0 - MENUITEM "100msec", ID_SOUND_LATE1 - MENUITEM "200msec", ID_SOUND_LATE2 - MENUITEM "300msec", ID_SOUND_LATE3 - MENUITEM "400msec", ID_SOUND_LATE4 - MENUITEM SEPARATOR - MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 - MENUITEM "PSG+OPN", ID_SOUND_DEVICE_TYPE1 - MENUITEM "PSG+WHG", ID_SOUND_DEVICE_TYPE2 - MENUITEM "PSG+OPN+WHG", ID_SOUND_DEVICE_TYPE3 - MENUITEM "PSG+THG", ID_SOUND_DEVICE_TYPE4 - MENUITEM "PSG+OPN+THG", ID_SOUND_DEVICE_TYPE5 - MENUITEM "PSG+WHG+THG", ID_SOUND_DEVICE_TYPE6 - MENUITEM "PSG+OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON "fm7.ico" -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Japanese resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +#pragma code_page(932) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Japanese resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Accelerator +// + +IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE +BEGIN + VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU DISCARDABLE +BEGIN + POPUP "Control" + BEGIN + MENUITEM "Reset", ID_RESET + MENUITEM SEPARATOR + MENUITEM "BASIC" ID_BOOT_MODE0 + MENUITEM "DOS" ID_BOOT_MODE1 + MENUITEM SEPARATOR + MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 + MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 + MENUITEM SEPARATOR + MENUITEM "CPU x1", ID_CPU_POWER0 + MENUITEM "CPU x2", ID_CPU_POWER1 + MENUITEM "CPU x4", ID_CPU_POWER2 + MENUITEM "CPU x8", ID_CPU_POWER3 + MENUITEM "CPU x16", ID_CPU_POWER4 + MENUITEM SEPARATOR + MENUITEM "Cycle Steal", ID_DIPSWITCH0 + MENUITEM SEPARATOR + MENUITEM "None", ID_DEVICE_TYPE0 + MENUITEM "Mouse JS-Port1", ID_DEVICE_TYPE1 + MENUITEM "Mouse JS-Port2", ID_DEVICE_TYPE2 + MENUITEM SEPARATOR + MENUITEM "Paste", ID_AUTOKEY_START + MENUITEM "Stop", ID_AUTOKEY_STOP + MENUITEM SEPARATOR + MENUITEM "Save State", ID_SAVE_STATE + MENUITEM "Load State", ID_LOAD_STATE + MENUITEM SEPARATOR + MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 + MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 + MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER + MENUITEM SEPARATOR + MENUITEM "Exit", ID_EXIT + END + POPUP "FD1" + BEGIN + MENUITEM "Insert", ID_OPEN_FD1 + MENUITEM "Eject", ID_CLOSE_FD1 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD1 + END + POPUP "FD2" + BEGIN + MENUITEM "Insert", ID_OPEN_FD2 + MENUITEM "Eject", ID_CLOSE_FD2 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD2 + END + POPUP "CMT" + BEGIN + MENUITEM "Play", ID_PLAY_TAPE + MENUITEM "Rec", ID_REC_TAPE + MENUITEM "Eject", ID_CLOSE_TAPE + MENUITEM SEPARATOR + MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND + MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_TAPE + END + POPUP "Screen" + BEGIN + MENUITEM "Rec 60fps", ID_SCREEN_REC60 + MENUITEM "Rec 30fps", ID_SCREEN_REC30 + MENUITEM "Rec 15fps", ID_SCREEN_REC15 + MENUITEM "Stop", ID_SCREEN_STOP + MENUITEM "Capture", ID_SCREEN_CAPTURE + MENUITEM SEPARATOR + MENUITEM "Window x1", ID_SCREEN_WINDOW1 + MENUITEM "Window x2", ID_SCREEN_WINDOW2 + MENUITEM "Window x3", ID_SCREEN_WINDOW3 + MENUITEM "Window x4", ID_SCREEN_WINDOW4 + MENUITEM "Window x5", ID_SCREEN_WINDOW5 + MENUITEM "Window x6", ID_SCREEN_WINDOW6 + MENUITEM "Window x7", ID_SCREEN_WINDOW7 + MENUITEM "Window x8", ID_SCREEN_WINDOW8 + MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 + MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 + MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 + MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 + MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 + MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 + MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 + MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 + MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 + MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 + MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 + MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 + MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 + MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 + MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 + MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 + MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 + MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 + MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 + MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 + MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 + MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 + MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 + MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 + MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 + MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 + MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 + MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 + MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 + MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 + MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 + MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 + MENUITEM SEPARATOR + MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT + MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT + MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL + MENUITEM SEPARATOR + MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 + MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC + MENUITEM SEPARATOR + MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER + MENUITEM "Scanline", ID_SCREEN_SCANLINE + END + POPUP "Sound" + BEGIN + MENUITEM "Rec", ID_SOUND_REC + MENUITEM "Stop", ID_SOUND_STOP + MENUITEM SEPARATOR + MENUITEM "2000Hz", ID_SOUND_FREQ0 + MENUITEM "4000Hz", ID_SOUND_FREQ1 + MENUITEM "8000Hz", ID_SOUND_FREQ2 + MENUITEM "11025Hz", ID_SOUND_FREQ3 + MENUITEM "22050Hz", ID_SOUND_FREQ4 + MENUITEM "44100Hz", ID_SOUND_FREQ5 + MENUITEM "48000Hz", ID_SOUND_FREQ6 + MENUITEM "96000Hz", ID_SOUND_FREQ7 + MENUITEM SEPARATOR + MENUITEM "50msec", ID_SOUND_LATE0 + MENUITEM "100msec", ID_SOUND_LATE1 + MENUITEM "200msec", ID_SOUND_LATE2 + MENUITEM "300msec", ID_SOUND_LATE3 + MENUITEM "400msec", ID_SOUND_LATE4 + MENUITEM SEPARATOR + MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 + MENUITEM "PSG+OPN", ID_SOUND_DEVICE_TYPE1 + MENUITEM "PSG+WHG", ID_SOUND_DEVICE_TYPE2 + MENUITEM "PSG+OPN+WHG", ID_SOUND_DEVICE_TYPE3 + MENUITEM "PSG+THG", ID_SOUND_DEVICE_TYPE4 + MENUITEM "PSG+OPN+THG", ID_SOUND_DEVICE_TYPE5 + MENUITEM "PSG+WHG+THG", ID_SOUND_DEVICE_TYPE6 + MENUITEM "PSG+OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "fm7.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/source/src/res/fm77.rc b/source/src/res/fm77.rc index 0c788ab3d..8cf2c87d5 100644 --- a/source/src/res/fm77.rc +++ b/source/src/res/fm77.rc @@ -1,259 +1,257 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Japanese (Japan) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -#pragma code_page(932) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON "FM77L2.ico" -#endif // Japanese (Japan) resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Accelerator -// - -IDR_ACCELERATOR1 ACCELERATORS -BEGIN - VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "Control" - BEGIN - MENUITEM "Reset", ID_RESET - MENUITEM "Hot Reset", ID_SPECIAL_RESET - MENUITEM SEPARATOR - MENUITEM "BASIC", ID_BOOT_MODE0 - MENUITEM "DOS", ID_BOOT_MODE1 - MENUITEM SEPARATOR - MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 - MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 - MENUITEM "Use extra memory", ID_DIPSWITCH1 - MENUITEM SEPARATOR - MENUITEM "CPU x1", ID_CPU_POWER0 - MENUITEM "CPU x2", ID_CPU_POWER1 - MENUITEM "CPU x4", ID_CPU_POWER2 - MENUITEM "CPU x8", ID_CPU_POWER3 - MENUITEM "CPU x16", ID_CPU_POWER4 - MENUITEM SEPARATOR - MENUITEM "Cycle Steal", ID_DIPSWITCH0 - MENUITEM SEPARATOR - MENUITEM "Paste", ID_AUTOKEY_START - MENUITEM "Stop", ID_AUTOKEY_STOP - MENUITEM SEPARATOR - MENUITEM "Save State", ID_SAVE_STATE - MENUITEM "Load State", ID_LOAD_STATE - MENUITEM SEPARATOR - MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 - MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 - MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER - MENUITEM SEPARATOR - MENUITEM "Exit", ID_EXIT - END - POPUP "FD1" - BEGIN - MENUITEM "Insert", ID_OPEN_FD1 - MENUITEM "Eject", ID_CLOSE_FD1 - MENUITEM "Ignorre CRC Errors", ID_FD1_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD1 - END - POPUP "FD2" - BEGIN - MENUITEM "Insert", ID_OPEN_FD2 - MENUITEM "Eject", ID_CLOSE_FD2 - MENUITEM "Ignorre CRC Errors", ID_FD2_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD2 - END - POPUP "CMT" - BEGIN - MENUITEM "Play", ID_PLAY_TAPE - MENUITEM "Rec", ID_REC_TAPE - MENUITEM "Eject", ID_CLOSE_TAPE - MENUITEM SEPARATOR - MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND - MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_TAPE - END - POPUP "Screen" - BEGIN - MENUITEM "Rec 60fps", ID_SCREEN_REC60 - MENUITEM "Rec 30fps", ID_SCREEN_REC30 - MENUITEM "Rec 15fps", ID_SCREEN_REC15 - MENUITEM "Stop", ID_SCREEN_STOP - MENUITEM "Capture", ID_SCREEN_CAPTURE - MENUITEM SEPARATOR - MENUITEM "Window x1", ID_SCREEN_WINDOW1 - MENUITEM "Window x2", ID_SCREEN_WINDOW2 - MENUITEM "Window x3", ID_SCREEN_WINDOW3 - MENUITEM "Window x4", ID_SCREEN_WINDOW4 - MENUITEM "Window x5", ID_SCREEN_WINDOW5 - MENUITEM "Window x6", ID_SCREEN_WINDOW6 - MENUITEM "Window x7", ID_SCREEN_WINDOW7 - MENUITEM "Window x8", ID_SCREEN_WINDOW8 - MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 - MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 - MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 - MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 - MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 - MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 - MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 - MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 - MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 - MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 - MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 - MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 - MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 - MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 - MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 - MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 - MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 - MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 - MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 - MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 - MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 - MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 - MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 - MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 - MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 - MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 - MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 - MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 - MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 - MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 - MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 - MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 - MENUITEM SEPARATOR - MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT - MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT - MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL - MENUITEM SEPARATOR - MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 - MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC - MENUITEM SEPARATOR - MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER, GRAYED - MENUITEM "Scanline", ID_SCREEN_SCANLINE - END - POPUP "Sound" - BEGIN - MENUITEM "Rec", ID_SOUND_REC - MENUITEM "Stop", ID_SOUND_STOP - MENUITEM SEPARATOR - MENUITEM "2000Hz", ID_SOUND_FREQ0 - MENUITEM "4000Hz", ID_SOUND_FREQ1 - MENUITEM "8000Hz", ID_SOUND_FREQ2 - MENUITEM "11025Hz", ID_SOUND_FREQ3 - MENUITEM "22050Hz", ID_SOUND_FREQ4 - MENUITEM "44100Hz", ID_SOUND_FREQ5 - MENUITEM "48000Hz", ID_SOUND_FREQ6 - MENUITEM "96000Hz", ID_SOUND_FREQ7 - MENUITEM SEPARATOR - MENUITEM "50msec", ID_SOUND_LATE0 - MENUITEM "100msec", ID_SOUND_LATE1 - MENUITEM "200msec", ID_SOUND_LATE2 - MENUITEM "300msec", ID_SOUND_LATE3 - MENUITEM "400msec", ID_SOUND_LATE4 - MENUITEM SEPARATOR - MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 - MENUITEM "PSG+OPN", ID_SOUND_DEVICE_TYPE1 - MENUITEM "PSG+WHG", ID_SOUND_DEVICE_TYPE2 - MENUITEM "PSG+OPN+WHG", ID_SOUND_DEVICE_TYPE3 - MENUITEM "PSG+THG", ID_SOUND_DEVICE_TYPE4 - MENUITEM "PSG+OPN+THG", ID_SOUND_DEVICE_TYPE5 - MENUITEM "PSG+WHG+THG", ID_SOUND_DEVICE_TYPE6 - MENUITEM "PSG+OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - ID_SPECIAL_RESET "Perform [BREAK]+RESET. Press break after." -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Japanese resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +#pragma code_page(932) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Japanese resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Accelerator +// + +IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE +BEGIN + VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU DISCARDABLE +BEGIN + POPUP "Control" + BEGIN + MENUITEM "Reset", ID_RESET + MENUITEM SEPARATOR + MENUITEM "BASIC" ID_BOOT_MODE0 + MENUITEM "DOS" ID_BOOT_MODE1 + MENUITEM "MMR" ID_BOOT_MODE2 + MENUITEM SEPARATOR + MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 + MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 + MENUITEM SEPARATOR + MENUITEM "CPU x1", ID_CPU_POWER0 + MENUITEM "CPU x2", ID_CPU_POWER1 + MENUITEM "CPU x4", ID_CPU_POWER2 + MENUITEM "CPU x8", ID_CPU_POWER3 + MENUITEM "CPU x16", ID_CPU_POWER4 + MENUITEM SEPARATOR + MENUITEM "Cycle Steal", ID_DIPSWITCH0 + MENUITEM SEPARATOR + MENUITEM "None", ID_DEVICE_TYPE0 + MENUITEM "Mouse JS-Port1", ID_DEVICE_TYPE1 + MENUITEM "Mouse JS-Port2", ID_DEVICE_TYPE2 + MENUITEM SEPARATOR + MENUITEM "Paste", ID_AUTOKEY_START + MENUITEM "Stop", ID_AUTOKEY_STOP + MENUITEM SEPARATOR + MENUITEM "Save State", ID_SAVE_STATE + MENUITEM "Load State", ID_LOAD_STATE + MENUITEM SEPARATOR + MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 + MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 + MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER + MENUITEM SEPARATOR + MENUITEM "Exit", ID_EXIT + END + POPUP "FD1" + BEGIN + MENUITEM "Insert", ID_OPEN_FD1 + MENUITEM "Eject", ID_CLOSE_FD1 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD1 + END + POPUP "FD2" + BEGIN + MENUITEM "Insert", ID_OPEN_FD2 + MENUITEM "Eject", ID_CLOSE_FD2 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD2 + END + POPUP "CMT" + BEGIN + MENUITEM "Play", ID_PLAY_TAPE + MENUITEM "Rec", ID_REC_TAPE + MENUITEM "Eject", ID_CLOSE_TAPE + MENUITEM SEPARATOR + MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND + MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_TAPE + END + POPUP "Screen" + BEGIN + MENUITEM "Rec 60fps", ID_SCREEN_REC60 + MENUITEM "Rec 30fps", ID_SCREEN_REC30 + MENUITEM "Rec 15fps", ID_SCREEN_REC15 + MENUITEM "Stop", ID_SCREEN_STOP + MENUITEM "Capture", ID_SCREEN_CAPTURE + MENUITEM SEPARATOR + MENUITEM "Window x1", ID_SCREEN_WINDOW1 + MENUITEM "Window x2", ID_SCREEN_WINDOW2 + MENUITEM "Window x3", ID_SCREEN_WINDOW3 + MENUITEM "Window x4", ID_SCREEN_WINDOW4 + MENUITEM "Window x5", ID_SCREEN_WINDOW5 + MENUITEM "Window x6", ID_SCREEN_WINDOW6 + MENUITEM "Window x7", ID_SCREEN_WINDOW7 + MENUITEM "Window x8", ID_SCREEN_WINDOW8 + MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 + MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 + MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 + MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 + MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 + MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 + MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 + MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 + MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 + MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 + MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 + MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 + MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 + MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 + MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 + MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 + MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 + MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 + MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 + MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 + MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 + MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 + MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 + MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 + MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 + MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 + MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 + MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 + MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 + MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 + MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 + MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 + MENUITEM SEPARATOR + MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT + MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT + MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL + MENUITEM SEPARATOR + MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 + MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC + MENUITEM SEPARATOR + MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER + MENUITEM "Scanline", ID_SCREEN_SCANLINE + END + POPUP "Sound" + BEGIN + MENUITEM "Rec", ID_SOUND_REC + MENUITEM "Stop", ID_SOUND_STOP + MENUITEM SEPARATOR + MENUITEM "2000Hz", ID_SOUND_FREQ0 + MENUITEM "4000Hz", ID_SOUND_FREQ1 + MENUITEM "8000Hz", ID_SOUND_FREQ2 + MENUITEM "11025Hz", ID_SOUND_FREQ3 + MENUITEM "22050Hz", ID_SOUND_FREQ4 + MENUITEM "44100Hz", ID_SOUND_FREQ5 + MENUITEM "48000Hz", ID_SOUND_FREQ6 + MENUITEM "96000Hz", ID_SOUND_FREQ7 + MENUITEM SEPARATOR + MENUITEM "50msec", ID_SOUND_LATE0 + MENUITEM "100msec", ID_SOUND_LATE1 + MENUITEM "200msec", ID_SOUND_LATE2 + MENUITEM "300msec", ID_SOUND_LATE3 + MENUITEM "400msec", ID_SOUND_LATE4 + MENUITEM SEPARATOR + MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 + MENUITEM "PSG+OPN", ID_SOUND_DEVICE_TYPE1 + MENUITEM "PSG+WHG", ID_SOUND_DEVICE_TYPE2 + MENUITEM "PSG+OPN+WHG", ID_SOUND_DEVICE_TYPE3 + MENUITEM "PSG+THG", ID_SOUND_DEVICE_TYPE4 + MENUITEM "PSG+OPN+THG", ID_SOUND_DEVICE_TYPE5 + MENUITEM "PSG+WHG+THG", ID_SOUND_DEVICE_TYPE6 + MENUITEM "PSG+OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "fm77.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/source/src/res/fm77av.rc b/source/src/res/fm77av.rc index 0c921c2e5..eb7886c9e 100644 --- a/source/src/res/fm77av.rc +++ b/source/src/res/fm77av.rc @@ -1,244 +1,252 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Japanese (Japan) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -#pragma code_page(932) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // Japanese (Japan) resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Accelerator -// - -IDR_ACCELERATOR1 ACCELERATORS -BEGIN - VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "Control" - BEGIN - MENUITEM "Reset", ID_RESET - MENUITEM "HOT Reset", ID_SPECIAL_RESET - MENUITEM SEPARATOR - MENUITEM "BASIC", ID_BOOT_MODE0 - MENUITEM "DOS", ID_BOOT_MODE1 - MENUITEM SEPARATOR - MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 - MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 - MENUITEM "Use extra memory", ID_DIPSWITCH1 - MENUITEM SEPARATOR - MENUITEM "CPU x1", ID_CPU_POWER0 - MENUITEM "CPU x2", ID_CPU_POWER1 - MENUITEM "CPU x4", ID_CPU_POWER2 - MENUITEM "CPU x8", ID_CPU_POWER3 - MENUITEM "CPU x16", ID_CPU_POWER4 - MENUITEM SEPARATOR - MENUITEM "Cycle Steal", ID_DIPSWITCH0 - MENUITEM SEPARATOR - MENUITEM "Paste", ID_AUTOKEY_START - MENUITEM "Stop", ID_AUTOKEY_STOP - MENUITEM SEPARATOR - MENUITEM "Save State", ID_SAVE_STATE - MENUITEM "Load State", ID_LOAD_STATE - MENUITEM SEPARATOR - MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 - MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 - MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER - MENUITEM SEPARATOR - MENUITEM "Exit", ID_EXIT - END - POPUP "FD1" - BEGIN - MENUITEM "Insert", ID_OPEN_FD1 - MENUITEM "Eject", ID_CLOSE_FD1 - MENUITEM "Ignorre CRC Errors", ID_FD1_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD1 - END - POPUP "FD2" - BEGIN - MENUITEM "Insert", ID_OPEN_FD2 - MENUITEM "Eject", ID_CLOSE_FD2 - MENUITEM "Ignorre CRC Errors", ID_FD2_IGNORECRCERRORS, CHECKED - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD2 - END - POPUP "CMT" - BEGIN - MENUITEM "Play", ID_PLAY_TAPE - MENUITEM "Rec", ID_REC_TAPE - MENUITEM "Eject", ID_CLOSE_TAPE - MENUITEM SEPARATOR - MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND - MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_TAPE - END - POPUP "Screen" - BEGIN - MENUITEM "Rec 60fps", ID_SCREEN_REC60 - MENUITEM "Rec 30fps", ID_SCREEN_REC30 - MENUITEM "Rec 15fps", ID_SCREEN_REC15 - MENUITEM "Stop", ID_SCREEN_STOP - MENUITEM "Capture", ID_SCREEN_CAPTURE - MENUITEM SEPARATOR - MENUITEM "Window x1", ID_SCREEN_WINDOW1 - MENUITEM "Window x2", ID_SCREEN_WINDOW2 - MENUITEM "Window x3", ID_SCREEN_WINDOW3 - MENUITEM "Window x4", ID_SCREEN_WINDOW4 - MENUITEM "Window x5", ID_SCREEN_WINDOW5 - MENUITEM "Window x6", ID_SCREEN_WINDOW6 - MENUITEM "Window x7", ID_SCREEN_WINDOW7 - MENUITEM "Window x8", ID_SCREEN_WINDOW8 - MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 - MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 - MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 - MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 - MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 - MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 - MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 - MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 - MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 - MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 - MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 - MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 - MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 - MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 - MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 - MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 - MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 - MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 - MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 - MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 - MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 - MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 - MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 - MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 - MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 - MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 - MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 - MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 - MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 - MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 - MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 - MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 - MENUITEM SEPARATOR - MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT - MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT - MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL - MENUITEM SEPARATOR - MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 - MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC - MENUITEM SEPARATOR - MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER, GRAYED - MENUITEM "Scanline", ID_SCREEN_SCANLINE - END - POPUP "Sound" - BEGIN - MENUITEM "Rec", ID_SOUND_REC - MENUITEM "Stop", ID_SOUND_STOP - MENUITEM SEPARATOR - MENUITEM "2000Hz", ID_SOUND_FREQ0 - MENUITEM "4000Hz", ID_SOUND_FREQ1 - MENUITEM "8000Hz", ID_SOUND_FREQ2 - MENUITEM "11025Hz", ID_SOUND_FREQ3 - MENUITEM "22050Hz", ID_SOUND_FREQ4 - MENUITEM "44100Hz", ID_SOUND_FREQ5 - MENUITEM "48000Hz", ID_SOUND_FREQ6 - MENUITEM "96000Hz", ID_SOUND_FREQ7 - MENUITEM SEPARATOR - MENUITEM "50msec", ID_SOUND_LATE0 - MENUITEM "100msec", ID_SOUND_LATE1 - MENUITEM "200msec", ID_SOUND_LATE2 - MENUITEM "300msec", ID_SOUND_LATE3 - MENUITEM "400msec", ID_SOUND_LATE4 - MENUITEM SEPARATOR - MENUITEM "OPN", ID_SOUND_DEVICE_TYPE1 - MENUITEM "OPN+WHG", ID_SOUND_DEVICE_TYPE3 - MENUITEM "OPN+THG", ID_SOUND_DEVICE_TYPE5 - MENUITEM "OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON "fm77av.ico" -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Japanese resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +#pragma code_page(932) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Japanese resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Accelerator +// + +IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE +BEGIN + VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU DISCARDABLE +BEGIN + POPUP "Control" + BEGIN + MENUITEM "Reset", ID_RESET + MENUITEM SEPARATOR + MENUITEM "BASIC" ID_BOOT_MODE0 + MENUITEM "DOS" ID_BOOT_MODE1 + MENUITEM SEPARATOR + MENUITEM "CPU 2.0MHz", ID_CPU_TYPE0 + MENUITEM "CPU 1.2MHz", ID_CPU_TYPE1 + MENUITEM SEPARATOR + MENUITEM "CPU x1", ID_CPU_POWER0 + MENUITEM "CPU x2", ID_CPU_POWER1 + MENUITEM "CPU x4", ID_CPU_POWER2 + MENUITEM "CPU x8", ID_CPU_POWER3 + MENUITEM "CPU x16", ID_CPU_POWER4 + MENUITEM SEPARATOR + MENUITEM "Cycle Steal", ID_DIPSWITCH0 + MENUITEM SEPARATOR + MENUITEM "None", ID_DEVICE_TYPE0 + MENUITEM "Mouse JS-Port1", ID_DEVICE_TYPE1 + MENUITEM "Mouse JS-Port2", ID_DEVICE_TYPE2 + MENUITEM SEPARATOR + MENUITEM "Paste", ID_AUTOKEY_START + MENUITEM "Stop", ID_AUTOKEY_STOP + MENUITEM SEPARATOR + MENUITEM "Save State", ID_SAVE_STATE + MENUITEM "Load State", ID_LOAD_STATE + MENUITEM SEPARATOR + MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 + MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 + MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER + MENUITEM SEPARATOR + MENUITEM "Exit", ID_EXIT + END + POPUP "FD1" + BEGIN + MENUITEM "Insert", ID_OPEN_FD1 + MENUITEM "Eject", ID_CLOSE_FD1 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD1 + END + POPUP "FD2" + BEGIN + MENUITEM "Insert", ID_OPEN_FD2 + MENUITEM "Eject", ID_CLOSE_FD2 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD2 + END + POPUP "CMT" + BEGIN + MENUITEM "Play", ID_PLAY_TAPE + MENUITEM "Rec", ID_REC_TAPE + MENUITEM "Eject", ID_CLOSE_TAPE + MENUITEM SEPARATOR + MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND + MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_TAPE + END + POPUP "Screen" + BEGIN + MENUITEM "Rec 60fps", ID_SCREEN_REC60 + MENUITEM "Rec 30fps", ID_SCREEN_REC30 + MENUITEM "Rec 15fps", ID_SCREEN_REC15 + MENUITEM "Stop", ID_SCREEN_STOP + MENUITEM "Capture", ID_SCREEN_CAPTURE + MENUITEM SEPARATOR + MENUITEM "Window x1", ID_SCREEN_WINDOW1 + MENUITEM "Window x2", ID_SCREEN_WINDOW2 + MENUITEM "Window x3", ID_SCREEN_WINDOW3 + MENUITEM "Window x4", ID_SCREEN_WINDOW4 + MENUITEM "Window x5", ID_SCREEN_WINDOW5 + MENUITEM "Window x6", ID_SCREEN_WINDOW6 + MENUITEM "Window x7", ID_SCREEN_WINDOW7 + MENUITEM "Window x8", ID_SCREEN_WINDOW8 + MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 + MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 + MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 + MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 + MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 + MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 + MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 + MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 + MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 + MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 + MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 + MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 + MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 + MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 + MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 + MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 + MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 + MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 + MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 + MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 + MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 + MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 + MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 + MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 + MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 + MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 + MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 + MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 + MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 + MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 + MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 + MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 + MENUITEM SEPARATOR + MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT + MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT + MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL + MENUITEM SEPARATOR + MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 + MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC + MENUITEM SEPARATOR + MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER + MENUITEM "Scanline", ID_SCREEN_SCANLINE + END + POPUP "Sound" + BEGIN + MENUITEM "Rec", ID_SOUND_REC + MENUITEM "Stop", ID_SOUND_STOP + MENUITEM SEPARATOR + MENUITEM "2000Hz", ID_SOUND_FREQ0 + MENUITEM "4000Hz", ID_SOUND_FREQ1 + MENUITEM "8000Hz", ID_SOUND_FREQ2 + MENUITEM "11025Hz", ID_SOUND_FREQ3 + MENUITEM "22050Hz", ID_SOUND_FREQ4 + MENUITEM "44100Hz", ID_SOUND_FREQ5 + MENUITEM "48000Hz", ID_SOUND_FREQ6 + MENUITEM "96000Hz", ID_SOUND_FREQ7 + MENUITEM SEPARATOR + MENUITEM "50msec", ID_SOUND_LATE0 + MENUITEM "100msec", ID_SOUND_LATE1 + MENUITEM "200msec", ID_SOUND_LATE2 + MENUITEM "300msec", ID_SOUND_LATE3 + MENUITEM "400msec", ID_SOUND_LATE4 + MENUITEM SEPARATOR + MENUITEM "OPN", ID_SOUND_DEVICE_TYPE1 + MENUITEM "OPN+WHG", ID_SOUND_DEVICE_TYPE3 + MENUITEM "OPN+THG", ID_SOUND_DEVICE_TYPE5 + MENUITEM "OPN+WHG+THG", ID_SOUND_DEVICE_TYPE7 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "fm77av.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/source/src/res/fmr30.rc b/source/src/res/fmr30.rc index 97bff223e..326469835 100644 --- a/source/src/res/fmr30.rc +++ b/source/src/res/fmr30.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent" , ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/fmr50_i286.rc b/source/src/res/fmr50_i286.rc index f10af670a..a33ee8960 100644 --- a/source/src/res/fmr50_i286.rc +++ b/source/src/res/fmr50_i286.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fmr50_i386.rc b/source/src/res/fmr50_i386.rc index ffd6d242f..7a2e01853 100644 --- a/source/src/res/fmr50_i386.rc +++ b/source/src/res/fmr50_i386.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fmr50_i486.rc b/source/src/res/fmr50_i486.rc index cd779bd0d..c425ab5f6 100644 --- a/source/src/res/fmr50_i486.rc +++ b/source/src/res/fmr50_i486.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fmr60.rc b/source/src/res/fmr60.rc index b0529b5ec..39580ad11 100644 --- a/source/src/res/fmr60.rc +++ b/source/src/res/fmr60.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fmr70.rc b/source/src/res/fmr70.rc index 5702e55ea..3aa3795ac 100644 --- a/source/src/res/fmr70.rc +++ b/source/src/res/fmr70.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fmr80.rc b/source/src/res/fmr80.rc index b90ee6668..76c2b1c54 100644 --- a/source/src/res/fmr80.rc +++ b/source/src/res/fmr80.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -121,6 +125,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -128,6 +134,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/fp1100.rc b/source/src/res/fp1100.rc index fb13f3625..77b69dcf3 100644 --- a/source/src/res/fp1100.rc +++ b/source/src/res/fp1100.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/gamegear.rc b/source/src/res/gamegear.rc index 2f1ab198a..ebddb3243 100644 --- a/source/src/res/gamegear.rc +++ b/source/src/res/gamegear.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "CMT" diff --git a/source/src/res/hc20.rc b/source/src/res/hc20.rc index 5e116222b..0ce243861 100644 --- a/source/src/res/hc20.rc +++ b/source/src/res/hc20.rc @@ -109,6 +109,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -116,6 +118,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/hc40.rc b/source/src/res/hc40.rc index f287d63ba..4b85ba88e 100644 --- a/source/src/res/hc40.rc +++ b/source/src/res/hc40.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -118,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -125,6 +131,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "CMT" diff --git a/source/src/res/hc80.rc b/source/src/res/hc80.rc index 19f13cd5c..f0929b0a4 100644 --- a/source/src/res/hc80.rc +++ b/source/src/res/hc80.rc @@ -108,6 +108,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -115,6 +117,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -122,6 +126,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -129,6 +135,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/j3100.rc b/source/src/res/j3100.rc index 20fb35573..0ba3f68a6 100644 --- a/source/src/res/j3100.rc +++ b/source/src/res/j3100.rc @@ -98,6 +98,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -105,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/jx.rc b/source/src/res/jx.rc index 68e1a0fde..5d4df9fc3 100644 --- a/source/src/res/jx.rc +++ b/source/src/res/jx.rc @@ -100,6 +100,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -107,6 +109,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/msx1.rc b/source/src/res/msx1.rc index c6efe9200..064a3417f 100644 --- a/source/src/res/msx1.rc +++ b/source/src/res/msx1.rc @@ -128,6 +128,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -135,6 +137,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/msx2.rc b/source/src/res/msx2.rc index e4d573c13..0afb8132a 100644 --- a/source/src/res/msx2.rc +++ b/source/src/res/msx2.rc @@ -128,6 +128,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -135,6 +137,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/multi8.rc b/source/src/res/multi8.rc index 64d9d2ce7..548234ecc 100644 --- a/source/src/res/multi8.rc +++ b/source/src/res/multi8.rc @@ -103,6 +103,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -110,6 +112,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/mz1500.rc b/source/src/res/mz1500.rc index 1cc80f8ac..8075b9f31 100644 --- a/source/src/res/mz1500.rc +++ b/source/src/res/mz1500.rc @@ -124,6 +124,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -131,6 +133,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/mz2200.rc b/source/src/res/mz2200.rc index 5c1efb671..04b9216b2 100644 --- a/source/src/res/mz2200.rc +++ b/source/src/res/mz2200.rc @@ -128,6 +128,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -135,6 +137,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -142,6 +146,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -149,6 +155,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz2500.rc b/source/src/res/mz2500.rc index 387b26182..ec18af53c 100644 --- a/source/src/res/mz2500.rc +++ b/source/src/res/mz2500.rc @@ -105,6 +105,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -112,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -119,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -126,6 +132,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "CMT" diff --git a/source/src/res/mz2800.rc b/source/src/res/mz2800.rc index a88c886f8..9a042ca5e 100644 --- a/source/src/res/mz2800.rc +++ b/source/src/res/mz2800.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -118,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -125,6 +131,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz3500.rc b/source/src/res/mz3500.rc index d41ce81b2..7744c7be1 100644 --- a/source/src/res/mz3500.rc +++ b/source/src/res/mz3500.rc @@ -102,6 +102,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -109,6 +111,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -116,6 +120,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -123,6 +129,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz5500.rc b/source/src/res/mz5500.rc index 569db33e5..049e7eb38 100644 --- a/source/src/res/mz5500.rc +++ b/source/src/res/mz5500.rc @@ -105,6 +105,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -112,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -119,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -126,6 +132,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz6500.rc b/source/src/res/mz6500.rc index 80710b10b..738f919c6 100644 --- a/source/src/res/mz6500.rc +++ b/source/src/res/mz6500.rc @@ -105,6 +105,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -112,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -119,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -126,6 +132,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz6550.rc b/source/src/res/mz6550.rc index 7187441fb..386713ef0 100644 --- a/source/src/res/mz6550.rc +++ b/source/src/res/mz6550.rc @@ -105,6 +105,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -112,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -119,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -126,6 +132,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz800.rc b/source/src/res/mz800.rc index cb40eb644..66fb11671 100644 --- a/source/src/res/mz800.rc +++ b/source/src/res/mz800.rc @@ -127,6 +127,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -134,6 +136,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/mz80a.rc b/source/src/res/mz80a.rc index 3516f5fa3..236cf2265 100644 --- a/source/src/res/mz80a.rc +++ b/source/src/res/mz80a.rc @@ -117,6 +117,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -124,6 +126,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -131,6 +135,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -138,6 +144,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/mz80b.rc b/source/src/res/mz80b.rc index 70aaa25f4..267f533b9 100644 --- a/source/src/res/mz80b.rc +++ b/source/src/res/mz80b.rc @@ -120,6 +120,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -127,6 +129,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -134,6 +138,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -141,6 +147,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "Screen" diff --git a/source/src/res/n5200.rc b/source/src/res/n5200.rc index 220bc3cac..853e22fa2 100644 --- a/source/src/res/n5200.rc +++ b/source/src/res/n5200.rc @@ -98,6 +98,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -105,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/pasopia.rc b/source/src/res/pasopia.rc index cddc72e99..de70abd50 100644 --- a/source/src/res/pasopia.rc +++ b/source/src/res/pasopia.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pasopia7.rc b/source/src/res/pasopia7.rc index 7bbf22605..10dae247b 100644 --- a/source/src/res/pasopia7.rc +++ b/source/src/res/pasopia7.rc @@ -103,6 +103,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -110,6 +112,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pc100.rc b/source/src/res/pc100.rc index 533e53658..bb9a7c1ec 100644 --- a/source/src/res/pc100.rc +++ b/source/src/res/pc100.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/pc6001.rc b/source/src/res/pc6001.rc index 6ef36f735..c09044a4b 100644 --- a/source/src/res/pc6001.rc +++ b/source/src/res/pc6001.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pc6001mk2.rc b/source/src/res/pc6001mk2.rc index fc28a4e81..3363980be 100644 --- a/source/src/res/pc6001mk2.rc +++ b/source/src/res/pc6001mk2.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert" ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pc6001mk2sr.rc b/source/src/res/pc6001mk2sr.rc index a724abcc3..581d73ef3 100644 --- a/source/src/res/pc6001mk2sr.rc +++ b/source/src/res/pc6001mk2sr.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert" ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pc6601.rc b/source/src/res/pc6601.rc index 4b9ef40ee..f3c4965f9 100644 --- a/source/src/res/pc6601.rc +++ b/source/src/res/pc6601.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert" ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -127,6 +131,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -134,6 +140,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "CMT" diff --git a/source/src/res/pc6601sr.rc b/source/src/res/pc6601sr.rc index 75d34e6f6..788e6926d 100644 --- a/source/src/res/pc6601sr.rc +++ b/source/src/res/pc6601sr.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert" ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "FD3" @@ -127,6 +131,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD4" @@ -134,6 +140,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "CMT" diff --git a/source/src/res/pc8001mk2sr.rc b/source/src/res/pc8001mk2sr.rc index a953e72f7..f228f24fd 100644 --- a/source/src/res/pc8001mk2sr.rc +++ b/source/src/res/pc8001mk2sr.rc @@ -114,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -121,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/pc8801ma.rc b/source/src/res/pc8801ma.rc index e695875a4..63241964f 100644 --- a/source/src/res/pc8801ma.rc +++ b/source/src/res/pc8801ma.rc @@ -119,6 +119,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -126,6 +128,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" @@ -218,8 +222,9 @@ BEGIN MENUITEM "300msec", ID_SOUND_LATE3 MENUITEM "400msec", ID_SOUND_LATE4 MENUITEM SEPARATOR - MENUITEM "PC-8801-23 (OPNA)", ID_SOUND_DEVICE_TYPE0 - MENUITEM "PC-8801-11 (OPN)", ID_SOUND_DEVICE_TYPE1 + MENUITEM "OPNA", ID_SOUND_DEVICE_TYPE0 + MENUITEM "OPN", ID_SOUND_DEVICE_TYPE1 + MENUITEM "OPN+OPNA", ID_SOUND_DEVICE_TYPE2 END END diff --git a/source/src/res/pc9801.rc b/source/src/res/pc9801.rc index 895f4100e..bbcf4a4a3 100644 --- a/source/src/res/pc9801.rc +++ b/source/src/res/pc9801.rc @@ -105,6 +105,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -112,6 +114,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "640KB-FD1" @@ -119,6 +123,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD2" @@ -126,6 +132,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "320KB-FD1" @@ -133,6 +141,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD5 MENUITEM "Eject", ID_CLOSE_FD5 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC5 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD5 END POPUP "FD2" @@ -140,6 +150,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD6 MENUITEM "Eject", ID_CLOSE_FD6 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC6 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD6 END POPUP "CMT" diff --git a/source/src/res/pc9801e.rc b/source/src/res/pc9801e.rc index 365e1ba73..00960361b 100644 --- a/source/src/res/pc9801e.rc +++ b/source/src/res/pc9801e.rc @@ -108,6 +108,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -115,6 +117,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "640KB-FD1" @@ -122,6 +126,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD2" @@ -129,6 +135,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "320KB-FD1" @@ -136,6 +144,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD5 MENUITEM "Eject", ID_CLOSE_FD5 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC5 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD5 END POPUP "FD2" @@ -143,6 +153,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD6 MENUITEM "Eject", ID_CLOSE_FD6 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC6 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD6 END POPUP "CMT" diff --git a/source/src/res/pc9801u.rc b/source/src/res/pc9801u.rc index f88e02a49..ad1c37f3e 100644 --- a/source/src/res/pc9801u.rc +++ b/source/src/res/pc9801u.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/pc9801vf.rc b/source/src/res/pc9801vf.rc index 625ab776c..1cdacaa97 100644 --- a/source/src/res/pc9801vf.rc +++ b/source/src/res/pc9801vf.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -111,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/pc9801vm.rc b/source/src/res/pc9801vm.rc index 747e73f46..a2d075c1c 100644 --- a/source/src/res/pc9801vm.rc +++ b/source/src/res/pc9801vm.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/pc98do.rc b/source/src/res/pc98do.rc index 807ba13f1..d9de2cf11 100644 --- a/source/src/res/pc98do.rc +++ b/source/src/res/pc98do.rc @@ -117,6 +117,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -124,6 +126,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "PC88-FD1" @@ -131,6 +135,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD3 MENUITEM "Eject", ID_CLOSE_FD3 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC3 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD3 END POPUP "FD2" @@ -138,6 +144,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD4 MENUITEM "Eject", ID_CLOSE_FD4 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC4 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD4 END POPUP "PC88-CMT" diff --git a/source/src/res/pc98ha.rc b/source/src/res/pc98ha.rc index a7ca23128..49167ec1b 100644 --- a/source/src/res/pc98ha.rc +++ b/source/src/res/pc98ha.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "Screen" diff --git a/source/src/res/pc98lt.rc b/source/src/res/pc98lt.rc index f35cc33d5..f22c8561c 100644 --- a/source/src/res/pc98lt.rc +++ b/source/src/res/pc98lt.rc @@ -104,6 +104,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "Screen" diff --git a/source/src/res/qc10.rc b/source/src/res/qc10.rc index 4c1103c4a..96a43bb9c 100644 --- a/source/src/res/qc10.rc +++ b/source/src/res/qc10.rc @@ -112,6 +112,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -119,6 +121,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/qc10cms.rc b/source/src/res/qc10cms.rc index b3d5e8905..d13045aaf 100644 --- a/source/src/res/qc10cms.rc +++ b/source/src/res/qc10cms.rc @@ -112,6 +112,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD2" @@ -119,6 +121,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "Screen" diff --git a/source/src/res/resource.h b/source/src/res/resource.h index 8c8b35143..147d17bb9 100644 --- a/source/src/res/resource.h +++ b/source/src/res/resource.h @@ -1,278 +1,1086 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by fm77av.rc -// -#define IDR_MENU1 101 -#define IDR_ACCELERATOR1 103 -#define ID_ACCEL_SCREEN 104 -#define ID_ACCEL_MOUSE 105 -#define ID_BITMAP1 106 -#define IDI_ICON1 109 -#define ID_BUTTON 1000 -#define ID_RESET 40001 -#define ID_SPECIAL_RESET 40002 -#define ID_AUTOKEY_START 40003 -#define ID_AUTOKEY_STOP 40004 -#define ID_SAVE_STATE 40005 -#define ID_LOAD_STATE 40006 -#define ID_EXIT 40007 -#define ID_OPEN_DEBUGGER0 40011 -#define ID_OPEN_DEBUGGER1 40012 -#define ID_OPEN_DEBUGGER2 40013 -#define ID_OPEN_DEBUGGER3 40014 -#define ID_CLOSE_DEBUGGER 40015 -#define ID_BOOT_MODE0 40021 -#define ID_BOOT_MODE1 40022 -#define ID_BOOT_MODE2 40023 -#define ID_BOOT_MODE3 40024 -#define ID_BOOT_MODE4 40025 -#define ID_BOOT_MODE5 40026 -#define ID_BOOT_MODE6 40027 -#define ID_BOOT_MODE7 40028 -#define ID_CPU_TYPE0 40031 -#define ID_CPU_TYPE1 40032 -#define ID_CPU_TYPE2 40033 -#define ID_CPU_TYPE3 40034 -#define ID_CPU_TYPE4 40035 -#define ID_CPU_TYPE5 40036 -#define ID_CPU_TYPE6 40037 -#define ID_CPU_TYPE7 40038 -#define ID_CPU_POWER0 40041 -#define ID_CPU_POWER1 40042 -#define ID_CPU_POWER2 40043 -#define ID_CPU_POWER3 40044 -#define ID_CPU_POWER4 40045 -#define ID_DIPSWITCH0 40051 -#define ID_DIPSWITCH1 40052 -#define ID_DIPSWITCH2 40053 -#define ID_DIPSWITCH3 40054 -#define ID_DIPSWITCH4 40055 -#define ID_DIPSWITCH5 40056 -#define ID_DIPSWITCH6 40057 -#define ID_DIPSWITCH7 40058 -#define ID_DIPSWITCH8 40059 -#define ID_DIPSWITCH9 40060 -#define ID_DIPSWITCH10 40061 -#define ID_DIPSWITCH11 40062 -#define ID_DIPSWITCH12 40063 -#define ID_DIPSWITCH13 40064 -#define ID_DIPSWITCH14 40065 -#define ID_DIPSWITCH15 40066 -#define ID_DIPSWITCH16 40067 -#define ID_DIPSWITCH17 40068 -#define ID_DIPSWITCH18 40069 -#define ID_DIPSWITCH19 40070 -#define ID_DIPSWITCH20 40071 -#define ID_DIPSWITCH21 40072 -#define ID_DIPSWITCH22 40073 -#define ID_DIPSWITCH23 40074 -#define ID_DIPSWITCH24 40075 -#define ID_DIPSWITCH25 40076 -#define ID_DIPSWITCH26 40077 -#define ID_DIPSWITCH27 40078 -#define ID_DIPSWITCH28 40079 -#define ID_DIPSWITCH29 40080 -#define ID_DIPSWITCH30 40081 -#define ID_DIPSWITCH31 40082 -#define ID_DEVICE_TYPE0 40091 -#define ID_DEVICE_TYPE1 40092 -#define ID_DEVICE_TYPE2 40093 -#define ID_DEVICE_TYPE3 40094 -#define ID_DRIVE_TYPE0 40095 -#define ID_DRIVE_TYPE1 40096 -#define ID_DRIVE_TYPE2 40097 -#define ID_DRIVE_TYPE3 40098 -#define ID_OPEN_FD1 40101 -#define ID_CLOSE_FD1 40102 -#define ID_RECENT_FD1 40111 -#define ID_D88_FILE_PATH1 40120 -#define ID_SELECT_D88_BANK1 40121 -#define ID_OPEN_FD2 40201 -#define ID_CLOSE_FD2 40202 -#define ID_RECENT_FD2 40211 -#define ID_D88_FILE_PATH2 40220 -#define ID_SELECT_D88_BANK2 40221 -#define ID_OPEN_FD3 40301 -#define ID_CLOSE_FD3 40302 -#define ID_RECENT_FD3 40311 -#define ID_D88_FILE_PATH3 40320 -#define ID_SELECT_D88_BANK3 40321 -#define ID_OPEN_FD4 40401 -#define ID_CLOSE_FD4 40402 -#define ID_RECENT_FD4 40411 -#define ID_D88_FILE_PATH4 40420 -#define ID_SELECT_D88_BANK4 40421 -#define ID_OPEN_FD5 40501 -#define ID_CLOSE_FD5 40502 -#define ID_RECENT_FD5 40511 -#define ID_D88_FILE_PATH5 40520 -#define ID_SELECT_D88_BANK5 40521 -#define ID_OPEN_FD6 40601 -#define ID_CLOSE_FD6 40602 -#define ID_RECENT_FD6 40611 -#define ID_D88_FILE_PATH6 40620 -#define ID_SELECT_D88_BANK6 40621 -#define ID_OPEN_FD7 40701 -#define ID_CLOSE_FD7 40702 -#define ID_RECENT_FD7 40711 -#define ID_D88_FILE_PATH7 40720 -#define ID_SELECT_D88_BANK7 40721 -#define ID_OPEN_FD8 40801 -#define ID_CLOSE_FD8 40802 -#define ID_RECENT_FD8 40811 -#define ID_D88_FILE_PATH8 40820 -#define ID_SELECT_D88_BANK8 40821 -#define ID_OPEN_QD1 40901 -#define ID_CLOSE_QD1 40902 -#define ID_RECENT_QD1 40903 -#define ID_OPEN_QD2 40911 -#define ID_CLOSE_QD2 40912 -#define ID_RECENT_QD2 40913 -#define ID_OPEN_CART1 40921 -#define ID_CLOSE_CART1 40922 -#define ID_RECENT_CART1 40923 -#define ID_OPEN_CART2 40931 -#define ID_CLOSE_CART2 40932 -#define ID_RECENT_CART2 40933 -#define ID_PLAY_TAPE 40941 -#define ID_REC_TAPE 40942 -#define ID_CLOSE_TAPE 40943 -#define ID_PLAY_BUTTON 40944 -#define ID_STOP_BUTTON 40945 -#define ID_FAST_FORWARD 40946 -#define ID_FAST_REWIND 40947 -#define ID_APSS_FORWARD 40948 -#define ID_APSS_REWIND 40949 -#define ID_PLAY_TAPE_SOUND 40951 -#define ID_USE_WAVE_SHAPER 40952 -#define ID_DIRECT_LOAD_MZT 40953 -#define ID_TAPE_BAUD_LOW 40954 -#define ID_TAPE_BAUD_HIGH 40955 -#define ID_RECENT_TAPE 40961 -#define ID_OPEN_LASER_DISC 40971 -#define ID_CLOSE_LASER_DISC 40972 -#define ID_RECENT_LASER_DISC 40973 -#define ID_LOAD_BINARY1 40981 -#define ID_SAVE_BINARY1 40982 -#define ID_RECENT_BINARY1 40983 -#define ID_LOAD_BINARY2 40991 -#define ID_SAVE_BINARY2 40992 -#define ID_RECENT_BINARY2 40993 -#define ID_SCREEN_REC60 41001 -#define ID_SCREEN_REC30 41002 -#define ID_SCREEN_REC15 41003 -#define ID_SCREEN_STOP 41004 -#define ID_SCREEN_CAPTURE 41005 -#define ID_SCREEN_WINDOW1 41011 -#define ID_SCREEN_WINDOW2 41012 -#define ID_SCREEN_WINDOW3 41013 -#define ID_SCREEN_WINDOW4 41014 -#define ID_SCREEN_WINDOW5 41015 -#define ID_SCREEN_WINDOW6 41016 -#define ID_SCREEN_WINDOW7 41017 -#define ID_SCREEN_WINDOW8 41018 -#define ID_SCREEN_FULLSCREEN1 41021 -#define ID_SCREEN_FULLSCREEN2 41022 -#define ID_SCREEN_FULLSCREEN3 41023 -#define ID_SCREEN_FULLSCREEN4 41024 -#define ID_SCREEN_FULLSCREEN5 41025 -#define ID_SCREEN_FULLSCREEN6 41026 -#define ID_SCREEN_FULLSCREEN7 41027 -#define ID_SCREEN_FULLSCREEN8 41028 -#define ID_SCREEN_FULLSCREEN9 41029 -#define ID_SCREEN_FULLSCREEN10 41030 -#define ID_SCREEN_FULLSCREEN11 41031 -#define ID_SCREEN_FULLSCREEN12 41032 -#define ID_SCREEN_FULLSCREEN13 41033 -#define ID_SCREEN_FULLSCREEN14 41034 -#define ID_SCREEN_FULLSCREEN15 41035 -#define ID_SCREEN_FULLSCREEN16 41036 -#define ID_SCREEN_FULLSCREEN17 41037 -#define ID_SCREEN_FULLSCREEN18 41038 -#define ID_SCREEN_FULLSCREEN19 41039 -#define ID_SCREEN_FULLSCREEN20 41040 -#define ID_SCREEN_FULLSCREEN21 41041 -#define ID_SCREEN_FULLSCREEN22 41042 -#define ID_SCREEN_FULLSCREEN23 41043 -#define ID_SCREEN_FULLSCREEN24 41044 -#define ID_SCREEN_FULLSCREEN25 41045 -#define ID_SCREEN_FULLSCREEN26 41046 -#define ID_SCREEN_FULLSCREEN27 41047 -#define ID_SCREEN_FULLSCREEN28 41048 -#define ID_SCREEN_FULLSCREEN29 41049 -#define ID_SCREEN_FULLSCREEN30 41050 -#define ID_SCREEN_FULLSCREEN31 41051 -#define ID_SCREEN_FULLSCREEN32 41052 -#define ID_SCREEN_USE_D3D9 41053 -#define ID_SCREEN_WAIT_VSYNC 41054 -#define ID_SCREEN_STRETCH_DOT 41055 -#define ID_SCREEN_STRETCH_ASPECT 41056 -#define ID_SCREEN_STRETCH_FILL 41057 -#define ID_SCREEN_MONITOR_TYPE0 41061 -#define ID_SCREEN_MONITOR_TYPE1 41062 -#define ID_SCREEN_MONITOR_TYPE2 41063 -#define ID_SCREEN_MONITOR_TYPE3 41064 -#define ID_SCREEN_MONITOR_TYPE4 41065 -#define ID_SCREEN_MONITOR_TYPE5 41066 -#define ID_SCREEN_MONITOR_TYPE6 41067 -#define ID_SCREEN_MONITOR_TYPE7 41068 -#define ID_SCREEN_CRT_FILTER 41071 -#define ID_SCREEN_SCANLINE 41072 -#define ID_SCREEN_ROTATE 41073 -#define ID_SOUND_REC 41101 -#define ID_SOUND_STOP 41102 -#define ID_SOUND_FREQ0 41111 -#define ID_SOUND_FREQ1 41112 -#define ID_SOUND_FREQ2 41113 -#define ID_SOUND_FREQ3 41114 -#define ID_SOUND_FREQ4 41115 -#define ID_SOUND_FREQ5 41116 -#define ID_SOUND_FREQ6 41117 -#define ID_SOUND_FREQ7 41118 -#define ID_SOUND_LATE0 41121 -#define ID_SOUND_LATE1 41122 -#define ID_SOUND_LATE2 41123 -#define ID_SOUND_LATE3 41124 -#define ID_SOUND_LATE4 41125 -#define ID_SOUND_DEVICE_TYPE0 41131 -#define ID_SOUND_DEVICE_TYPE1 41132 -#define ID_SOUND_DEVICE_TYPE2 41133 -#define ID_SOUND_DEVICE_TYPE3 41134 -#define ID_SOUND_DEVICE_TYPE4 41135 -#define ID_SOUND_DEVICE_TYPE5 41136 -#define ID_SOUND_DEVICE_TYPE6 41137 -#define ID_SOUND_DEVICE_TYPE7 41138 -#define ID_CAPTURE_FILTER 41201 -#define ID_CAPTURE_PIN 41202 -#define ID_CAPTURE_SOURCE 41203 -#define ID_CAPTURE_CLOSE 41204 -#define ID_CAPTURE_DEVICE1 41205 -#define ID_CAPTURE_DEVICE2 41206 -#define ID_CAPTURE_DEVICE3 41207 -#define ID_CAPTURE_DEVICE4 41208 -#define ID_CAPTURE_DEVICE5 41209 -#define ID_CAPTURE_DEVICE6 41210 -#define ID_CAPTURE_DEVICE7 41211 -#define ID_CAPTURE_DEVICE8 41212 -#define ID_Menu 41213 -#define ID_SPECIAL 41214 -#define ID_CONTROL_HOTRESET 41215 -#define ID_FD1_IGNORECRCERRORS 41301 -#define ID_FD2_IGNORECRCERRORS 41302 -#define ID_FD3_IGNORECRCERRORS 41303 -#define ID_FD4_IGNORECRCERRORS 41304 -#define ID_FD5_IGNORECRCERRORS 41305 -#define ID_FD6_IGNORECRCERRORS 41306 -#define ID_FD7_IGNORECRCERRORS 41307 -#define ID_FD8_IGNORECRCERRORS 41308 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 110 -#define _APS_NEXT_COMMAND_VALUE 41218 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by resource.rc +// +#define IDR_MENU1 101 +#define IDI_ICON1 102 +#define IDR_ACCELERATOR1 103 +#define ID_ACCEL_SCREEN 104 +#define ID_ACCEL_MOUSE 105 +#define ID_BITMAP1 106 +#define ID_BUTTON 1000 + +#define ID_RESET 40001 +#define ID_SPECIAL_RESET 40002 +#define ID_AUTOKEY_START 40003 +#define ID_AUTOKEY_STOP 40004 +#define ID_SAVE_STATE 40005 +#define ID_LOAD_STATE 40006 +#define ID_EXIT 40007 + +#define ID_OPEN_DEBUGGER0 40011 +#define ID_OPEN_DEBUGGER1 40012 +#define ID_OPEN_DEBUGGER2 40013 +#define ID_OPEN_DEBUGGER3 40014 +#define ID_CLOSE_DEBUGGER 40015 + +#define ID_BOOT_MODE0 40021 +#define ID_BOOT_MODE1 40022 +#define ID_BOOT_MODE2 40023 +#define ID_BOOT_MODE3 40024 +#define ID_BOOT_MODE4 40025 +#define ID_BOOT_MODE5 40026 +#define ID_BOOT_MODE6 40027 +#define ID_BOOT_MODE7 40028 + +#define ID_CPU_TYPE0 40031 +#define ID_CPU_TYPE1 40032 +#define ID_CPU_TYPE2 40033 +#define ID_CPU_TYPE3 40034 +#define ID_CPU_TYPE4 40035 +#define ID_CPU_TYPE5 40036 +#define ID_CPU_TYPE6 40037 +#define ID_CPU_TYPE7 40038 + +#define ID_CPU_POWER0 40041 +#define ID_CPU_POWER1 40042 +#define ID_CPU_POWER2 40043 +#define ID_CPU_POWER3 40044 +#define ID_CPU_POWER4 40045 + +#define ID_DIPSWITCH0 40051 +#define ID_DIPSWITCH1 40052 +#define ID_DIPSWITCH2 40053 +#define ID_DIPSWITCH3 40054 +#define ID_DIPSWITCH4 40055 +#define ID_DIPSWITCH5 40056 +#define ID_DIPSWITCH6 40057 +#define ID_DIPSWITCH7 40058 +#define ID_DIPSWITCH8 40059 +#define ID_DIPSWITCH9 40060 +#define ID_DIPSWITCH10 40061 +#define ID_DIPSWITCH11 40062 +#define ID_DIPSWITCH12 40063 +#define ID_DIPSWITCH13 40064 +#define ID_DIPSWITCH14 40065 +#define ID_DIPSWITCH15 40066 +#define ID_DIPSWITCH16 40067 +#define ID_DIPSWITCH17 40068 +#define ID_DIPSWITCH18 40069 +#define ID_DIPSWITCH19 40070 +#define ID_DIPSWITCH20 40071 +#define ID_DIPSWITCH21 40072 +#define ID_DIPSWITCH22 40073 +#define ID_DIPSWITCH23 40074 +#define ID_DIPSWITCH24 40075 +#define ID_DIPSWITCH25 40076 +#define ID_DIPSWITCH26 40077 +#define ID_DIPSWITCH27 40078 +#define ID_DIPSWITCH28 40079 +#define ID_DIPSWITCH29 40080 +#define ID_DIPSWITCH30 40081 +#define ID_DIPSWITCH31 40082 + +#define ID_DEVICE_TYPE0 40091 +#define ID_DEVICE_TYPE1 40092 +#define ID_DEVICE_TYPE2 40093 +#define ID_DEVICE_TYPE3 40094 + +#define ID_DRIVE_TYPE0 40095 +#define ID_DRIVE_TYPE1 40096 +#define ID_DRIVE_TYPE2 40097 +#define ID_DRIVE_TYPE3 40098 + +#define ID_OPEN_FD1 40101 +#define ID_CLOSE_FD1 40102 +#define ID_IGNORE_CRC1 40103 +#define ID_RECENT_FD1 40111 // 40111-40118 +#define ID_D88_FILE_PATH1 40120 +#define ID_SELECT_D88_BANK1 40121 // 40121-40200 + +#define ID_OPEN_FD2 40201 +#define ID_CLOSE_FD2 40202 +#define ID_IGNORE_CRC2 40203 +#define ID_RECENT_FD2 40211 // 40211-40218 +#define ID_D88_FILE_PATH2 40220 +#define ID_SELECT_D88_BANK2 40221 // 40221-40300 + +#define ID_OPEN_FD3 40301 +#define ID_CLOSE_FD3 40302 +#define ID_IGNORE_CRC3 40303 +#define ID_RECENT_FD3 40311 // 40311-40318 +#define ID_D88_FILE_PATH3 40320 +#define ID_SELECT_D88_BANK3 40321 // 40321-40400 + +#define ID_OPEN_FD4 40401 +#define ID_CLOSE_FD4 40402 +#define ID_IGNORE_CRC4 40403 +#define ID_RECENT_FD4 40411 // 40411-40418 +#define ID_D88_FILE_PATH4 40420 +#define ID_SELECT_D88_BANK4 40421 // 40421-40500 + +#define ID_OPEN_FD5 40501 +#define ID_CLOSE_FD5 40502 +#define ID_IGNORE_CRC5 40503 +#define ID_RECENT_FD5 40511 // 40511-40518 +#define ID_D88_FILE_PATH5 40520 +#define ID_SELECT_D88_BANK5 40521 // 40521-40600 + +#define ID_OPEN_FD6 40601 +#define ID_CLOSE_FD6 40602 +#define ID_IGNORE_CRC6 40603 +#define ID_RECENT_FD6 40611 // 40611-40618 +#define ID_D88_FILE_PATH6 40620 +#define ID_SELECT_D88_BANK6 40621 // 40621-40700 + +#define ID_OPEN_FD7 40701 +#define ID_CLOSE_FD7 40702 +#define ID_IGNORE_CRC7 40703 +#define ID_RECENT_FD7 40711 // 40711-40718 +#define ID_D88_FILE_PATH7 40720 +#define ID_SELECT_D88_BANK7 40721 // 40721-40800 + +#define ID_OPEN_FD8 40801 +#define ID_CLOSE_FD8 40802 +#define ID_IGNORE_CRC8 40803 +#define ID_RECENT_FD8 40811 // 40811-40818 +#define ID_D88_FILE_PATH8 40820 +#define ID_SELECT_D88_BANK8 40821 // 40821-40900 + +#define ID_OPEN_QD1 40901 +#define ID_CLOSE_QD1 40902 +#define ID_RECENT_QD1 40903 // 40903-40910 + +#define ID_OPEN_QD2 40911 +#define ID_CLOSE_QD2 40912 +#define ID_RECENT_QD2 40913 // 40913-40920 + +#define ID_OPEN_CART1 40921 +#define ID_CLOSE_CART1 40922 +#define ID_RECENT_CART1 40923 // 40923-40930 + +#define ID_OPEN_CART2 40931 +#define ID_CLOSE_CART2 40932 +#define ID_RECENT_CART2 40933 // 40933-40940 + +#define ID_PLAY_TAPE 40941 +#define ID_REC_TAPE 40942 +#define ID_CLOSE_TAPE 40943 +#define ID_PLAY_BUTTON 40944 +#define ID_STOP_BUTTON 40945 +#define ID_FAST_FORWARD 40946 +#define ID_FAST_REWIND 40947 +#define ID_APSS_FORWARD 40948 +#define ID_APSS_REWIND 40949 +#define ID_PLAY_TAPE_SOUND 40951 +#define ID_USE_WAVE_SHAPER 40952 +#define ID_DIRECT_LOAD_MZT 40953 +#define ID_TAPE_BAUD_LOW 40954 +#define ID_TAPE_BAUD_HIGH 40955 +#define ID_RECENT_TAPE 40961 // 40961-40968 + +#define ID_OPEN_LASER_DISC 40971 +#define ID_CLOSE_LASER_DISC 40972 +#define ID_RECENT_LASER_DISC 40973 // 40973-40980 + +#define ID_LOAD_BINARY1 40981 +#define ID_SAVE_BINARY1 40982 +#define ID_RECENT_BINARY1 40983 // 40983-40990 + +#define ID_LOAD_BINARY2 40991 +#define ID_SAVE_BINARY2 40992 +#define ID_RECENT_BINARY2 40993 // 40993-41000 + +#define ID_SCREEN_REC60 41001 +#define ID_SCREEN_REC30 41002 +#define ID_SCREEN_REC15 41003 +#define ID_SCREEN_STOP 41004 +#define ID_SCREEN_CAPTURE 41005 +#define ID_SCREEN_WINDOW1 41011 +#define ID_SCREEN_WINDOW2 41012 +#define ID_SCREEN_WINDOW3 41013 +#define ID_SCREEN_WINDOW4 41014 +#define ID_SCREEN_WINDOW5 41015 +#define ID_SCREEN_WINDOW6 41016 +#define ID_SCREEN_WINDOW7 41017 +#define ID_SCREEN_WINDOW8 41018 +#define ID_SCREEN_FULLSCREEN1 41021 +#define ID_SCREEN_FULLSCREEN2 41022 +#define ID_SCREEN_FULLSCREEN3 41023 +#define ID_SCREEN_FULLSCREEN4 41024 +#define ID_SCREEN_FULLSCREEN5 41025 +#define ID_SCREEN_FULLSCREEN6 41026 +#define ID_SCREEN_FULLSCREEN7 41027 +#define ID_SCREEN_FULLSCREEN8 41028 +#define ID_SCREEN_FULLSCREEN9 41029 +#define ID_SCREEN_FULLSCREEN10 41030 +#define ID_SCREEN_FULLSCREEN11 41031 +#define ID_SCREEN_FULLSCREEN12 41032 +#define ID_SCREEN_FULLSCREEN13 41033 +#define ID_SCREEN_FULLSCREEN14 41034 +#define ID_SCREEN_FULLSCREEN15 41035 +#define ID_SCREEN_FULLSCREEN16 41036 +#define ID_SCREEN_FULLSCREEN17 41037 +#define ID_SCREEN_FULLSCREEN18 41038 +#define ID_SCREEN_FULLSCREEN19 41039 +#define ID_SCREEN_FULLSCREEN20 41040 +#define ID_SCREEN_FULLSCREEN21 41041 +#define ID_SCREEN_FULLSCREEN22 41042 +#define ID_SCREEN_FULLSCREEN23 41043 +#define ID_SCREEN_FULLSCREEN24 41044 +#define ID_SCREEN_FULLSCREEN25 41045 +#define ID_SCREEN_FULLSCREEN26 41046 +#define ID_SCREEN_FULLSCREEN27 41047 +#define ID_SCREEN_FULLSCREEN28 41048 +#define ID_SCREEN_FULLSCREEN29 41049 +#define ID_SCREEN_FULLSCREEN30 41050 +#define ID_SCREEN_FULLSCREEN31 41051 +#define ID_SCREEN_FULLSCREEN32 41052 +#define ID_SCREEN_USE_D3D9 41053 +#define ID_SCREEN_WAIT_VSYNC 41054 +#define ID_SCREEN_STRETCH_DOT 41055 +#define ID_SCREEN_STRETCH_ASPECT 41056 +#define ID_SCREEN_STRETCH_FILL 41057 + +#define ID_SCREEN_MONITOR_TYPE0 41061 +#define ID_SCREEN_MONITOR_TYPE1 41062 +#define ID_SCREEN_MONITOR_TYPE2 41063 +#define ID_SCREEN_MONITOR_TYPE3 41064 +#define ID_SCREEN_MONITOR_TYPE4 41065 +#define ID_SCREEN_MONITOR_TYPE5 41066 +#define ID_SCREEN_MONITOR_TYPE6 41067 +#define ID_SCREEN_MONITOR_TYPE7 41068 + +#define ID_SCREEN_CRT_FILTER 41071 +#define ID_SCREEN_SCANLINE 41072 +#define ID_SCREEN_ROTATE 41073 + +#define ID_SOUND_REC 41101 +#define ID_SOUND_STOP 41102 +#define ID_SOUND_FREQ0 41111 +#define ID_SOUND_FREQ1 41112 +#define ID_SOUND_FREQ2 41113 +#define ID_SOUND_FREQ3 41114 +#define ID_SOUND_FREQ4 41115 +#define ID_SOUND_FREQ5 41116 +#define ID_SOUND_FREQ6 41117 +#define ID_SOUND_FREQ7 41118 +#define ID_SOUND_LATE0 41121 +#define ID_SOUND_LATE1 41122 +#define ID_SOUND_LATE2 41123 +#define ID_SOUND_LATE3 41124 +#define ID_SOUND_LATE4 41125 + +#define ID_SOUND_DEVICE_TYPE0 41131 +#define ID_SOUND_DEVICE_TYPE1 41132 +#define ID_SOUND_DEVICE_TYPE2 41133 +#define ID_SOUND_DEVICE_TYPE3 41134 +#define ID_SOUND_DEVICE_TYPE4 41135 +#define ID_SOUND_DEVICE_TYPE5 41136 +#define ID_SOUND_DEVICE_TYPE6 41137 +#define ID_SOUND_DEVICE_TYPE7 41138 + +#define ID_CAPTURE_FILTER 41201 +#define ID_CAPTURE_PIN 41202 +#define ID_CAPTURE_SOURCE 41203 +#define ID_CAPTURE_CLOSE 41204 +#define ID_CAPTURE_DEVICE1 41205 +#define ID_CAPTURE_DEVICE2 41206 +#define ID_CAPTURE_DEVICE3 41207 +#define ID_CAPTURE_DEVICE4 41208 +#define ID_CAPTURE_DEVICE5 41209 +#define ID_CAPTURE_DEVICE6 41210 +#define ID_CAPTURE_DEVICE7 41211 +#define ID_CAPTURE_DEVICE8 41212 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 107 +#define _APS_NEXT_COMMAND_VALUE 41213 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif + +// menu positions + +// GIJUTSU-HYORON-SHA Babbase-2nd +#ifdef _BABBAGE2ND +#define MENU_POS_CONTROL 0 +#define MENU_POS_BINARY1 1 +#endif + +// Nintendo Family BASIC +#ifdef _FAMILYBASIC +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// FUJITSU FM-7 +#ifdef _FM7 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// FUJITSU FM-77 +#ifdef _FM77 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// FUJITSU FM-77AV +#ifdef _FM77AV +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// FUJITSU FM16pi +#ifdef _FM16PI +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// FUJITSU FMR-30 +#ifdef _FMR30 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// FUJITSU FMR-50 +// FUJITSU FMR-CARD +#ifdef _FMR50 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// FUJITSU FMR-60 +#ifdef _FMR60 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// CASIO FP-200 +#ifdef _FP200 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// CASIO FP-1100 +#ifdef _FP1100 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// SEGA GAME GEAR +#ifdef _GAMEGEAR +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// EPSON HC-20 +#ifdef _HC20 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// EPSON HC-40 +#ifdef _HC40 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_TAPE 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// EPSON HC-80 +#ifdef _HC80 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// TOSHIBA J-3100GT +#ifdef _J3100GT +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// TOSHIBA J-3100SL +#ifdef _J3100SL +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// IBM Japan Ltd PC/JX +#ifdef _JX +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// SORD m5 +#ifdef _M5 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_TAPE 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// SEIKO MAP-1010 +#ifdef _MAP1010 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SEGA MASTER SYSTEM +#ifdef _MASTERSYSTEM +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// ASCII MSX1 +#ifdef _MSX1 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_CART2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_FD1 4 +#define MENU_POS_FD2 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// ASCII MSX2 +#ifdef _MSX2 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_CART2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_FD1 4 +#define MENU_POS_FD2 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// MITSUBISHI Elec. MULTI8 +#ifdef _MULTI8 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// Japan Electronics College MYCOMZ-80A +#ifdef _MYCOMZ80A +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SHARP MZ-80A +#ifdef _MZ80A +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_FD3 4 +#define MENU_POS_FD4 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// SHARP MZ-80B +#ifdef _MZ80B +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_FD3 4 +#define MENU_POS_FD4 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// SHARP MZ-80K +#ifdef _MZ80K +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SHARP MZ-700 +#ifdef _MZ700 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SHARP MZ-800 +#ifdef _MZ800 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_QD1 2 +#define MENU_POS_FD1 3 +#define MENU_POS_FD2 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-1200 +#ifdef _MZ1200 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SHARP MZ-1500 +#ifdef _MZ1500 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_QD1 2 +#define MENU_POS_FD1 3 +#define MENU_POS_FD2 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-2200 +#ifdef _MZ2200 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_QD1 2 +#define MENU_POS_FD1 3 +#define MENU_POS_FD2 4 +#define MENU_POS_FD3 5 +#define MENU_POS_FD4 6 +#define MENU_POS_SCREEN 7 +#define MENU_POS_SOUND 8 +#endif + +// SHARP MZ-2500 +#ifdef _MZ2500 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_TAPE 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// SHARP MZ-2800 +#ifdef _MZ2800 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-3500 +#ifdef _MZ3500 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-5500 +#ifdef _MZ5500 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-6500 +#ifdef _MZ6500 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP MZ-6550 +#ifdef _MZ6550 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// NEC N5200 +#ifdef _N5200 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// TOSHIBA PASOPIA +#ifdef _PASOPIA +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_BINARY1 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// TOSHIBA PASOPIA7 +#ifdef _PASOPIA7 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_BINARY1 4 +#define MENU_POS_BINARY2 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// NEC PC-6001 +#ifdef _PC6001 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_TAPE 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// NEC PC-6001mkII +#ifdef _PC6001MK2 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_TAPE 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// NEC PC-6001mkIISR +#ifdef _PC6001MK2SR +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_TAPE 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// NEC PC-6601 +#ifdef _PC6601 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_FD3 4 +#define MENU_POS_FD4 5 +#define MENU_POS_TAPE 6 +#define MENU_POS_SCREEN 7 +#define MENU_POS_SOUND 8 +#endif + +// NEC PC-6601SR +#ifdef _PC6601SR +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_FD2 3 +#define MENU_POS_FD3 4 +#define MENU_POS_FD4 5 +#define MENU_POS_TAPE 6 +#define MENU_POS_SCREEN 7 +#define MENU_POS_SOUND 8 +#endif + +// NEC PC-8001mkIISR +#ifdef _PC8001SR +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// NEC PC-8201 +#ifdef _PC8201 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// NEC PC-8201A +#ifdef _PC8201A +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// NEC PC-8801MA +#ifdef _PC8801MA +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// NEC PC-9801 +#ifdef _PC9801 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_FD5 5 +#define MENU_POS_FD6 6 +#define MENU_POS_TAPE 7 +#define MENU_POS_SCREEN 8 +#define MENU_POS_SOUND 9 +#endif + +// NEC PC-9801E/F/M +#ifdef _PC9801E +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_FD5 5 +#define MENU_POS_FD6 6 +#define MENU_POS_TAPE 7 +#define MENU_POS_SCREEN 8 +#define MENU_POS_SOUND 9 +#endif + +// NEC PC-9801U +#ifdef _PC9801U +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// NEC PC-9801VF +#ifdef _PC9801VF +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// NEC PC-9801VM +#ifdef _PC9801VM +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// NEC PC-98DO +#ifdef _PC98DO +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_FD3 3 +#define MENU_POS_FD4 4 +#define MENU_POS_TAPE 5 +#define MENU_POS_SCREEN 6 +#define MENU_POS_SOUND 7 +#endif + +// NEC PC-98HA +#ifdef _PC98HA +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// NEC PC-98LT +#ifdef _PC98LT +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// NEC PC-100 +#ifdef _PC100 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// NEC-HE PC Engine +#ifdef _PCENGINE +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SANYO PHC-20 +#ifdef _PHC20 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SANYO PHC-25 +#ifdef _PHC25 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// CASIO PV-1000 +#ifdef _PV1000 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// CASIO PV-2000 +#ifdef _PV2000 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_TAPE 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// PIONEER PX-7 +#ifdef _PX7 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_CART2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_LASER_DISC 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// TOMY PYUTA +#ifdef _PYUTA +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_TAPE 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// EPSON QC-10 +#ifdef _QC10 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// BANDAI RX-78 +#ifdef _RX78 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_TAPE 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// SEGA SC-3000 +#ifdef _SC3000 +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_FD1 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// EPOCH Super Cassette Vision +#ifdef _SCV +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// NEC TK-80BS (COMPO BS/80) +#ifdef _TK80BS +#define MENU_POS_CONTROL 0 +#define MENU_POS_BINARY1 1 +#define MENU_POS_TAPE 2 +#define MENU_POS_SCREEN 3 +#define MENU_POS_SOUND 4 +#endif + +// CANON X-07 +#ifdef _X07 +#define MENU_POS_CONTROL 0 +#define MENU_POS_TAPE 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + +// SHARP X1 +#ifdef _X1 +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// SHARP X1twin +#ifdef _X1TWIN +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_CART1 4 +#define MENU_POS_SCREEN 5 +#define MENU_POS_SOUND 6 +#endif + +// SHARP X1turbo +#ifdef _X1TURBO +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// SHARP X1turboZ +#ifdef _X1TURBOZ +#define MENU_POS_CONTROL 0 +#define MENU_POS_FD1 1 +#define MENU_POS_FD2 2 +#define MENU_POS_TAPE 3 +#define MENU_POS_SCREEN 4 +#define MENU_POS_SOUND 5 +#endif + +// SHINKO SANGYO YS-6464A +#ifdef _YS6464A +#define MENU_POS_CONTROL 0 +#define MENU_POS_BINARY1 1 +#endif + +// Homebrew Z80 TV GAME SYSTEM +#ifdef _Z80TVGAME +#define MENU_POS_CONTROL 0 +#define MENU_POS_CART1 1 +#define MENU_POS_SCREEN 2 +#define MENU_POS_SOUND 3 +#endif + diff --git a/source/src/res/sc3000.rc b/source/src/res/sc3000.rc index 784d64646..32a05cc33 100644 --- a/source/src/res/sc3000.rc +++ b/source/src/res/sc3000.rc @@ -110,6 +110,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "CMT" diff --git a/source/src/res/x1.ico b/source/src/res/x1.ico index 9194edb299910ea9336de82be73e56bbd94b4580..367271322411196220c93819808b1e6f84968594 100644 GIT binary patch literal 3262 zcmcJSF-yZx5XVm(Tm(09vy=EKw1bP_;^f}lMR4zD5DI}Tg;FR8j>S=2v=khjrJK;f zQA!7YWbL7fXqaIAzv+Giz1{hG1$rM z$ymb=Ma|dCf<&W!N{R*rpw~~9Fm+S5iuWZng%u|(o)nxW!*uX4LT}V1`b@lQ3`xu< zjHXqW5G&i^7%`v6nJ~SYF3&Fz+3wV7i8Bm{`Hl3Sb0rAv;j(jrrW2#d6VzfQtE4i$C+dt9J@2!`CAgZm_@DFDy&xcJ(=z)K({S4*1XDInLDlIA#{ r8fwe0e07PidWVYKM0ff75RNCa?W*I$Y-c^b%=Xsf+w5>PmS(3vAQD=@ literal 3262 zcmchau}T9$5QaxAZ0rQF5^aK2dKEUR<`%TlkCTg1P+Z{QYA# zG#j;+&E9D5W+aUvn<2oM`%$+md3$<9um^XS^}-sh)J7I-mvjb?*to3G_KmDmIBD^@ z4;gZ1IW)qxK4LSt_*{Xa`^pwZ%pV|WtC>>%XPwT%Wz6>ynY|JPZT9K9?1{73DzCJr zCbrTaYn*8oawh$fXKF!-UqqZjr@@3z-?BYw@%xb@+l(oiyqAWB*2ZMy5qx$UPM`u( z3i{(o7YCf{>uFgvzfZpblul&e4U+N~e7v%Xk3Xd`XCoDqygKPCOFu-z`E?CH)Q3P6 zSsJ5K*uuxCswU&-%ZjHcPPMovl4UQBU6AVeqsv|7_}Y4>cJlaIBcP~BIk#E(zzN~- z;r%u8aCPn;j51lCMt%kt6Mlq?PyXd2H1bs(<$u`eW>_E2nSWLNJ)-loBg~$ERR|ry z`I*tk_x|xN(*3%Q{PGpd!jB=;IW&)p?mA1`hmCwH3}0RJ{xopD3_JwF2B_qJTYuo5 zKb#msaOZo@(P+$HeB}>cAz-d;zr+&3{JK4mwBYM<#Ya0?2A+2Om`OXkzCP`kao7Lz U#}P01cVY5An=OBst^DQt4O`Ysy8r+H diff --git a/source/src/res/x1.rc b/source/src/res/x1.rc index 18743c0e2..6bdd11f32 100644 --- a/source/src/res/x1.rc +++ b/source/src/res/x1.rc @@ -107,6 +107,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD1" @@ -114,6 +116,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/x1turbo.rc b/source/src/res/x1turbo.rc index fd224ea6c..33e3ff906 100644 --- a/source/src/res/x1turbo.rc +++ b/source/src/res/x1turbo.rc @@ -113,6 +113,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD1" @@ -120,6 +122,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/res/x1turboz.rc b/source/src/res/x1turboz.rc index 75e838671..33e3ff906 100644 --- a/source/src/res/x1turboz.rc +++ b/source/src/res/x1turboz.rc @@ -1,250 +1,258 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Japanese (Japan) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -#pragma code_page(932) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON "x1turboz.ico" -#endif // Japanese (Japan) resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -///////////////////////////////////////////////////////////////////////////// -// -// Accelerator -// - -IDR_ACCELERATOR1 ACCELERATORS -BEGIN - VK_RETURN, ID_ACCEL_MOUSE, VIRTKEY, CONTROL, NOINVERT - VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "Control" - BEGIN - MENUITEM "Reset", ID_RESET - MENUITEM "NMI", ID_SPECIAL_RESET - MENUITEM SEPARATOR - MENUITEM "CPU x1", ID_CPU_POWER0 - MENUITEM "CPU x2", ID_CPU_POWER1 - MENUITEM "CPU x4", ID_CPU_POWER2 - MENUITEM "CPU x8", ID_CPU_POWER3 - MENUITEM "CPU x16", ID_CPU_POWER4 - MENUITEM SEPARATOR - MENUITEM "Floppy Drive 2D", ID_DRIVE_TYPE0 - MENUITEM "Floppy Drive 2HD", ID_DRIVE_TYPE1 - MENUITEM SEPARATOR - MENUITEM "Keyboard Mode A", ID_DEVICE_TYPE0 - MENUITEM "Keyboard Mode B", ID_DEVICE_TYPE1 - MENUITEM SEPARATOR - MENUITEM "Paste", ID_AUTOKEY_START - MENUITEM "Stop", ID_AUTOKEY_STOP - MENUITEM SEPARATOR - MENUITEM "Save State", ID_SAVE_STATE - MENUITEM "Load State", ID_LOAD_STATE - MENUITEM SEPARATOR - MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 - MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 - MENUITEM "Debug Keyboard CPU", ID_OPEN_DEBUGGER2 - MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER - MENUITEM SEPARATOR - MENUITEM "Exit", ID_EXIT - END - POPUP "FD0" - BEGIN - MENUITEM "Insert", ID_OPEN_FD1 - MENUITEM "Eject", ID_CLOSE_FD1 - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD1 - END - POPUP "FD1" - BEGIN - MENUITEM "Insert", ID_OPEN_FD2 - MENUITEM "Eject", ID_CLOSE_FD2 - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_FD2 - END - POPUP "CMT" - BEGIN - MENUITEM "Play", ID_PLAY_TAPE - MENUITEM "Rec", ID_REC_TAPE - MENUITEM "Eject", ID_CLOSE_TAPE - MENUITEM SEPARATOR - MENUITEM "Play Button", ID_PLAY_BUTTON - MENUITEM "Stop Button", ID_STOP_BUTTON - MENUITEM "Fast Forward", ID_FAST_FORWARD - MENUITEM "Fast Rewind", ID_FAST_REWIND - MENUITEM "APSS Forward", ID_APSS_FORWARD - MENUITEM "APSS Rewind", ID_APSS_REWIND - MENUITEM SEPARATOR - MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND - MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER - MENUITEM SEPARATOR - MENUITEM "Recent", ID_RECENT_TAPE - END - POPUP "Screen" - BEGIN - MENUITEM "Rec 60fps", ID_SCREEN_REC60 - MENUITEM "Rec 30fps", ID_SCREEN_REC30 - MENUITEM "Rec 15fps", ID_SCREEN_REC15 - MENUITEM "Stop", ID_SCREEN_STOP - MENUITEM "Capture", ID_SCREEN_CAPTURE - MENUITEM SEPARATOR - MENUITEM "Window x1", ID_SCREEN_WINDOW1 - MENUITEM "Window x2", ID_SCREEN_WINDOW2 - MENUITEM "Window x3", ID_SCREEN_WINDOW3 - MENUITEM "Window x4", ID_SCREEN_WINDOW4 - MENUITEM "Window x5", ID_SCREEN_WINDOW5 - MENUITEM "Window x6", ID_SCREEN_WINDOW6 - MENUITEM "Window x7", ID_SCREEN_WINDOW7 - MENUITEM "Window x8", ID_SCREEN_WINDOW8 - MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 - MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 - MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 - MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 - MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 - MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 - MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 - MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 - MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 - MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 - MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 - MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 - MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 - MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 - MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 - MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 - MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 - MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 - MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 - MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 - MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 - MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 - MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 - MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 - MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 - MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 - MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 - MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 - MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 - MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 - MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 - MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 - MENUITEM SEPARATOR - MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT - MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT - MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL - MENUITEM SEPARATOR - MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 - MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC - MENUITEM SEPARATOR - MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER - MENUITEM "Scanline", ID_SCREEN_SCANLINE - MENUITEM SEPARATOR - MENUITEM "High Resolution", ID_SCREEN_MONITOR_TYPE0 - MENUITEM "Standard", ID_SCREEN_MONITOR_TYPE1 - END - POPUP "Sound" - BEGIN - MENUITEM "Rec", ID_SOUND_REC - MENUITEM "Stop", ID_SOUND_STOP - MENUITEM SEPARATOR - MENUITEM "2000Hz", ID_SOUND_FREQ0 - MENUITEM "4000Hz", ID_SOUND_FREQ1 - MENUITEM "8000Hz", ID_SOUND_FREQ2 - MENUITEM "11025Hz", ID_SOUND_FREQ3 - MENUITEM "22050Hz", ID_SOUND_FREQ4 - MENUITEM "44100Hz", ID_SOUND_FREQ5 - MENUITEM "48000Hz", ID_SOUND_FREQ6 - MENUITEM "96000Hz", ID_SOUND_FREQ7 - MENUITEM SEPARATOR - MENUITEM "50msec", ID_SOUND_LATE0 - MENUITEM "100msec", ID_SOUND_LATE1 - MENUITEM "200msec", ID_SOUND_LATE2 - MENUITEM "300msec", ID_SOUND_LATE3 - MENUITEM "400msec", ID_SOUND_LATE4 - MENUITEM SEPARATOR - MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 - MENUITEM "CZ-8BS1 x1", ID_SOUND_DEVICE_TYPE1 - MENUITEM "CZ-8BS1 x2", ID_SOUND_DEVICE_TYPE2 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Japanese resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +#pragma code_page(932) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Japanese resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Accelerator +// + +IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE +BEGIN + VK_RETURN, ID_ACCEL_MOUSE, VIRTKEY, CONTROL, NOINVERT + VK_RETURN, ID_ACCEL_SCREEN, VIRTKEY, ALT, NOINVERT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU DISCARDABLE +BEGIN + POPUP "Control" + BEGIN + MENUITEM "Reset", ID_RESET + MENUITEM "NMI", ID_SPECIAL_RESET + MENUITEM SEPARATOR + MENUITEM "CPU x1", ID_CPU_POWER0 + MENUITEM "CPU x2", ID_CPU_POWER1 + MENUITEM "CPU x4", ID_CPU_POWER2 + MENUITEM "CPU x8", ID_CPU_POWER3 + MENUITEM "CPU x16", ID_CPU_POWER4 + MENUITEM SEPARATOR + MENUITEM "Floppy Drive 2D", ID_DRIVE_TYPE0 + MENUITEM "Floppy Drive 2HD", ID_DRIVE_TYPE1 + MENUITEM SEPARATOR + MENUITEM "Keyboard Mode A", ID_DEVICE_TYPE0 + MENUITEM "Keyboard Mode B", ID_DEVICE_TYPE1 + MENUITEM SEPARATOR + MENUITEM "Paste", ID_AUTOKEY_START + MENUITEM "Stop", ID_AUTOKEY_STOP + MENUITEM SEPARATOR + MENUITEM "Save State", ID_SAVE_STATE + MENUITEM "Load State", ID_LOAD_STATE + MENUITEM SEPARATOR + MENUITEM "Debug Main CPU", ID_OPEN_DEBUGGER0 + MENUITEM "Debug Sub CPU", ID_OPEN_DEBUGGER1 + MENUITEM "Debug Keyboard CPU", ID_OPEN_DEBUGGER2 + MENUITEM "Close Debugger", ID_CLOSE_DEBUGGER + MENUITEM SEPARATOR + MENUITEM "Exit", ID_EXIT + END + POPUP "FD0" + BEGIN + MENUITEM "Insert", ID_OPEN_FD1 + MENUITEM "Eject", ID_CLOSE_FD1 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD1 + END + POPUP "FD1" + BEGIN + MENUITEM "Insert", ID_OPEN_FD2 + MENUITEM "Eject", ID_CLOSE_FD2 + MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_FD2 + END + POPUP "CMT" + BEGIN + MENUITEM "Play", ID_PLAY_TAPE + MENUITEM "Rec", ID_REC_TAPE + MENUITEM "Eject", ID_CLOSE_TAPE + MENUITEM SEPARATOR + MENUITEM "Play Button", ID_PLAY_BUTTON + MENUITEM "Stop Button", ID_STOP_BUTTON + MENUITEM "Fast Forward", ID_FAST_FORWARD + MENUITEM "Fast Rewind", ID_FAST_REWIND + MENUITEM "APSS Forward", ID_APSS_FORWARD + MENUITEM "APSS Rewind", ID_APSS_REWIND + MENUITEM SEPARATOR + MENUITEM "Play Tape Sound", ID_PLAY_TAPE_SOUND + MENUITEM "Waveform Shaper", ID_USE_WAVE_SHAPER + MENUITEM SEPARATOR + MENUITEM "Recent", ID_RECENT_TAPE + END + POPUP "Screen" + BEGIN + MENUITEM "Rec 60fps", ID_SCREEN_REC60 + MENUITEM "Rec 30fps", ID_SCREEN_REC30 + MENUITEM "Rec 15fps", ID_SCREEN_REC15 + MENUITEM "Stop", ID_SCREEN_STOP + MENUITEM "Capture", ID_SCREEN_CAPTURE + MENUITEM SEPARATOR + MENUITEM "Window x1", ID_SCREEN_WINDOW1 + MENUITEM "Window x2", ID_SCREEN_WINDOW2 + MENUITEM "Window x3", ID_SCREEN_WINDOW3 + MENUITEM "Window x4", ID_SCREEN_WINDOW4 + MENUITEM "Window x5", ID_SCREEN_WINDOW5 + MENUITEM "Window x6", ID_SCREEN_WINDOW6 + MENUITEM "Window x7", ID_SCREEN_WINDOW7 + MENUITEM "Window x8", ID_SCREEN_WINDOW8 + MENUITEM "Fullscreen 1", ID_SCREEN_FULLSCREEN1 + MENUITEM "Fullscreen 2", ID_SCREEN_FULLSCREEN2 + MENUITEM "Fullscreen 3", ID_SCREEN_FULLSCREEN3 + MENUITEM "Fullscreen 4", ID_SCREEN_FULLSCREEN4 + MENUITEM "Fullscreen 5", ID_SCREEN_FULLSCREEN5 + MENUITEM "Fullscreen 6", ID_SCREEN_FULLSCREEN6 + MENUITEM "Fullscreen 7", ID_SCREEN_FULLSCREEN7 + MENUITEM "Fullscreen 8", ID_SCREEN_FULLSCREEN8 + MENUITEM "Fullscreen 9", ID_SCREEN_FULLSCREEN9 + MENUITEM "Fullscreen 10", ID_SCREEN_FULLSCREEN10 + MENUITEM "Fullscreen 11", ID_SCREEN_FULLSCREEN11 + MENUITEM "Fullscreen 12", ID_SCREEN_FULLSCREEN12 + MENUITEM "Fullscreen 13", ID_SCREEN_FULLSCREEN13 + MENUITEM "Fullscreen 14", ID_SCREEN_FULLSCREEN14 + MENUITEM "Fullscreen 15", ID_SCREEN_FULLSCREEN15 + MENUITEM "Fullscreen 16", ID_SCREEN_FULLSCREEN16 + MENUITEM "Fullscreen 17", ID_SCREEN_FULLSCREEN17 + MENUITEM "Fullscreen 18", ID_SCREEN_FULLSCREEN18 + MENUITEM "Fullscreen 19", ID_SCREEN_FULLSCREEN19 + MENUITEM "Fullscreen 20", ID_SCREEN_FULLSCREEN20 + MENUITEM "Fullscreen 21", ID_SCREEN_FULLSCREEN21 + MENUITEM "Fullscreen 22", ID_SCREEN_FULLSCREEN22 + MENUITEM "Fullscreen 23", ID_SCREEN_FULLSCREEN23 + MENUITEM "Fullscreen 24", ID_SCREEN_FULLSCREEN24 + MENUITEM "Fullscreen 25", ID_SCREEN_FULLSCREEN25 + MENUITEM "Fullscreen 26", ID_SCREEN_FULLSCREEN26 + MENUITEM "Fullscreen 27", ID_SCREEN_FULLSCREEN27 + MENUITEM "Fullscreen 28", ID_SCREEN_FULLSCREEN28 + MENUITEM "Fullscreen 29", ID_SCREEN_FULLSCREEN29 + MENUITEM "Fullscreen 30", ID_SCREEN_FULLSCREEN30 + MENUITEM "Fullscreen 31", ID_SCREEN_FULLSCREEN31 + MENUITEM "Fullscreen 32", ID_SCREEN_FULLSCREEN32 + MENUITEM SEPARATOR + MENUITEM "Dot By Dot", ID_SCREEN_STRETCH_DOT + MENUITEM "Stretch (Aspect)", ID_SCREEN_STRETCH_ASPECT + MENUITEM "Stretch (Fill)", ID_SCREEN_STRETCH_FILL + MENUITEM SEPARATOR + MENUITEM "Use Direct3D9", ID_SCREEN_USE_D3D9 + MENUITEM "Wait Vsync", ID_SCREEN_WAIT_VSYNC + MENUITEM SEPARATOR + MENUITEM "CRT Filter", ID_SCREEN_CRT_FILTER + MENUITEM "Scanline", ID_SCREEN_SCANLINE + MENUITEM SEPARATOR + MENUITEM "High Resolution", ID_SCREEN_MONITOR_TYPE0 + MENUITEM "Standard", ID_SCREEN_MONITOR_TYPE1 + END + POPUP "Sound" + BEGIN + MENUITEM "Rec", ID_SOUND_REC + MENUITEM "Stop", ID_SOUND_STOP + MENUITEM SEPARATOR + MENUITEM "2000Hz", ID_SOUND_FREQ0 + MENUITEM "4000Hz", ID_SOUND_FREQ1 + MENUITEM "8000Hz", ID_SOUND_FREQ2 + MENUITEM "11025Hz", ID_SOUND_FREQ3 + MENUITEM "22050Hz", ID_SOUND_FREQ4 + MENUITEM "44100Hz", ID_SOUND_FREQ5 + MENUITEM "48000Hz", ID_SOUND_FREQ6 + MENUITEM "96000Hz", ID_SOUND_FREQ7 + MENUITEM SEPARATOR + MENUITEM "50msec", ID_SOUND_LATE0 + MENUITEM "100msec", ID_SOUND_LATE1 + MENUITEM "200msec", ID_SOUND_LATE2 + MENUITEM "300msec", ID_SOUND_LATE3 + MENUITEM "400msec", ID_SOUND_LATE4 + MENUITEM SEPARATOR + MENUITEM "PSG", ID_SOUND_DEVICE_TYPE0 + MENUITEM "CZ-8BS1 x1", ID_SOUND_DEVICE_TYPE1 + MENUITEM "CZ-8BS1 x2", ID_SOUND_DEVICE_TYPE2 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "x1turbo.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/source/src/res/x1twin.rc b/source/src/res/x1twin.rc index 8d2b6edfb..ade993a34 100644 --- a/source/src/res/x1twin.rc +++ b/source/src/res/x1twin.rc @@ -108,6 +108,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD1 MENUITEM "Eject", ID_CLOSE_FD1 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC1 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD1 END POPUP "FD1" @@ -115,6 +117,8 @@ BEGIN MENUITEM "Insert", ID_OPEN_FD2 MENUITEM "Eject", ID_CLOSE_FD2 MENUITEM SEPARATOR + MENUITEM "Ignore CRC Errors", ID_IGNORE_CRC2 + MENUITEM SEPARATOR MENUITEM "Recent", ID_RECENT_FD2 END POPUP "CMT" diff --git a/source/src/vm/disk.cpp b/source/src/vm/disk.cpp index 1d2f58e45..40dac5419 100644 --- a/source/src/vm/disk.cpp +++ b/source/src/vm/disk.cpp @@ -661,7 +661,7 @@ void DISK::set_sector_info(uint8 *t) density = t[6]; deleted = (t[7] != 0); - if(config.ignore_crc[drive_num] != false) { + if(ignore_crc()) { crc_error = false; } else { crc_error = (((t[8] & 0xf0) != 0x00) && ((t[8] & 0xf0) != 0x10)); diff --git a/source/src/vm/disk.h b/source/src/vm/disk.h index 736cec114..4d6e189a2 100644 --- a/source/src/vm/disk.h +++ b/source/src/vm/disk.h @@ -214,6 +214,13 @@ public: int drive_rpm; bool drive_mfm; int drive_num; + bool ignore_crc() + { + if(drive_num < array_length(config.ignore_crc)) { + return config.ignore_crc[drive_num]; + } + return false; + } // state void save_state(FILEIO* state_fio); diff --git a/source/src/vm/fm7/floppy.cpp b/source/src/vm/fm7/floppy.cpp index a7ae0ebaa..1af5aaa17 100644 --- a/source/src/vm/fm7/floppy.cpp +++ b/source/src/vm/fm7/floppy.cpp @@ -16,6 +16,16 @@ #include "../mb8877.h" #include "../disk.h" +#define FDC_CMD_TYPE1 1 +#define FDC_CMD_RD_SEC 2 +#define FDC_CMD_RD_MSEC 3 +#define FDC_CMD_WR_SEC 4 +#define FDC_CMD_WR_MSEC 5 +#define FDC_CMD_RD_ADDR 6 +#define FDC_CMD_RD_TRK 7 +#define FDC_CMD_WR_TRK 8 +#define FDC_CMD_TYPE4 0x80 + void FM7_MAINIO::reset_fdc(void) { @@ -27,6 +37,7 @@ void FM7_MAINIO::reset_fdc(void) fdc_headreg = 0xfe; fdc_drvsel = 0x00; fdc_motor = false; + fdc_cmd_type1 = false; irqreg_fdc = 0xff; //0b11111111; if(connect_fdc) { extdet_neg = true; @@ -46,6 +57,7 @@ void FM7_MAINIO::set_fdc_cmd(uint8 val) if(!connect_fdc) return; //irqreg_fdc = 0x00; fdc_cmdreg = val; + fdc_cmd_type1 = ((val & 0x80) == 0); fdc->write_io8(0, val & 0x00ff); #ifdef _FM7_FDC_DEBUG //p_emu->out_debug_log(_T("FDC: CMD: $%02x"), fdc_cmdreg); @@ -60,8 +72,7 @@ uint8 FM7_MAINIO::get_fdc_stat(void) if(!irqstat_fdc) { fdc_statreg = fdc->read_io8(0); if((fdc_statreg & 0x01) != 0) { - cmd_phase = fdc->read_signal(SIG_MB8877_CMDPHASE); - if(cmd_phase == 1) { + if(fdc_cmd_type1) { set_irq_mfd(true); } } @@ -132,9 +143,9 @@ uint8 FM7_MAINIO::get_fdc_motor(void) { uint8 val = 0x3c; //0b01111100; if(!connect_fdc) return 0xff; - fdc_motor = (fdc->read_signal(SIG_MB8877_MOTOR) != 0) ? true : false; + //fdc_motor = (fdc->read_signal(SIG_MB8877_MOTOR) != 0) ? true : false; if(fdc_motor) val |= 0x80; - fdc_drvsel = fdc->read_signal(SIG_MB8877_READ_DRIVE_REG); + //fdc_drvsel = fdc->read_signal(SIG_MB8877_READ_DRIVE_REG); val = val | (fdc_drvsel & 0x03); #ifdef _FM7_FDC_DEBUG //p_emu->out_debug_log(_T("FDC: Get motor/Drive: $%02x"), val); @@ -155,7 +166,7 @@ void FM7_MAINIO::set_fdc_fd1c(uint8 val) uint8 FM7_MAINIO::get_fdc_fd1c(void) { if(!connect_fdc) return 0xff; - fdc_headreg = fdc->read_signal(SIG_MB8877_SIDEREG); + //fdc_headreg = fdc->read_signal(SIG_MB8877_SIDEREG); return fdc_headreg; } diff --git a/source/src/vm/fm7/fm7_mainio.h b/source/src/vm/fm7/fm7_mainio.h index f95d0a40c..5a7ac2689 100644 --- a/source/src/vm/fm7/fm7_mainio.h +++ b/source/src/vm/fm7/fm7_mainio.h @@ -157,7 +157,8 @@ class FM7_MAINIO : public DEVICE { uint8 fdc_statreg; /* FD18 : W */ uint8 fdc_cmdreg; - + bool fdc_cmd_type1; + /* FD19 : R/W */ uint8 fdc_trackreg; diff --git a/source/src/vm/fmgen/fmtimer.cpp b/source/src/vm/fmgen/fmtimer.cpp index 623d47664..56f5ad4cd 100644 --- a/source/src/vm/fmgen/fmtimer.cpp +++ b/source/src/vm/fmgen/fmtimer.cpp @@ -92,7 +92,14 @@ bool Timer::Count(int32 clock) // int32 Timer::GetNextEvent() { - return (timera_count < timerb_count ? timera_count : timerb_count) + 1; + if(timera_count > 0 && timerb_count > 0) { + return (timera_count < timerb_count ? timera_count : timerb_count); + } else if(timera_count > 0) { + return timera_count; + } else if (timerb_count > 0) { + return timerb_count; + } + return 0; } // --------------------------------------------------------------------------- diff --git a/source/src/vm/mb8877.cpp b/source/src/vm/mb8877.cpp index 67a277fb2..11cbb7820 100644 --- a/source/src/vm/mb8877.cpp +++ b/source/src/vm/mb8877.cpp @@ -243,9 +243,8 @@ void MB8877::write_io8(uint32 addr, uint32 data) } else if(datareg == 0xf7) { // write crc if(!fdc[drvreg].id_written) { - uint8 c, h, r, n; - c = h = r = n = 0; // insert new sector with crc error + uint8 c = 0, h = 0, r = 0, n = 0; fdc[drvreg].id_written = true; fdc[drvreg].sector_found = false; if (fdc[drvreg].index >= 4) { @@ -378,7 +377,7 @@ uint32 MB8877::read_io8(uint32 addr) if(!(status & FDC_ST_DRQ)) { set_drq(false); } - if((status & FDC_ST_BUSY) == 0) { + if(!(status & FDC_ST_BUSY)) { set_irq(false); } #ifdef _FDC_DEBUG_LOG @@ -513,7 +512,9 @@ uint32 MB8877::read_signal(int ch) { // get access status uint32 stat = 0; + switch(ch) { +#if 0 case SIG_MB8877_CMDPHASE: return (uint32)cmdtype; break; @@ -527,6 +528,7 @@ uint32 MB8877::read_signal(int ch) return (uint32)drvreg; break; case 0: +#endif default: for(int i = 0; i < MAX_DRIVE; i++) { if(fdc[i].access) { @@ -894,7 +896,6 @@ void MB8877::cmd_readdata() cmdtype = (cmdreg & 0x10) ? FDC_CMD_RD_MSEC : FDC_CMD_RD_SEC; int side = (cmdreg & 2) ? ((cmdreg & 8) ? 1 : 0) : sidereg; status = FDC_ST_BUSY; - //status_tmp = search_sector(fdc[drvreg].track, side, secreg, ((cmdreg & 2) != 0)); status_tmp = search_sector(trkreg, side, secreg, ((cmdreg & 2) != 0)); now_search = true; @@ -914,7 +915,6 @@ void MB8877::cmd_writedata() cmdtype = (cmdreg & 0x10) ? FDC_CMD_WR_MSEC : FDC_CMD_WR_SEC; int side = (cmdreg & 2) ? ((cmdreg & 8) ? 1 : 0) : sidereg; status = FDC_ST_BUSY; - //status_tmp = search_sector(fdc[drvreg].track, side, secreg, ((cmdreg & 2) != 0)) & ~FDC_ST_RECTYPE; status_tmp = search_sector(trkreg, side, secreg, ((cmdreg & 2) != 0)) & ~FDC_ST_RECTYPE; now_search = true; @@ -1119,7 +1119,8 @@ uint8 MB8877::search_sector(int trk, int side, int sct, bool compare) disk[drvreg]->id[4], disk[drvreg]->id[5], disk[drvreg]->crc_error ? 1 : 0); #endif - return (disk[drvreg]->deleted ? FDC_ST_RECTYPE : 0) | ((disk[drvreg]->crc_error && !config.ignore_crc[drvreg]) ? FDC_ST_CRCERR : 0); + return (disk[drvreg]->deleted ? FDC_ST_RECTYPE : 0) | ((disk[drvreg]->crc_error && !disk[drvreg]->ignore_crc()) ? FDC_ST_CRCERR : 0); + //return (disk[drvreg]->deleted ? FDC_ST_RECTYPE : 0) | ((disk[drvreg]->crc_error && !config.ignore_crc[drvreg]) ? FDC_ST_CRCERR : 0); } // sector not found @@ -1161,7 +1162,8 @@ uint8 MB8877::search_addr() fdc[drvreg].next_sync_position = disk[drvreg]->sync_position[first_sector]; fdc[drvreg].index = 0; secreg = disk[drvreg]->id[0]; - return (disk[drvreg]->crc_error && !config.ignore_crc[drvreg]) ? FDC_ST_CRCERR : 0; + //return (disk[drvreg]->crc_error && !config.ignore_crc[drvreg]) ? FDC_ST_CRCERR : 0; + return (disk[drvreg]->crc_error && !disk[drvreg]->ignore_crc()) ? FDC_ST_CRCERR : 0; } // sector not found diff --git a/source/src/vm/mb8877.h b/source/src/vm/mb8877.h index 9dc0dfbc9..a97a532c3 100644 --- a/source/src/vm/mb8877.h +++ b/source/src/vm/mb8877.h @@ -18,8 +18,8 @@ #define SIG_MB8877_DRIVEREG 0 #define SIG_MB8877_SIDEREG 1 #define SIG_MB8877_MOTOR 2 -#define SIG_MB8877_CMDPHASE 0x1000 -#define SIG_MB8877_READ_DRIVE_REG 0x1001 +#define SIG_MB8877_CMDPHASE 3 +#define SIG_MB8877_READ_DRIVE_REG 4 class DISK; diff --git a/source/src/vm/pc6001/floppy.h b/source/src/vm/pc6001/floppy.h index ff0d3fdd3..78d120faa 100644 --- a/source/src/vm/pc6001/floppy.h +++ b/source/src/vm/pc6001/floppy.h @@ -119,6 +119,10 @@ public: { d_ext = device; } + DISK* get_disk_handler(int drv) + { + return disk[drv]; + } void open_disk(int drv, _TCHAR* file_path, int bank); void close_disk(int drv); bool disk_inserted(int drv); diff --git a/source/src/vm/pc6001/pc6001.cpp b/source/src/vm/pc6001/pc6001.cpp index 97cf7c1d8..080213fb0 100644 --- a/source/src/vm/pc6001/pc6001.cpp +++ b/source/src/vm/pc6001/pc6001.cpp @@ -16,6 +16,7 @@ #include "../device.h" #include "../event.h" +#include "../disk.h" #include "../i8255.h" #include "../io.h" #ifdef _PC6001 @@ -240,6 +241,18 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) cpu_sub->load_rom_image(emu->bios_path(SUB_CPU_ROM_FILE_NAME)); #endif } + int drive_num = 0; +#if defined(_PC6601) || defined(_PC6601SR) + floppy->get_disk_handler(0)->drive_num = drive_num++; + floppy->get_disk_handler(1)->drive_num = drive_num++; +#endif + if(support_pc80s31k) { + fdc_pc80s31k->get_disk_handler(0)->drive_num = drive_num++; + fdc_pc80s31k->get_disk_handler(1)->drive_num = drive_num++; + } else { + pc6031->get_disk_handler(0)->drive_num = drive_num++; + pc6031->get_disk_handler(1)->drive_num = drive_num++; + } } VM::~VM() diff --git a/source/src/vm/pc6031.h b/source/src/vm/pc6031.h index 247fdd057..8bc9bd25c 100644 --- a/source/src/vm/pc6031.h +++ b/source/src/vm/pc6031.h @@ -87,6 +87,10 @@ public: bool load_state(FILEIO* state_fio); // unique functions + DISK* get_disk_handler(int drv) + { + return disk[drv]; + } void open_disk(int drv, _TCHAR* file_path, int bank); void close_disk(int drv); bool disk_inserted(int drv); diff --git a/source/src/vm/pc80s31k.cpp b/source/src/vm/pc80s31k.cpp index 75b51e5aa..ac376fbce 100644 --- a/source/src/vm/pc80s31k.cpp +++ b/source/src/vm/pc80s31k.cpp @@ -56,12 +56,14 @@ void PC80S31K::initialize() SET_BANK(0x2000, 0x3fff, wdmy, rdmy); SET_BANK(0x4000, 0x7fff, ram, ram); SET_BANK(0x8000, 0xffff, wdmy, rdmy); + + // XM8 version 1.20 + // both drives always set force ready signal + d_fdc->write_signal(SIG_UPD765A_FREADY, 1, 1); } void PC80S31K::reset() { - // FIXME: ready will be pulluped but this causes PC-8801 keeps trying reading empty drive -// d_fdc->write_signal(SIG_UPD765A_FREADY, 1, 1); // ??? d_fdc->set_drive_type(0, DRIVE_TYPE_2D); d_fdc->set_drive_type(1, DRIVE_TYPE_2D); @@ -79,7 +81,13 @@ uint32 PC80S31K::read_data8(uint32 addr) uint32 PC80S31K::fetch_op(uint32 addr, int *wait) { addr &= 0xffff; +#ifdef PC80S31K_NO_WAIT + // XM8 version 1.20 + // no access wait (both ROM and RAM) + *wait = 0; +#else *wait = (addr < 0x2000) ? 1 : 0; +#endif return rbank[addr >> 13][addr & 0x1fff]; } @@ -131,6 +139,11 @@ void PC80S31K::write_io8(uint32 addr, uint32 data) { switch(addr & 0xff) { case 0xf4: + // XM8 version 1.20 + // MR/MH/MA/MA2/MA... type ROM only + if(rom[0x7ee] != 0xfe) { + break; + } for(int drv = 0; drv < 2; drv++) { uint32 mode = data >> drv; if(mode & 1) { diff --git a/source/src/vm/pc8801/pc88.cpp b/source/src/vm/pc8801/pc88.cpp index b08d1897d..c0de3235b 100644 --- a/source/src/vm/pc8801/pc88.cpp +++ b/source/src/vm/pc8801/pc88.cpp @@ -90,6 +90,10 @@ #define Port71_EROM port[0x71] +// XM8 version 1.20 +#define PortA8_OPNCH port[0xa8] +#define PortAA_S2INTM (port[0xaa] & 0x80) + #define PortE2_RDEN (port[0xe2] & 0x01) #define PortE2_WREN (port[0xe2] & 0x10) @@ -146,7 +150,7 @@ static const int key_table[15][8] = { { 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67 }, // { 0x68, 0x69, 0x6a, 0x6b, 0x00, 0x6c, 0x6e, 0x0d }, - { 0x68, 0x69, 0x6a, 0x6b, 0x92, 0x6c, 0x6e, 0x0d }, + { 0x68, 0x69, 0x6a, 0x6b, 0x92, 0x6c, 0x6e, 0x0d }, // 0x92 = VK_OEM_NEC_EQUAL { 0xc0, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47 }, { 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f }, { 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 }, @@ -158,9 +162,9 @@ static const int key_table[15][8] = { { 0x09, 0x28, 0x25, 0x23, 0x7b, 0x6d, 0x6f, 0x14 }, { 0x21, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { 0x75, 0x76, 0x77, 0x78, 0x79, 0x08, 0x2d, 0x2e }, -// { 0x1c, 0x1d, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00 }, - { 0x1c, 0x1d, 0x18, 0x19, 0x00, 0x00, 0x00, 0x00 }, + { 0x1c, 0x1d, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00 }, { 0x0d, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } +// { 0x0d, 0x00, 0xa0, 0xa1, 0x00, 0x00, 0x00, 0x00 } // 0xa0 = VK_LSHIFT, 0xa1 = VK_RSHIFT }; static const int key_conv_table[9][3] = { @@ -385,8 +389,13 @@ void PC88::reset() // memory wait mem_wait_on = ((config.dipswitch & 1) != 0); - update_mem_wait(); - tvram_wait_clocks_r = tvram_wait_clocks_w = 0; + + m1_wait_clocks = get_m1_wait(false); + f000_m1_wait_clocks = get_m1_wait(true); + mem_wait_clocks_r = get_main_wait(true); + mem_wait_clocks_w = get_main_wait(false); + tvram_wait_clocks_r = get_tvram_wait(true); + tvram_wait_clocks_w = get_tvram_wait(false); // crtc memset(&crtc, 0, sizeof(crtc)); @@ -422,6 +431,9 @@ void PC88::reset() // interrupt intr_req = intr_mask1 = intr_mask2 = 0; intr_req_sound = false; +#ifdef SUPPORT_PC88_SB2 + intr_req_sb2 = false; +#endif // fdd i/f d_pio->write_io8(1, 0); @@ -576,9 +588,12 @@ uint32 PC88::read_data8w(uint32 addr, int* wait) uint32 PC88::fetch_op(uint32 addr, int *wait) { - int wait_tmp; - uint32 data = read_data8w(addr, &wait_tmp); - *wait = wait_tmp + m1_wait_clocks; + uint32 data = read_data8w(addr, wait); + if((addr & 0xf000) == 0xf000) { + *wait += f000_m1_wait_clocks; + } else { + *wait += m1_wait_clocks; + } return data; } @@ -716,7 +731,6 @@ void PC88::write_io8(uint32 addr, uint32 data) case 0x33: if(mod & 0x80) { update_n80_read(); - update_mem_wait(); update_gvram_wait(); update_palette = true; } @@ -756,6 +770,7 @@ void PC88::write_io8(uint32 addr, uint32 data) // XM8 version 1.10 // if(config.boot_mode == MODE_PC88_V1H || config.boot_mode == MODE_PC88_V2) { update_tvram_memmap(); + f000_m1_wait_clocks = get_m1_wait(true); // } } if(mod & 0x40) { @@ -858,20 +873,28 @@ void PC88::write_io8(uint32 addr, uint32 data) update_palette = true; break; case 0x5c: - gvram_plane = 1; - update_gvram_sel(); + if(gvram_plane != 1) { + gvram_plane = 1; + update_gvram_sel(); + } break; case 0x5d: - gvram_plane = 2; - update_gvram_sel(); + if(gvram_plane != 2) { + gvram_plane = 2; + update_gvram_sel(); + } break; case 0x5e: - gvram_plane = 4; - update_gvram_sel(); + if(gvram_plane != 4) { + gvram_plane = 4; + update_gvram_sel(); + } break; case 0x5f: - gvram_plane = 0; - update_gvram_sel(); + if(gvram_plane != 0) { + gvram_plane = 0; + update_gvram_sel(); + } break; case 0x60: case 0x61: @@ -913,6 +936,29 @@ void PC88::write_io8(uint32 addr, uint32 data) case 0x78: Port70_TEXTWND++; break; +#ifdef SUPPORT_PC88_SB2 + case 0xa8: + case 0xa9: + if(d_sb2 != NULL) { + d_sb2->write_io8(addr, data); + } + break; + case 0xaa: + if(mod & 0x80) { + if(intr_req_sb2 && !PortAA_S2INTM) { + request_intr(IRQ_SOUND, true); + } + } + break; +#ifdef SUPPORT_PC88_OPNA + case 0xac: + case 0xad: + if(d_sb2 != NULL && d_sb2->is_ym2608) { + d_sb2->write_io8(addr | 2, data); + } + break; +#endif +#endif case 0xe2: if(mod & 0x11) { update_low_memmap(); @@ -937,9 +983,23 @@ void PC88::write_io8(uint32 addr, uint32 data) intr_req &= intr_mask2; update_intr(); break; - case 0xfc: - d_pio->write_io8(0, data); +#ifdef SUPPORT_PC88_DICTIONARY + case 0xf0: + // XM8 version 1.20 + if(port[0xf0] >= 0x20) { + // no effect if data >= 0x20 + port[0xf0] ^= mod; + } break; + case 0xf1: + // XM8 version 1.20 + if(port[0xf1] != 0x00 && port[0xf1] != 0x01) { + // effect only 0x00 or 0x01 + port[0xf1] ^= mod; + } + break; +#endif + case 0xfc: case 0xfd: case 0xfe: case 0xff: @@ -1078,12 +1138,11 @@ uint32 PC88::read_io8_debug(uint32 addr) case 0x68: return dmac.read_io8(addr); case 0x6e: - // XM8 version 1.10 - return (cpu_clock_low ? 0x80 : 0) | 0x10; -// return (cpu_clock_low ? 0x80 : 0) | 0x7f; + // XM8 version 1.20 + return (cpu_clock_low ? 0x80 : 0) | (is_sr_mr() ? 0x7f : 0x10); case 0x6f: - // XM8 version 1.10 - return 0xf7; + // XM8 version 1.20 + return is_sr_mr() ? 0xff : (port[0x6f] | 0xf0); #if !defined(_PC8001SR) case 0x70: // PC-8001mkIISR returns the constant value @@ -1092,6 +1151,57 @@ uint32 PC88::read_io8_debug(uint32 addr) #endif case 0x71: return port[0x71]; +#ifdef SUPPORT_PC88_SB2 + case 0xa8: + if(d_sb2 != NULL) { + return d_sb2->read_io8(addr); + } + break; + case 0xa9: + if(d_sb2 != NULL) { + if(PortA8_OPNCH == 14) { +#ifdef SUPPORT_PC88_JOYSTICK + if(config.device_type == DEVICE_JOYSTICK) { + return (~(joystick_status[0] >> 0) & 0x0f) | 0xf0; + } else if(config.device_type == DEVICE_MOUSE) { + switch(mouse_phase) { + case 0: + return ((mouse_lx >> 4) & 0x0f) | 0xf0; + case 1: + return ((mouse_lx >> 0) & 0x0f) | 0xf0; + case 2: + return ((mouse_ly >> 4) & 0x0f) | 0xf0; + case 3: + return ((mouse_ly >> 0) & 0x0f) | 0xf0; + } + return 0xf0; // ??? + } +#endif + return 0xff; + } else if(PortA8_OPNCH == 15) { +#ifdef SUPPORT_PC88_JOYSTICK + if(config.device_type == DEVICE_JOYSTICK) { + return (~(joystick_status[0] >> 4) & 0x03) | 0xfc; + } else if(config.device_type == DEVICE_MOUSE) { + return (~mouse_status[2] & 0x03) | 0xfc; + } +#endif + return 0xff; + } + return d_sb2->read_io8(addr); + } + break; + case 0xaa: + return (PortAA_S2INTM) | 0x7f; +#ifdef SUPPORT_PC88_OPNA + case 0xac: + case 0xad: + if(d_sb2 != NULL && d_sb2->is_ym2608) { + d_sb2->read_io8(addr | 2); + } + break; +#endif +#endif case 0xe2: return (~port[0xe2]) | 0xee; case 0xe3: @@ -1146,57 +1256,187 @@ void PC88::update_timing() set_lines_per_frame(lines_per_frame); } -void PC88::update_mem_wait() +int PC88::get_m1_wait(bool addr_f000) { + // XM8 version 1.20 + int wait = 0; + #if defined(_PC8001SR) if(config.boot_mode == MODE_PC80_V1 || config.boot_mode == MODE_PC80_N) { #else if(config.boot_mode == MODE_PC88_V1S || config.boot_mode == MODE_PC88_N) { #endif - m1_wait_clocks = (!mem_wait_on && cpu_clock_low) ? 1 : 0; + // V1S or N + if(!mem_wait_on) { + // memory wait = off + if(cpu_clock_low) { + // 4MHz + wait += 1; + } + } } else { - m1_wait_clocks = 0; + // V1H or V2 + if(!mem_wait_on) { + // no memory wait + if(addr_f000) { + // TVRAM + if(!gvram_sel && !Port32_TMODE) { + if(cpu_clock_low) { + // TVRAM, 4MHz only + wait += 1; + } + } + } + } } - if(mem_wait_on) { - mem_wait_clocks_r = cpu_clock_low ? 1 : 2; - mem_wait_clocks_w = cpu_clock_low ? 0 : 2; + return wait; +} + +int PC88::get_main_wait(bool read) +{ + // XM8 version 1.20 + int wait = 0; + + if(cpu_clock_low) { + // 4MHz + if(mem_wait_on) { + if(read) { + // memory wait + read + wait += 1; + } + } } else { -#if defined(_PC8001SR) - mem_wait_clocks_r = mem_wait_clocks_w = cpu_clock_low ? 0 : 1; -#else - // 8MHz only, neither 4MHz nor 8MHz FE2/MC (XM8 version 1.00) - mem_wait_clocks_r = mem_wait_clocks_w = (cpu_clock_low || cpu_clock_high_fe2) ? 0 : 1; + // 8MHz +#if !defined(_PC8001SR) + if(!cpu_clock_high_fe2) { + // not 8MHzH + wait += 1; + } #endif + if(mem_wait_on) { + // memory wait (read and write) + wait += 1; + } } + return wait; } -void PC88::update_gvram_wait() +int PC88::get_tvram_wait(bool read) { + int wait = 0; + + if(cpu_clock_low) { + // 4MHz + if(read) { + if(mem_wait_on) { + // memory wait + read + wait += 1; + } + } + } else { + // 8MHz -> memory wait do not effect + if(read) { + // read + wait += 2; + } else { + // write + wait += 1; + } + } + return wait; +} + +int PC88::get_gvram_wait(bool read) +{ + // XM8 version 1.20 + int wait = 0; + if(Port31_GRAPH) { + // graphic on + if(cpu_clock_low) { + // 4MHz #if defined(_PC8001SR) - if((config.boot_mode == MODE_PC80_V1 || config.boot_mode == MODE_PC80_N) && !Port40_GHSM) { + if(config.boot_mode == MODE_PC80_V1 || config.boot_mode == MODE_PC80_N) { #else - if((config.boot_mode == MODE_PC88_V1S || config.boot_mode == MODE_PC88_N) && !Port40_GHSM) { + if(config.boot_mode == MODE_PC88_V1S || config.boot_mode == MODE_PC88_N) { #endif - // from memory access test on PC-8801MA2 (XM8 version 1.00) - static const int wait[8] = {96,1, 140,3, 232,1, 285,3}; -// static const int wait[8] = {96,0, 116,3, 138,0, 178,3}; - gvram_wait_clocks_r = gvram_wait_clocks_w = wait[(crtc.vblank ? 1 : 0) | (cpu_clock_low ? 0 : 2) | (hireso ? 4 : 0)]; - } else { - // from memory access test on PC-8801MA2 (XM8 version 1.00) - static const int wait[4] = {2,1, 5,3}; -// static const int wait[4] = {2,0, 5,3}; - gvram_wait_clocks_r = gvram_wait_clocks_w = wait[(crtc.vblank ? 1 : 0) | (cpu_clock_low ? 0 : 2)]; + // V1S + if(!Port40_GHSM && !crtc.vblank) { + // V1S + not GHSM, V-DISP + if(hireso) { + wait += 114; + } else { + wait += 68; + } + } else { + if(crtc.vblank) { + wait += 0; + } else { + wait += 2; + } + } + } else { + // V1H or V2 + if(crtc.vblank) { + wait += 0; + } else { + wait += 2; + } + } + } + else { + // 8MHz +#if defined(_PC8001SR) + if(config.boot_mode == MODE_PC80_V1 || config.boot_mode == MODE_PC80_N) { +#else + if(config.boot_mode == MODE_PC88_V1S || config.boot_mode == MODE_PC88_N) { +#endif + // V1S + if(!Port40_GHSM && !crtc.vblank) { + // V1S + not GHSM, V-DISP + if(hireso) { + wait += 141; + } else { + wait += 90; + } + } else { + if(crtc.vblank) { + wait += 3; + } else { + wait += 5; + } + } + } else { + // V1H or V2 + if(crtc.vblank) { + wait += 3; + } else { + wait += 5; + } + } } } else { - if(cpu_clock_low && mem_wait_on) { - gvram_wait_clocks_r = cpu_clock_low ? 1 : 2; - gvram_wait_clocks_w = cpu_clock_low ? 0 : 2; + // graphic off + if(cpu_clock_low) { + // 4MHz + if(mem_wait_on) { + if(read) { + // memory wait + read + wait += 1; + } + } } else { - gvram_wait_clocks_r = gvram_wait_clocks_w = cpu_clock_low ? 0 : 3; + // 8MHz -> memory wait do not effect + wait += 3; } } + return wait; +} +void PC88::update_gvram_wait() +{ + gvram_wait_clocks_r = get_gvram_wait(true); + gvram_wait_clocks_w = get_gvram_wait(false); } void PC88::update_gvram_sel() @@ -1215,6 +1455,7 @@ void PC88::update_gvram_sel() } else { gvram_sel = gvram_plane; } + f000_m1_wait_clocks = get_m1_wait(true); } #if defined(_PC8001SR) @@ -1308,11 +1549,8 @@ void PC88::update_tvram_memmap() // XM8 version 1.10 if(config.boot_mode == MODE_PC88_V1S || config.boot_mode == MODE_PC88_N || Port32_TMODE) { SET_BANK(0xf000, 0xffff, ram + 0xf000, ram + 0xf000); - tvram_wait_clocks_r = tvram_wait_clocks_w = 0; } else { SET_BANK(0xf000, 0xffff, tvram, tvram); - tvram_wait_clocks_r = cpu_clock_low ? 0 : mem_wait_on ? 0 : 1; - tvram_wait_clocks_w = cpu_clock_low ? 0 : mem_wait_on ? -1 : 0; } } #endif @@ -1330,6 +1568,13 @@ void PC88::write_signal(int id, uint32 data, uint32 mask) #endif request_intr(IRQ_SOUND, true); } +#ifdef SUPPORT_PC88_SB2 + } else if(id == SIG_PC88_SB2_IRQ) { + intr_req_sb2 = ((data & mask) != 0); + if(intr_req_sb2 && !PortAA_S2INTM) { + request_intr(IRQ_SOUND, true); + } +#endif } else if(id == SIG_PC88_USART_OUT) { // recv from sio if(Port30_CMT) { @@ -1538,8 +1783,8 @@ void PC88::event_vline(int v, int clock) crtc.status &= ~8; } // dma wait cycles - // from memory access test on PC-8801MA2 (XM8 version 1.00) - busreq_clocks = (int)((double)(dmac.ch[2].count.sd + 1) * (cpu_clock_low ? 5.95 : 10.59) / (double)disp_line + 0.5); + // from memory access test on PC-8801MA2 (XM8 version 1.20) + busreq_clocks = (int)((double)(dmac.ch[2].count.sd + 1) * (cpu_clock_low ? 5.95 : 10.58) / (double)disp_line + 0.5); // busreq_clocks = (int)((double)(dmac.ch[2].count.sd + 1) * (cpu_clock_low ? 7.0 : 16.0) / (double)disp_line + 0.5); } crtc.start(); @@ -2756,7 +3001,7 @@ int PC88::get_tape_ptr() #endif -#define STATE_VERSION 4 +#define STATE_VERSION 5 void PC88::save_state(FILEIO* state_fio) { @@ -2781,6 +3026,7 @@ void PC88::save_state(FILEIO* state_fio) #endif state_fio->FputBool(mem_wait_on); state_fio->FputInt32(m1_wait_clocks); + state_fio->FputInt32(f000_m1_wait_clocks); state_fio->FputInt32(mem_wait_clocks_r); state_fio->FputInt32(mem_wait_clocks_w); state_fio->FputInt32(tvram_wait_clocks_r); @@ -2810,6 +3056,9 @@ void PC88::save_state(FILEIO* state_fio) #endif state_fio->FputUint8(intr_req); state_fio->FputBool(intr_req_sound); +#ifdef SUPPORT_PC88_SB2 + state_fio->FputBool(intr_req_sb2); +#endif state_fio->FputUint8(intr_mask1); state_fio->FputUint8(intr_mask2); state_fio->FputBool(cmt_play); @@ -2877,6 +3126,7 @@ bool PC88::load_state(FILEIO* state_fio) #endif mem_wait_on = state_fio->FgetBool(); m1_wait_clocks = state_fio->FgetInt32(); + f000_m1_wait_clocks = state_fio->FgetInt32(); mem_wait_clocks_r = state_fio->FgetInt32(); mem_wait_clocks_w = state_fio->FgetInt32(); tvram_wait_clocks_r = state_fio->FgetInt32(); @@ -2906,6 +3156,9 @@ bool PC88::load_state(FILEIO* state_fio) #endif intr_req = state_fio->FgetUint8(); intr_req_sound = state_fio->FgetBool(); +#ifdef SUPPORT_PC88_SB2 + intr_req_sb2 = state_fio->FgetBool(); +#endif intr_mask1 = state_fio->FgetUint8(); intr_mask2 = state_fio->FgetUint8(); cmt_play = state_fio->FgetBool(); diff --git a/source/src/vm/pc8801/pc88.h b/source/src/vm/pc8801/pc88.h index 65816031c..b5aec2a59 100644 --- a/source/src/vm/pc8801/pc88.h +++ b/source/src/vm/pc8801/pc88.h @@ -18,7 +18,10 @@ #define SIG_PC88_USART_IRQ 0 #define SIG_PC88_SOUND_IRQ 1 -#define SIG_PC88_USART_OUT 2 +#ifdef SUPPORT_PC88_SB2 +#define SIG_PC88_SB2_IRQ 2 +#endif +#define SIG_PC88_USART_OUT 3 #define SIG_PC88_DATAREC_MIX 3 #define SIG_PC88_DATAREC_VOLUME 4 @@ -127,6 +130,9 @@ class PC88 : public DEVICE { private: YM2203 *d_opn; +#ifdef SUPPORT_PC88_SB2 + YM2203 *d_sb2; +#endif Z80 *d_cpu; DEVICE *d_pcm, *d_pio, *d_rtc, *d_sio; #ifdef SUPPORT_PC88_PCG8100 @@ -170,7 +176,10 @@ private: uint8 gvram_plane, gvram_sel; void update_timing(); - void update_mem_wait(); + int get_m1_wait(bool addr_f000); + int get_main_wait(bool read); + int get_tvram_wait(bool read); + int get_gvram_wait(bool read); void update_gvram_wait(); void update_gvram_sel(); #if defined(_PC8001SR) @@ -188,6 +197,7 @@ private: #endif bool mem_wait_on; int m1_wait_clocks; + int f000_m1_wait_clocks; int mem_wait_clocks_r, mem_wait_clocks_w; int tvram_wait_clocks_r, tvram_wait_clocks_w; int gvram_wait_clocks_r, gvram_wait_clocks_w; @@ -242,6 +252,9 @@ private: // intterrupt uint8 intr_req; bool intr_req_sound; +#ifdef SUPPORT_PC88_SB2 + bool intr_req_sb2; +#endif uint8 intr_mask1, intr_mask2; void request_intr(int level, bool status); void update_intr(); @@ -320,6 +333,14 @@ public: void update_config(void); // unique functions + bool is_sr_mr() + { +#if !defined(_PC8001SR) + return (n88rom[0x79d7] < 0x38); +#else + return true; +#endif + } void set_context_cpu(Z80* device) { d_cpu = device; @@ -328,6 +349,12 @@ public: { d_opn = device; } +#ifdef SUPPORT_PC88_SB2 + void set_context_sb2(YM2203* device) + { + d_sb2 = device; + } +#endif void set_context_pcm(DEVICE* device) { d_pcm = device; diff --git a/source/src/vm/pc8801/pc8801.cpp b/source/src/vm/pc8801/pc8801.cpp index 45c964ead..554eb9b90 100644 --- a/source/src/vm/pc8801/pc8801.cpp +++ b/source/src/vm/pc8801/pc8801.cpp @@ -61,11 +61,26 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) // pc88pcm->set_context_event_manager(pc88event); pc88rtc = new UPD1990A(this, emu); // pc88rtc->set_context_event_manager(pc88event); + // config.sound_device_type + // 0: 44h:OPNA A4h:None PC-8801FH/MH or later + // 1: 44h:OPN A4h:None PC-8801mkIISR/TR/MR/FR + // 2: 44h:OPN A4h:OPNA PC-8801mkIISR/TR/MR/FR + PC-8801-23 pc88opn = new YM2203(this, emu); #ifdef SUPPORT_PC88_OPNA pc88opn->is_ym2608 = (config.sound_device_type == 0); #endif // pc88opn->set_context_event_manager(pc88event); +#ifdef SUPPORT_PC88_SB2 + if(config.sound_device_type == 2) { + pc88sb2 = new YM2203(this, emu); +#ifdef SUPPORT_PC88_OPNA + pc88sb2->is_ym2608 = true; +#endif +// pc88sb2->set_context_event_manager(pc88event); + } else { + pc88sb2 = NULL; + } +#endif pc88cpu = new Z80(this, emu); // pc88cpu->set_context_event_manager(pc88event); dummycpu = new DEVICE(this, emu); @@ -91,15 +106,19 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) #endif #ifdef SUPPORT_PC88_HIGH_CLOCK - pc88event->set_context_cpu(dummycpu, 7981350); - pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7981350); // XM8 version 1.00 - //pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7987248); + pc88event->set_context_cpu(dummycpu, 7987248); + pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7987248); #else pc88event->set_context_cpu(dummycpu, 3993624); pc88event->set_context_cpu(pc88cpu, 3993624); #endif pc88event->set_context_cpu(pc88cpu_sub, 3993624); pc88event->set_context_sound(pc88opn); +#ifdef SUPPORT_PC88_SB2 + if(pc88sb2 != NULL) { + pc88event->set_context_sound(pc88sb2); + } +#endif pc88event->set_context_sound(pc88pcm); #ifdef SUPPORT_PC88_PCG8100 pc88event->set_context_sound(pc88pcm0); @@ -111,6 +130,9 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) #endif pc88->set_context_cpu(pc88cpu); pc88->set_context_opn(pc88opn); +#ifdef SUPPORT_PC88_SB2 + pc88->set_context_sb2(pc88sb2); +#endif pc88->set_context_pcm(pc88pcm); pc88->set_context_pio(pc88pio); pc88->set_context_rtc(pc88rtc); @@ -128,6 +150,11 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) pc88cpu->set_context_debugger(new DEBUGGER(this, emu)); #endif pc88opn->set_context_irq(pc88, SIG_PC88_SOUND_IRQ, 1); +#ifdef SUPPORT_PC88_SB2 + if(pc88sb2 != NULL) { + pc88sb2->set_context_irq(pc88, SIG_PC88_SB2_IRQ, 1); + } +#endif pc88sio->set_context_rxrdy(pc88, SIG_PC88_USART_IRQ, 1); pc88sio->set_context_out(pc88, SIG_PC88_USART_OUT); @@ -264,6 +291,16 @@ void VM::initialize_sound(int rate, int samples) } else #endif pc88opn->init(rate, 3993624, samples, 0, 0); +#ifdef SUPPORT_PC88_SB2 + if(pc88sb2 != NULL) { +#ifdef SUPPORT_PC88_OPNA + if(pc88sb2->is_ym2608) { + pc88sb2->init(rate, 7987248, samples, 0, 0); + } else +#endif + pc88sb2->init(rate, 3993624, samples, 0, 0); + } +#endif pc88pcm->init(rate, 8000); #ifdef SUPPORT_PC88_PCG8100 pc88pcm0->init(rate, 8000); @@ -376,7 +413,7 @@ void VM::update_config() } -#define STATE_VERSION 3 +#define STATE_VERSION 4 void VM::save_state(FILEIO* state_fio) { diff --git a/source/src/vm/pc8801/pc8801.h b/source/src/vm/pc8801/pc8801.h index b5680caf6..b87ae447b 100644 --- a/source/src/vm/pc8801/pc8801.h +++ b/source/src/vm/pc8801/pc8801.h @@ -34,6 +34,7 @@ #define SUPPORT_PC88_DICTIONARY #define SUPPORT_PC88_HIGH_CLOCK # ifndef _CONFIGURE_WITH_CMAKE +# define SUPPORT_PC88_SB2 # define SUPPORT_PC88_OPNA # define PC88_EXRAM_BANKS 4 # endif @@ -51,6 +52,9 @@ #define SCREEN_HEIGHT 400 #define MAX_DRIVE 2 #define UPD765A_NO_ST1_EN_OR_FOR_RESULT7 +#if defined(_PC8801MA) +#define PC80S31K_NO_WAIT +#endif #ifdef SUPPORT_PC88_OPNA #define HAS_YM2608 #endif @@ -96,7 +100,11 @@ #define USE_ACCESS_LAMP #define USE_DISK_WRITE_PROTECT #ifdef SUPPORT_PC88_OPNA -#define USE_SOUND_DEVICE_TYPE 2 +# ifdef SUPPORT_PC88_SB2 +# define USE_SOUND_DEVICE_TYPE 3 +# else +# define USE_SOUND_DEVICE_TYPE 2 +# endif #endif //#define USE_DEBUGGER #define USE_STATE @@ -137,6 +145,9 @@ protected: PCM1BIT* pc88pcm; UPD1990A* pc88rtc; YM2203* pc88opn; +#ifdef SUPPORT_PC88_SB2 + YM2203* pc88sb2; +#endif Z80* pc88cpu; DEVICE *dummycpu; diff --git a/source/src/vm/pc9801/pc9801.cpp b/source/src/vm/pc9801/pc9801.cpp index 33b1ea124..4edb7c37d 100644 --- a/source/src/vm/pc9801/pc9801.cpp +++ b/source/src/vm/pc9801/pc9801.cpp @@ -537,8 +537,7 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) pc88cpu_sub = new Z80(this, emu); pc88cpu_sub->set_context_event_manager(pc88event); - pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7981350); // XM8 version 1.00 -// pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7987248); + pc88event->set_context_cpu(pc88cpu, (config.cpu_type != 0) ? 3993624 : 7987248); pc88event->set_context_cpu(pc88cpu_sub, 3993624); pc88event->set_context_sound(pc88opn); pc88event->set_context_sound(pc88pcm); @@ -585,6 +584,25 @@ VM::VM(EMU* parent_emu) : emu(parent_emu) for(DEVICE* device = first_device; device; device = device->next_device) { device->initialize(); } +#if defined(_PC9801) || defined(_PC9801E) + fdc_2hd->get_disk_handler(0)->drive_num = 0; + fdc_2hd->get_disk_handler(1)->drive_num = 1; + fdc_2dd->get_disk_handler(0)->drive_num = 2; + fdc_2dd->get_disk_handler(1)->drive_num = 3; + fdc_sub->get_disk_handler(0)->drive_num = 4; + fdc_sub->get_disk_handler(1)->drive_num = 5; +#elif defined(_PC9801VF) || defined(_PC9801U) + fdc_2dd->get_disk_handler(0)->drive_num = 0; + fdc_2dd->get_disk_handler(1)->drive_num = 1; +#elif defined(_PC98DO) + fdc->get_disk_handler(0)->drive_num = 0; + fdc->get_disk_handler(1)->drive_num = 1; + pc88fdc_sub->get_disk_handler(0)->drive_num = 2; + pc88fdc_sub->get_disk_handler(1)->drive_num = 3; +#else + fdc->get_disk_handler(0)->drive_num = 0; + fdc->get_disk_handler(1)->drive_num = 1; +#endif } VM::~VM() diff --git a/source/src/vm/pc9801/pc9801.h b/source/src/vm/pc9801/pc9801.h index 12f826a59..e95a0962e 100644 --- a/source/src/vm/pc9801/pc9801.h +++ b/source/src/vm/pc9801/pc9801.h @@ -88,6 +88,9 @@ #define SCREEN_HEIGHT 400 #define MAX_DRIVE 2 #define UPD765A_NO_ST1_EN_OR_FOR_RESULT7 +#if defined(_PC98DO) +#define PC80S31K_NO_WAIT +#endif #define UPD7220_MSB_FIRST #define UPD7220_HORIZ_FREQ 24830 #if defined(_PC9801) || defined(_PC9801E) diff --git a/source/src/vm/upd765a.cpp b/source/src/vm/upd765a.cpp index 340ee1e65..edcb8c54c 100644 --- a/source/src/vm/upd765a.cpp +++ b/source/src/vm/upd765a.cpp @@ -136,7 +136,6 @@ void UPD765A::initialize() seek_id[0] = seek_id[1] = seek_id[2] = seek_id[3] = -1; no_dma_mode = false; motor_on = false; // motor off - force_ready = false; reset_signal = true; irq_masked = drq_masked = false; @@ -609,7 +608,8 @@ uint8 UPD765A::get_devstat(int drv) if(drv >= MAX_DRIVE) { return 0x80 | drv; } - if(!disk[drv]->inserted) { + // XM8 version 1.20 + if(!force_ready && !disk[drv]->inserted) { return drv; } return 0x28 | drv | (fdc[drv].track ? 0 : 0x10) | ((fdc[drv].track & 1) ? 0x04 : 0) | (disk[drv]->write_protected ? 0x40 : 0); @@ -702,6 +702,11 @@ void UPD765A::cmd_read_data() REGISTER_PHASE_EVENT_NEW(PHASE_EXEC, get_usec_to_exec_phase()); break; case PHASE_EXEC: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); + break; + } read_data((command & 0x1f) == 12, false); break; case PHASE_READ: @@ -738,6 +743,11 @@ void UPD765A::cmd_write_data() REGISTER_PHASE_EVENT_NEW(PHASE_EXEC, get_usec_to_exec_phase()); break; case PHASE_EXEC: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); + break; + } result = check_cond(true); if(result & ST1_MA) { REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); // retry @@ -799,6 +809,11 @@ void UPD765A::cmd_scan() REGISTER_PHASE_EVENT_NEW(PHASE_EXEC, get_usec_to_exec_phase()); break; case PHASE_EXEC: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); + break; + } read_data(false, true); break; case PHASE_SCAN: @@ -836,6 +851,11 @@ void UPD765A::cmd_read_diagnostic() REGISTER_PHASE_EVENT_NEW(PHASE_EXEC, get_usec_to_exec_phase()); break; case PHASE_EXEC: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); + break; + } read_diagnostic(); break; case PHASE_READ: @@ -976,7 +996,7 @@ uint32 UPD765A::read_sector() } fdc[drv].next_trans_position = disk[drv]->data_position[i]; - if(disk[drv]->crc_error) { + if(disk[drv]->crc_error && !disk[drv]->ignore_crc()) { return ST0_AT | ST1_DE | ST2_DD; } if(disk[drv]->deleted) { @@ -1117,7 +1137,7 @@ bool UPD765A::id_incr() if(command & 0x80) { set_hdu(hdu ^ 4); id[1] ^= 1; - if (id[1] & 1) { + if(id[1] & 1) { return true; } } @@ -1135,6 +1155,11 @@ void UPD765A::cmd_read_id() set_hdu(buffer[0]); // break; case PHASE_EXEC: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); + break; + } if(check_cond(false) & ST1_MA) { // REGISTER_PHASE_EVENT(PHASE_EXEC, 1000000); // break; @@ -1180,6 +1205,11 @@ void UPD765A::cmd_write_id() REGISTER_PHASE_EVENT(PHASE_TIMER, 4000000); break; case PHASE_TIMER: + // XM8 version 1.20 + if(force_ready && !disk[hdu & DRIVE_MASK]->inserted) { + REGISTER_PHASE_EVENT(PHASE_TIMER, 1000000); + break; + } result = write_id(); shift_to_result7(); break; diff --git a/source/src/vm/upd765a.h b/source/src/vm/upd765a.h index e63882937..2c8048a0f 100644 --- a/source/src/vm/upd765a.h +++ b/source/src/vm/upd765a.h @@ -136,6 +136,7 @@ public: init_output_signals(&outputs_drq); init_output_signals(&outputs_hdu); init_output_signals(&outputs_index); + force_ready = false; raise_irq_when_media_changed = false; } ~UPD765A() {} diff --git a/source/src/vm/ym2151.cpp b/source/src/vm/ym2151.cpp index 1edc34cb1..bdba10a9b 100644 --- a/source/src/vm/ym2151.cpp +++ b/source/src/vm/ym2151.cpp @@ -9,6 +9,8 @@ #include "ym2151.h" +#define EVENT_FM_TIMER 0 + #ifdef SUPPORT_MAME_FM_DLL static bool dont_create_multiple_chips = false; #endif @@ -46,6 +48,7 @@ void YM2151::reset() } memset(port_log, 0, sizeof(port_log)); #endif + timer_event_id = -1; irq_prev = busy = false; } @@ -54,6 +57,9 @@ void YM2151::write_io8(uint32 addr, uint32 data) if(addr & 1) { update_count(); SetReg(ch, data); + if(ch == 0x14) { + update_event(); + } update_interrupt(); clock_busy = current_clock(); busy = true; @@ -93,6 +99,14 @@ void YM2151::event_vline(int v, int clock) update_interrupt(); } +void YM2151::event_callback(int event_id, int error) +{ + update_count(); + update_interrupt(); + timer_event_id = -1; + update_event(); +} + void YM2151::update_count() { clock_accum += clock_const * passed_clock(clock_prev); @@ -104,6 +118,19 @@ void YM2151::update_count() clock_prev = current_clock(); } +void YM2151::update_event() +{ + if(timer_event_id != -1) { + cancel_event(this, timer_event_id); + timer_event_id = -1; + } + + int count = opm->GetNextEvent(); + if(count > 0) { + register_event(this, EVENT_FM_TIMER, 1000000.0 / (double)chip_clock * (double)count, false, &timer_event_id); + } +} + void YM2151::update_interrupt() { bool irq = opm->ReadIRQ(); diff --git a/source/src/vm/ym2151.h b/source/src/vm/ym2151.h index d76cb5f5d..a45921aba 100644 --- a/source/src/vm/ym2151.h +++ b/source/src/vm/ym2151.h @@ -45,11 +45,13 @@ private: uint32 clock_prev; uint32 clock_accum; uint32 clock_const; + int timer_event_id; uint32 clock_busy; bool busy; void update_count(); + void update_event(); void update_interrupt(); public: @@ -67,6 +69,7 @@ public: uint32 read_io8(uint32 addr); void write_signal(int id, uint32 data, uint32 mask); void event_vline(int v, int clock); + void event_callback(int event_id, int error); void mix(int32* buffer, int cnt); void update_timing(int new_clocks, double new_frames_per_sec, int new_lines_per_frame); void save_state(FILEIO* state_fio); diff --git a/source/src/vm/ym2203.cpp b/source/src/vm/ym2203.cpp index 346d9407b..20ad7de43 100644 --- a/source/src/vm/ym2203.cpp +++ b/source/src/vm/ym2203.cpp @@ -9,6 +9,8 @@ #include "ym2203.h" +#define EVENT_FM_TIMER 0 + #ifdef SUPPORT_MAME_FM_DLL static bool dont_create_multiple_chips = false; #endif @@ -67,7 +69,14 @@ void YM2203::reset() } memset(port_log, 0, sizeof(port_log)); #endif - this->SetReg(0x27, 0); // stop timer + fnum2 = 0; +#ifdef HAS_YM2608 + fnum21 = 0; +#endif + + // stop timer + timer_event_id = -1; + this->SetReg(0x27, 0); #ifdef SUPPORT_YM2203_PORT port[0].first = port[1].first = true; @@ -125,10 +134,21 @@ void YM2203::write_io8(uint32 addr, uint32 data) #endif } #endif - // don't write again for prescaler - if(!(0x2d <= ch && ch <= 0x2f)) { + if(0x2d <= ch && ch <= 0x2f) { + // don't write again for prescaler + } else if(0xa4 <= ch && ch <= 0xa6) { + // XM8 version 1.20 + fnum2 = data; + } else { update_count(); + // XM8 version 1.20 + if(0xa0 <= ch && ch <= 0xa2) { + this->SetReg(ch + 4, fnum2); + } this->SetReg(ch, data); + if(ch == 0x27) { + update_event(); + } #ifdef HAS_YM_SERIES update_interrupt(); clock_busy = current_clock(); @@ -141,12 +161,21 @@ void YM2203::write_io8(uint32 addr, uint32 data) ch1 = data1 = data; break; case 3: - update_count(); - this->SetReg(0x100 | ch1, data); - data1 = data; - update_interrupt(); - clock_busy = current_clock(); - busy = true; + if(0xa4 <= ch1 && ch1 <= 0xa6) { + // XM8 version 1.20 + fnum21 = data; + } else { + update_count(); + // XM8 version 1.20 + if(0xa0 <= ch1 && ch1 <= 0xa2) { + this->SetReg(0x100 | (ch1 + 4), fnum21); + } + this->SetReg(0x100 | ch1, data); + data1 = data; + update_interrupt(); + clock_busy = current_clock(); + busy = true; + } break; #endif } @@ -257,6 +286,16 @@ void YM2203::event_vline(int v, int clock) #endif } +void YM2203::event_callback(int event_id, int error) +{ + update_count(); +#ifdef HAS_YM_SERIES + update_interrupt(); +#endif + timer_event_id = -1; + update_event(); +} + void YM2203::update_count() { clock_accum += clock_const * passed_clock(clock_prev); @@ -273,6 +312,31 @@ void YM2203::update_count() clock_prev = current_clock(); } +void YM2203::update_event() +{ + if(timer_event_id != -1) { + cancel_event(this, timer_event_id); + timer_event_id = -1; + } + + int count; +#ifdef HAS_YM2608 + if(is_ym2608) { + count = opna->GetNextEvent(); + } else +#endif + count = opn->GetNextEvent(); + + if(count > 0) { +#ifdef HAS_YM2608 + if(is_ym2608) { + register_event(this, EVENT_FM_TIMER, 1000000.0 / (double)chip_clock * (double)count * 2.0, false, &timer_event_id); + } else +#endif + register_event(this, EVENT_FM_TIMER, 1000000.0 / (double)chip_clock * (double)count, false, &timer_event_id); + } +} + #ifdef HAS_YM_SERIES void YM2203::update_interrupt() { @@ -462,7 +526,7 @@ void YM2203::update_timing(int new_clocks, double new_frames_per_sec, int new_li clock_const = (uint32)((double)chip_clock * 1024.0 * 1024.0 / (double)new_clocks + 0.5); } -#define STATE_VERSION 2 +#define STATE_VERSION 3 void YM2203::save_state(FILEIO* state_fio) { @@ -479,12 +543,11 @@ void YM2203::save_state(FILEIO* state_fio) state_fio->Fwrite(port_log, sizeof(port_log), 1); #endif state_fio->FputUint8(ch); -#ifdef SUPPORT_YM2203_PORT - state_fio->FputUint8(mode); -#endif + state_fio->FputUint8(fnum2); #ifdef HAS_YM2608 state_fio->FputUint8(ch1); state_fio->FputUint8(data1); + state_fio->FputUint8(fnum21); #endif #ifdef SUPPORT_YM2203_PORT for(int i = 0; i < 2; i++) { @@ -492,6 +555,7 @@ void YM2203::save_state(FILEIO* state_fio) state_fio->FputUint8(port[i].rreg); state_fio->FputBool(port[i].first); } + state_fio->FputUint8(mode); #endif state_fio->FputInt32(chip_clock); state_fio->FputBool(irq_prev); @@ -500,6 +564,7 @@ void YM2203::save_state(FILEIO* state_fio) state_fio->FputUint32(clock_accum); state_fio->FputUint32(clock_const); state_fio->FputUint32(clock_busy); + state_fio->FputInt32(timer_event_id); state_fio->FputBool(busy); } @@ -528,12 +593,11 @@ bool YM2203::load_state(FILEIO* state_fio) state_fio->Fread(port_log, sizeof(port_log), 1); #endif ch = state_fio->FgetUint8(); -#ifdef SUPPORT_YM2203_PORT - mode = state_fio->FgetUint8(); -#endif + fnum2 = state_fio->FgetUint8(); #ifdef HAS_YM2608 ch1 = state_fio->FgetUint8(); data1 = state_fio->FgetUint8(); + fnum21 = state_fio->FgetUint8(); #endif #ifdef SUPPORT_YM2203_PORT for(int i = 0; i < 2; i++) { @@ -541,6 +605,7 @@ bool YM2203::load_state(FILEIO* state_fio) port[i].rreg = state_fio->FgetUint8(); port[i].first = state_fio->FgetBool(); } + mode = state_fio->FgetUint8(); #endif chip_clock = state_fio->FgetInt32(); irq_prev = state_fio->FgetBool(); @@ -549,6 +614,7 @@ bool YM2203::load_state(FILEIO* state_fio) clock_accum = state_fio->FgetUint32(); clock_const = state_fio->FgetUint32(); clock_busy = state_fio->FgetUint32(); + timer_event_id = state_fio->FgetInt32(); busy = state_fio->FgetBool(); #ifdef SUPPORT_MAME_FM_DLL @@ -556,8 +622,10 @@ bool YM2203::load_state(FILEIO* state_fio) if(dllchip) { fmdll->Reset(dllchip); for(int i = 0; i < 0x200; i++) { - if(port_log[i].written) { - fmdll->SetReg(dllchip, i, port_log[i].data); + // write fnum2 begore fnum1 + int ch = ((i >= 0xa0 && i <= 0xaf) || (i >= 0x1a0 && i <= 0x1a7)) ? (i ^ 4) : i; + if(port_log[ch].written) { + fmdll->SetReg(dllchip, ch, port_log[ch].data); } } } diff --git a/source/src/vm/ym2203.h b/source/src/vm/ym2203.h index 8da1b7d75..3855cc601 100644 --- a/source/src/vm/ym2203.h +++ b/source/src/vm/ym2203.h @@ -64,11 +64,10 @@ private: #endif uint8 ch; -#ifdef SUPPORT_YM2203_PORT - uint8 mode; -#endif + uint8 fnum2; #ifdef HAS_YM2608 uint8 ch1, data1; + uint8 fnum21; #endif int32 right_volume; @@ -81,6 +80,7 @@ private: // output signals outputs_t outputs; } port[2]; + uint8 mode; #endif int chip_clock; @@ -89,11 +89,13 @@ private: uint32 clock_prev; uint32 clock_accum; uint32 clock_const; + int timer_event_id; uint32 clock_busy; bool busy; void update_count(); + void update_event(); #ifdef HAS_YM_SERIES // output signals outputs_t outputs_irq; @@ -125,6 +127,7 @@ public: uint32 read_io8(uint32 addr); void write_signal(int id, uint32 data, uint32 mask); void event_vline(int v, int clock); + void event_callback(int event_id, int error); void mix(int32* buffer, int cnt); void update_timing(int new_clocks, double new_frames_per_sec, int new_lines_per_frame); void save_state(FILEIO* state_fio); diff --git a/source/src/winmain.cpp b/source/src/winmain.cpp index 7b85ebb40..00e48b6bf 100644 --- a/source/src/winmain.cpp +++ b/source/src/winmain.cpp @@ -16,7 +16,6 @@ #include #include #include "res/resource.h" -#include "res/machine_res.h" #include "emu.h" #include "fileio.h" @@ -100,7 +99,7 @@ _TCHAR* get_parent_dir(_TCHAR* file) _TCHAR *ptr; GetFullPathName(file, _MAX_PATH, path, &ptr); - //*ptr = _T('\0'); + *ptr = _T('\0'); return path; } @@ -830,7 +829,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam) CART_MENU_ITEMS(1, ID_OPEN_CART2, ID_CLOSE_CART2, ID_RECENT_CART2) #endif #ifdef USE_FD1 - #define FD_MENU_ITEMS(drv, ID_OPEN_FD, ID_CLOSE_FD, ID_RECENT_FD, ID_SELECT_D88_BANK) \ + #define FD_MENU_ITEMS(drv, ID_OPEN_FD, ID_CLOSE_FD, ID_IGNORE_CRC, ID_RECENT_FD, ID_SELECT_D88_BANK) \ case ID_OPEN_FD: \ if(emu) { \ open_disk_dialog(hWnd, drv); \ @@ -841,6 +840,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam) close_disk(drv); \ } \ break; \ + case ID_IGNORE_CRC: \ + config.ignore_crc[drv] = !config.ignore_crc[drv]; \ + break; \ case ID_RECENT_FD + 0: \ case ID_RECENT_FD + 1: \ case ID_RECENT_FD + 2: \ @@ -928,33 +930,29 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam) emu->open_disk(drv, emu->d88_file[drv].path, no); \ emu->d88_file[drv].cur_bank = no; \ } \ - break; \ - case ID_FD1_IGNORECRCERRORS + drv: \ - config.ignore_crc[drv] = !config.ignore_crc[drv]; \ break; - - FD_MENU_ITEMS(0, ID_OPEN_FD1, ID_CLOSE_FD1, ID_RECENT_FD1, ID_SELECT_D88_BANK1) + FD_MENU_ITEMS(0, ID_OPEN_FD1, ID_CLOSE_FD1, ID_IGNORE_CRC1, ID_RECENT_FD1, ID_SELECT_D88_BANK1) #endif #ifdef USE_FD2 - FD_MENU_ITEMS(1, ID_OPEN_FD2, ID_CLOSE_FD2, ID_RECENT_FD2, ID_SELECT_D88_BANK2) + FD_MENU_ITEMS(1, ID_OPEN_FD2, ID_CLOSE_FD2, ID_IGNORE_CRC2, ID_RECENT_FD2, ID_SELECT_D88_BANK2) #endif #ifdef USE_FD3 - FD_MENU_ITEMS(2, ID_OPEN_FD3, ID_CLOSE_FD3, ID_RECENT_FD3, ID_SELECT_D88_BANK3) + FD_MENU_ITEMS(2, ID_OPEN_FD3, ID_CLOSE_FD3, ID_IGNORE_CRC3, ID_RECENT_FD3, ID_SELECT_D88_BANK3) #endif #ifdef USE_FD4 - FD_MENU_ITEMS(3, ID_OPEN_FD4, ID_CLOSE_FD4, ID_RECENT_FD4, ID_SELECT_D88_BANK4) + FD_MENU_ITEMS(3, ID_OPEN_FD4, ID_CLOSE_FD4, ID_IGNORE_CRC4, ID_RECENT_FD4, ID_SELECT_D88_BANK4) #endif #ifdef USE_FD5 - FD_MENU_ITEMS(4, ID_OPEN_FD5, ID_CLOSE_FD5, ID_RECENT_FD5, ID_SELECT_D88_BANK5) + FD_MENU_ITEMS(4, ID_OPEN_FD5, ID_CLOSE_FD5, ID_IGNORE_CRC5, ID_RECENT_FD5, ID_SELECT_D88_BANK5) #endif #ifdef USE_FD6 - FD_MENU_ITEMS(5, ID_OPEN_FD6, ID_CLOSE_FD6, ID_RECENT_FD6, ID_SELECT_D88_BANK6) + FD_MENU_ITEMS(5, ID_OPEN_FD6, ID_CLOSE_FD6, ID_IGNORE_CRC6, ID_RECENT_FD6, ID_SELECT_D88_BANK6) #endif #ifdef USE_FD7 - FD_MENU_ITEMS(6, ID_OPEN_FD7, ID_CLOSE_FD7, ID_RECENT_FD7, ID_SELECT_D88_BANK7) + FD_MENU_ITEMS(6, ID_OPEN_FD7, ID_CLOSE_FD7, ID_IGNORE_CRC7, ID_RECENT_FD7, ID_SELECT_D88_BANK7) #endif #ifdef USE_FD8 - FD_MENU_ITEMS(7, ID_OPEN_FD8, ID_CLOSE_FD8, ID_RECENT_FD8, ID_SELECT_D88_BANK8) + FD_MENU_ITEMS(7, ID_OPEN_FD8, ID_CLOSE_FD8, ID_IGNORE_CRC8, ID_RECENT_FD8, ID_SELECT_D88_BANK8) #endif #ifdef USE_QD1 #define QD_MENU_ITEMS(drv, ID_OPEN_QD, ID_CLOSE_QD, ID_RECENT_QD) \ @@ -1518,9 +1516,9 @@ void update_menu(HWND hWnd, HMENU hMenu, int pos) #endif #ifdef MENU_POS_FD1 else if(pos == MENU_POS_FD1) { - #define UPDATE_MENU_FD(drv, ID_RECENT_FD, ID_D88_FILE_PATH, ID_SELECT_D88_BANK, ID_CLOSE_FD) \ + #define UPDATE_MENU_FD(drv, ID_RECENT_FD, ID_D88_FILE_PATH, ID_SELECT_D88_BANK, ID_CLOSE_FD, ID_IGNORE_CRC) \ bool flag = false; \ - while(DeleteMenu(hMenu, 3, MF_BYPOSITION) != 0) {} \ + while(DeleteMenu(hMenu, 5, MF_BYPOSITION) != 0) {} \ if(emu->d88_file[drv].bank_num > 1) { \ AppendMenu(hMenu, MF_STRING | MF_DISABLED, ID_D88_FILE_PATH, emu->d88_file[drv].path); \ for(int i = 0; i < emu->d88_file[drv].bank_num; i++) { \ @@ -1540,51 +1538,51 @@ void update_menu(HWND hWnd, HMENU hMenu, int pos) AppendMenu(hMenu, MF_GRAYED | MF_STRING, ID_RECENT_FD, _T("None")); \ } \ EnableMenuItem(hMenu, ID_CLOSE_FD, emu->disk_inserted(drv) ? MF_ENABLED : MF_GRAYED); \ - CheckMenuItem(hMenu, ID_FD1_IGNORECRCERRORS + drv, config.ignore_crc[drv] ? MF_CHECKED : MF_UNCHECKED); + CheckMenuItem(hMenu, ID_IGNORE_CRC, config.ignore_crc[drv] ? MF_CHECKED : MF_UNCHECKED); // floppy drive #1 - UPDATE_MENU_FD(0, ID_RECENT_FD1, ID_D88_FILE_PATH1, ID_SELECT_D88_BANK1, ID_CLOSE_FD1) + UPDATE_MENU_FD(0, ID_RECENT_FD1, ID_D88_FILE_PATH1, ID_SELECT_D88_BANK1, ID_CLOSE_FD1, ID_IGNORE_CRC1) } #endif #ifdef MENU_POS_FD2 else if(pos == MENU_POS_FD2) { // floppy drive #2 - UPDATE_MENU_FD(1, ID_RECENT_FD2, ID_D88_FILE_PATH2, ID_SELECT_D88_BANK2, ID_CLOSE_FD2) + UPDATE_MENU_FD(1, ID_RECENT_FD2, ID_D88_FILE_PATH2, ID_SELECT_D88_BANK2, ID_CLOSE_FD2, ID_IGNORE_CRC2) } #endif #ifdef MENU_POS_FD3 else if(pos == MENU_POS_FD3) { // floppy drive #3 - UPDATE_MENU_FD(2, ID_RECENT_FD3, ID_D88_FILE_PATH3, ID_SELECT_D88_BANK3, ID_CLOSE_FD3) + UPDATE_MENU_FD(2, ID_RECENT_FD3, ID_D88_FILE_PATH3, ID_SELECT_D88_BANK3, ID_CLOSE_FD3, ID_IGNORE_CRC3) } #endif #ifdef MENU_POS_FD4 else if(pos == MENU_POS_FD4) { // floppy drive #4 - UPDATE_MENU_FD(3, ID_RECENT_FD4, ID_D88_FILE_PATH4, ID_SELECT_D88_BANK4, ID_CLOSE_FD4) + UPDATE_MENU_FD(3, ID_RECENT_FD4, ID_D88_FILE_PATH4, ID_SELECT_D88_BANK4, ID_CLOSE_FD4, ID_IGNORE_CRC4) } #endif #ifdef MENU_POS_FD5 else if(pos == MENU_POS_FD5) { // floppy drive #5 - UPDATE_MENU_FD(4, ID_RECENT_FD5, ID_D88_FILE_PATH5, ID_SELECT_D88_BANK5, ID_CLOSE_FD5) + UPDATE_MENU_FD(4, ID_RECENT_FD5, ID_D88_FILE_PATH5, ID_SELECT_D88_BANK5, ID_CLOSE_FD5, ID_IGNORE_CRC5) } #endif #ifdef MENU_POS_FD6 else if(pos == MENU_POS_FD6) { // floppy drive #6 - UPDATE_MENU_FD(5, ID_RECENT_FD6, ID_D88_FILE_PATH6, ID_SELECT_D88_BANK6, ID_CLOSE_FD6) + UPDATE_MENU_FD(5, ID_RECENT_FD6, ID_D88_FILE_PATH6, ID_SELECT_D88_BANK6, ID_CLOSE_FD6, ID_IGNORE_CRC6) } #endif #ifdef MENU_POS_FD7 else if(pos == MENU_POS_FD7) { // floppy drive #7 - UPDATE_MENU_FD(6, ID_RECENT_FD7, ID_D88_FILE_PATH7, ID_SELECT_D88_BANK7, ID_CLOSE_FD7) + UPDATE_MENU_FD(6, ID_RECENT_FD7, ID_D88_FILE_PATH7, ID_SELECT_D88_BANK7, ID_CLOSE_FD7, ID_IGNORE_CRC7) } #endif #ifdef MENU_POS_FD8 else if(pos == MENU_POS_FD8) { // floppy drive #8 - UPDATE_MENU_FD(7, ID_RECENT_FD8, ID_D88_FILE_PATH8, ID_SELECT_D88_BANK8, ID_CLOSE_FD8) + UPDATE_MENU_FD(7, ID_RECENT_FD8, ID_D88_FILE_PATH8, ID_SELECT_D88_BANK8, ID_CLOSE_FD8, ID_IGNORE_CRC8) } #endif #ifdef MENU_POS_QD1 diff --git a/source/tk80bs.vcproj b/source/tk80bs.vcproj index 99277effd..ddaaeab02 100644 --- a/source/tk80bs.vcproj +++ b/source/tk80bs.vcproj @@ -118,7 +118,6 @@ UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" - WholeProgramOptimization="1" >