uvmac/setup/SPCNFGAP.c
InvisibleUp a8e9bc990e Started a rewrite of the makefile generator.
Probably not worth it, let's be honest...
2019-07-27 14:58:45 -04:00

289 lines
7.9 KiB
C

/*
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)
*/
#include "COREDEFS.h"
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);
}