--- hatari/src/gui-osx/PrefsController.m 2019/04/09 08:54:09 1.1.1.11 +++ hatari/src/gui-osx/PrefsController.m 2019/04/09 08:55:21 1.1.1.12 @@ -27,7 +27,7 @@ #include "screen.h" #include "sdlgui.h" #include "paths.h" - +#include "keymap.h" // Macros to transfer data between Cocoa controls and Hatari data structures @@ -180,17 +180,19 @@ SDLKey Preferences_KeysForJoysticks[] = SDLK_LALT, SDLK_RMETA, SDLK_LMETA, +#if !WITH_SDL2 SDLK_LSUPER, SDLK_RSUPER, - SDLK_MODE, SDLK_COMPOSE, + SDLK_BREAK, + SDLK_EURO, +#endif + SDLK_MODE, SDLK_HELP, SDLK_PRINT, SDLK_SYSREQ, - SDLK_BREAK, SDLK_MENU, SDLK_POWER, - SDLK_EURO, SDLK_UNDO }; @@ -445,13 +447,13 @@ BOOL flag1, flag2; [opnPanel setCanChooseFiles: YES]; [opnPanel setAccessoryView:partage] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 - [opnPanel setDirectoryURL:[NSURL URLWithString:ru]] ; - [opnPanel setNameFieldStringValue:@"hatari"] ; - btOk = [opnPanel runModal] == NSOKButton ; // Ok ? -#else // */ - btOk = [opnPanel runModalForDirectory:ru file:@"hatari"] == NSOKButton ; // Ok ? sous 10.5 -#endif + if ([opnPanel respondsToSelector:@selector(setDirectoryURL:)]) + { [opnPanel setDirectoryURL:[NSURL fileURLWithPath:ru isDirectory:YES]] ; + [opnPanel setNameFieldStringValue:@"hatari"] ; + btOk = [opnPanel runModal] == NSOKButton ; // Ok ? + } + else + btOk = [opnPanel runModalForDirectory:ru file:@"hatari"] == NSOKButton ; if (!btOk) return ; // Cancel @@ -483,15 +485,13 @@ BOOL btOk ; [savPanel setAllowedFileTypes:[NSArray arrayWithObject:@"cfg"]] ; [savPanel setAccessoryView:hartage] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 - - [savPanel setDirectoryURL:[NSURL URLWithString:ru]] ; // A partir de 10.6 - [savPanel setNameFieldStringValue:@"hatari"] ; - btOk = [savPanel runModal] == NSOKButton ; // Ok ? - -#else // */ - btOk = [savPanel runModalForDirectory:ru file:@"hatari"] == NSOKButton ; // Ok ? -#endif + if ([savPanel respondsToSelector:@selector(setDirectoryURL:)]) + { [savPanel setDirectoryURL:[NSURL fileURLWithPath:ru isDirectory:YES]] ; // Since OS X 10.6 + [savPanel setNameFieldStringValue:@"hatari"] ; + btOk = [savPanel runModal] == NSOKButton ; // Ok ? + } + else + btOk = [savPanel runModalForDirectory:ru file:@"hatari"] == NSOKButton ; // avant 10.6 if (!btOk) return ; // Cancel @@ -509,11 +509,10 @@ BOOL btOk ; NSString *defaultDirectory ; defaultDirectory = [NSString stringWithCString:(Paths_GetHatariHome()) encoding:NSASCIIStringEncoding] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 - [opnPanel setDirectoryURL:[NSURL URLWithString:defaultDirectory]] ; -#else // */ - [opnPanel setDirectory:defaultDirectory] ; -#endif + if ([opnPanel respondsToSelector:@selector(setDirectoryURL:)]) + [opnPanel setDirectoryURL:[NSURL fileURLWithPath:defaultDirectory isDirectory:YES]] ; + else + [opnPanel setDirectory:defaultDirectory] ; } - (IBAction)halle:(id)sender @@ -521,11 +520,10 @@ NSString *defaultDirectory ; NSString *defaultDirectory ; defaultDirectory = [NSString stringWithCString:(Paths_GetHatariHome()) encoding:NSASCIIStringEncoding] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 - [savPanel setDirectoryURL:[NSURL URLWithString:defaultDirectory]] ; -#else // */ - [savPanel setDirectory:defaultDirectory] ; -#endif + if ([savPanel respondsToSelector:@selector(setDirectoryURL:)]) + [savPanel setDirectoryURL:[NSURL fileURLWithPath:defaultDirectory isDirectory:YES]] ; + else + [savPanel setDirectory:defaultDirectory] ; } @@ -560,10 +558,9 @@ NSString *defaultDirectory ; } -/*-----------------------------------------------------------------------*/ -/* - Displays the Preferences dialog Ouverture de la fenêtre des préférences -*/ +/*--------------------------------------------------------------------------*/ +/*Displays the Preferences dialog Ouverture de la fenêtre des préférences */ +/*--------------------------------------------------------------------------*/ - (IBAction)loadPrefs:(id)sender { [configNm setString:[NSString stringWithCString:sConfigFileName encoding:NSASCIIStringEncoding]] ; @@ -626,9 +623,10 @@ NSString *defaultDirectory ; // Check if change need reset if (Change_DoNeedReset(&CurrentParams, &ConfigureParams)) { - applyChanges = NSRunAlertPanel(localize(@"Reset the emulator"), localize(@"Must be reset"), - localize(@"Don't reset"), localize(@"Reset"), nil) == NSAlertAlternateReturn ; - if (applyChanges) Change_CopyChangedParamsToConfiguration(&CurrentParams, &ConfigureParams, true) ; + applyChanges = [NSApp myAlerte:NSInformationalAlertStyle Txt:nil firstB:localize(@"Don't reset") alternateB:localize(@"Reset") + otherB:nil informativeTxt:localize(@"Must be reset") ] == NSAlertAlternateReturn ; + if (applyChanges) + Change_CopyChangedParamsToConfiguration(&CurrentParams, &ConfigureParams, true) ; else ConfigureParams = CurrentParams; //Restore backup params } @@ -725,6 +723,17 @@ NSString *defaultDirectory ; [widthStepper setDoubleValue:[maxZoomedWidth intValue]]; [heightStepper setDoubleValue:[maxZoomedHeight intValue]]; + //deal with TT RAM Size Stepper +#ifdef ENABLE_WINUAE_CPU + IMPORT_NTEXTFIELD(TTRAMSizeValue, ConfigureParams.Memory.nTTRamSize); + [TTRAMSizeStepper setDoubleValue:[TTRAMSizeValue intValue]]; + IMPORT_SWITCH(cycleExactCPU, ConfigureParams.System.bCycleExactCpu); + IMPORT_SWITCH(MMU_Emulation, ConfigureParams.System.bMMU); + IMPORT_SWITCH(adressSpace24, ConfigureParams.System.bAddressSpace24); + IMPORT_RADIO(FPUType, ConfigureParams.System.n_FPUType); + IMPORT_SWITCH(CompatibleFPU, ConfigureParams.System.bCompatibleFPU); + +#endif [(force8bpp) setState:((ConfigureParams.Screen.nForceBpp==8))? NSOnState : NSOffState]; @@ -935,7 +944,16 @@ NSString *defaultDirectory ; EXPORT_NTEXTFIELD(maxZoomedWidth, ConfigureParams.Screen.nMaxWidth); EXPORT_NTEXTFIELD(maxZoomedHeight, ConfigureParams.Screen.nMaxHeight); - + +#ifdef ENABLE_WINUAE_CPU + EXPORT_NTEXTFIELD(TTRAMSizeValue, ConfigureParams.Memory.nTTRamSize); + EXPORT_SWITCH(cycleExactCPU, ConfigureParams.System.bCycleExactCpu); + EXPORT_SWITCH(MMU_Emulation, ConfigureParams.System.bMMU); + EXPORT_SWITCH(adressSpace24, ConfigureParams.System.bAddressSpace24); + EXPORT_RADIO(FPUType, ConfigureParams.System.n_FPUType); + EXPORT_SWITCH(CompatibleFPU, ConfigureParams.System.bCompatibleFPU); +#endif + ConfigureParams.Screen.nForceBpp = ([force8bpp state] == NSOnState) ? 8 : 0; ConfigureParams.Sound.nPlaybackFreq = nSoundFreqs[[[playbackQuality selectedCell] tag]]; @@ -1018,6 +1036,13 @@ NSString *defaultDirectory ; [maxZoomedHeight setIntValue: [sender intValue]]; } +- (IBAction)setTTRAMSize:(id)sender +{ + NSLog(@"Change TTRAMSize: %d", [sender intValue]); + [TTRAMSizeValue setIntValue: [sender intValue]]; + +} + +(PrefsController *)prefs { static PrefsController *prefs = nil; @@ -1046,6 +1071,16 @@ NSString *defaultDirectory ; configNm = [NSMutableString stringWithCapacity:50] ; [configNm setString:@""] ; [configNm retain] ; opnPanel = [NSOpenPanel openPanel]; [opnPanel retain] ; savPanel = [NSSavePanel savePanel]; [savPanel retain] ; +#ifdef ENABLE_WINUAE_CPU + [cycleExactCPU setEnabled:true]; + [MMU_Emulation setEnabled:true]; + [adressSpace24 setEnabled:true]; + [TTRAMSizeValue setEnabled:true]; + [CompatibleFPU setEnabled:true]; + [FPUType setEnabled:true]; + [bCell68060 setEnabled:true]; +#endif + } @end