diff --git a/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/main.c b/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/main.c
index 139d50a..3e96af2 100644
--- a/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/main.c
+++ b/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/main.c
@@ -40,7 +40,7 @@
long doMachine(void)
{
- /* Return non-zero if you cannot be opened on this machine
+ /* Return zero if you cannot be opened on this machine
* (and maybe display an alert explaining why).
*/
return 1;
@@ -49,7 +49,7 @@ long doMachine(void)
void doBoot(int *flag)
{
- /* Set bit 0 to 1 in flag if you want to draw at X through
+ /* Set bit 0 to 1 in flag if you want to draw an X through
* the icon at boot time to indicate that this CDev will not
* load.
*/
diff --git a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist
new file mode 100644
index 0000000..18699ef
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist
@@ -0,0 +1,210 @@
+
+
+
+
+ Nodes
+
+ main.s
+ main.rez
+ Makefile
+ make/config.txt
+ make/createDiskImage
+ make/head.mk
+ make/launchEmulator
+ make/orca-asm
+ make/orca-cc
+ make/orca-macgen
+ make/orca-rez
+ make/system601.2mg
+ make/tail.mk
+ ../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
+
+ Definitions
+
+ main.s
+
+ Path
+ main.s
+
+ main.rez
+
+ Path
+ main.rez
+
+ make/config.txt
+
+ Group
+ make
+ Path
+ make/config.txt
+
+ make/createDiskImage
+
+ Group
+ make
+ Path
+ make/createDiskImage
+
+ make/head.mk
+
+ Group
+ make
+ Path
+ make/head.mk
+
+ make/launchEmulator
+
+ Group
+ make
+ Path
+ make/launchEmulator
+
+ make/orca-asm
+
+ Group
+ make
+ Path
+ make/orca-asm
+
+ make/orca-cc
+
+ Group
+ make
+ Path
+ make/orca-cc
+
+ make/orca-macgen
+
+ Group
+ make
+ Path
+ make/orca-macgen
+
+ make/orca-rez
+
+ Group
+ make
+ Path
+ make/orca-rez
+
+ make/system601.2mg
+
+ Group
+ make
+ Path
+ make/system601.2mg
+
+ make/tail.mk
+
+ Group
+ make
+ Path
+ make/tail.mk
+
+ Makefile
+
+ Path
+ Makefile
+
+ ../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
+
+ Group
+
+ Supporting Files
+
+ Path
+ ___PACKAGENAME___.xcscheme
+
+
+ Kind
+ Xcode.Xcode3.ProjectTemplateUnitKind
+ Identifier
+ com.halcyontouch.apple2gsOrcaMCDev
+ Ancestors
+
+ com.apple.dt.unit.externalBuildSystem
+
+ Concrete
+
+ Description
+ This template creates an Apple IIgs ORCA/M code project to build a control panel. The project starts with a single assembly file which you can modify. You can also add more assembly or C files as you may like.
+ Options
+
+ Targets
+
+
+ TargetType
+ Legacy
+ TargetIdentifier
+ com.apple.dt.cocoaLegacyTarget
+ BuildToolPath
+ ___VARIABLE_buildToolPath___
+ BuildToolArgsString
+ -C ___PACKAGENAME___ $(ACTION)
+ SharedSettings
+
+ OTHER_CFLAGS
+
+ OTHER_LDFLAGS
+
+
+ Configurations
+
+ Debug
+
+ DEBUGGING_SYMBOLS
+ YES
+ GCC_GENERATE_DEBUGGING_SYMBOLS
+ YES
+ GCC_OPTIMIZATION_LEVEL
+ 0
+
+ Release
+
+
+
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ doNotBuild
+ SharedSettings
+
+ PRODUCT_NAME
+ doNotBuild
+ GCC_PREPROCESSOR_DEFINITIONS
+ inline(X,Y)=""
+ pascal=""
+ HEADER_SEARCH_PATHS
+ $GOLDEN_GATE/Libraries/ORCACDefs
+ ~/Library/GoldenGate/Libraries/ORCACDefs
+ /Library/GoldenGate/Libraries/ORCACDefs
+ ~/GoldenGate/Libraries/ORCACDefs
+
+ BuildPhases
+
+
+ Class
+ Sources
+
+
+ Class
+ Frameworks
+
+
+ Class
+ CopyFiles
+ DstPath
+ /usr/share/man/man1/
+ DstSubfolderSpec
+ 0
+ RunOnlyForDeploymentPostprocessing
+ YES
+
+
+
+
+
+
diff --git a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/___PACKAGENAME___.xcscheme b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/___PACKAGENAME___.xcscheme
new file mode 100644
index 0000000..61815a2
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/___PACKAGENAME___.xcscheme
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.rez b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.rez
new file mode 100644
index 0000000..0c79861
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.rez
@@ -0,0 +1,133 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+
+#include "types.rez"
+
+
+#define CDEV_RESOURCE 0x1
+#define MAIN_RESOURCE 0x100
+#define HELP_RESOURCE 0x101
+
+
+/* This is the required resource to tell the control panel about the CDev */
+resource rCDEVFlags (CDEV_RESOURCE) {
+ 0x00C0, /* This sets the wantCreate and wantAbout bits */
+ /* Set more bits if you want other messages */
+ 1,
+ 1,
+ 1,
+ 0,
+ {0, 0, 110, 200},
+ "___PROJECTNAME___",
+ "___FULLUSERNAME___",
+ "1.0"
+};
+
+
+/* Code resource; the executable part of the CDev */
+read rCDevCode (CDEV_RESOURCE,convert) "___PROJECTNAME___.bin";
+
+
+/* This is the icon displayed by the control panel */
+resource rIcon (CDEV_RESOURCE) {
+ 0x8000, /* color icon */
+ 20, /* height in pixels */
+ 28, /* width in pixels */
+ $"FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FF888888888888888888888888FF"
+ $"FFFFFFFFFFFFFFFFFFFFFFFFFFFF",
+
+ $"0000000000000000000000000000"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"00FFFFFFFFFFFFFFFFFFFFFFFF00"
+ $"0000000000000000000000000000"
+};
+
+
+/* The following resources define the various controls in the main display */
+resource rControlList (MAIN_RESOURCE) {
+ {
+ MAIN_RESOURCE,
+ };
+};
+
+resource rControlTemplate (MAIN_RESOURCE) {
+ 0x00000001, /* control id */
+ {38,5,49,205}, /* control rectangle */
+ statTextControl {{ /* control type */
+ 0x0000, /* flags */
+ 0x1002, /* more flags */
+ 0, /* ref con */
+ MAIN_RESOURCE, /* text reference */
+ 13 /* text length */
+ }};
+};
+
+
+resource rTextForLETextBox2 (MAIN_RESOURCE) {
+ "Hello, world!"
+};
+
+/* The following resources define the controls for the help screen */
+resource rControlList (HELP_RESOURCE) {
+ {
+ HELP_RESOURCE,
+ };
+};
+
+resource rControlTemplate (HELP_RESOURCE) {
+ 0x00000002, /* control id */
+ {38,5,49,205}, /* control rectangle */
+ statTextControl {{ /* control type */
+ 0x0000, /* flags */
+ 0x1002, /* more flags */
+ 0, /* ref con */
+ HELP_RESOURCE, /* text reference */
+ 19 /* text length */
+ }};
+};
+
+resource rTextForLETextBox2 (HELP_RESOURCE) {
+ "Put help info here."
+};
+
diff --git a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.s b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.s
new file mode 100644
index 0000000..d6f379d
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/main.s
@@ -0,0 +1,213 @@
+;
+; ___FILENAME___
+; ___PACKAGENAME___
+;
+; Created by ___FULLUSERNAME___ on ___DATE___.
+; Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+;
+
+ mcopy main.macros
+ keep main
+
+; Resource numbers
+cdevResource gequ $1
+mainResource gequ $100
+helpResource gequ $101
+
+; CDEV Message Numbers
+machineCDev gequ 1
+bootCDev gequ 2
+reservedCDev gequ 3
+initCDev gequ 4
+closeCDev gequ 5
+eventsCDev gequ 6
+createCDev gequ 7
+aboutCDev gequ 8
+rectCDev gequ 9
+hitCDev gequ 10
+runCDev gequ 11
+editCDev gequ 12
+
+; Edit menu actions
+undoAction gequ 5
+cutAction gequ 6
+copyAction gequ 7
+pasteAction gequ 8
+clearAction gequ 9
+
+
+main start
+ sub (2:message,4:data1,4:data2),0
+
+ lda message
+ cmp #machineCDev
+ bne notMachine
+; Return zero if you cannot be opened on this machine
+; (and maybe display an alert explaining why).
+ ret 2:#1
+
+notMachine anop
+ cmp #bootCDev
+ bne notBoot
+ jsl doBoot
+ bra done
+
+notBoot anop
+ cmp #initCDev
+ bne notInit
+ jsl doInit
+ bra done
+
+notInit anop
+ cmp #closeCDev
+ bne notClose
+ jsl doClose
+ bra done
+
+notClose anop
+ cmp #eventsCDev
+ bne notEvents
+ jsl doEvents
+ bra done
+
+notEvents anop
+ cmp #createCDev
+ bne notCreate
+ jsl doCreate
+ bra done
+
+notCreate anop
+ cmp #aboutCDev
+ bne notAbout
+ jsl doAbout
+ bra done
+
+notAbout anop
+ cmp #rectCDev
+ bne notRect
+ jsl doRect
+ bra done
+
+notRect anop
+ cmp #hitCDev
+ bne notHit
+ jsl doHit
+ bra done
+
+notHit anop
+ cmp #runCDev
+ bne notRun
+ jsl doRun
+ bra done
+
+notRun anop
+ cmp #editCDev
+ bne notEdit
+ jsl doEdit
+ bra done
+
+notEdit anop
+
+done anop
+ ret 2:#1
+
+doBoot entry
+; data1 is a pointer to a flag. Set bit 0 to 1 in this flag if you want to
+; draw an X through the icon at boot time to indicate that this CDev will not
+; load.
+ rtl
+
+
+doInit entry
+; data1 is a pointer to the grafport.
+ rtl
+
+
+doClose entry
+; data1 is a pointer to the grafport.
+ rtl
+
+
+doEvents entry
+; data1 is a pointer to the event record.
+; data2 is a pointer to the grafport.
+ rtl
+
+
+doCreate entry
+; data1 is a pointer to the grafport.
+ pha
+ pha
+ ~NewControl2 data1,#9,#mainResource
+ pla
+ pla
+ rtl
+
+
+doAbout entry
+; data1 is a pointer to the grafport.
+ pha
+ pha
+ ~NewControl2 data1,#9,#helpResource
+ pla
+ pla
+ rtl
+
+
+doRect entry
+; data1 is a pointer to the grafport.
+ rtl
+
+
+doHit entry
+; data1 is a handle to the control which was hit
+; data2 is the controlID of the control which was hit
+ rtl
+
+
+doRun entry
+; data1 is a pointer to the grafport.
+ rtl
+
+
+doEdit entry
+; The lower 16 bits of data1 is the edit action
+; data2 is a pointer to the grafport.
+
+ lda data1
+ cmp #undoAction
+ bne notUndo
+; Handle undo here
+ bra doneEdit
+
+notUndo anop
+ cmp #cutAction
+ bne notCut
+; Handle cut here
+ bra doneEdit
+
+notCut anop
+ cmp #copyAction
+ bne notCopy
+; Handle copy here
+ bra doneEdit
+
+notCopy anop
+ cmp #pasteAction
+ bne notPaste
+; Handle paste here
+ bra doneEdit
+
+notPaste anop
+ cmp #clearAction
+ bne notClear
+; handle clear here
+ bra doneEdit
+
+notClear anop
+
+doneEdit anop
+ rtl
+
+
+ end
diff --git a/pkg/createPackage b/pkg/createPackage
index 10fc60f..50c3a9c 100755
--- a/pkg/createPackage
+++ b/pkg/createPackage
@@ -12,6 +12,7 @@ cat > $PROJECTS << EOF
cda:orca:ORCAC Classic Desk Accessory
cda:orca:ORCAM Classic Desk Accessory
cdev:orca:ORCAC Control Panel
+cdev:orca:ORCAM Control Panel
desktop:orca:ORCAC Desktop Application
shell:gno:ORCAC GNO Shell Command
nda:orca:ORCAC New Desk Accessory