ref: ea61a2a8e8601d5b732d2c13257413ad4f864b85
dir: /setup/SPCNFGAP.i/
/* SPCNFGAP.i Copyright (C) 2007 Paul C. Pratt You can redistribute this file and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. You should have received a copy of the license along with this file; see the file COPYING. This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ /* program SPecific CoNFiGuration of API users (that is, configuration settings that are used only by platform specific code) */ LOCALPROC WriteAppSpecificCNFGRAPIoptions(void) { WriteBlankLineToDestFile(); WriteBgnDestFileLn(); WriteCStrToDestFile("#define RomFileName \""); switch (cur_mdl) { case gbk_mdl_Twig43: WriteCStrToDestFile("Twig43.ROM"); break; case gbk_mdl_Twiggy: WriteCStrToDestFile("Twiggy.ROM"); break; case gbk_mdl_128K: WriteCStrToDestFile("Mac128K.ROM"); break; case gbk_mdl_SE: WriteCStrToDestFile("MacSE.ROM"); break; case gbk_mdl_SEFDHD: WriteCStrToDestFile("SEFDHD.ROM"); break; case gbk_mdl_Classic: WriteCStrToDestFile("Classic.ROM"); break; case gbk_mdl_PB100: WriteCStrToDestFile("PB100.ROM"); break; case gbk_mdl_II: WriteCStrToDestFile("MacII.ROM"); break; case gbk_mdl_IIx: WriteCStrToDestFile("MacIIx.ROM"); break; case gbk_mdl_512Ke: case gbk_mdl_Plus: default: WriteCStrToDestFile("vMac.ROM"); break; } WriteCStrToDestFile("\""); WriteEndDestFileLn(); WriteBgnDestFileLn(); WriteCStrToDestFile("#define kCheckSumRom_Size "); if (gbk_mdl_Classic == cur_mdl) { WriteCStrToDestFile("0x040000"); /* 256 KB */ } else { WriteCStrToDestFile("0x"); WriteHexLongToOutput(1UL << cur_RomSize); } WriteEndDestFileLn(); switch (cur_mdl) { case gbk_mdl_Twig43: WriteDestFileLn("#define kRomCheckSum1 0x27F4E04B"); break; case gbk_mdl_Twiggy: WriteDestFileLn("#define kRomCheckSum1 0x2884371D"); break; case gbk_mdl_128K: WriteDestFileLn("#define kRomCheckSum1 0x28BA61CE"); WriteDestFileLn("#define kRomCheckSum2 0x28BA4E50"); break; case gbk_mdl_SE: WriteDestFileLn("#define kRomCheckSum1 0xB2E362A8"); break; case gbk_mdl_SEFDHD: WriteDestFileLn("#define kRomCheckSum1 0xB306E171"); break; case gbk_mdl_Classic: WriteDestFileLn("#define kRomCheckSum1 0xA49F9914"); break; case gbk_mdl_PB100: WriteDestFileLn("#define kRomCheckSum1 0x96645F9C"); break; case gbk_mdl_II: WriteDestFileLn("#define kRomCheckSum1 0x9779D2C4"); WriteDestFileLn("#define kRomCheckSum2 0x97221136"); break; case gbk_mdl_IIx: WriteDestFileLn("#define kRomCheckSum1 0x97221136"); break; case gbk_mdl_512Ke: case gbk_mdl_Plus: default: WriteDestFileLn("#define kRomCheckSum1 0x4D1EEEE1"); /* Mac Plus ROM v 1, 'Lonely Hearts' */ WriteDestFileLn("#define kRomCheckSum2 0x4D1EEAE1"); /* Mac Plus ROM v 2, 'Lonely Heifers' */ WriteDestFileLn("#define kRomCheckSum3 0x4D1F8172"); /* Mac Plus ROM v 3, 'Loud Harmonicas' */ break; } if (! WantCheckRomCheckSum) { WriteCompCondBool("CheckRomCheckSum", WantCheckRomCheckSum); } WriteCompCondBool("RomStartCheckSum", (cur_mdl >= gbk_mdl_Twiggy)); if (DbgLogHAVE) { WriteDefineUimr("dbglog_buflnsz", dbglog_buflnsz); } if (gbk_targfam_wnce == gbo_targfam) { WriteBlankLineToDestFile(); WriteDestFileLn("#define EnableShellLinks 0"); WriteDestFileLn("#define EnableDragDrop 0"); WriteDestFileLn("#define UseTimerThread 0"); } else if (gbk_targfam_lnds == gbo_targfam) { WriteDestFileLn("#define EnableDragDrop 0"); } else { WriteDestFileLn("#define EnableDragDrop 1"); } WriteCompCondBool("SaveDialogEnable", gbo_SaveDialogEnable); WriteCompCondBool("EnableAltKeysMode", WantAltKeysMode); { uimr i; for (i = 0; i < kNumSrcKeyNames; ++i) { WriteBgnDestFileLn(); WriteCStrToDestFile("#define MKC_formac_"); WriteCStrToDestFile(GetSrcKeyMapName(i)); WriteCStrToDestFile(" MKC_"); WriteCStrToDestFile(GetDstKeyMapName(gbo_keymap[i])); WriteEndDestFileLn(); } } if (gbk_keynam_Control == ControlModeKey) { /* kStrCntrlKyName */ } else { WriteBgnDestFileLn(); WriteCStrToDestFile("#define kControlModeKey \""); WriteCStrToDestFile(GetSrcKeyMapName(ControlModeKey)); WriteCStrToDestFile("\""); WriteEndDestFileLn(); } if (gbk_keynam_Control == gbo_EKTMap) { /* kStrCntrlKyName */ } else { WriteBgnDestFileLn(); WriteCStrToDestFile("#define kUnMappedKey \""); WriteCStrToDestFile(GetDstKeyMapName(gbo_EKTMap)); WriteCStrToDestFile("\""); WriteEndDestFileLn(); } WriteBgnDestFileLn(); WriteCStrToDestFile("#define MKC_UnMappedKey "); WriteCStrToDestFile(" MKC_"); WriteCStrToDestFile(GetDstKeyMapName(gbo_EKTMap)); WriteEndDestFileLn(); WriteCompCondBool("VarFullScreen", WantVarFullScreen); if (WantVarFullScreen) { WriteCompCondBool("WantInitFullScreen", WantInitFullScreen); } WriteCompCondBool("MayFullScreen", WantVarFullScreen || WantInitFullScreen); WriteCompCondBool("MayNotFullScreen", WantVarFullScreen || ! WantInitFullScreen); WriteCompCondBool("WantInitMagnify", WantInitMagnify); WriteCompCondBool("EnableMagnify", 1 != cur_MagFctr); if (1 != cur_MagFctr) { WriteDefineUimr("MyWindowScale", cur_MagFctr); } if (nanblnr != WantColorImage) { WriteCompCondBool("UseColorImage", WantColorImage); } WriteCompCondBool("WantInitRunInBackground", WantInitBackground); WriteCompCondBool("WantInitNotAutoSlow", ! WantInitAutoSlow); WriteBgnDestFileLn(); WriteCStrToDestFile("#define WantInitSpeedValue "); if (gbk_speed_AllOut == CurInitSpeed) { WriteCStrToDestFile("-1"); } else { WriteUnsignedToOutput(CurInitSpeed - 1); } WriteEndDestFileLn(); if (WantScreenVSync) { WriteDestFileLn("#define UseAGLdoublebuff 1"); } if (WantGraphicsSwitching) { WriteDestFileLn("#define WantGraphicsSwitching 1"); } if (! WantGrabKeysFS) { WriteDestFileLn("#define GrabKeysFullScreen 0"); } WriteCompCondBool("WantEnblCtrlInt", WantEnblCtrlInt); WriteCompCondBool("WantEnblCtrlRst", WantEnblCtrlRst); WriteCompCondBool("WantEnblCtrlKtg", WantEnblCtrlKtg); WriteCompCondBool("NeedRequestInsertDisk", (gbk_apifam_gtk == gbo_apifam) || (gbk_apifam_mac == gbo_apifam) || (gbk_apifam_win == gbo_apifam) || (gbk_apifam_osx == gbo_apifam) || (gbk_apifam_cco == gbo_apifam) ); if (WantInsertIthDisk) { WriteDestFileLn("#define NeedRequestIthDisk 1"); } WriteCompCondBool("NeedDoMoreCommandsMsg", (gbk_apifam_gtk == gbo_apifam) || (gbk_apifam_mac == gbo_apifam) || (gbk_apifam_win == gbo_apifam) || (gbk_apifam_osx == gbo_apifam) || (gbk_apifam_cco == gbo_apifam) ); WriteCompCondBool("NeedDoAboutMsg", (gbk_apifam_gtk == gbo_apifam) || (gbk_apifam_mac == gbo_apifam) || (gbk_apifam_win == gbo_apifam) || (gbk_apifam_osx == gbo_apifam) || (gbk_apifam_cco == gbo_apifam) ); WriteCompCondBool("UseControlKeys", trueblnr); WriteCompCondBool("UseActvCode", WantActvCode); WriteCompCondBool("EnableDemoMsg", WantDemoMsg); if (WantActvCode) { int i; WriteBlankLineToDestFile(); for (i = 0; i < NumKeyCon; ++i) { WriteBgnDestFileLn(); WriteCStrToDestFile("#define KeyCon"); WriteUnsignedToOutput(i); WriteSpaceToDestFile(); WriteUnsignedToOutput(KeyCon[i]); WriteEndDestFileLn(); } } WriteBlankLineToDestFile(); WriteDestFileLn("/* version and other info to display to user */"); WriteBlankLineToDestFile(); WriteCompCondBool("NeedIntlChars", (gbk_lang_eng != gbo_lang) || NeedIntl); if (gbk_apifam_win == gbo_apifam) { WriteCompCondBool("ItnlKyBdFix", ItnlKyBdFix); } WriteCDefQuote("kStrAppName", WriteStrAppUnabrevName); WriteCDefQuote("kAppVariationStr", WriteAppVariationStr); WriteCDefQuote("kStrCopyrightYear", WriteAppCopyrightYearStr); WriteCDefQuote("kMaintainerName", WriteMaintainerName); WriteCDefQuote("kStrHomePage", WriteHomePage); }