Lots more work on the NDA

This commit is contained in:
Jeremy Rand 2013-08-07 02:16:21 -04:00
parent 88edf4b193
commit 01b5651573
5 changed files with 717 additions and 71 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -44,7 +44,7 @@ fixfiles:
chtyp -l CC ops/*.c ops/*.h
%.o: %.c
occ $(CFLAGS) -c -o $@ $<
occ $(CFLAGS) -r -c -o $@ $<
%.r: %.rez
occ -o $@ $<

View File

@ -5,11 +5,12 @@
#pragma nda NDAOpen NDAClose NDAAction NDAInit 0 0xFFFF " abCalc\\H**"
#pragma stacksize 4096
#pragma stacksize 2048
#include <orca.h>
#include <GSOS.h>
#include <Locator.h>
#include <QuickDraw.h>
#include <Window.h>
#include <Desk.h>
@ -19,6 +20,8 @@
#include <Control.h>
#include <Event.h>
#include <List.h>
#include <Sane.h>
#include <LineEdit.h>
#include <string.h>
#include <stdlib.h>
@ -33,7 +36,7 @@
#include "ops/abCOp.h"
void UpdateStack(Boolean draw);
void UpdateStack(void);
typedef struct listElement {
@ -42,6 +45,15 @@ typedef struct listElement {
} listElement;
static ToolTable gToolTable = {
2,
{ { 0x1c, 0 }, /* List Manager */
{ 0x0a, 0 } } /* SANE */
};
static BOOLEAN gListStarted = FALSE;
static BOOLEAN gSANEStarted = FALSE;
static BOOLEAN gCalcActive = FALSE;
static GrafPortPtr gCalcWinPtr = NULL;
static unsigned int gUserId;
@ -51,30 +63,29 @@ listElement gStackList[AB_CALC_STACK_DEPTH];
abCalcExpr gNDAExpr;
void NDAClose(void)
{
int i;
int numOps;
if (gCalcActive) {
CloseWindow(gCalcWinPtr);
gCalcWinPtr = NULL;
gCalcActive = FALSE;
}
numOps = abCalcOpNumOps();
for (i = 0; i < numOps; i++) {
free(gOpList[i].memPtr);
}
if (gOpList != NULL) {
free(gOpList);
gOpList = NULL;
}
for (i = 0; i < AB_CALC_STACK_DEPTH; i++) {
if (gStackList[i].memPtr != NULL) {
free(gStackList[i].memPtr);
gStackList[i].memPtr = NULL;
}
for (i = 0; i < AB_CALC_STACK_DEPTH; i++) {
if (gStackList[i].memPtr != NULL) {
free(gStackList[i].memPtr);
gStackList[i].memPtr = NULL;
}
}
CloseResourceFile(gResourceId);
ResourceShutDown();
}
@ -87,6 +98,21 @@ void NDAInit(int code)
if (code) {
gCalcActive = FALSE;
gUserId = MMStartUp();
LoadTools((Pointer)&gToolTable);
if (!ListStatus()) {
ListStartUp();
gListStarted = TRUE;
}
if (!SANEStatus()) {
Handle hdl = NewHandle(256, gUserId,
attrBank | attrFixed | attrLocked | attrPage, NULL);
SANEStartUp((Word) *hdl);
gSANEStarted = TRUE;
}
abCalcInit();
for (i = 0; i < AB_CALC_STACK_DEPTH; i++) {
@ -94,6 +120,16 @@ void NDAInit(int code)
}
} else if (gCalcActive) {
NDAClose();
if (gSANEStarted) {
SANEShutDown();
gSANEStarted = FALSE;
}
if (gListStarted) {
ListShutDown();
gListStarted = FALSE;
}
}
}
@ -146,6 +182,7 @@ GrafPortPtr NDAOpen(void)
SetSysWindow(gCalcWinPtr);
ShowWindow(gCalcWinPtr);
SelectWindow(gCalcWinPtr);
SetPort(gCalcWinPtr);
if (gOpList == NULL) {
numOps = abCalcOpNumOps();
@ -155,10 +192,11 @@ GrafPortPtr NDAOpen(void)
gOpList[i].memFlag = 0;
}
}
opListCtl = (Handle)GetCtlHandleFromID(gCalcWinPtr, abCalcOpList);
NewList2(NULL, 1, (Ref)gOpList, 0, numOps, opListCtl);
UpdateStack(FALSE);
UpdateStack();
gCalcActive = TRUE;
@ -174,7 +212,7 @@ GrafPortPtr NDAOpen(void)
}
void UpdateStack(BOOLEAN draw)
void UpdateStack(void)
{
Handle stackListCtl;
int i;
@ -191,128 +229,214 @@ void UpdateStack(BOOLEAN draw)
if (gStackList[i].memPtr == NULL) {
gStackList[i].memPtr = malloc(AB_CALC_EXPR_STRING_MAX + 8);
}
abCalcStackExprStringAt(i, gStackList[i].memPtr);
abCalcStackExprStringAt(numToDisplay - i - 1, gStackList[i].memPtr);
gStackList[i].memFlag = 0;
}
NewList2(NULL, 1, (Ref)gStackList, 0, numToDisplay, stackListCtl);
if (draw)
DrawMember2(0, stackListCtl);
SelectMember2(numToDisplay, stackListCtl);
ResetMember2(stackListCtl);
}
void DoCalcStuff(char *cmd)
void PushCalcEntry(CtlRecHndl entryBox)
{
static Str255 strBuf;
abCalcOp *op;
GetLETextByID(gCalcWinPtr, abCalcEntryBox, &strBuf);
if (strBuf.textLength > 0) {
strBuf.text[strBuf.textLength] = '\0';
op = abCalcOpLookup(strBuf.text);
if (op != NULL) {
op->execute();
} else if (abCalcParseExpr(&gNDAExpr, strBuf.text) != NULL) {
abCalcStackExprPush(&gNDAExpr);
} else {
abCalcRaiseError(abCalcSyntaxError, NULL);
return;
}
strBuf.textLength = 0;
SetLETextByID(gCalcWinPtr, abCalcEntryBox, &strBuf);
}
}
void ExecCalcCmd(char *cmd)
{
abCalcOp *op = abCalcOpLookup(cmd);
CtlRecHndl entryBox = GetCtlHandleFromID(gCalcWinPtr, abCalcEntryBox);
PushCalcEntry(entryBox);
if (op != NULL) {
op->execute();
} else if (abCalcParseExpr(&gNDAExpr, cmd) != NULL) {
abCalcStackExprPush(&gNDAExpr);
} else {
abCalcRaiseError(abCalcSyntaxError, NULL);
}
UpdateStack(TRUE);
UpdateStack();
}
void InsertChar(CtlRecHndl entryBox, char ch)
{
LERecHndl leHandle;
HLock((Handle)entryBox);
leHandle = (LERecHndl)(*entryBox)->ctlData;
HUnlock((Handle)entryBox);
LEDelete(leHandle);
LEInsert(&ch, 1, leHandle);
}
void HandleStackClick(void)
{
Handle stackListCtl = (Handle)GetCtlHandleFromID(gCalcWinPtr, abCalcStackList);
DrawMember2(ResetMember2(stackListCtl), stackListCtl);
}
void HandleOpClick(void)
{
Handle opListCtl = (Handle)GetCtlHandleFromID(gCalcWinPtr, abCalcOpList);
int nthOp = ResetMember2(opListCtl);
abCalcOp *op;
if (nthOp > 0) {
nthOp--;
op = abCalcOpNth(nthOp);
if (op != NULL) {
CtlRecHndl entryBox = GetCtlHandleFromID(gCalcWinPtr, abCalcEntryBox);
PushCalcEntry(entryBox);
op->execute();
UpdateStack();
}
DrawMember2(nthOp + 1, opListCtl);
}
}
void HandleControl(EventRecord *event)
{
static Str255 strBuf;
CtlRecHndl entryBox = GetCtlHandleFromID(gCalcWinPtr, abCalcEntryBox);
SetPort(gCalcWinPtr);
switch (event->wmTaskData4) {
case abCalcBtn0:
InsertChar(entryBox, '0');
break;
case abCalcBtn1:
InsertChar(entryBox, '1');
break;
case abCalcBtn2:
InsertChar(entryBox, '2');
break;
case abCalcBtn3:
InsertChar(entryBox, '3');
break;
case abCalcBtn4:
InsertChar(entryBox, '4');
break;
case abCalcBtn5:
InsertChar(entryBox, '5');
break;
case abCalcBtn6:
InsertChar(entryBox, '6');
break;
case abCalcBtn7:
InsertChar(entryBox, '7');
break;
case abCalcBtn8:
InsertChar(entryBox, '8');
break;
case abCalcBtn9:
InsertChar(entryBox, '9');
break;
case abCalcBtnEnter:
GetLETextByID(gCalcWinPtr, abCalcEntryBox, &strBuf);
strBuf.text[strBuf.textLength] = '\0';
DoCalcStuff(strBuf.text);
strBuf.textLength = 0;
SetLETextByID(gCalcWinPtr, abCalcEntryBox, &strBuf);
PushCalcEntry(entryBox);
UpdateStack();
break;
case abCalcBtnDot:
InsertChar(entryBox, '.');
break;
case abCalcBtnNum:
InsertChar(entryBox, '#');
break;
case abCalcBtnAdd:
DoCalcStuff("+");
ExecCalcCmd("+");
break;
case abCalcBtnSub:
DoCalcStuff("-");
ExecCalcCmd("-");
break;
case abCalcBtnMult:
DoCalcStuff("*");
ExecCalcCmd("*");
break;
case abCalcBtnDiv:
DoCalcStuff("/");
ExecCalcCmd("/");
break;
case abCalcBtnPow:
DoCalcStuff("^");
ExecCalcCmd("^");
break;
case abCalcBtnA:
InsertChar(entryBox, 'A');
break;
case abCalcBtnB:
InsertChar(entryBox, 'B');
break;
case abCalcBtnC:
InsertChar(entryBox, 'C');
break;
case abCalcBtnD:
InsertChar(entryBox, 'D');
break;
case abCalcBtnE:
InsertChar(entryBox, 'E');
break;
case abCalcBtnF:
InsertChar(entryBox, 'F');
break;
case abCalcEntryBox:
break;
case abCalcStackList:
HandleStackClick();
break;
case abCalcOpList:
HandleOpClick();
break;
}
}
@ -346,13 +470,3 @@ BOOLEAN NDAAction(EventRecord *sysEvent, int code)
return FALSE;
}
/* I shouldn't need a main() but the linker seems to want one when I
link multiple objects together in the final link step. If I only
have a single object, there is no problem. There is probable a
compile incantation which will avoid this but for now... */
int main(void)
{
return 0;
}

486
abCalcNDA.map Normal file
View File

@ -0,0 +1,486 @@
Segment:
00000000 00000060 02 Code: ~_ROOT
00000000 00000060 03 Code: ~_STACK
0000005F 000001EC 02 Code: NDAClose
0000024B 000000C2 02 Code: NDAInit
0000030D 0000003F 02 Code: DrawContents
0000034C 000003CA 02 Code: NDAOpen
00000716 0000020A 02 Code: UpdateStack
00000920 00000103 02 Code: DoCalcStuff
00000A23 00000577 02 Code: HandleControl
00000F9A 00000118 02 Code: NDAAction
000010B2 0000000F 02 Code: ~GLOBALS
000010C1 000003B8 02 Code: ~ARRAYS
00001479 00000085 02 Code: abCalcInit
000014FE 00000001 02 Code: ~GLOBALS
000014FF 00000007 02 Code: abCalcStackInit
00001506 00000107 02 Code: abCalcStackExprPush
0000160D 000000C7 02 Code: abCalcStackExprPop
000016D4 0000001B 02 Code: abCalcStackNumItems
000016EF 00000084 02 Code: abCalcStackExprAt
00001773 0000011C 02 Code: abCalcStackExprStringAt
0000188F 0000000D 02 Code: abCalcStackClear
0000189C 00000003 02 Code: ~GLOBALS
0000189F 00000528 02 Code: ~ARRAYS
00001DC7 00000007 02 Code: abCalcModeInit
00001DCE 0000001B 02 Code: abCalcModeGetBase
00001DE9 00000059 02 Code: abCalcModeSetBase
00001E42 0000001B 02 Code: abCalcModeGetIntWidth
00001E5D 0000005A 02 Code: abCalcModeSetIntWidth
00001EB7 00000005 02 Code: ~GLOBALS
00001EBC 00000266 02 Code: abCalcErrorInit
00002122 0000007B 02 Code: abCalcRaiseError
0000219D 000001BA 02 Code: abCalcGetError
00002357 0000001F 02 Code: abCalcClearError
00002376 00000007 02 Code: ~GLOBALS
0000237D 000000A4 02 Code: ~ARRAYS
00002421 0000006F 02 Code: abCalcExprInit
00002490 00000094 02 Code: abCalcRegisterExprType
00002524 00000148 02 Code: abCalcParseExpr
0000266C 00000140 02 Code: abCalcFormatExpr
000027AC 00000001 02 Code: ~GLOBALS
000027AD 00000008 02 Code: ~ARRAYS
000027B5 00000023 02 Code: abCalcExprRealInit
000027D8 000002B2 02 Code: abCalcExprRealParse
00002A8A 00000617 02 Code: abCalcExprRealFormat
000030A1 00000065 02 Code: abCalcExprRealSet
00003106 00000001 02 Code: ~GLOBALS
00003107 00000018 02 Code: ~ARRAYS
0000311F 00000023 02 Code: abCalcExprIntInit
00003142 00000600 02 Code: abCalcExprIntParse
00003742 00000327 02 Code: abCalcExprIntFormat
00003A69 000000DB 02 Code: abCalcExprIntSet
00003B44 00000001 02 Code: ~GLOBALS
00003B45 00000008 02 Code: ~ARRAYS
00003B4D 0000030B 02 Code: abCalcOpInit
00003E58 000000F7 02 Code: abCalcOpRegister
00003F4F 000000D0 02 Code: abCalcOpLookup
0000401F 00000095 02 Code: abCalcOpNth
000040B4 0000001B 02 Code: abCalcOpNumOps
000040CF 00000003 02 Code: ~GLOBALS
000040D2 00000400 02 Code: ~ARRAYS
000044D2 00000027 02 Code: abCalcOpAddInit
000044F9 000002F7 02 Code: addExecute
000047F0 00000001 02 Code: ~GLOBALS
000047F1 00000027 02 Code: abCalcOpSubtrInit
00004818 000002F7 02 Code: subtrExecute
00004B0F 00000001 02 Code: ~GLOBALS
00004B10 00000027 02 Code: abCalcOpMultInit
00004B37 000002DE 02 Code: multExecute
00004E15 00000001 02 Code: ~GLOBALS
00004E16 00000027 02 Code: abCalcOpDivInit
00004E3D 00000379 02 Code: divExecute
000051B6 00000001 02 Code: ~GLOBALS
000051B7 00000027 02 Code: abCalcOpPowerInit
000051DE 00000354 02 Code: powerExecute
00005532 00000001 02 Code: ~GLOBALS
00005533 00000029 02 Code: abCalcOpAndInit
0000555C 00000196 02 Code: andExecute
000056F2 00000001 02 Code: ~GLOBALS
000056F3 00000028 02 Code: abCalcOpOrInit
0000571B 00000193 02 Code: orExecute
000058AE 00000001 02 Code: ~GLOBALS
000058AF 00000029 02 Code: abCalcOpXorInit
000058D8 00000196 02 Code: xorExecute
00005A6E 00000001 02 Code: ~GLOBALS
00005A6F 00000029 02 Code: abCalcOpNotInit
00005A98 0000011F 02 Code: notExecute
00005BB7 00000001 02 Code: ~GLOBALS
00005BB8 00000029 02 Code: abCalcOpBinInit
00005BE1 0000001D 02 Code: binExecute
00005BFE 00000001 02 Code: ~GLOBALS
00005BFF 00000029 02 Code: abCalcOpOctInit
00005C28 0000001D 02 Code: octExecute
00005C45 00000001 02 Code: ~GLOBALS
00005C46 00000029 02 Code: abCalcOpDecInit
00005C6F 0000001D 02 Code: decExecute
00005C8C 00000001 02 Code: ~GLOBALS
00005C8D 00000029 02 Code: abCalcOpHexInit
00005CB6 0000001D 02 Code: hexExecute
00005CD3 00000001 02 Code: ~GLOBALS
00005CD4 0000002A 02 Code: abCalcOpStwsInit
00005CFE 00000164 02 Code: stwsExecute
00005E62 00000001 02 Code: ~GLOBALS
00005E63 0000002A 02 Code: abCalcOpRcwsInit
00005E8D 0000005C 02 Code: rcwsExecute
00005EE9 00000001 02 Code: ~GLOBALS
00005EEA 00000028 02 Code: abCalcOpSlInit
00005F12 0000011F 02 Code: slExecute
00006031 00000001 02 Code: ~GLOBALS
00006032 00000028 02 Code: abCalcOpRlInit
0000605A 00000182 02 Code: rlExecute
000061DC 00000001 02 Code: ~GLOBALS
000061DD 00000028 02 Code: abCalcOpSrInit
00006205 0000011F 02 Code: srExecute
00006324 00000001 02 Code: ~GLOBALS
00006325 00000028 02 Code: abCalcOpRrInit
0000634D 00000181 02 Code: rrExecute
000064CE 00000001 02 Code: ~GLOBALS
000064CF 00000029 02 Code: abCalcOpAsrInit
000064F8 0000017D 02 Code: asrExecute
00006675 00000001 02 Code: ~GLOBALS
00006676 00000029 02 Code: abCalcOpInvInit
0000669F 00000178 02 Code: invExecute
00006817 00000001 02 Code: ~GLOBALS
00006818 00000029 02 Code: abCalcOpChsInit
00006841 0000012A 02 Code: chsExecute
0000696B 00000001 02 Code: ~GLOBALS
0000696C 0000002A 02 Code: abCalcOpDropInit
00006996 0000009B 02 Code: dropExecute
00006A31 00000001 02 Code: ~GLOBALS
00006A32 0000002A 02 Code: abCalcOpSwapInit
00006A5C 00000155 02 Code: swapExecute
00006BB1 00000001 02 Code: ~GLOBALS
00006BB2 00000029 02 Code: abCalcOpSinInit
00006BDB 0000012D 02 Code: sinExecute
00006D08 00000001 02 Code: ~GLOBALS
00006D09 00000029 02 Code: abCalcOpCosInit
00006D32 0000012D 02 Code: cosExecute
00006E5F 00000001 02 Code: ~GLOBALS
00006E60 00000029 02 Code: abCalcOpTanInit
00006E89 0000012D 02 Code: tanExecute
00006FB6 00000001 02 Code: ~GLOBALS
00006FB7 0000002A 02 Code: abCalcOpAsinInit
00006FE1 000001B8 02 Code: asinExecute
00007199 00000001 02 Code: ~GLOBALS
0000719A 0000002A 02 Code: abCalcOpAcosInit
000071C4 000001B8 02 Code: acosExecute
0000737C 00000001 02 Code: ~GLOBALS
0000737D 0000002A 02 Code: abCalcOpAtanInit
000073A7 0000012F 02 Code: atanExecute
000074D6 00000001 02 Code: ~GLOBALS
000074D7 00000028 02 Code: abCalcOpSqInit
000074FF 0000012C 02 Code: sqExecute
0000762B 00000001 02 Code: ~GLOBALS
0000762C 0000002A 02 Code: abCalcOpSqrtInit
00007656 0000017E 02 Code: sqrtExecute
000077D4 00000001 02 Code: ~GLOBALS
000077D5 00000028 02 Code: abCalcOpPiInit
000077FD 0000007E 02 Code: piExecute
0000787B 00000001 02 Code: ~GLOBALS
0000787C 00000029 02 Code: abCalcOpLogInit
000078A5 000001C9 02 Code: logExecute
00007A6E 00000001 02 Code: ~GLOBALS
00007A6F 0000002A 02 Code: abCalcOpAlogInit
00007A99 0000013E 02 Code: alogExecute
00007BD7 00000001 02 Code: ~GLOBALS
00007BD8 00000028 02 Code: abCalcOpLnInit
00007C00 000001C5 02 Code: lnExecute
00007DC5 00000001 02 Code: ~GLOBALS
00007DC6 00000029 02 Code: abCalcOpExpInit
00007DEF 0000012D 02 Code: expExecute
00007F1C 00000001 02 Code: ~GLOBALS
00007F1D 0000002A 02 Code: abCalcOpSinhInit
00007F47 0000012F 02 Code: sinhExecute
00008076 00000001 02 Code: ~GLOBALS
00008077 0000002A 02 Code: abCalcOpCoshInit
000080A1 0000012F 02 Code: coshExecute
000081D0 00000001 02 Code: ~GLOBALS
000081D1 0000002A 02 Code: abCalcOpTanhInit
000081FB 0000012F 02 Code: tanhExecute
0000832A 00000001 02 Code: ~GLOBALS
0000832B 0000002B 02 Code: abCalcOpClearInit
00008356 00000019 02 Code: clearExecute
0000836F 00000001 02 Code: ~GLOBALS
00008370 00000169 02 Code: stricmp
000084D9 00000033 02 Code: PDOSINT
0000850C 0000001B 02 Code: atof
00008527 00000089 02 Code: fprintf
000085B0 0000013B 02 Code: fputc
000086EB 00000061 02 Code: memcpy
0000874C 0000008A 02 Code: memmove
000087D6 0000005C 02 Code: memset
00008832 0000007E 02 Code: sprintf
000088B0 0000003C 02 Code: stderr
000088EC 0000004C 02 Code: strcat
00008938 00000034 02 Code: strcpy
0000896C 00000024 02 Code: strlen
00008990 0000001A 02 Code: toupper
000089AA 00000040 02 Code: ~LSHR4
000089EA 00000008 02 Code: CVars
000089F2 0000006D 02 Code: ~UDIV4
00008A5F 00000042 02 Code: ~VerifyStream
00008AA1 0000001A 02 Code: ~ioerror
00008ABB 00000192 02 Code: ~printf
00008C4D 00000099 02 Data: ~printfCommon
00008CE6 0000004B 02 Code: putchar
00008D31 00000101 02 Code: __ctype
00008E32 000000FF 02 Code: fflush
00008F31 000000D3 02 Code: ftell
00009004 0000003C 02 Code: stdin
00009040 0000003C 02 Code: stdout
0000907C 00000010 02 Code: ~Format_Percent
0000908C 00000090 02 Code: ~Format_x
0000911C 00000082 02 Code: ~Format_s
0000919E 00000014 02 Code: ~Format_c
000091B2 0000016F 02 Code: ~Format_d
00009321 0000002F 02 Code: ~Format_n
00009350 00000073 02 Code: ~Format_o
000093C3 00000056 02 Code: ~InitBuffer
00009419 0000001F 02 Code: ~LeftJustify
00009438 000000C5 02 Code: acos
000094FD 000000CA 02 Code: asin
000095C7 00000033 02 Code: atan
000095FA 00000033 02 Code: cos
0000962D 0000009D 02 Code: cosh
000096CA 0000004A 02 Code: exp
00009714 00000026 02 Code: fabs
0000973A 0000005A 02 Code: floor
00009794 0000004A 02 Code: log
000097DE 0000006A 02 Code: log10
00009848 000000B8 02 Code: modf
00009900 00000064 02 Code: pow
00009964 00000033 02 Code: sin
00009997 000000F6 02 Code: sinh
00009A8D 0000004A 02 Code: sqrt
00009AD7 000000A7 02 Code: strtod
00009B7E 0000004A 02 Code: tan
00009BC8 000000CA 02 Code: tanh
00009C92 00000029 02 Code: ~ADDE
00009CBB 00000026 02 Code: ~CNVINTREAL
00009CE1 00000032 02 Code: ~CNVREALINT
00009D13 00000035 02 Code: ~CNVREALLONG
00009D48 0000002C 02 Code: ~COPYDOUBLE
00009D74 00000029 02 Code: ~DIVE
00009D9D 00000035 02 Code: ~REALFN
00009DD2 0000002E 02 Code: ~EQUE
00009E00 000001D6 02 Code: ~Format_e
00009FD6 00000087 02 Code: ~Format_g
0000A05D 00000033 02 Code: ~GEQE
0000A090 00000033 02 Code: ~GRTE
0000A0C3 0000002D 02 Code: ~LOADDOUBLE
0000A0F0 00000029 02 Code: ~LOADEXTENDED
0000A119 00000029 02 Code: ~MULE
0000A142 00000034 02 Code: ~SAVEDOUBLE
0000A176 00000029 02 Code: ~SUBE
0000A19F 00000043 02 Data: ~stdglobals
0000A1E2 0000005C 02 Data: MathCommon
0000A23E 00000040 02 Code: SYSCHARERROUT
0000A27E 00000040 02 Code: SYSCHAROUT
0000A2BE 0000002E 02 Code: ~DISPOSE
0000A2EC 0000002B 02 Code: ~NEW
0000A317 0000006B 02 Code: ~DAID
0000A382 000000ED 02 Code: ~DISPOSE_AREA
0000A46F 00000074 02 Code: ~DISPOSE_BLOCK
0000A4E3 00000031 02 Code: ~GEQL
0000A514 0000002A 02 Code: ~GRTL
0000A53E 00000114 02 Data: ~GSOSIO
0000A652 0000002B 02 Code: ~MMINSERT
0000A67D 00000015 02 Code: ~MM_INIT
0000A692 000000DB 02 Code: ~MUL2
0000A76D 000000DC 02 Code: ~MUL4
0000A849 00000117 02 Code: ~NEW_AREA
0000A960 000000DB 02 Code: ~NEW_BLOCK
0000AA3B 0000006B 02 Code: ~REMOVE
0000AAA6 00000010 02 Code: ~SHIFTLEFT
0000AAB6 00000043 02 Code: ~SHL4
0000AAF9 00000039 02 Code: ~SIGN
0000AB32 00000069 02 Code: ~UMUL2
0000AB9B 0000006F 02 Code: ~UMUL4
0000AC0A 0000002C 02 Data: ~common
0000AC36 00000011 02 Code: ~FIND_DISP
Global symbol table:
000089EA G 02 00 CVars 00000920 G 02 00 DoCalcStuff
0000030D G 02 00 DrawContents 00000A23 G 02 00 HandleControl
0000A1E2 P 02 03 MathCommon 00000F9A G 02 00 NDAAction
0000005F G 02 00 NDAClose 0000024B G 02 00 NDAInit
0000034C G 02 00 NDAOpen 000084D9 G 02 00 PDOSINT
0000A23E G 02 00 SYSCHARERROUT 0000A27E G 02 00 SYSCHAROUT
00000716 G 02 00 UpdateStack 00008D31 G 02 00 __ctype
000089EC G 02 00 _ownerid 000089F0 G 02 00 _toolErr
00002357 G 02 00 abCalcClearError 00001EBC G 02 00 abCalcErrorInit
00002421 G 02 00 abCalcExprInit 00003742 G 02 00 abCalcExprIntFormat
0000311F G 02 00 abCalcExprIntInit 00003142 G 02 00 abCalcExprIntParse
00003A69 G 02 00 abCalcExprIntSet 00002A8A G 02 00 abCalcExprRealFormat
000027B5 G 02 00 abCalcExprRealInit 000027D8 G 02 00 abCalcExprRealParse
000030A1 G 02 00 abCalcExprRealSet 0000266C G 02 00 abCalcFormatExpr
0000219D G 02 00 abCalcGetError 00001479 G 02 00 abCalcInit
00001DCE G 02 00 abCalcModeGetBase 00001E42 G 02 00 abCalcModeGetIntWidth
00001DC7 G 02 00 abCalcModeInit 00001DE9 G 02 00 abCalcModeSetBase
00001E5D G 02 00 abCalcModeSetIntWidth 0000719A G 02 00 abCalcOpAcosInit
000044D2 G 02 00 abCalcOpAddInit 00007A6F G 02 00 abCalcOpAlogInit
00005533 G 02 00 abCalcOpAndInit 00006FB7 G 02 00 abCalcOpAsinInit
000064CF G 02 00 abCalcOpAsrInit 0000737D G 02 00 abCalcOpAtanInit
00005BB8 G 02 00 abCalcOpBinInit 00006818 G 02 00 abCalcOpChsInit
0000832B G 02 00 abCalcOpClearInit 00006D09 G 02 00 abCalcOpCosInit
00008077 G 02 00 abCalcOpCoshInit 00005C46 G 02 00 abCalcOpDecInit
00004E16 G 02 00 abCalcOpDivInit 0000696C G 02 00 abCalcOpDropInit
00007DC6 G 02 00 abCalcOpExpInit 00005C8D G 02 00 abCalcOpHexInit
00003B4D G 02 00 abCalcOpInit 00006676 G 02 00 abCalcOpInvInit
00007BD8 G 02 00 abCalcOpLnInit 0000787C G 02 00 abCalcOpLogInit
00003F4F G 02 00 abCalcOpLookup 00004B10 G 02 00 abCalcOpMultInit
00005A6F G 02 00 abCalcOpNotInit 0000401F G 02 00 abCalcOpNth
000040B4 G 02 00 abCalcOpNumOps 00005BFF G 02 00 abCalcOpOctInit
000056F3 G 02 00 abCalcOpOrInit 000077D5 G 02 00 abCalcOpPiInit
000051B7 G 02 00 abCalcOpPowerInit 00005E63 G 02 00 abCalcOpRcwsInit
00003E58 G 02 00 abCalcOpRegister 00006032 G 02 00 abCalcOpRlInit
00006325 G 02 00 abCalcOpRrInit 00006BB2 G 02 00 abCalcOpSinInit
00007F1D G 02 00 abCalcOpSinhInit 00005EEA G 02 00 abCalcOpSlInit
000074D7 G 02 00 abCalcOpSqInit 0000762C G 02 00 abCalcOpSqrtInit
000061DD G 02 00 abCalcOpSrInit 00005CD4 G 02 00 abCalcOpStwsInit
000047F1 G 02 00 abCalcOpSubtrInit 00006A32 G 02 00 abCalcOpSwapInit
00006E60 G 02 00 abCalcOpTanInit 000081D1 G 02 00 abCalcOpTanhInit
000058AF G 02 00 abCalcOpXorInit 00002524 G 02 00 abCalcParseExpr
00002122 G 02 00 abCalcRaiseError 00002490 G 02 00 abCalcRegisterExprType
0000188F G 02 00 abCalcStackClear 000016EF G 02 00 abCalcStackExprAt
0000160D G 02 00 abCalcStackExprPop 00001506 G 02 00 abCalcStackExprPush
00001773 G 02 00 abCalcStackExprStringAt 000014FF G 02 00 abCalcStackInit
000016D4 G 02 00 abCalcStackNumItems 00009438 G 02 00 acos
000071C4 G 02 00 acosExecute 000044F9 G 02 00 addExecute
00007A99 G 02 00 alogExecute 0000555C G 02 00 andExecute
000094FD G 02 00 asin 00006FE1 G 02 00 asinExecute
000064F8 G 02 00 asrExecute 000095C7 G 02 00 atan
000073A7 G 02 00 atanExecute 0000850C G 02 00 atof
00005BE1 G 02 00 binExecute 00006841 G 02 00 chsExecute
00008356 G 02 00 clearExecute 000095FA G 02 00 cos
00006D32 G 02 00 cosExecute 0000962D G 02 00 cosh
000080A1 G 02 00 coshExecute 00005C6F G 02 00 decExecute
0000A19F P 02 02 decrec 00004E3D G 02 00 divExecute
00006996 G 02 00 dropExecute 000089EA G 02 00 errno
000096CA G 02 00 exp 0000A1A1 P 02 02 exp
00007DEF G 02 00 expExecute 00009714 G 02 00 fabs
00008E32 G 02 00 fflush 0000973A G 02 00 floor
00008527 G 02 00 fprintf 000085B0 G 02 00 fputc
0000A2BE G 02 00 free 00008F31 G 02 00 ftell
00001EBA P 02 00 gBase 000010B5 P 02 00 gCalcActive
000010B7 P 02 00 gCalcWinPtr 000027AD P 02 00 gCallbacks
00002379 P 02 00 gCurrErrorOpName 00002377 P 02 00 gCurrErrorType
0000237D G 02 00 gErrorBuffer 000023FD P 02 00 gErrorStrings
00003B45 G 02 00 gIntCallbacks 00001EB8 P 02 00 gIntWidth
0000146F G 02 00 gNDAExpr 000040D0 P 02 00 gNumOps
000010BD G 02 00 gOpList 000040D2 G 02 00 gOps
00003107 G 02 00 gRealCallbacks 000010B3 P 02 00 gResourceId
0000189F G 02 00 gStack 000011EF G 02 00 gStackList
0000189D P 02 00 gStackNumItems 000010BB P 02 00 gUserId
0000A200 P 02 03 half 00005CB6 G 02 00 hexExecute
0000A1CE P 02 02 huge_val 0000A1C0 P 02 02 index
0000669F G 02 00 invExecute 00007C00 G 02 00 lnExecute
00009794 G 02 00 log 000097DE G 02 00 log10
000078A5 G 02 00 logExecute 0000A2EC G 02 00 malloc
000086EB G 02 00 memcpy 0000874C G 02 00 memmove
000087D6 G 02 00 memset 00009848 G 02 00 modf
00004B37 G 02 00 multExecute 00005A98 G 02 00 notExecute
00005C28 G 02 00 octExecute 0000A20A P 02 03 one
0000571B G 02 00 orExecute 0000A1E2 P 02 03 pi
000077FD G 02 00 piExecute 0000A1EC P 02 03 piover2
00009900 G 02 00 pow 000051DE G 02 00 powerExecute
000085B0 G 02 00 putc 00008CE6 G 02 00 putchar
0000A1F6 P 02 03 quarter 00005E8D G 02 00 rcwsExecute
0000605A G 02 00 rlExecute 0000634D G 02 00 rrExecute
0000A19F P 02 02 sgn 0000A1A3 P 02 02 sig
0000A23C P 02 03 sign 00009964 G 02 00 sin
00006BDB G 02 00 sinExecute 00009997 G 02 00 sinh
00007F47 G 02 00 sinhExecute 00005F12 G 02 00 slExecute
00008832 G 02 00 sprintf 000074FF G 02 00 sqExecute
00009A8D G 02 00 sqrt 00007656 G 02 00 sqrtExecute
00006205 G 02 00 srExecute 000088B0 G 02 00 stderr
00009004 G 02 00 stdin 00009040 G 02 00 stdout
000088EC G 02 00 strcat 00008938 G 02 00 strcpy
00008370 G 02 00 stricmp 0000896C G 02 00 strlen
00009AD7 G 02 00 strtod 00005CFE G 02 00 stwsExecute
00004818 G 02 00 subtrExecute 00006A5C G 02 00 swapExecute
000089EE G 02 00 sys_nerr 0000A21E P 02 03 t1
0000A1D8 P 02 02 t1 0000A228 P 02 03 t2
0000A232 P 02 03 t3 00009B7E G 02 00 tan
00006E89 G 02 00 tanExecute 00009BC8 G 02 00 tanh
000081FB G 02 00 tanhExecute 00008990 G 02 00 toupper
0000A214 P 02 03 two 0000A1C2 P 02 02 valid
000058D8 G 02 00 xorExecute 0000A1C4 P 02 02 zero
00001D9F P 02 00 ~0141tmpBuffer 0000310F P 02 00 ~0149format
000010C1 P 02 00 ~0694strBuf 000011C1 P 02 00 ~0696localEvent
00009C92 G 02 00 ~ADDE 000010C1 P 02 00 ~ARRAYS
0000189F P 02 00 ~ARRAYS 0000237D P 02 00 ~ARRAYS
000027AD P 02 00 ~ARRAYS 00003107 P 02 00 ~ARRAYS
00003B45 P 02 00 ~ARRAYS 000040D2 P 02 00 ~ARRAYS
00009CBB G 02 00 ~CNVINTREAL 00009CE1 G 02 00 ~CNVREALINT
00009D13 G 02 00 ~CNVREALLONG 00009D48 G 02 00 ~COPYDOUBLE
0000A317 G 02 00 ~DAID 0000A2BE G 02 00 ~DISPOSE
0000A382 P 02 00 ~DISPOSE_AREA 0000A46F P 02 00 ~DISPOSE_BLOCK
00009D74 G 02 00 ~DIVE 00009D9D G 02 00 ~DOUBLEFN
00009DD2 G 02 00 ~EQUE 0000A648 P 02 04 ~ERROUTREFNUM
0000AC36 P 02 00 ~FIND_DISP 00009E05 G 02 00 ~Format_E
00009FDB G 02 00 ~Format_G 00009211 P 02 00 ~Format_IntOut
0000907C P 02 00 ~Format_Percent 0000909A P 02 00 ~Format_X
0000913D P 02 00 ~Format_b 0000919E P 02 00 ~Format_c
000091B2 P 02 00 ~Format_d 00009E00 G 02 00 ~Format_e
00009E13 G 02 00 ~Format_f 00009FD6 G 02 00 ~Format_g
00009321 P 02 00 ~Format_n 00009350 P 02 00 ~Format_o
00009094 P 02 00 ~Format_p 0000911C P 02 00 ~Format_s
000091DF P 02 00 ~Format_u 0000908C P 02 00 ~Format_x
0000A05D G 02 00 ~GEQE 0000A4E3 G 02 00 ~GEQL
000010B2 P 02 00 ~GLOBALS 000014FE P 02 00 ~GLOBALS
0000189C P 02 00 ~GLOBALS 00001EB7 P 02 00 ~GLOBALS
00002376 P 02 00 ~GLOBALS 000027AC P 02 00 ~GLOBALS
00003106 P 02 00 ~GLOBALS 00003B44 P 02 00 ~GLOBALS
000040CF P 02 00 ~GLOBALS 000047F0 P 02 00 ~GLOBALS
00004B0F P 02 00 ~GLOBALS 00004E15 P 02 00 ~GLOBALS
000051B6 P 02 00 ~GLOBALS 00005532 P 02 00 ~GLOBALS
000056F2 P 02 00 ~GLOBALS 000058AE P 02 00 ~GLOBALS
00005A6E P 02 00 ~GLOBALS 00005BB7 P 02 00 ~GLOBALS
00005BFE P 02 00 ~GLOBALS 00005C45 P 02 00 ~GLOBALS
00005C8C P 02 00 ~GLOBALS 00005CD3 P 02 00 ~GLOBALS
00005E62 P 02 00 ~GLOBALS 00005EE9 P 02 00 ~GLOBALS
00006031 P 02 00 ~GLOBALS 000061DC P 02 00 ~GLOBALS
00006324 P 02 00 ~GLOBALS 000064CE P 02 00 ~GLOBALS
00006675 P 02 00 ~GLOBALS 00006817 P 02 00 ~GLOBALS
0000696B P 02 00 ~GLOBALS 00006A31 P 02 00 ~GLOBALS
00006BB1 P 02 00 ~GLOBALS 00006D08 P 02 00 ~GLOBALS
00006E5F P 02 00 ~GLOBALS 00006FB6 P 02 00 ~GLOBALS
00007199 P 02 00 ~GLOBALS 0000737C P 02 00 ~GLOBALS
000074D6 P 02 00 ~GLOBALS 0000762B P 02 00 ~GLOBALS
000077D4 P 02 00 ~GLOBALS 0000787B P 02 00 ~GLOBALS
00007A6E P 02 00 ~GLOBALS 00007BD7 P 02 00 ~GLOBALS
00007DC5 P 02 00 ~GLOBALS 00007F1C P 02 00 ~GLOBALS
00008076 P 02 00 ~GLOBALS 000081D0 P 02 00 ~GLOBALS
0000832A P 02 00 ~GLOBALS 0000836F P 02 00 ~GLOBALS
0000A090 G 02 00 ~GRTE 0000A514 G 02 00 ~GRTL
0000A53E P 02 04 ~GSOSIO 0000A650 P 02 04 ~INPUTISCONSOLE
000093C3 G 02 00 ~InitBuffer 0000A53E P 02 04 ~LINE
0000A63E P 02 04 ~LINEDISP 0000A640 P 02 04 ~LINELENGTH
0000A0C3 G 02 00 ~LOADDOUBLE 0000A0F0 G 02 00 ~LOADEXTENDED
000089AA G 02 00 ~LSHR4 00009419 G 02 00 ~LeftJustify
0000A652 P 02 00 ~MMINSERT 0000A67D G 02 00 ~MM_INIT
0000A692 G 02 00 ~MUL2 0000A76D G 02 00 ~MUL4
0000A119 G 02 00 ~MULE 0000A2EC G 02 00 ~NEW
0000A849 P 02 00 ~NEW_AREA 0000A960 P 02 00 ~NEW_BLOCK
0000A64A P 02 04 ~OPENED 0000A642 P 02 04 ~PUTBACK
00009D9D G 02 00 ~REALFN 0000AA3B P 02 00 ~REMOVE
0000941F G 02 00 ~RightJustify 0000A142 G 02 00 ~SAVEDOUBLE
0000AAA6 G 02 00 ~SHIFTLEFT 0000AAB6 G 02 00 ~SHL4
0000AAF9 G 02 00 ~SIGN 0000A644 P 02 04 ~STINREFNUM
0000A646 P 02 04 ~STOUTREFNUM 0000A176 G 02 00 ~SUBE
000089F0 G 02 00 ~TOOLERROR 000089F2 G 02 00 ~UDIV4
0000AB32 G 02 00 ~UMUL2 0000AB9B G 02 00 ~UMUL4
000089EC G 02 00 ~USER_ID 00008A5F P 02 00 ~VerifyStream
00000000 P 02 00 ~_ROOT 00000000 P 03 00 ~_STACK
00008C54 G 02 01 ~altForm 0000000E P 02 00 ~blockheader
0000AC0A P 02 00 ~blocks 00001000 P 02 00 ~blocksize
0000AC0A P 02 05 ~common 00008CC1 G 02 01 ~decForm
00008CC5 G 02 01 ~decRec 00008CC3 G 02 01 ~digits
00008CC7 G 02 01 ~exp 00008C56 G 02 01 ~fieldWidth
00000004 P 02 00 ~headersize 00008C58 G 02 01 ~hexPrefix
00008AA1 G 02 00 ~ioerror 00008C5A G 02 01 ~isLong
00008C5C G 02 01 ~leftJustify 0000AC0E P 02 00 ~list
00000024 P 02 00 ~maxdisp 00008C68 G 02 01 ~num
00008C6C G 02 01 ~numChars 00008C5E G 02 01 ~paddChar
00008C60 G 02 01 ~precision 00008C62 G 02 01 ~precisionSpecified
00008ABB P 02 00 ~printf 00008C4D G 02 01 ~printfCommon
00008C4D G 02 01 ~putchar 00008C64 G 02 01 ~removeZeros
00008CC5 G 02 01 ~sgn 00008CC9 G 02 01 ~sig
00008C66 G 02 01 ~sign 0000A19F P 02 02 ~stdglobals
00008D01 G 02 00 ~stdout 00008C6E G 02 01 ~str
00008CC1 G 02 01 ~style
Segment Information:
Number Name Type Length Org
2 $00 $0000AC47 Relocatable
3 ~_STACK $12 $00001000 Relocatable
There are 2 segments, for a length of $0000BC47 bytes.

View File

@ -77,7 +77,9 @@ resource rControlTemplate (abCalcBtn0) {
$0002,
$3002,
0,
abCalcBtn0Str
abCalcBtn0Str,
0,
{"0","",0,0}
}};
};
resource rPString (abCalcBtn0Str, noCrossBank) { "0" };
@ -89,7 +91,9 @@ resource rControlTemplate (abCalcBtnDot) {
$0002,
$3002,
0,
abCalcBtnDotStr
abCalcBtnDotStr,
0,
{".","",0,0}
}};
};
resource rPString (abCalcBtnDotStr, noCrossBank) { "." };
@ -101,7 +105,9 @@ resource rControlTemplate (abCalcBtnNum) {
$0002,
$3002,
0,
abCalcBtnNumStr
abCalcBtnNumStr,
0,
{"#","",0,0}
}};
};
resource rPString (abCalcBtnNumStr, noCrossBank) { "#" };
@ -113,7 +119,9 @@ resource rControlTemplate (abCalcBtn1) {
$0002,
$3002,
0,
abCalcBtn1Str
abCalcBtn1Str,
0,
{"1","",0,0}
}};
};
resource rPString (abCalcBtn1Str, noCrossBank) { "1" };
@ -125,7 +133,9 @@ resource rControlTemplate (abCalcBtn2) {
$0002,
$3002,
0,
abCalcBtn2Str
abCalcBtn2Str,
0,
{"2","",0,0}
}};
};
resource rPString (abCalcBtn2Str, noCrossBank) { "2" };
@ -137,7 +147,9 @@ resource rControlTemplate (abCalcBtn3) {
$0002,
$3002,
0,
abCalcBtn3Str
abCalcBtn3Str,
0,
{"3","",0,0}
}};
};
resource rPString (abCalcBtn3Str, noCrossBank) { "3" };
@ -149,7 +161,9 @@ resource rControlTemplate (abCalcBtn4) {
$0002,
$3002,
0,
abCalcBtn4Str
abCalcBtn4Str,
0,
{"4","",0,0}
}};
};
resource rPString (abCalcBtn4Str, noCrossBank) { "4" };
@ -161,7 +175,9 @@ resource rControlTemplate (abCalcBtn5) {
$0002,
$3002,
0,
abCalcBtn5Str
abCalcBtn5Str,
0,
{"5","",0,0}
}};
};
resource rPString (abCalcBtn5Str, noCrossBank) { "5" };
@ -173,7 +189,9 @@ resource rControlTemplate (abCalcBtn6) {
$0002,
$3002,
0,
abCalcBtn6Str
abCalcBtn6Str,
0,
{"6","",0,0}
}};
};
resource rPString (abCalcBtn6Str, noCrossBank) { "6" };
@ -185,7 +203,9 @@ resource rControlTemplate (abCalcBtn7) {
$0002,
$3002,
0,
abCalcBtn7Str
abCalcBtn7Str,
0,
{"7","",0,0}
}};
};
resource rPString (abCalcBtn7Str, noCrossBank) { "7" };
@ -197,7 +217,9 @@ resource rControlTemplate (abCalcBtn8) {
$0002,
$3002,
0,
abCalcBtn8Str
abCalcBtn8Str,
0,
{"8","",0,0}
}};
};
resource rPString (abCalcBtn8Str, noCrossBank) { "8" };
@ -209,7 +231,9 @@ resource rControlTemplate (abCalcBtn9) {
$0002,
$3002,
0,
abCalcBtn9Str
abCalcBtn9Str,
0,
{"9","",0,0}
}};
};
resource rPString (abCalcBtn9Str, noCrossBank) { "9" };
@ -235,7 +259,9 @@ resource rControlTemplate (abCalcBtnPow) {
$0002,
$3002,
0,
abCalcBtnPowStr
abCalcBtnPowStr,
0,
{"^","",0,0}
}};
};
resource rPString (abCalcBtnPowStr, noCrossBank) { "^" };
@ -247,7 +273,9 @@ resource rControlTemplate (abCalcBtnAdd) {
$0002,
$3002,
0,
abCalcBtnAddStr
abCalcBtnAddStr,
0,
{"+","",0,0}
}};
};
resource rPString (abCalcBtnAddStr, noCrossBank) { "+" };
@ -259,7 +287,9 @@ resource rControlTemplate (abCalcBtnSub) {
$0002,
$3002,
0,
abCalcBtnSubStr
abCalcBtnSubStr,
0,
{"-","",0,0}
}};
};
resource rPString (abCalcBtnSubStr, noCrossBank) { "-" };
@ -271,7 +301,9 @@ resource rControlTemplate (abCalcBtnMult) {
$0002,
$3002,
0,
abCalcBtnMultStr
abCalcBtnMultStr,
0,
{"*","",0,0}
}};
};
resource rPString (abCalcBtnMultStr, noCrossBank) { "x" };
@ -283,7 +315,9 @@ resource rControlTemplate (abCalcBtnDiv) {
$0002,
$3002,
0,
abCalcBtnDivStr
abCalcBtnDivStr,
0,
{"/","",0,0}
}};
};
resource rPString (abCalcBtnDivStr, noCrossBank) { "/" };
@ -295,7 +329,9 @@ resource rControlTemplate (abCalcBtnA) {
$0002,
$3002,
0,
abCalcBtnAStr
abCalcBtnAStr,
0,
{"A","",0,0}
}};
};
resource rPString (abCalcBtnAStr, noCrossBank) { "A" };
@ -307,7 +343,9 @@ resource rControlTemplate (abCalcBtnB) {
$0002,
$3002,
0,
abCalcBtnBStr
abCalcBtnBStr,
0,
{"B","",0,0}
}};
};
resource rPString (abCalcBtnBStr, noCrossBank) { "B" };
@ -319,19 +357,23 @@ resource rControlTemplate (abCalcBtnC) {
$0002,
$3002,
0,
abCalcBtnCStr
abCalcBtnCStr,
0,
{"C","",0,0}
}};
};
resource rPString (abCalcBtnCStr, noCrossBank) { "C" };
resource rControlTemplate (abCalcBtnD) {
abCalcBtnC,
abCalcBtnD,
{abCalcBtnRow6, abCalcBtnCol0, 0, 0},
SimpleButtonControl {{
$0002,
$3002,
0,
abCalcBtnDStr
abCalcBtnDStr,
0,
{"D","",0,0}
}};
};
resource rPString (abCalcBtnDStr, noCrossBank) { "D" };
@ -343,7 +385,9 @@ resource rControlTemplate (abCalcBtnE) {
$0002,
$3002,
0,
abCalcBtnEStr
abCalcBtnEStr,
0,
{"E","",0,0}
}};
};
resource rPString (abCalcBtnEStr, noCrossBank) { "E" };
@ -355,7 +399,9 @@ resource rControlTemplate (abCalcBtnF) {
$0002,
$3002,
0,
abCalcBtnFStr
abCalcBtnFStr,
0,
{"F","",0,0}
}};
};
resource rPString (abCalcBtnFStr, noCrossBank) { "F" };
@ -380,13 +426,13 @@ resource rControlTemplate (abCalcStackList) {
resource rControlTemplate (abCalcOpList) {
abCalcOpList, /* control ID */
{abCalcBtnRow7, abCalcOpCol, abCalcWinHeight-8, abCalcWinWidth-abCalcBtnSpaceX}, /* control rect */
{abCalcBtnRow7, abCalcOpCol, abCalcWinHeight-(3*abCalcBtnSpaceY), abCalcWinWidth-abCalcBtnSpaceX}, /* control rect */
ListControl {{
$0000, /* flags */
$1400, /* more flags */
0, /* refcon */
0, /* list size */
4, /* List View */
12, /* List View */
$0007, /* List Type */
0, /* List Start */
10, /* ListMemHeight */