void main(void)
{
SetApplLimit(GetApplLimit() - 0x8000); //expand stack for 32K
if(MemError()!=noErr)
{bigBadError(eAppMemSmall);}
MaxApplZone();
MoreMasters(); // 64 more masters
MoreMasters(); // 64 more masters
initialize();
doStart();
eventLoop();
doEnd();
terminate();
}initialize();と書いてある部分まででアプリケーションを動かすまでの設定をしています。SetApplLimit()、GetApplLimit()、MaxApplZone()、MoreMasters()はToolBoxの関数です。bigBadError()、initialize()、doStart()、eventLoop()、doEnd()、terminate()は僕が適当にプログラムしています。
SetApplLimit() を使ってスタックを拡張しています。まきがめでは駒が連続しているかどうかを再帰呼び出しという手法で行っています。openPieceRec() (file: doPlay.c)の部分がその再帰呼び出しです。こめがめでは駒が沢山あるので再帰呼び出しを何回も行います。再帰呼び出しではスタックを消費しますので、スタックがあふれないように拡張しています。SetApplLimit(GetApplLimit() - 0x8000); //expand stack for 32K
if(MemError()!=noErr)
{bigBadError(eAppMemSmall);}