Compare commits
58 Commits
Author | SHA1 | Date |
---|---|---|
Jeremy Rand | a9b2375f99 | |
Jeremy Rand | b0e4b22a14 | |
Jeremy Rand | b108be5698 | |
Jeremy Rand | e915c0ebbc | |
Jeremy Rand | f4892bee0d | |
Jeremy Rand | ac3c7ee1e2 | |
Jeremy Rand | a65bd7f8f7 | |
Jeremy Rand | 2cd747e143 | |
Jeremy Rand | 27114d16be | |
Jeremy Rand | d55f6fe348 | |
Jeremy Rand | e444c7c039 | |
Jeremy Rand | ff012625a9 | |
Jeremy Rand | d91cdd32c0 | |
Jeremy Rand | 7d3a33e34c | |
Jeremy Rand | b6527a190e | |
Jeremy Rand | 2898704073 | |
Jeremy Rand | 83420e3860 | |
Jeremy Rand | dd691f7802 | |
Jeremy Rand | f8334194f4 | |
Jeremy Rand | 91e3749ebd | |
Jeremy Rand | 782ce00f3f | |
Jeremy Rand | 7cc737bca8 | |
Jeremy Rand | 056ba54e34 | |
Jeremy Rand | 6f8655a349 | |
Jeremy Rand | bb76e8eb61 | |
Jeremy Rand | e5bbf48167 | |
Jeremy Rand | ad8862e2e2 | |
Jeremy Rand | 5ab9363d2a | |
Jeremy Rand | ffabbac463 | |
Jeremy Rand | 4a4314525a | |
Jeremy Rand | 2e2c367627 | |
Jeremy Rand | aca6cfe968 | |
Jeremy Rand | 5af0aa7f5c | |
Jeremy Rand | 61d28aadac | |
Jeremy Rand | 05f3fc3f65 | |
Jeremy Rand | 5fec9448c5 | |
Jeremy Rand | 6dbfdabb6e | |
Jeremy Rand | 71dc80ea67 | |
Jeremy Rand | 9f70c68ddf | |
Jeremy Rand | 3c5a978718 | |
Jeremy Rand | 222afbf9d6 | |
Jeremy Rand | 748e082c6c | |
Jeremy Rand | 541bc6d90f | |
Jeremy Rand | abac56b31b | |
Jeremy Rand | bce9f4343d | |
Jeremy Rand | 503671561a | |
Jeremy Rand | 844bb6fe44 | |
Jeremy Rand | 6b56c7d818 | |
Jeremy Rand | 684f1efb71 | |
Jeremy Rand | 0aeb8ac646 | |
Jeremy Rand | f4e4ce7ad2 | |
Jeremy Rand | d887b5d054 | |
Jeremy Rand | f695a586ff | |
Jeremy Rand | 9cbfcab099 | |
Jeremy Rand | b883e09a18 | |
Jeremy Rand | 2c37fcd120 | |
Jeremy Rand | a09314742d | |
Jeremy Rand | 225c268dd1 |
|
@ -1 +1,2 @@
|
|||
*.lst
|
||||
.*.sw?
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018 Jeremy Rand
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
95
Makefile
95
Makefile
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Makefile
|
||||
# Apple //GS Build Engine for ORCA
|
||||
# Apple //GS Build Engine for ORCA and Merlin
|
||||
#
|
||||
|
||||
include make/head.mk
|
||||
|
@ -28,6 +28,22 @@ PGM=___PACKAGENAME___
|
|||
# TARGETTYPE=nda
|
||||
# TARGETTYPE=xcmd
|
||||
|
||||
# Uncomment one of the following lines to force a particular GS emulator.
|
||||
# By default, specific paths are tested for these emulators in the below
|
||||
# order and the first found is what will be used. You can overrride that
|
||||
# here:
|
||||
#
|
||||
# EMULATOR=gsplus
|
||||
# EMULATOR=mame
|
||||
# EMULATOR=gsport
|
||||
|
||||
# By default, the build provides a single boot environment to test with.
|
||||
# You can put other .2mg files into the make directory and override this
|
||||
# variable to change what boot disk you want to use when you launch the
|
||||
# emulator. The disk image you specify must be found in the make directory:
|
||||
#
|
||||
# BOOTIMAGE=system601.2mg
|
||||
|
||||
# Add any other directories where you are putting C or assembly source
|
||||
# files to this list:
|
||||
# SRCDIRS+=
|
||||
|
@ -43,6 +59,13 @@ CFLAGS+=
|
|||
# Add any arguments you want passed to the resource compiler to this variable:
|
||||
REZFLAGS+=
|
||||
|
||||
# Uncomment the following line if you have installed rlint as found here:
|
||||
# https://github.com/ksherlock/rlint/releases
|
||||
# Assuming that it is in the path that ORCA searches (the Utilities directory is
|
||||
# probably a good choice), you can just leave the value unchanged. If you have
|
||||
# put the rlint somewhere weird, you can set this to the correct path
|
||||
# RLINT_PATH=rlint
|
||||
|
||||
# Add any arguments you want passed to the macro generator to this variable:
|
||||
MACGENFLAGS+=
|
||||
|
||||
|
@ -58,7 +81,14 @@ LDFLAGS+=
|
|||
# Uncomment the following line if you want to build against the GNO libraries
|
||||
# export ORCA=$(ORCA_BINDIR)/gno
|
||||
|
||||
# If you want to copy one or more files or directories to the target disk
|
||||
# Add any markdown files to the MD_SRCS variable to specify which files to
|
||||
# convert to a Teach text file format during the build. Using this, you can
|
||||
# write your documentation in markdown in your project and at build time,
|
||||
# that documentation is converted to a format that is good to package with
|
||||
# your software and can be opened on a GS.
|
||||
MD_SRCS=
|
||||
|
||||
# If you want to copy one or more files or directories to the distribution disk
|
||||
# image, add the root directory to this variable. Any directories under
|
||||
# the source directory which don't exist in the target disk image will be
|
||||
# created. All files will be copied from the source to the target using
|
||||
|
@ -66,27 +96,84 @@ LDFLAGS+=
|
|||
#
|
||||
# For example, if you set COPYDIRS to dir and in your project you have
|
||||
# the following files:
|
||||
# dir/Icons/myIconFile
|
||||
# dir/newDir/anotherFile
|
||||
# Then, during the copy phase, myIconFile will be copied into the Icons
|
||||
# folder and a folder newDir will be created and anotherFile will be copied
|
||||
# into there.
|
||||
COPYDIRS=
|
||||
|
||||
# If you want to copy one or more files or directories to the boot disk
|
||||
# image, add the root directory to this variable. Any directories under
|
||||
# the source directory which don't exist in the boot disk image will be
|
||||
# created. All files will be copied from the source to the target using
|
||||
# the same path from the source.
|
||||
#
|
||||
# For example, if you set COPYBOOTDIRS to dir and in your project you have
|
||||
# the following files:
|
||||
# dir/System/mySystemFile
|
||||
# dir/newDir/anotherFile
|
||||
# Then, during the copy phase, mySystemFile will be copied into the System
|
||||
# folder and a folder newDir will be created and anotherFile will be copied
|
||||
# into there.
|
||||
COPYDIRS=
|
||||
COPYBOOTDIRS=
|
||||
|
||||
# By default, the build expects that you have GSplus in the path:
|
||||
# /Applications/GSplus.app/Contents/MacOS/gsplus
|
||||
# If you have it in a different location, specify that here.
|
||||
# GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
|
||||
|
||||
# By default, the build uses no arguments with GSplus. If you would like to
|
||||
# use different arguments, specify that here.
|
||||
# GSPLUSARGS=
|
||||
|
||||
# By default, the build expects that you have GSport in the path:
|
||||
# /Applications/GSport/GSport.app/Contents/MacOS/GSport
|
||||
# If you have it in a different location, specify that here.
|
||||
# GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
|
||||
|
||||
# By default, the build uses no arguments with GSport. If you would like to
|
||||
# use different arguments, specify that here.
|
||||
# GSPORTARGS=
|
||||
|
||||
# By default, the build expects that you have Ample/mame in the path:
|
||||
# /Applications/Ample.app/Contents/MacOS/mame64
|
||||
# If you have it in a different location, specify that here.
|
||||
# MAME=/Applications/Ample.app/Contents/MacOS/mame64
|
||||
|
||||
# By default, the build expects that you have the mame ROMs/libs in the path:
|
||||
# $(HOME)/Library/Application Support/Ample
|
||||
# If you have it in a different location, specify that here.
|
||||
# MAMELIB=$(HOME)/Library/Application Support/Ample
|
||||
|
||||
# By default, the build uses these arguments with mame:
|
||||
# apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
|
||||
# If you would like to use different arguments, specify that here.
|
||||
# MAMEARGS=apple2gs -skip_gameinfo -speed 2 -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
|
||||
|
||||
# For a desktop application, it can operate in 640x200 or 320x200
|
||||
# resolution. This setting is used to define which horizontal
|
||||
# resolution you want to use for a desktop application. Other
|
||||
# target types ignore this value.
|
||||
# DESKTOP_RES_MODE=640
|
||||
|
||||
# For a desktop application, it can support opening and printing
|
||||
# files based on paths sent to it by the message center. This
|
||||
# option controls if that is or is not supported in the
|
||||
# application (note: only the C desktop template supports message
|
||||
# center today)
|
||||
# MESSAGE_CENTER=0
|
||||
|
||||
# Add any rules you want to execute before any compiles or assembly
|
||||
# commands are called here, if any. You can generate .c, .s or .h
|
||||
# files for example. You can generate data files. Whatever you
|
||||
# might need.
|
||||
# might need. You should generate these files in the $(GENDIR)
|
||||
# directory or within a subdirectory under $(GENDIR) which you create
|
||||
# yourself.
|
||||
#
|
||||
# All of your commands associated with a rule _must_ start with a tab
|
||||
# character. Xcode makes it a bit tough to type a tab character by
|
||||
# default. Press option-tab within Xcode to insert a tab character.
|
||||
gen:
|
||||
|
||||
# For any files you generated in the gen target above, you should
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
#
|
||||
# Makefile
|
||||
# Apple //GS Build Engine for ORCA and Merlin
|
||||
#
|
||||
|
||||
include make/head.mk
|
||||
|
||||
# Customize this file to control what kind of project you are working on,
|
||||
# where to find files, etc.
|
||||
|
||||
# The name of your system or binary file to build goes here:
|
||||
PGM=___PACKAGENAME___
|
||||
|
||||
# This tells the build engine that your assembler is Merlin. You should
|
||||
# not change this (afterall, are you going to change all of your assembly
|
||||
# to ORCA/M also?)
|
||||
ASSEMBLER=merlin
|
||||
|
||||
# Set the target type you would like to build. The options are:
|
||||
# shell - A shell command for ORCA, GNO or other GS shell
|
||||
# desktop - A full desktop application
|
||||
# cda - A classic desk accessory
|
||||
# cdev - A control panel device
|
||||
# nba - A HyperStudio new button action
|
||||
# nda - A new desk accessory
|
||||
# xcmd - A HyperCard XCMD or XCFN
|
||||
#
|
||||
# TARGETTYPE=shell
|
||||
# TARGETTYPE=desktop
|
||||
# TARGETTYPE=cda
|
||||
# TARGETTYPE=cdev
|
||||
# TARGETTYPE=nba
|
||||
# TARGETTYPE=nda
|
||||
# TARGETTYPE=xcmd
|
||||
|
||||
# Uncomment one of the following lines to force a particular GS emulator.
|
||||
# By default, specific paths are tested for these emulators in the below
|
||||
# order and the first found is what will be used. You can overrride that
|
||||
# here:
|
||||
#
|
||||
# EMULATOR=gsplus
|
||||
# EMULATOR=mame
|
||||
# EMULATOR=gsport
|
||||
|
||||
# By default, the build provides a single boot environment to test with.
|
||||
# You can put other .2mg files into the make directory and override this
|
||||
# variable to change what boot disk you want to use when you launch the
|
||||
# emulator. The disk image you specify must be found in the make directory:
|
||||
#
|
||||
# BOOTIMAGE=system601.2mg
|
||||
|
||||
# Add any other directories where you are putting C or assembly source
|
||||
# files to this list. Note that you must manually add all source files
|
||||
# to the linkscript.s file. All this does is help the build system
|
||||
# see what files it should consider important to deciding whether to do
|
||||
# a re-build.
|
||||
# SRCDIRS+=
|
||||
|
||||
# Add any arguments you want passed to the resource compiler to this variable:
|
||||
REZFLAGS+=
|
||||
|
||||
# Uncomment the following line if you have installed rlint as found here:
|
||||
# https://github.com/ksherlock/rlint/releases
|
||||
# Assuming that it is in the path that ORCA searches (the Utilities directory is
|
||||
# probably a good choice), you can just leave the value unchanged. If you have
|
||||
# put the rlint somewhere weird, you can set this to the correct path
|
||||
# RLINT_PATH=rlint
|
||||
|
||||
# Add any markdown files to the MD_SRCS variable to specify which files to
|
||||
# convert to a Teach text file format during the build. Using this, you can
|
||||
# write your documentation in markdown in your project and at build time,
|
||||
# that documentation is converted to a format that is good to package with
|
||||
# your software and can be opened on a GS.
|
||||
MD_SRCS=
|
||||
|
||||
# If you want to copy one or more files or directories to the distribution disk
|
||||
# image, add the root directory to this variable. Any directories under
|
||||
# the source directory which don't exist in the target disk image will be
|
||||
# created. All files will be copied from the source to the target using
|
||||
# the same path from the source.
|
||||
#
|
||||
# For example, if you set COPYDIRS to dir and in your project you have
|
||||
# the following files:
|
||||
# dir/Icons/myIconFile
|
||||
# dir/newDir/anotherFile
|
||||
# Then, during the copy phase, myIconFile will be copied into the Icons
|
||||
# folder and a folder newDir will be created and anotherFile will be copied
|
||||
# into there.
|
||||
COPYDIRS=
|
||||
|
||||
# If you want to copy one or more files or directories to the boot disk
|
||||
# image, add the root directory to this variable. Any directories under
|
||||
# the source directory which don't exist in the boot disk image will be
|
||||
# created. All files will be copied from the source to the target using
|
||||
# the same path from the source.
|
||||
#
|
||||
# For example, if you set COPYBOOTDIRS to dir and in your project you have
|
||||
# the following files:
|
||||
# dir/System/mySystemFile
|
||||
# dir/newDir/anotherFile
|
||||
# Then, during the copy phase, mySystemFile will be copied into the System
|
||||
# folder and a folder newDir will be created and anotherFile will be copied
|
||||
# into there.
|
||||
COPYBOOTDIRS=
|
||||
|
||||
# By default, the build expects that you have GSplus in the path:
|
||||
# /Applications/GSplus.app/Contents/MacOS/gsplus
|
||||
# If you have it in a different location, specify that here.
|
||||
# GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
|
||||
|
||||
# By default, the build uses no arguments with GSplus. If you would like to
|
||||
# use different arguments, specify that here.
|
||||
# GSPLUSARGS=
|
||||
|
||||
# By default, the build expects that you have GSport in the path:
|
||||
# /Applications/GSport/GSport.app/Contents/MacOS/GSport
|
||||
# If you have it in a different location, specify that here.
|
||||
# GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
|
||||
|
||||
# By default, the build uses no arguments with GSport. If you would like to
|
||||
# use different arguments, specify that here.
|
||||
# GSPORTARGS=
|
||||
|
||||
# By default, the build expects that you have Ample/mame in the path:
|
||||
# /Applications/Ample.app/Contents/MacOS/mame64
|
||||
# If you have it in a different location, specify that here.
|
||||
# MAME=/Applications/Ample.app/Contents/MacOS/mame64
|
||||
|
||||
# By default, the build expects that you have the mame ROMs/libs in the path:
|
||||
# $(HOME)/Library/Application Support/Ample
|
||||
# If you have it in a different location, specify that here.
|
||||
# MAMELIB=$(HOME)/Library/Application Support/Ample
|
||||
|
||||
# By default, the build uses these arguments with mame:
|
||||
# apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
|
||||
# If you would like to use different arguments, specify that here.
|
||||
# MAMEARGS=apple2gs -skip_gameinfo -speed 2 -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
|
||||
|
||||
# For a desktop application, it can operate in 640x200 or 320x200
|
||||
# resolution. This setting is used to define which horizontal
|
||||
# resolution you want to use for a desktop application. Other
|
||||
# target types ignore this value.
|
||||
# DESKTOP_RES_MODE=640
|
||||
|
||||
# For a desktop application, it can support opening and printing
|
||||
# files based on paths sent to it by the message center. This
|
||||
# option controls if that is or is not supported in the
|
||||
# application (note: only the C desktop template supports message
|
||||
# center today)
|
||||
# MESSAGE_CENTER=0
|
||||
|
||||
# Add any rules you want to execute before any compiles or assembly
|
||||
# commands are called here, if any. You can generate .c, .s or .h
|
||||
# files for example. You can generate data files. Whatever you
|
||||
# might need.
|
||||
#
|
||||
# All of your commands associated with a rule _must_ start with a tab
|
||||
# character. Xcode makes it a bit tough to type a tab character by
|
||||
# default. Press option-tab within Xcode to insert a tab character.
|
||||
gen:
|
||||
|
||||
# For any files you generated in the gen target above, you should
|
||||
# add rules in genclean to remove those generated files when you
|
||||
# clean your build.
|
||||
genclean:
|
||||
|
||||
# Do not change anything else below here...
|
||||
include make/tail.mk
|
38
README.md
38
README.md
|
@ -6,24 +6,35 @@ A build pipeline for making Apple IIgs software on macOS.
|
|||
Features:
|
||||
---------
|
||||
|
||||
This project was built using a similar approach as the one I created for [8-bit Apple //'s](https://github.com/jeremysrand/Apple2BuildPipeline). I used cc65 in the 8-bit tools but this build environment uses the [ORCA languages](https://juiced.gs/store/opus-ii-software/) and [Golden Gate](http://golden-gate.ksherlock.com) from Kelvin Sherlock.
|
||||
This project was built using a similar approach as the one I created for [8-bit Apple //'s](https://github.com/jeremysrand/Apple2BuildPipeline). I used cc65 in the 8-bit tools but this build environment uses the [ORCA languages](https://juiced.gs/store/opus-ii-software/) and [Golden Gate](http://golden-gate.ksherlock.com) from Kelvin Sherlock. You can also use [Merlin32](https://www.brutaldeluxe.fr/products/crossdevtools/merlin/) from Brutal Deluxe. Note that you still need ORCA and GoldenGate for Merlin targets because of how disk images are created in the build and the ORCA resource compiler is used for Merlin targets.
|
||||
|
||||
Features of this build environment include:
|
||||
|
||||
* Attempts to hide all of the infrastructure which you don't need to modify in a make directory.
|
||||
* Supports linking together multiple C and assembly files. To add a new file to the project, just create a new *.c or *.s file in the project directory.
|
||||
* Supports linking together multiple ORCA/C and ORCA/M assembly files. To add a new file to the project, just create a new *.c or *.s file in the project directory.
|
||||
* Supports a single resource file in your project. Any files included in your resource files are detected in the build and if you change the header, the resource file will rebuild automatically.
|
||||
* Supports putting your source files in multiple directories. Just make sure to add those directories to the SRCDIRS variable in the root Makefile. Once you add the source directory to the build, any source files in that directory will automatically be built and linked into your executable.
|
||||
* If you change a header file, the right source files will rebuild automatically. Header file dependencies are generated during the build.
|
||||
* If you change a macro file used by one or more assembly source files, the right files will be re-assembled automatically. Assembly file dependencies are generated during the build.
|
||||
* Supports project types like ORCA or GNO shell executable, GUI executable, new desk accessory, classic desk accessory and control panel. In Xcode, when you create a project, you will see options for each of these project types. Select one and you will have a skeleton project which includes enough code to give you a basic "hello world" style application of that type.
|
||||
* For shell targets, when you build and run, the shell command is executed right in Xcode itself using Golden Gate. You can edit your run scheme configuration in Xcode to customize the arguments passed to your shell command.
|
||||
* Creates a bootable disk image with your executable as part of the build for non-shell targets. If your target is a CDA, NDA or CDev, the executable is copied to the appropriate place in the System folder. For a desktop application, the executable is in the root of the bootable disk image.
|
||||
* Automatically launches an Apple //gs emulator when you select build and run so you can go from coding to testing your latest build as quickly as possible.
|
||||
* Creates a bootable disk image from a template as part of the build for non-shell targets. If your target is a CDA, NDA or CDev, the executable is copied to the appropriate place in the System folder.
|
||||
* Creates a distribution disk image with your build products on it. Also, it creates a ShrinkIt archive of your distribution as part of the build.
|
||||
* Automatically launches an Apple //gs emulator when you select build and run so you can go from coding to testing your latest build as quickly as possible. GSPort, GSPlus and mame are the supported emulators. It boots to the bootable disk image created and the distribution disk image is open in the Finder when the emulatoed machine boots.
|
||||
* Write documenation for your project in markdown in Xcode and commit the markdown files into git. At build time, these markdown files can be optionally converted to a Teach text file format and copied into your distribution. That way, you can write your documentation in a form that is easy to manage on the "modern" side and have that converted to something usable on a GS.
|
||||
* C source and header files (including ORCA system includes) are indexed by Xcode. By doing this, code completion and other features of Xcode should work. That means, if you are coding in C and type "NewW", Xcode will suggest the toolbox calls NewWindow() and NewWindow2(). Select the one you want and Xcode fills it in, including the arguments that the toolbox call expects.
|
||||
* There is an optional code generation phase in the build. If you want to write some scripts which generate C source files, C header files or assembly files which are then compiled/assembled in later phases of the build, this would let you do exactly that.
|
||||
* You can copy a directory of files onto the disk image beyond just the executable. This is useful if you have other files you need to generate and/or distribute in your project.
|
||||
* Syntax highlighting and better editor support for ORCA/M assembly and resource files. Keywords are completed and highlighted. Indentation between start/end and data/end tokens for assembly and inside braces for resource files should be automatic.
|
||||
* Syntax highlighting and better editor support for ORCA/M assembly, Merlin assembly and resource files. Keywords are completed and highlighted. Indentation between start/end and data/end tokens for assembly and inside braces for resource files should be automatic.
|
||||
* Errors returned by the ORCA/C compiler, the ORCA/M assembler, the resource compiler and the Merlin assembler are now understood by Xcode. The error will be visible in the editor itself and Xcode will jump to the line reported by the compiler to contain the error.
|
||||
|
||||
|
||||
MacOS Versions:
|
||||
----------------
|
||||
|
||||
I have tested these build tools under MacOS 11 (Big Sur) and things do seem to work for me. However, most of my development is still done under MacOS 10.15 so it could be that there are some unknown issues on the latest OS. I plan to update my main machine to MacOS 11 soon so hopefully I will find any remaining issues then. In the meantime, if you are trying to use these tools on MacOS 11 right now and are having problems, please contact me and I will try to help.
|
||||
|
||||
And when it comes to Apple silicon, I have no specific plans right now to purchase new hardware so I cannot do any testing. However, there are no binaries in this package itself since it is just makefiles, scripts and Xcode configuration files. Assuming that Golden Gate and Fuse work on Apple silicon, I don't expect any specific issues with these scripts when run on Apple silicon. But again, I have no ability to test that right now so I cannot make any guarantees.
|
||||
|
||||
|
||||
MacOS Installation:
|
||||
|
@ -32,11 +43,12 @@ MacOS Installation:
|
|||
In order to use this infrastructure from macOS, follow these instructions:
|
||||
1. Install [Xcode from Apple](https://itunes.apple.com/us/app/xcode/id497799835?mt=12&uo=4). Xcode is generally the most popular app in the Mac App Store in the "Developer Tools" category. Xcode is free and you do not need to be a registered Apple developer to download and use it, especially if you are building Apple II programs.
|
||||
2. You need to have Orca/C or Orca/M. If you have purchased these development tools for the Apple IIgs in the past, you should be able to use what you have. If you don't have access to these tools, Juiced.GS sells all of the tools as [Opus II: The Software](https://juiced.gs/store/opus-ii-software/) from their store for a reasonable price.
|
||||
3. You also need [Golden Gate](https://juiced.gs/store/golden-gate/) which is also available for a reasonable price from the Juiced.GS store. Golden Gate allows the Orca tools to execute from a modern Mac (or Windows and Linux system also). Follow the installation instructions for Golden Gate.
|
||||
4. Install [FUSE for macOS](https://osxfuse.github.io). FUSE is required for ProFuse which you will install next. At the moment, v3.6.3 is the latest and works well in my testing.
|
||||
3. You also need [Golden Gate](https://juiced.gs/store/golden-gate/) which is also available for a reasonable price from the Juiced.GS store. Golden Gate allows the Orca tools to execute from a modern Mac (or Windows and Linux system also). Follow the installation instructions for Golden Gate. If you want to convert markdown files to Teach files, you need a version of Golden Gate greater than 2.0.5. There is a beta build called "rwrez-1" which has the necessary support at this time. A future version of Golden Gate should have this functionality built-in but for now, this beta version is required for markdown to Teach conversion.
|
||||
4. Install [FUSE for macOS](https://osxfuse.github.io). FUSE is required for ProFuse which you will install next.
|
||||
5. Install ProFUSE. It is distributed with Golden Gate. When you purchase Golden Gate, you should be given access to a GitLab repository. Among the projects there is ProFUSE which allows your Mac to mount ProDOS volumes. This is used by the build environment to create the bootable disk images.
|
||||
5. Install the [Apple IIgs project template](https://github.com/jeremysrand/Apple2GSBuildPipeline/releases/download/1.1/Apple2GSXcodeTemplate.pkg). Note that the next time you launch Xcode, you will be asked whether to load the OrcaM.ideplugin. This is part of the project template and will provide better syntax highlighting for assembly and resource files. Select the "Load Bundle" option in the dialog that Xcode shows you.
|
||||
6. Install and setup the [GSPlus](https://apple2.gs/plus/) emulator or the [GSPort](http://gsport.sourceforge.net) emulator. Either should work. No matter which you choose, make sure you put a copy of your Apple //gs' ROM into a file called ~/Library/GSPort/ROM (where ~ represents your user's home directory). Unfortunately, the Finder by default hides the Library folder from you so the easiest way to accomplish this is probably from the Terminal.
|
||||
5. Install the [Apple IIgs project template](https://github.com/jeremysrand/Apple2GSBuildPipeline/releases/download/3.0.1/Apple2GSXcodeTemplate.pkg). Note that the next time you launch Xcode, you will be asked whether to load the OrcaM.ideplugin. This is part of the project template and will provide better syntax highlighting for assembly and resource files. Select the "Load Bundle" option in the dialog that Xcode shows you.
|
||||
6. Install and setup the [GSPlus](https://apple2.gs/plus/) emulator, the [GSPort](http://gsport.sourceforge.net) emulator and or the mame emulator which is easiest to install using [Ample](https://github.com/ksherlock/ample). Each emulator should work. No matter which you choose, make sure you put a copy of your Apple //gs' ROM into a file called ~/Library/GSPort/ROM (where ~ represents your user's home directory). Unfortunately, the Finder by default hides the Library folder from you so the easiest way to accomplish this is probably from the Terminal.
|
||||
7. If you plan to use Merlin32 based projects, install the [Merlin32 binaries and libraries](https://www.brutaldeluxe.fr/products/crossdevtools/merlin/). By default, the build system assumes you have installed the Merlin32 binary in /usr/local/bin and put the library macro files in /usr/local/lib/Merlin. If you installed them somewhere else, you can override these location in your projects. Note that in the distribution, the macro files in the library had CR/LF line endings and did not work until I converted them to have LF line endings.
|
||||
|
||||
|
||||
Your First Project:
|
||||
|
@ -59,6 +71,7 @@ Common Problems:
|
|||
There are some known issues which can crop up:
|
||||
* If you are using APFS (the latest filesystem) on High Sierra, you may have a problem with resources. Make sure you have the latest version of Golden Gate. The latest version has fixed these issues.
|
||||
* If you aren't seeing the "ORCA Assembly" or "ORCA Resources" options under Editor->Syntax Coloring, you may be having an Xcode compatibility problem. These syntax colouring files are provided as part of an Xcode plugin and plugins must advertize their compatibility. During install, the plugin is set to be compatible with the version of Xcode you have. If you upgrade Xcode, the plugin will be assumed to be incompatible and will not be loaded. To workaround this, we force the plugin to be marked as compatiable on every build of a Apple //gs target. So, you should do a build and then quit and re-launch Xcode. You should see a warning asking if you want to load the plugin and if you allow the plugin to load, you should see the ORCA syntax colouring options.
|
||||
* If you get an error like "make: getcwd: Operation not permitted" when you do a build or build and run from Xcode, you may need to grant full disk access to make. Go to System Preferences, then Security & Privacy and then the Privacy tab. In there, you should see a section for "Full Disk Access". Click the lock button if necessary to authenticate. In a terminal, type "open /usr/bin". A Finder window should open and you can find the make executable in there. Drag and drop the make executable into the "Full Disk Access" section and ensure that the entry for it is selected to grant that access. That should fix the problem.
|
||||
|
||||
If these suggestions do not help or you are having some other problem, please contact me and I will try to help you out.
|
||||
|
||||
|
@ -68,20 +81,19 @@ UNIX Installation:
|
|||
|
||||
This build infrastructure can be used in a non-Mac environment. The Makefile infrastructure should work on any UNIX-y platform. You will still need Golden Gate and the ORCA tools setup on your machine. Just add the Makefile and the contents of the make directory to your project. Modify the Makefile as appropriate and you should have a build environment which you can use with the make command.
|
||||
|
||||
That said, I haven't tested this on any other platform to show this is actually true.
|
||||
Thanks to [xandark](https://github.com/xandark) who has done some testing of the build scripts under Linux. Thanks to that work and the issues raised, I have more confidence that these build scripts should work on non-MacOS platforms. Feel free to submit issues if you find problems.
|
||||
|
||||
|
||||
Possible Future Improvements:
|
||||
-----------------------------
|
||||
|
||||
* Support Hypercard XCMDs and Hyperstudio new button action project templates
|
||||
* Provide assembly project templates for all project types. Today, I only provide an assembly project template for the shell target.
|
||||
* Support Finder Extra project templates
|
||||
* Support other ORCA languages like Pascal, Modula-2 or Basic.
|
||||
* Allow multiple resource files and concatenate the resources together into the final executable.
|
||||
* Add support for Merlin32 based assembly projects in Xcode. This is the other major cross compilation/assembly tool available today for Apple //gs coding.
|
||||
|
||||
|
||||
Acknowledgements:
|
||||
-----------------
|
||||
|
||||
Thanks to Mike Westerfield for the ORCA environment and languages and Kelvin Sherlock for Golden Gate which allows us to use those tools under modern systems making this build environment possible.
|
||||
Thanks to Mike Westerfield for the ORCA environment and languages and Kelvin Sherlock for Golden Gate which allows us to use those tools under modern systems making this build environment possible. Thanks to Brutal Deluxe for Merlin32.
|
||||
|
|
Binary file not shown.
|
@ -6,7 +6,7 @@ s5d2 =
|
|||
s6d1 =
|
||||
s6d2 =
|
||||
|
||||
s7d1 = ../___PACKAGENAME___.2mg
|
||||
s7d1 =
|
||||
|
||||
g_joystick_type = 0
|
||||
g_limit_speed = 0
|
||||
|
|
|
@ -1,108 +1,252 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
MOUNTDIR=/tmp/a2gs_mount.$$
|
||||
TMPDISKIMAGE=/tmp/a2gs_diskimage_$$.2mg
|
||||
TEMPLATEDISKIMAGE=make/system601.2mg
|
||||
|
||||
if [ $# -lt 3 ]
|
||||
then
|
||||
echo USAGE: $0 diskimage file directory
|
||||
echo USAGE: $0 diskimage bootimage file [bootdest]
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DISKIMAGE="$1"
|
||||
shift
|
||||
|
||||
DESTBOOTIMAGE="$1"
|
||||
shift
|
||||
|
||||
FILE="$1"
|
||||
shift
|
||||
|
||||
DISKIMAGEDEST="$1"
|
||||
shift
|
||||
DEST="${MOUNTDIR}/${DISKIMAGEDEST}"
|
||||
BOOTCOPYPATH="$1"
|
||||
|
||||
COPYDIRS=$*
|
||||
PROGRAM=`basename "$FILE"`
|
||||
TMPDIR=/tmp/a2gs_mount.$$
|
||||
MOUNTDIR="${TMPDIR}/$PROGRAM"
|
||||
TMPDISKIMAGE=/tmp/a2gs_diskimage_$$.2mg
|
||||
TMPBOOTIMAGE=/tmp/a2gs_bootimage_$$.2mg
|
||||
TMPARCHIVE=/tmp/s2gs_archive_$$.shk
|
||||
TEMPLATEDISKIMAGE="make/empty.2mg"
|
||||
TEMPLATEBOOTIMAGE="make/$BOOTIMAGE"
|
||||
ARCHIVE=`dirname "$DISKIMAGE"`/"${PROGRAM}.shk"
|
||||
|
||||
cleanupAndExit()
|
||||
# It looks like on Linux, the cp command needs a special argument to preserve the resource fork. This isn't ideal
|
||||
# but for now, if uname is Darwin, then this is MacOS and we don't need any cp args. If not Darwin, then assume
|
||||
# this is Linux and ask for extended attributes to be preserved through the copy.
|
||||
#
|
||||
# Ultimately, it could be that other platforms (BSD, does Solaris still exist?) or even other Linux versions or
|
||||
# distributions need different arguments for this rather special thing. If true, this may need to be a build time
|
||||
# option which can be set.
|
||||
if [ "`uname`" = Darwin ]
|
||||
then
|
||||
CPARGS=""
|
||||
else
|
||||
CPARGS="--preserve=xattr"
|
||||
fi
|
||||
|
||||
|
||||
printErrorAndExit()
|
||||
{
|
||||
echo "`pwd`/Makefile:0:0: error: $*" >&2
|
||||
umount "$MOUNTDIR" 2> /dev/null
|
||||
rm -f "$TMPDISKIMAGE" 2> /dev/null
|
||||
rm -f "$TMPBOOTIMAGE" 2> /dev/null
|
||||
rm -f "$TMPARCHIVE" 2> /dev/null
|
||||
rm -f "$DISKIMAGE" 2> /dev/null
|
||||
rmdir "$MOUNTDIR" 2> /dev/null
|
||||
rm -f "$DESTBOOTIMAGE" 2> /dev/null
|
||||
rm -rf "$TMPDIR" 2> /dev/null
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
unmount()
|
||||
{
|
||||
RETRIES=0
|
||||
while [ $RETRIES -lt 5 ]
|
||||
do
|
||||
umount "$1"
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
break
|
||||
fi
|
||||
|
||||
RETRIES=`expr $RETRIES + 1`
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [ $RETRIES -ge 5 ]
|
||||
then
|
||||
printErrorAndExit "Unable to unmount the disk image."
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
validateProDOSName()
|
||||
{
|
||||
NAME=`basename $1`
|
||||
echo $NAME | egrep '^[a-zA-Z][a-zA-Z0-9.]{0,14}$' > /dev/null
|
||||
}
|
||||
|
||||
|
||||
mkdirProDOS()
|
||||
{
|
||||
validateProDOSName "$1"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printErrorAndExit "Invalid ProDOS name of directory `basename $1`. ProDOS names must be 1 to 15 characters, start with a letter and only letters, numbers and a period can be used in the name."
|
||||
fi
|
||||
|
||||
mkdir -p "$1"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to create directory $1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
cpProDOS()
|
||||
{
|
||||
validateProDOSName "$2"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printErrorAndExit "Invalid ProDOS name of file `basename $2`. ProDOS names must be 1 to 15 characters, start with a letter and only letters, numbers and a period can be used in the name."
|
||||
fi
|
||||
|
||||
cp $CPARGS "$1" "$2"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to create directory $1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
copyDirs()
|
||||
{
|
||||
OLDDIR=`pwd`
|
||||
for COPYDIR in $*
|
||||
do
|
||||
cd "$COPYDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to find $COPYDIR"
|
||||
fi
|
||||
|
||||
find . -print | while read FILEORDIR
|
||||
do
|
||||
if [ "$FILEORDIR" = "." ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
if [ -d "$FILEORDIR" ]
|
||||
then
|
||||
mkdirProDOS "${MOUNTDIR}/$FILEORDIR"
|
||||
elif [ -f "$FILEORDIR" ]
|
||||
then
|
||||
cpProDOS "$FILEORDIR" "${MOUNTDIR}/$FILEORDIR"
|
||||
fi
|
||||
done
|
||||
cd "$OLDDIR"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
if [ ! -f "$TEMPLATEDISKIMAGE" ]
|
||||
then
|
||||
echo Unable to find the template disk image, $TEMPLATEDISKIMAGE
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to find the template disk image, $TEMPLATEDISKIMAGE"
|
||||
fi
|
||||
|
||||
cp "$TEMPLATEDISKIMAGE" "$TMPDISKIMAGE"
|
||||
if [ ! -f "$TEMPLATEBOOTIMAGE" ]
|
||||
then
|
||||
printErrorAndExit "Unable to find the template boot image, $TEMPLATEBOOTIMAGE"
|
||||
fi
|
||||
|
||||
mkdir "$TMPDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to copy template disk image.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to create the mount directory."
|
||||
fi
|
||||
|
||||
mkdir "$MOUNTDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to create the mount directory.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to create the mount directory."
|
||||
fi
|
||||
|
||||
cp "$TEMPLATEBOOTIMAGE" "$TMPBOOTIMAGE"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to copy template boot image."
|
||||
fi
|
||||
if [ ! -z "$COPYBOOTDIRS" ] || [ ! -z "BOOTCOPYPATH" ]
|
||||
then
|
||||
profuse -orw "$TMPBOOTIMAGE" "$MOUNTDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to mount the boot image."
|
||||
fi
|
||||
|
||||
if [ ! -z "$BOOTCOPYPATH" ]
|
||||
then
|
||||
cpProDOS "$FILE" "$MOUNTDIR/$BOOTCOPYPATH"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to copy the file to the boot image."
|
||||
fi
|
||||
fi
|
||||
|
||||
copyDirs $COPYBOOTDIRS
|
||||
|
||||
unmount "$MOUNTDIR"
|
||||
fi
|
||||
|
||||
cp "$TEMPLATEDISKIMAGE" "$TMPDISKIMAGE"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to copy template disk image."
|
||||
fi
|
||||
|
||||
profuse -orw "$TMPDISKIMAGE" "$MOUNTDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to mount the disk image.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to mount the disk image."
|
||||
fi
|
||||
|
||||
cp "$FILE" "$DEST"
|
||||
cpProDOS "$FILE" "$MOUNTDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to copy the file to the disk image.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to copy the file to the disk image."
|
||||
fi
|
||||
|
||||
copyDirs $COPYDIRS
|
||||
|
||||
OLDDIR=`pwd`
|
||||
for COPYDIR in $COPYDIRS
|
||||
do
|
||||
cd "$COPYDIR"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to find $COPYDIR
|
||||
cleanupAndExit
|
||||
fi
|
||||
|
||||
find . -print | while read FILEORDIR
|
||||
do
|
||||
if [ -d "$FILEORDIR" ]
|
||||
then
|
||||
mkdir -p "${MOUNTDIR}/$FILEORDIR"
|
||||
elif [ -f "$FILEORDIR" ]
|
||||
then
|
||||
cp "$FILEORDIR" "${MOUNTDIR}/$FILEORDIR"
|
||||
fi
|
||||
done
|
||||
cd "$OLDDIR"
|
||||
done
|
||||
|
||||
umount "$MOUNTDIR"
|
||||
cd "$TMPDIR"
|
||||
$ORCA "$OLDDIR/make/tar" cf "$TMPARCHIVE" "$PROGRAM"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to unmount the disk image.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to create archive."
|
||||
fi
|
||||
cd "$OLDDIR"
|
||||
|
||||
unmount "$MOUNTDIR"
|
||||
|
||||
cp "$TMPDISKIMAGE" "$DISKIMAGE"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo Unable to copy the disk image to the destination.
|
||||
cleanupAndExit
|
||||
printErrorAndExit "Unable to copy the disk image to the destination."
|
||||
fi
|
||||
|
||||
cp "$TMPBOOTIMAGE" "$DESTBOOTIMAGE"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to copy the boot image to the destination."
|
||||
fi
|
||||
|
||||
cp "$TMPARCHIVE" "$ARCHIVE"
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
printErrorAndExit "Unable to copy the archive to the destination."
|
||||
fi
|
||||
|
||||
rm -f "$TMPDISKIMAGE"
|
||||
rmdir "$MOUNTDIR"
|
||||
rm -f "$TMPBOOTIMAGE"
|
||||
rm -f "$TMPARCHIVE"
|
||||
rm -rf "$TMPDIR"
|
||||
exit 0
|
||||
|
|
Binary file not shown.
77
make/head.mk
77
make/head.mk
|
@ -8,12 +8,40 @@ ORCA_BINDIR = /usr/local/bin
|
|||
|
||||
export ORCA=$(ORCA_BINDIR)/orca
|
||||
|
||||
AC=make/AppleCommander.jar
|
||||
|
||||
TARGETTYPE=shell
|
||||
|
||||
ASSEMBLER=orcam
|
||||
|
||||
MERLIN_DIR=/usr/local
|
||||
export MERLIN_BIN=$(MERLIN_DIR)/bin/Merlin32
|
||||
export MERLIN_LIB=$(MERLIN_DIR)/lib/Merlin
|
||||
MERLIN_ASM=make/merlin-asm
|
||||
|
||||
SRCDIRS=.
|
||||
|
||||
# Check for Xcode build variables for the locations of build outputs and fall back
|
||||
# to the current directory if not set.
|
||||
ifeq ($(OBJECT_FILE_DIR),)
|
||||
OBJDIR=.
|
||||
else
|
||||
export OBJECT_FILE_DIR
|
||||
OBJDIR=$(OBJECT_FILE_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(DERIVED_SOURCES_DIR),)
|
||||
GENDIR=.
|
||||
else
|
||||
export DERIVED_SOURCES_DIR
|
||||
GENDIR=$(DERIVED_SOURCES_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_BUILD_DIR),)
|
||||
TARGETDIR=.
|
||||
else
|
||||
export TARGET_BUILD_DIR
|
||||
TARGETDIR=$(TARGET_BUILD_DIR)
|
||||
endif
|
||||
|
||||
COMPILE=make/orca-cc
|
||||
CFLAGS= -P -I
|
||||
ROOTCFILE=main.c
|
||||
|
@ -37,12 +65,47 @@ CHTYP=$(ORCA) chtyp
|
|||
|
||||
RM=rm -f
|
||||
CP=cp
|
||||
MV=mv
|
||||
MKDIR=mkdir -p
|
||||
|
||||
DESKTOP_RES_MODE=640
|
||||
MESSAGE_CENTER=0
|
||||
|
||||
GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
|
||||
GSPLUSARGS=
|
||||
GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
|
||||
GSPORTARGS=
|
||||
MAME=/Applications/Ample.app/Contents/MacOS/mame64
|
||||
MAMELIB=$(HOME)/Library/Application Support/Ample
|
||||
MAMEARGS=apple2gs -skip_gameinfo -speed 2 -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
|
||||
|
||||
export GSPLUS
|
||||
export GSPLUSARGS
|
||||
export GSPORT
|
||||
export GSPORTARGS
|
||||
export MAME
|
||||
export MAMELIB
|
||||
export MAMEARGS
|
||||
|
||||
ifneq (,$(wildcard $GSPLUS))
|
||||
EMULATOR=gsplus
|
||||
else ifneq (,$(wildcard $MAME))
|
||||
EMULATOR=mame
|
||||
else ifneq (,$(wildcard $GSPORT))
|
||||
EMULATOR=gsport
|
||||
else
|
||||
EMULATOR=gsplus
|
||||
endif
|
||||
|
||||
export EMULATOR
|
||||
|
||||
BOOTIMAGE=system601.2mg
|
||||
export BOOTIMAGE
|
||||
|
||||
COPYDIRS=
|
||||
export COPYDIRS
|
||||
COPYBOOTDIRS=
|
||||
export COPYBOOTDIRS
|
||||
|
||||
XCODE_PATH=/Applications/Xcode.app
|
||||
XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist
|
||||
|
@ -53,12 +116,10 @@ ORCAM_PLUGIN_INFO=$(ORCAM_PLUGIN_PATH)/Contents/Info.plist
|
|||
XCODE_PLUGIN_COMPATIBILITY=DVTPlugInCompatibilityUUID
|
||||
|
||||
|
||||
.PHONY: all gen genclean xcodefix
|
||||
.PHONY: all gen genclean
|
||||
|
||||
all:
|
||||
@make xcodefix
|
||||
@make gen
|
||||
@make build
|
||||
$(MKDIR) $(OBJDIR) $(GENDIR) $(TARGETDIR)
|
||||
@$(MAKE) -f $(firstword $(MAKEFILE_LIST)) gen
|
||||
@$(MAKE) -f $(firstword $(MAKEFILE_LIST)) build
|
||||
|
||||
xcodefix:
|
||||
defaults write "$(ORCAM_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)`
|
||||
|
|
|
@ -1,29 +1,84 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ ! -z "$GSPLUS" ] && [ -x "$GSPLUS" ]
|
||||
then
|
||||
EMULATORPATH="$GSPLUS"
|
||||
elif [ ! -z "$GSPORT" ] && [ -x "$GSPORT" ]
|
||||
then
|
||||
EMULATORPATH="$GSPORT"
|
||||
fi
|
||||
TMPDIR="/tmp/a2gs_emulator.$$"
|
||||
|
||||
if [ -z "$EMULATORPATH" ]
|
||||
cleanupAndExit()
|
||||
{
|
||||
cd
|
||||
if [ ! -z $PID ]
|
||||
then
|
||||
kill $PID 2> /dev/null
|
||||
fi
|
||||
rm -rf $TMPDIR
|
||||
exit 0
|
||||
}
|
||||
|
||||
createConfigTxt()
|
||||
{
|
||||
mkdir "$TMPDIR"
|
||||
sed "s:^s7d1 *=.*$:s7d1 = $BOOTIMAGE:
|
||||
s:^s5d1 *=.*:s5d1 = $DISKIMAGE:" < make/config.txt > "$TMPDIR/config.txt"
|
||||
|
||||
}
|
||||
|
||||
if [ $# -ne 2 ]
|
||||
then
|
||||
echo Unable to find GSplus or GSport at these locations.
|
||||
echo " GSPLUS=$GSPLUS"
|
||||
echo " GSPORT=$GSPORT"
|
||||
echo USAGE $0: diskimage bootimage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd make
|
||||
DISKIMAGE="$1"
|
||||
if echo $DISKIMAGE | grep -v '^/' > /dev/null
|
||||
then
|
||||
DISKIMAGE="$PWD/$DISKIMAGE"
|
||||
fi
|
||||
|
||||
BOOTIMAGE="$2"
|
||||
if echo $BOOTIMAGE | grep -v '^/' > /dev/null
|
||||
then
|
||||
BOOTIMAGE="$PWD/$BOOTIMAGE"
|
||||
fi
|
||||
|
||||
case "$EMULATOR" in
|
||||
gsplus)
|
||||
EMULATORPATH="$GSPLUS"
|
||||
EMULATORARGS="$GSPLUSARGS"
|
||||
EMULATORDIR="$TMPDIR"
|
||||
createConfigTxt
|
||||
;;
|
||||
gsport)
|
||||
EMULATORPATH="$GSPORT"
|
||||
EMULATORARGS="$GSPORTARGS"
|
||||
EMULATORDIR="$TMPDIR"
|
||||
createConfigTxt
|
||||
;;
|
||||
mame)
|
||||
EMULATORPATH="$MAME"
|
||||
EMULATORARGS="$MAMEARGS -hard1 "$BOOTIMAGE" -flop3 "$DISKIMAGE""
|
||||
EMULATORDIR="$MAMELIB"
|
||||
;;
|
||||
*)
|
||||
echo Invalid emulator specified, \"$EMULATOR\"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! -x "$EMULATORPATH" ]
|
||||
then
|
||||
echo Unable to find $EMULATOR at $EMULATORPATH
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$EMULATORDIR" ]
|
||||
then
|
||||
echo Unable to find $EMULATOR library at $EMULATORDIR
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$EMULATORDIR"
|
||||
# This magic ensure that clicking stop in Xcode results in the emulator terminating.
|
||||
|
||||
$EMULATORPATH &
|
||||
"$EMULATORPATH" $EMULATORARGS &
|
||||
PID=$!
|
||||
|
||||
trap 'kill $PID' SIGTERM SIGINT SIGHUP EXIT
|
||||
trap cleanupAndExit SIGTERM SIGINT SIGHUP EXIT
|
||||
wait
|
||||
|
||||
exit 0
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
ERROUTPUT=/tmp/merlin-err.$$
|
||||
|
||||
LINKSCRIPT="$1"
|
||||
shift
|
||||
|
||||
OUTFILE="$1"
|
||||
shift
|
||||
|
||||
TARGETOUTPUT="$1"
|
||||
shift
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -r error_output.txt
|
||||
rm -f _FileInformation.txt
|
||||
rm -f _Output.txt
|
||||
rm -f "$ERROUTPUT"
|
||||
}
|
||||
|
||||
"$MERLIN_BIN" -V "$MERLIN_LIB" "$LINKSCRIPT" 2>&1 | tee "$ERROUTPUT"
|
||||
if [ ! -f "$OUTFILE" ]
|
||||
then
|
||||
cat error_output.txt
|
||||
tr "'" '"' < "$ERROUTPUT" |
|
||||
grep '\[Error\]' |
|
||||
sed 's!^.*\[Error\] \(.*file "\([^"]*\.s\)".*line \([1-9][0-9]*\).*\)$!'`pwd`'/\2:\3:0: error: \1!' |
|
||||
sed 's!^.*\[Error\] \(.*line \([1-9][0-9]*\).*file "\([^"]*\.s\)".*\)$!'`pwd`'/\3:\2:0: error: \1!'
|
||||
cleanup
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv "$OUTFILE" "$TARGETOUTPUT"
|
||||
|
||||
cleanup
|
||||
|
||||
exit 0
|
|
@ -1,18 +1,102 @@
|
|||
#!/bin/bash
|
||||
|
||||
TMPFILE=/tmp/orca-macgen.$$
|
||||
ERROUTPUT=/tmp/orca-asm-errs.$$
|
||||
|
||||
FILENAME="$1"
|
||||
shift
|
||||
|
||||
DESTBASENAME="$1"
|
||||
shift
|
||||
|
||||
if echo $FILENAME | grep -v '\.s$' > /dev/null
|
||||
then
|
||||
echo Expected first argument to be a *.s file but got $FILENAME
|
||||
echo Expected second argument to be a *.s file but got $FILENAME
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SRCBASENAME=`echo $FILENAME | sed 's/\.s$//'`
|
||||
SRCMACROSNAME="${SRCBASENAME}.macros"
|
||||
SRCROOTNAME="${SRCBASENAME}.ROOT"
|
||||
SRCOBJNAME="${SRCBASENAME}.a"
|
||||
|
||||
DESTMACROSNAME="${DESTBASENAME}.macros"
|
||||
DESTDEPSNAME="${DESTBASENAME}.macros.d"
|
||||
DESTROOTNAME="${DESTBASENAME}.ROOT"
|
||||
DESTOBJNAME="${DESTBASENAME}.a"
|
||||
|
||||
$ORCA --trace-gsos macgen $MACGENFLAGS "$FILENAME" "$SRCMACROSNAME" $MACGENMACROS < /dev/null 2> $TMPFILE
|
||||
RESULT=$?
|
||||
|
||||
sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2
|
||||
|
||||
if [ "$RESULT" -ne 0 ]
|
||||
then
|
||||
rm -f "$TMPFILE"
|
||||
rm -f "$SRCMACROSNAME"
|
||||
exit $RESULT
|
||||
fi
|
||||
|
||||
DEPS=`awk '
|
||||
/^FastFileLoad/ {
|
||||
sub(/^FastFileLoad\(/, "");
|
||||
sub(/\)$/, "");
|
||||
print}' $TMPFILE | sort -u | while read FILE
|
||||
do
|
||||
if [ -f "$FILE" ]
|
||||
then
|
||||
echo $FILE
|
||||
fi
|
||||
done | tr '\012' ' '`
|
||||
|
||||
rm -f $TMPFILE
|
||||
|
||||
DIRNAME=`dirname $FILENAME`
|
||||
BASENAME=`basename $FILENAME .s`
|
||||
|
||||
cd "$DIRNAME"
|
||||
$ORCA assemble $* keep="${BASENAME}" "${BASENAME}.s"
|
||||
pushd "$DIRNAME" > /dev/null
|
||||
$ORCA assemble $* keep="${BASENAME}" "${BASENAME}.s" 2> $ERROUTPUT
|
||||
RESULT=$?
|
||||
exit $RESULT
|
||||
popd > /dev/null
|
||||
|
||||
if [ -s $ERROUTPUT ]
|
||||
then
|
||||
RESULT=1
|
||||
awk '
|
||||
{
|
||||
print $0
|
||||
}
|
||||
|
||||
/^Error /{
|
||||
$1=""
|
||||
$2=""
|
||||
LINENO=$3
|
||||
$3=""
|
||||
printf("%s/%s:%d:0: error: %s\n", PWD, FILE, LINENO, $0)
|
||||
}
|
||||
' "PWD=`pwd`" "FILE=${BASENAME}.s" $ERROUTPUT
|
||||
fi
|
||||
rm -f $ERROUTPUT
|
||||
|
||||
if [ "$RESULT" -ne 0 ]
|
||||
then
|
||||
rm -f "$SRCROOTNAME"
|
||||
rm -f "$SRCMACROSNAME"
|
||||
rm -f "$SRCOBJNAME"
|
||||
rm -f "$DESTROOTNAME"
|
||||
rm -f "$DESTMACROSNAME"
|
||||
rm -f "$DESTOBJNAME"
|
||||
rm -f "$DESTDEPSNAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p `dirname "$DESTROOTNAME"`
|
||||
mv -f "$SRCROOTNAME" "$DESTROOTNAME" 2> /dev/null
|
||||
mv -f "$SRCMACROSNAME" "$DESTMACROSNAME" 2> /dev/null
|
||||
mv -f "$SRCOBJNAME" "$DESTOBJNAME" 2> /dev/null
|
||||
|
||||
cat > $DESTDEPSNAME << EOF
|
||||
$DESTROOTNAME: $DEPS
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
|
|
59
make/orca-cc
59
make/orca-cc
|
@ -1,10 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
TMPFILE=/tmp/orca-cc.$$
|
||||
STDOUTPUT=/tmp/orca-cc-std.$$
|
||||
ERROUTPUT=/tmp/orca-cc-errs.$$
|
||||
|
||||
FILENAME="$1"
|
||||
shift
|
||||
|
||||
DESTBASENAME="$1"
|
||||
shift
|
||||
|
||||
if echo $FILENAME | grep -v '\.c$' > /dev/null
|
||||
then
|
||||
echo Expected first argument to be a *.c file but got $FILENAME
|
||||
|
@ -23,29 +27,53 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
BASENAME=`echo $FILENAME | sed 's/\.c$//'`
|
||||
DEPSNAME="${BASENAME}.d"
|
||||
OBJSNAME="${BASENAME}.a"
|
||||
ROOTNAME="${BASENAME}.root"
|
||||
SRCBASENAME=`echo "$FILENAME" | sed 's/\.c$//'`
|
||||
SRCOBJNAME="${SRCBASENAME}.a"
|
||||
SRCROOTNAME="${SRCBASENAME}.root"
|
||||
|
||||
$ORCA --trace-gsos compile $COMPILEARGS "$FILENAME" keep="${BASENAME}" $CCARGS 2> $TMPFILE
|
||||
DESTDEPSNAME="${DESTBASENAME}.d"
|
||||
DESTOBJNAME="${DESTBASENAME}.a"
|
||||
DESTROOTNAME="${DESTBASENAME}.root"
|
||||
|
||||
$ORCA --trace-gsos compile $COMPILEARGS "$FILENAME" keep="${SRCBASENAME}" $CCARGS > $STDOUTPUT 2> $ERROUTPUT
|
||||
RESULT=$?
|
||||
|
||||
sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2
|
||||
awk '
|
||||
{
|
||||
print $0
|
||||
}
|
||||
|
||||
$1 ~ /^[0-9][0-9]*$/ {
|
||||
LINENO=$1
|
||||
}
|
||||
|
||||
/^ *\^/ {
|
||||
sub(/^ *\^/, "", $0)
|
||||
printf("%s/%s:%d:0: error: %s\n", PWD, FILE, LINENO, $0)
|
||||
}
|
||||
' "PWD=`pwd`" "FILE=$FILENAME" $STDOUTPUT
|
||||
|
||||
|
||||
sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $ERROUTPUT >&2
|
||||
|
||||
if [ "$RESULT" -ne 0 ]
|
||||
then
|
||||
rm -f $TMPFILE
|
||||
rm -f $OBJSNAME
|
||||
rm -f $ROOTNAME
|
||||
rm -f $ERROUTPUT
|
||||
rm -f $STDOUTPUT
|
||||
rm -f $SRCOBJNAME
|
||||
rm -f $SRCROOTNAME
|
||||
exit $RESULT
|
||||
fi
|
||||
|
||||
mkdir -p `dirname "$DESTOBJNAME"`
|
||||
mv -f "$SRCOBJNAME" "$DESTOBJNAME" 2> /dev/null
|
||||
mv -f "$SRCROOTNAME" "$DESTROOTNAME" 2> /dev/null
|
||||
|
||||
DEPS=`awk '
|
||||
/^FastFileLoad/ {
|
||||
sub(/^FastFileLoad\(/, "");
|
||||
sub(/\)$/, "");
|
||||
print}' $TMPFILE | sort -u | while read FILE
|
||||
print}' $ERROUTPUT | sort -u | while read FILE
|
||||
do
|
||||
if [ -f "$FILE" ]
|
||||
then
|
||||
|
@ -53,14 +81,15 @@ DEPS=`awk '
|
|||
fi
|
||||
done | tr '\012' ' '`
|
||||
|
||||
rm -f $TMPFILE
|
||||
rm -f $ERROUTPUT
|
||||
rm -f $STDOUTPUT
|
||||
|
||||
# We add a dependency for both the .o and the .root file. If this is the
|
||||
# main.c file being compiled, we need the dependency on the .root file.
|
||||
cat > $DEPSNAME << EOF
|
||||
$OBJSNAME: $DEPS
|
||||
cat > $DESTDEPSNAME << EOF
|
||||
$DESTOBJNAME: $DEPS
|
||||
|
||||
$ROOTNAME: $DEPS
|
||||
$DESTROOTNAME: $DEPS
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
TMPFILE=/tmp/orca-macgen.$$
|
||||
|
||||
MACGENFLAGS="$1"
|
||||
FILENAME="$2"
|
||||
shift
|
||||
shift
|
||||
|
||||
if echo $FILENAME | grep -v '\.s$' > /dev/null
|
||||
then
|
||||
echo Expected second argument to be a *.s file but got $FILENAME
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASENAME=`echo $FILENAME | sed 's/\.s$//'`
|
||||
MACROSNAME="${BASENAME}.macros"
|
||||
DEPSNAME="${MACROSNAME}.d"
|
||||
|
||||
$ORCA --trace-gsos macgen $MACGENFLAGS "$FILENAME" $* < /dev/null 2> $TMPFILE
|
||||
RESULT=$?
|
||||
|
||||
sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2
|
||||
|
||||
if [ "$RESULT" -ne 0 ]
|
||||
then
|
||||
rm -f $TMPFILE
|
||||
rm -f $MACROSNAME
|
||||
exit $RESULT
|
||||
fi
|
||||
|
||||
DEPS=`awk '
|
||||
/^FastFileLoad/ {
|
||||
sub(/^FastFileLoad\(/, "");
|
||||
sub(/\)$/, "");
|
||||
print}' $TMPFILE | sort -u | while read FILE
|
||||
do
|
||||
if [ -f "$FILE" ]
|
||||
then
|
||||
echo $FILE
|
||||
fi
|
||||
done | tr '\012' ' '`
|
||||
|
||||
rm -f $TMPFILE
|
||||
|
||||
cat > $DEPSNAME << EOF
|
||||
$MACROSNAME: $DEPS
|
||||
EOF
|
||||
|
||||
exit 0
|
|
@ -1,37 +1,60 @@
|
|||
#!/bin/bash
|
||||
|
||||
TMPFILE=/tmp/orca-rez.$$
|
||||
ERROUTPUT=/tmp/orca-rez-err.$$
|
||||
|
||||
FILENAME="$1"
|
||||
shift
|
||||
|
||||
DESTBASENAME="$1"
|
||||
shift
|
||||
|
||||
if echo $FILENAME | grep -v '\.rez$' > /dev/null
|
||||
then
|
||||
echo Expected first argument to be a *.rez file but got $FILENAME
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASENAME=`echo $FILENAME | sed 's/\.rez$//'`
|
||||
DEPSNAME="${BASENAME}.rez.d"
|
||||
OBJSNAME="${BASENAME}.r"
|
||||
SRCBASENAME=`echo $FILENAME | sed 's/\.rez$//'`
|
||||
SRCOBJNAME="${SRCBASENAME}.r"
|
||||
|
||||
$ORCA --trace-gsos compile $* keep="${OBJSNAME}" "$FILENAME" 2> $TMPFILE
|
||||
DESTDEPSNAME="${DESTBASENAME}.rez.d"
|
||||
DESTOBJNAME="${DESTBASENAME}.r"
|
||||
|
||||
$ORCA --trace-gsos compile "$@" keep="${SRCOBJNAME}" "$FILENAME" 2> $ERROUTPUT
|
||||
RESULT=$?
|
||||
|
||||
sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2
|
||||
awk '
|
||||
/^[A-Za-z][A-Za-z]*\(.*\)$/ {
|
||||
next
|
||||
}
|
||||
|
||||
{
|
||||
print
|
||||
}
|
||||
|
||||
/^File [^ ]*; Line [0-9][0-9]*;/ {
|
||||
sub(/;/,"",$4)
|
||||
LINENO=$4
|
||||
sub(/^File [^ ]*; Line [0-9][0-9]*/, "", $0)
|
||||
printf("%s/%s:%d:0: error: %s\n", PWD, FILE, LINENO, $0)
|
||||
}
|
||||
' "PWD=`pwd`" "FILE=$FILENAME" $ERROUTPUT >&2
|
||||
|
||||
if [ "$RESULT" -ne 0 ]
|
||||
then
|
||||
rm -f $TMPFILE
|
||||
rm -f $OBJSNAME
|
||||
rm -f $ERROUTPUT
|
||||
rm -f $SRCOBJNAME
|
||||
exit $RESULT
|
||||
fi
|
||||
|
||||
mkdir -p `dirname "$DESTOBJNAME"`
|
||||
mv -f "$SRCOBJNAME" "$DESTOBJNAME" 2> /dev/null
|
||||
|
||||
DEPS=`awk '
|
||||
/^FastFileLoad/ {
|
||||
sub(/^FastFileLoad\(/, "");
|
||||
sub(/\)$/, "");
|
||||
print}' $TMPFILE | sort -u | while read FILE
|
||||
print}' $ERROUTPUT | sort -u | while read FILE
|
||||
do
|
||||
if [ -f "$FILE" ]
|
||||
then
|
||||
|
@ -39,7 +62,7 @@ DEPS=`awk '
|
|||
fi
|
||||
done`
|
||||
|
||||
echo $OBJSNAME: $DEPS > $DEPSNAME
|
||||
rm -f $TMPFILE
|
||||
echo $DESTOBJNAME: $DEPS > $DESTDEPSNAME
|
||||
rm -f $ERROUTPUT
|
||||
|
||||
exit 0
|
||||
|
|
Binary file not shown.
202
make/tail.mk
202
make/tail.mk
|
@ -6,83 +6,114 @@ export PATH := $(PATH):$(ORCA_BIN)
|
|||
|
||||
CWD=$(shell pwd)
|
||||
|
||||
DISKIMAGE=$(PGM).2mg
|
||||
DISKIMAGE=$(TARGETDIR)/$(PGM).2mg
|
||||
ARCHIVE=$(TARGETDIR)/$(PGM).shk
|
||||
DESTBOOTIMAGE=$(TARGETDIR)/$(BOOTIMAGE)
|
||||
BUILDTARGET=$(DISKIMAGE)
|
||||
EXECTARGET=executeGUI
|
||||
DISKIMAGEDEST=.
|
||||
BOOTCOPYPATH=
|
||||
AUXTYPE=
|
||||
CFLAGS+=-i$(GENDIR)
|
||||
|
||||
vpath $(GENDIR)
|
||||
|
||||
ifeq ($(TARGETTYPE),shell)
|
||||
FILETYPE=exe
|
||||
EXECTARGET=executeShell
|
||||
BUILDTARGET=$(PGM)
|
||||
BUILDTARGET=$(TARGETDIR)/$(PGM)
|
||||
else ifeq ($(TARGETTYPE),desktop)
|
||||
FILETYPE=s16
|
||||
ifeq ($(MESSAGE_CENTER),1)
|
||||
AUXTYPE=-a 0x0000db07
|
||||
else
|
||||
AUXTYPE=-a 0x0000db03
|
||||
endif
|
||||
CFLAGS+=-dMESSAGE_CENTER=$(MESSAGE_CENTER)
|
||||
REZFLAGS+=rez='-d DESKTOP_RES_MODE=$(DESKTOP_RES_MODE)'
|
||||
REZFLAGS+=rez='-d MESSAGE_CENTER=$(MESSAGE_CENTER)'
|
||||
else ifeq ($(TARGETTYPE),cda)
|
||||
FILETYPE=cda
|
||||
DISKIMAGEDEST=System/Desk.Accs
|
||||
BOOTCOPYPATH=System/Desk.Accs
|
||||
else ifeq ($(TARGETTYPE),cdev)
|
||||
BINTARGET=$(PGM).bin
|
||||
BINTARGET=$(TARGETDIR)/$(PGM).bin
|
||||
FILETYPE=199
|
||||
DISKIMAGEDEST=System/CDevs
|
||||
BOOTCOPYPATH=System/CDevs
|
||||
REZFLAGS+=rez='-d BINTARGET="$(BINTARGET)"'
|
||||
else ifeq ($(TARGETTYPE),nba)
|
||||
FILETYPE=exe
|
||||
BUILDTARGET=$(PGM)
|
||||
BUILDTARGET=$(TARGETDIR)/$(PGM)
|
||||
else ifeq ($(TARGETTYPE),nda)
|
||||
FILETYPE=nda
|
||||
DISKIMAGEDEST=System/Desk.Accs
|
||||
BOOTCOPYPATH=System/Desk.Accs
|
||||
else ifeq ($(TARGETTYPE),xcmd)
|
||||
FILETYPE=exe
|
||||
BUILDTARGET=$(PGM)
|
||||
BUILDTARGET=$(TARGETDIR)/$(PGM)
|
||||
endif
|
||||
|
||||
ifeq ($(wildcard $(ROOTCFILE)),)
|
||||
ROOTCFILE=
|
||||
|
||||
ASM_SRCS=$(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS)))))
|
||||
|
||||
ifeq ($(ASSEMBLER),orcam)
|
||||
ASM_MACROS=$(patsubst %.s, $(OBJDIR)/%.macros, $(ASM_SRCS))
|
||||
ASM_DEPS=$(patsubst %.s, $(OBJDIR)/%.macros.d, $(ASM_SRCS))
|
||||
ASM_ROOTS=$(patsubst %.s, $(OBJDIR)/%.ROOT, $(ASM_SRCS))
|
||||
ASM_OBJS=$(patsubst %.s, $(OBJDIR)/%.a, $(ASM_SRCS))
|
||||
|
||||
ifeq ($(wildcard $(ROOTCFILE)),)
|
||||
ROOTCFILE=
|
||||
endif
|
||||
|
||||
C_ROOTS=$(patsubst %.c, $(OBJDIR)/%.root, $(ROOTCFILE))
|
||||
C_SRCS+=$(filter-out $(ROOTCFILE), $(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS))))))
|
||||
C_OBJS=$(patsubst %.c, $(OBJDIR)/%.a, $(C_SRCS))
|
||||
C_DEPS=$(patsubst %.c, $(OBJDIR)/%.d, $(ROOTCFILE)) $(patsubst %.c, $(OBJDIR)/%.d, $(C_SRCS))
|
||||
endif
|
||||
|
||||
C_ROOTS=$(ROOTCFILE:.c=.root)
|
||||
C_SRCS+=$(filter-out $(ROOTCFILE), $(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS)))))
|
||||
C_OBJS=$(C_SRCS:.c=.a)
|
||||
C_DEPS=$(ROOTCFILE:.c=.d) $(C_SRCS:.c=.d)
|
||||
REZ_SRCS=$(patsubst $(GENDIR)/%, %, $(patsubst ./%, %, $(wildcard $(addsuffix /*.rez, $(SRCDIRS)))))
|
||||
REZ_DEPS=$(patsubst %.rez, $(OBJDIR)/%.rez.d, $(REZ_SRCS))
|
||||
REZ_OBJS=$(patsubst %.rez, $(OBJDIR)/%.r, $(REZ_SRCS))
|
||||
|
||||
ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS))))
|
||||
ASM_MACROS=$(ASM_SRCS:.s=.macros)
|
||||
ASM_DEPS=$(ASM_SRCS:.s=.macros.d)
|
||||
ASM_ROOTS=$(ASM_SRCS:.s=.ROOT)
|
||||
ASM_OBJS=$(ASM_SRCS:.s=.a)
|
||||
|
||||
REZ_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.rez, $(SRCDIRS))))
|
||||
REZ_DEPS=$(REZ_SRCS:.rez=.rez.d)
|
||||
REZ_OBJS=$(REZ_SRCS:.rez=.r)
|
||||
TEACH_FILES=$(patsubst %.md, $(GENDIR)/Teach/%, $(MD_SRCS))
|
||||
ifneq ($(TEACH_FILES),)
|
||||
COPYDIRS+=$(GENDIR)/Teach
|
||||
endif
|
||||
|
||||
ifneq ($(firstword $(REZ_SRCS)), $(lastword $(REZ_SRCS)))
|
||||
$(error Only a single resource file supported, found $(REZ_SRCS))
|
||||
endif
|
||||
|
||||
BUILD_OBJS=$(C_ROOTS) $(C_OBJS) $(ASM_ROOTS)
|
||||
BUILD_OBJS=$(C_ROOTS) $(C_OBJS) $(ASM_ROOTS) $(TEACH_FILES)
|
||||
ifeq ($(BINTARGET),)
|
||||
BUILD_OBJS+=$(REZ_OBJS)
|
||||
endif
|
||||
BUILD_OBJS_NOSUFFIX=$(C_ROOTS:.root=) $(C_OBJS:.a=) $(ASM_ROOTS:.ROOT=)
|
||||
|
||||
ALL_OBJS=$(C_ROOTS:.root=.a) $(C_OBJS) $(ASM_OBJS) $(REZ_OBJS)
|
||||
ALL_OBJS=$(C_ROOTS:.root=.a) $(C_OBJS) $(ASM_OBJS) $(REZ_OBJS) $(TEACH_FILES)
|
||||
ALL_ROOTS=$(C_ROOTS) $(C_OBJS:.a=.root) $(ASM_ROOTS)
|
||||
ALL_DEPS=$(C_DEPS) $(ASM_DEPS) $(REZ_DEPS)
|
||||
|
||||
EXECCMD=
|
||||
|
||||
.PHONY: build execute executeShell executeGUI clean
|
||||
.PHONY: build execute executeShell executeGUI clean xcodefix
|
||||
|
||||
.PRECIOUS: $(ASM_MACROS)
|
||||
|
||||
build: $(BUILDTARGET)
|
||||
|
||||
gen: xcodefix
|
||||
|
||||
xcodefix:
|
||||
[ "`uname`" = Darwin ] && defaults write "$(ORCAM_PLUGIN_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)s -array `defaults read "$(XCODE_INFO)" $(XCODE_PLUGIN_COMPATIBILITY)` || true
|
||||
|
||||
clean: genclean
|
||||
$(RM) "$(PGM)" $(BINTARGET)
|
||||
$(RM) "$(TARGETDIR)/$(PGM)" $(BINTARGET)
|
||||
$(RM) $(ALL_OBJS)
|
||||
$(RM) $(ALL_ROOTS)
|
||||
$(RM) $(ALL_DEPS)
|
||||
$(RM) $(ASM_MACROS)
|
||||
$(RM) "$(DISKIMAGE)"
|
||||
$(RM) "$(DESTBOOTIMAGE)"
|
||||
$(RM) "$(ARCHIVE)"
|
||||
|
||||
createPackage:
|
||||
pkg/createPackage
|
||||
|
@ -92,61 +123,114 @@ cleanMacCruft:
|
|||
|
||||
|
||||
ifeq ($(BINTARGET),)
|
||||
ifeq ($(ASSEMBLER),orcam)
|
||||
|
||||
# This is a standard build where we generate the resources if any and then link
|
||||
# the binary over that same file creating the resource fork first and the data
|
||||
# fork second.
|
||||
$(PGM): $(BUILD_OBJS)
|
||||
# This is a standard ORCA build where we generate the resources if any and
|
||||
# then link the binary over that same file creating the resource fork first
|
||||
# and the data fork second.
|
||||
$(TARGETDIR)/$(PGM): $(BUILD_OBJS)
|
||||
$(MKDIR) $(TARGETDIR)
|
||||
ifneq ($(REZ_OBJS),)
|
||||
$(RM) $(PGM)
|
||||
$(CP) $(REZ_OBJS) $(PGM)
|
||||
$(RM) $(TARGETDIR)/$(PGM)
|
||||
$(CP) $(REZ_OBJS) $(TARGETDIR)/$(PGM)
|
||||
endif
|
||||
$(LINK) $(LDFLAGS) $(BUILD_OBJS_NOSUFFIX) --keep=$(PGM)
|
||||
$(CHTYP) -t $(FILETYPE) $(PGM)
|
||||
cd $(OBJDIR); $(LINK) $(LDFLAGS) $(patsubst $(OBJDIR)/%, %, $(BUILD_OBJS_NOSUFFIX)) keep="$(abspath $(TARGETDIR)/$(PGM))"
|
||||
$(CHTYP) -t $(FILETYPE) $(AUXTYPE) $(TARGETDIR)/$(PGM)
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(ASSEMBLER),merlin)
|
||||
# This is a standard Merlin build where we generate the resources if any and
|
||||
# then link the binary over that same file creating the resource fork first
|
||||
# and the data fork second.
|
||||
|
||||
$(TARGETDIR)/$(PGM): $(BUILD_OBJS) $(ASM_SRCS)
|
||||
$(MKDIR) $(TARGETDIR)
|
||||
$(RM) $(TARGETDIR)/$(PGM)
|
||||
$(MERLIN_ASM) linkscript.s $(PGM) $(TARGETDIR)/$(PGM)
|
||||
ifneq ($(REZ_OBJS),)
|
||||
$(CP) $(REZ_OBJS)/..namedfork/rsrc $(TARGETDIR)/$(PGM)/..namedfork/rsrc
|
||||
endif
|
||||
$(CHTYP) -t $(FILETYPE) $(AUXTYPE) $(TARGETDIR)/$(PGM)
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
# This is a special build for CDevs (maybe others also?) where we build the binary
|
||||
# into a $(PGM).bin file and then build the resources into the $(PGM) target. The
|
||||
# resource compile will read the $(PGM).bin binary and load it into the resources
|
||||
# also.
|
||||
ifeq ($(ASSEMBLER),orcam)
|
||||
# This is a special build for CDevs under ORCA where we build the binary into
|
||||
# a $(PGM).bin file and then build the resources into the $(PGM) target. The
|
||||
# resource compile will read the $(PGM).bin binary and load it into the
|
||||
# resources also.
|
||||
$(BINTARGET): $(BUILD_OBJS)
|
||||
$(LINK) $(LDFLAGS) $(BUILD_OBJS_NOSUFFIX) --keep=$(BINTARGET)
|
||||
cd $(OBJDIR); $(LINK) $(LDFLAGS) $(patsubst $(OBJDIR)/%, %, $(BUILD_OBJS_NOSUFFIX)) keep="$(abspath $(BINTARGET))"
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(ASSEMBLER),merlin)
|
||||
# This is a special build for CDevs under Merlin where we build the binary into
|
||||
# a $(PGM).bin file and then build the resources into the $(PGM) target. The
|
||||
# resource compile will read the $(PGM).bin binary and load it into the
|
||||
# resources # also.
|
||||
$(BINTARGET): $(BUILD_OBJS) $(ASM_SRCS)
|
||||
$(MERLIN_ASM) linkscript.s $(PGM) $(BINTARGET)
|
||||
|
||||
endif
|
||||
|
||||
$(REZ_OBJS): $(BINTARGET)
|
||||
|
||||
$(PGM): $(REZ_OBJS)
|
||||
$(RM) $(PGM)
|
||||
$(CP) $(REZ_OBJS) $(PGM)
|
||||
$(CHTYP) -t $(FILETYPE) $(PGM)
|
||||
$(TARGETDIR)/$(PGM): $(REZ_OBJS)
|
||||
$(MKDIR) $(TARGETDIR)
|
||||
$(RM) $(TARGETDIR)/$(PGM)
|
||||
$(CP) $(REZ_OBJS) $(TARGETDIR)/$(PGM)
|
||||
$(CHTYP) -t $(FILETYPE) $(AUXTYPE) $(TARGETDIR)/$(PGM)
|
||||
|
||||
endif
|
||||
|
||||
$(DISKIMAGE): $(PGM)
|
||||
make/createDiskImage "$(DISKIMAGE)" "$(PGM)" "$(DISKIMAGEDEST)" $(COPYDIRS)
|
||||
$(DISKIMAGE): $(TARGETDIR)/$(PGM) make/empty.2mg make/$(BOOTIMAGE)
|
||||
make/createDiskImage "$(DISKIMAGE)" $(DESTBOOTIMAGE) "$(TARGETDIR)/$(PGM)" $(BOOTCOPYPATH)
|
||||
|
||||
execute: $(EXECTARGET)
|
||||
|
||||
executeGUI: all
|
||||
make/launchEmulator -doit
|
||||
make/launchEmulator "$(DISKIMAGE)" "$(DESTBOOTIMAGE)"
|
||||
|
||||
executeShell: all
|
||||
$(ORCA) ./$(PGM)
|
||||
$(ORCA) $(TARGETDIR)/$(PGM)
|
||||
|
||||
%.a: %.c
|
||||
$(COMPILE) $< $(CFLAGS) --noroot
|
||||
$(OBJDIR)/%.a: %.c
|
||||
$(COMPILE) $< $(@:.a=) $(CFLAGS) --noroot
|
||||
|
||||
%.root: %.c
|
||||
$(COMPILE) $< $(CFLAGS)
|
||||
$(OBJDIR)/%.a: $(GENDIR)/%.c
|
||||
$(COMPILE) $< $(@:.a=) $(CFLAGS) --noroot
|
||||
|
||||
%.macros: %.s
|
||||
$(MACGEN) "$(MACGENFLAGS)" $< $@ $(MACGENMACROS)
|
||||
$(OBJDIR)/%.root: %.c
|
||||
$(COMPILE) $< $(@:.root=) $(CFLAGS)
|
||||
|
||||
%.ROOT: %.macros
|
||||
$(ASSEMBLE) $(<:.macros=.s) $(ASMFLAGS)
|
||||
$(OBJDIR)/%.root: $(GENDIR)/%.c
|
||||
$(COMPILE) $< $(@:.root=) $(CFLAGS)
|
||||
|
||||
%.r: %.rez
|
||||
$(REZ) $< $(REZFLAGS)
|
||||
$(OBJDIR)/%.ROOT: %.s
|
||||
MACGENFLAGS="$(MACGENFLAGS)" MACGENMACROS="$(MACGENMACROS)" $(ASSEMBLE) $< $(@:.ROOT=) $(ASMFLAGS)
|
||||
|
||||
$(OBJDIR)/%.ROOT: $(GENDIR)/%.s
|
||||
MACGENFLAGS="$(MACGENFLAGS)" MACGENMACROS="$(MACGENMACROS)" $(ASSEMBLE) $< $(@:.ROOT=) $(ASMFLAGS)
|
||||
|
||||
$(OBJDIR)/%.r: %.rez
|
||||
$(REZ) $< $(@:.r=) $(REZFLAGS)
|
||||
ifneq ($(RLINT_PATH),)
|
||||
$(ORCA) $(RLINT_PATH) $@
|
||||
endif
|
||||
|
||||
$(OBJDIR)/%.r: $(GENDIR)/%.rez
|
||||
$(REZ) $< $(@:.r=) $(REZFLAGS)
|
||||
ifneq ($(RLINT_PATH),)
|
||||
$(ORCA) $(RLINT_PATH) $@
|
||||
endif
|
||||
|
||||
$(GENDIR)/Teach/%: %.md
|
||||
$(MKDIR) "$(GENDIR)/Teach"
|
||||
$(ORCA) make/md2teach "$<" "$@"
|
||||
|
||||
$(OBJS): Makefile
|
||||
|
||||
|
|
Binary file not shown.
|
@ -3,7 +3,6 @@
|
|||
<title>Apple IIgs XCode Template</title>
|
||||
<pkg-ref id="com.halcyontouch.Apple2gsTemplate.pkg"/>
|
||||
<options customize="never" require-scripts="false"/>
|
||||
<domains enable_currentUserHome="true"/>
|
||||
<choices-outline>
|
||||
<line choice="default">
|
||||
<line choice="com.halcyontouch.Apple2gsTemplate.pkg"/>
|
||||
|
|
|
@ -165,6 +165,77 @@
|
|||
<string>true</string>
|
||||
<key>version</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
<key>Xcode.FileDataType.merlin.Assembly</key>
|
||||
<dict>
|
||||
<key>id</key>
|
||||
<string>Xcode.FileDataType.merlin.Assembly</string>
|
||||
<key>localizedDescription</key>
|
||||
<string>Merlin Assembly Source</string>
|
||||
<key>name</key>
|
||||
<string>File type for Merlin assembly</string>
|
||||
<key>point</key>
|
||||
<string>Xcode.FileDataType</string>
|
||||
<key>typeConformedTo</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>typeIdentifier</key>
|
||||
<string>public.assembly-source</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>typeIdentifier</key>
|
||||
<string>com.rand-family.xcode.merlin</string>
|
||||
<key>version</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
<key>Xcode.FileDataTypeDetector.merlin.Assembly</key>
|
||||
<dict>
|
||||
<key>detectedTypeIdentifier</key>
|
||||
<string>com.rand-family.xcode.merlin</string>
|
||||
<key>id</key>
|
||||
<string>Xcode.FileDataTypeDetector.merlin.Assembly</string>
|
||||
<key>matchesExtension</key>
|
||||
<string>s</string>
|
||||
<key>point</key>
|
||||
<string>Xcode.FileDataTypeDetector</string>
|
||||
</dict>
|
||||
<key>Xcode.SourceCodeLanguage.merlin-Assembly</key>
|
||||
<dict>
|
||||
<key>commentSyntax</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>prefix</key>
|
||||
<string>;</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>conformsTo</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>identifier</key>
|
||||
<string>Xcode.SourceCodeLanguage.Generic</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>fileDataType</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>identifier</key>
|
||||
<string>com.rand-family.xcode.merlin</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>id</key>
|
||||
<string>Xcode.SourceCodeLanguage.merlin-Assembly</string>
|
||||
<key>languageName</key>
|
||||
<string>Merlin Assembly</string>
|
||||
<key>languageSpecification</key>
|
||||
<string>xcode.lang.asm.merlin</string>
|
||||
<key>name</key>
|
||||
<string>Merlin Assembly</string>
|
||||
<key>point</key>
|
||||
<string>Xcode.SourceCodeLanguage</string>
|
||||
<key>supportsIndentation</key>
|
||||
<string>true</string>
|
||||
<key>version</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,19 +0,0 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
|
||||
|
||||
#define CDEV_RESOURCE 0x1
|
||||
#define MAIN_RESOURCE 0x100
|
||||
#define HELP_RESOURCE 0x101
|
||||
|
||||
|
||||
#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
|
|
@ -1,123 +0,0 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <orca.h>
|
||||
#include <Event.h>
|
||||
#include <Menu.h>
|
||||
#include <QuickDraw.h>
|
||||
#include <Window.h>
|
||||
#include <Desk.h>
|
||||
#include <Resources.h>
|
||||
|
||||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
BOOLEAN done;
|
||||
EventRecord myEvent;
|
||||
|
||||
|
||||
void DoAbout(void)
|
||||
{
|
||||
AlertWindow(awCString + awResource, NULL, aboutAlertString);
|
||||
}
|
||||
|
||||
|
||||
GrafPortPtr NewDocument(void)
|
||||
{
|
||||
return(NewWindow2("\pMyWindow", 0, NULL, NULL, 0x02, windowRes, rWindParam1));
|
||||
}
|
||||
|
||||
|
||||
void CloseDocument(GrafPortPtr wPtr)
|
||||
{
|
||||
if (wPtr != NULL) {
|
||||
CloseWindow(wPtr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void HandleMenu(void)
|
||||
{
|
||||
int menuNum;
|
||||
int menuItemNum;
|
||||
|
||||
menuNum = myEvent.wmTaskData >> 16;
|
||||
menuItemNum = myEvent.wmTaskData;
|
||||
|
||||
switch (menuItemNum) {
|
||||
case appleAbout:
|
||||
DoAbout();
|
||||
break;
|
||||
case fileNew:
|
||||
NewDocument();
|
||||
break;
|
||||
case fileOpen:
|
||||
NewDocument();
|
||||
break;
|
||||
case fileClose:
|
||||
CloseDocument(FrontWindow());
|
||||
break;
|
||||
case fileQuit:
|
||||
done = TRUE;
|
||||
break;
|
||||
case editUndo:
|
||||
break;
|
||||
case editCut:
|
||||
break;
|
||||
case editCopy:
|
||||
break;
|
||||
case editPaste:
|
||||
break;
|
||||
case editClear:
|
||||
break;
|
||||
}
|
||||
HiliteMenu(FALSE, menuNum);
|
||||
}
|
||||
|
||||
|
||||
void InitMenus(void)
|
||||
{
|
||||
int height;
|
||||
MenuBarRecHndl menuBarHand;
|
||||
|
||||
menuBarHand = NewMenuBar2(refIsResource, menuBar, NULL);
|
||||
SetSysBar(menuBarHand);
|
||||
SetMenuBar(NULL);
|
||||
FixAppleMenu(appleMenu);
|
||||
height = FixMenuBar();
|
||||
DrawMenuBar();
|
||||
}
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int event;
|
||||
|
||||
startdesk(640);
|
||||
InitMenus();
|
||||
InitCursor();
|
||||
|
||||
done = FALSE;
|
||||
myEvent.wmTaskMask = 0x001F7FFF;
|
||||
while (!done) {
|
||||
event = TaskMaster(everyEvent, &myEvent);
|
||||
switch (event) {
|
||||
case wInSpecial:
|
||||
case wInMenuBar:
|
||||
HandleMenu();
|
||||
break;
|
||||
case wInGoAway:
|
||||
CloseDocument((GrafPortPtr)myEvent.wmTaskData);
|
||||
break;
|
||||
}
|
||||
}
|
||||
enddesk();
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
|
||||
|
||||
#define menuBar 1
|
||||
|
||||
#define appleMenu 3
|
||||
#define fileMenu 4
|
||||
#define editMenu 5
|
||||
|
||||
#define editUndo 250
|
||||
#define editCut 251
|
||||
#define editCopy 252
|
||||
#define editPaste 253
|
||||
#define editClear 254
|
||||
|
||||
#define fileNew 401
|
||||
#define fileOpen 402
|
||||
#define fileClose 255
|
||||
#define fileQuit 256
|
||||
|
||||
#define appleAbout 301
|
||||
|
||||
#define aboutAlertString 1
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
|
||||
#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
|
|
@ -1,19 +0,0 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
|
||||
|
||||
#define linedColors 1
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
|
||||
#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
|
259
pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
259
pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,259 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>linkscript.s</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/merlin-asm</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>linkscript.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>linkscript.s</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/merlin-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/merlin-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsMerlinCDA</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs Merlin code project to build a classic desk accessory. The project starts with a single assembly file which you can modify. You can also add more assembly files as you may like.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -61,7 +61,19 @@
|
|||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___"
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
18
pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/linkscript.s
vendored
Normal file
18
pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/linkscript.s
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
dsk ___PROJECTNAME___
|
||||
typ $B9
|
||||
xpl
|
||||
|
||||
asm main.s
|
||||
ds 0
|
||||
knd #$1100
|
||||
ali None
|
||||
LNA ___PROJECTNAME___.CDA
|
||||
sna main
|
|
@ -0,0 +1,93 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
]XCODESTART ; Keep this at the start and put your code after this
|
||||
|
||||
mx %00
|
||||
|
||||
use 4/Util.Macs
|
||||
use 4/Text.Macs
|
||||
|
||||
str '___PROJECTNAME___'
|
||||
adrl startCda
|
||||
adrl shutdownCda
|
||||
|
||||
startCda
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
pha
|
||||
pha
|
||||
pha
|
||||
_GetInputDevice
|
||||
|
||||
pha
|
||||
pha
|
||||
_GetInGlobals
|
||||
|
||||
pha
|
||||
pha
|
||||
pha
|
||||
_GetOutputDevice
|
||||
|
||||
pha
|
||||
pha
|
||||
_GetOutGlobals
|
||||
|
||||
PushLong #0
|
||||
PushWord #3
|
||||
_SetInputDevice
|
||||
|
||||
PushWord #$7f
|
||||
PushWord #0
|
||||
_SetInGlobals
|
||||
|
||||
PushLong #0
|
||||
PushWord #3
|
||||
_SetOutputDevice
|
||||
|
||||
PushWord #$ff
|
||||
PushWord #$80
|
||||
_SetOutGlobals
|
||||
|
||||
PushWord #0
|
||||
_InitTextDev
|
||||
|
||||
PushWord #1
|
||||
_InitTextDev
|
||||
|
||||
PushWord #$0c
|
||||
_WriteChar
|
||||
|
||||
PushLong #message
|
||||
_WriteCString
|
||||
|
||||
pha
|
||||
PushWord #0
|
||||
_ReadChar
|
||||
pla
|
||||
|
||||
_SetOutGlobals
|
||||
_SetOutputDevice
|
||||
_SetInGlobals
|
||||
_SetInputDevice
|
||||
~InitTextDev #0
|
||||
~InitTextDev #1
|
||||
|
||||
plb
|
||||
rtl
|
||||
|
||||
shutdownCda
|
||||
rtl
|
||||
|
||||
|
||||
message
|
||||
asc 'Hello, world!',0d,0d,' Press ENTER to quit...',00
|
||||
|
||||
]XCODEEND ; Keep this at the end and put your code above this
|
265
pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist
vendored
Normal file
265
pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,265 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>linkscript.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/merlin-asm</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>linkscript.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>linkscript.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/merlin-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/merlin-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsMerlinCDev</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs Merlin 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 files as you may like.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -61,7 +61,19 @@
|
|||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___"
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
|
@ -0,0 +1,18 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
dsk ___PROJECTNAME___
|
||||
typ $BC
|
||||
xpl
|
||||
|
||||
asm main.s
|
||||
ds 0
|
||||
knd #$1100
|
||||
ali None
|
||||
LNA ___PROJECTNAME___.CDEV
|
||||
sna main
|
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
|
||||
|
||||
#define CDEV_RESOURCE 0x1
|
||||
#define MAIN_RESOURCE 0x100
|
||||
#define HELP_RESOURCE 0x101
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
/* 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___",
|
||||
"0.1"
|
||||
};
|
||||
|
||||
|
||||
/* Code resource; the executable part of the CDev */
|
||||
read rCDevCode (CDEV_RESOURCE,convert) BINTARGET;
|
||||
|
||||
|
||||
/* 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."
|
||||
};
|
||||
|
|
@ -0,0 +1,247 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
|
||||
]XCODESTART ; Keep this at the start and put your code after this
|
||||
|
||||
mx %00
|
||||
|
||||
use 4/Util.Macs
|
||||
use 4/Ctl.Macs
|
||||
|
||||
* Resource numbers
|
||||
cdevResource = $1
|
||||
mainResource = $100
|
||||
helpResource = $101
|
||||
|
||||
* CDEV Message Numbers
|
||||
machineCDev = 1
|
||||
bootCDev = 2
|
||||
reservedCDev = 3
|
||||
initCDev = 4
|
||||
closeCDev = 5
|
||||
eventsCDev = 6
|
||||
createCDev = 7
|
||||
aboutCDev = 8
|
||||
rectCDev = 9
|
||||
hitCDev = 10
|
||||
runCDev = 11
|
||||
editCDev = 12
|
||||
|
||||
* Edit menu actions
|
||||
undoAction = 5
|
||||
cutAction = 6
|
||||
copyAction = 7
|
||||
pasteAction = 8
|
||||
clearAction = 9
|
||||
|
||||
* Offsets in direct page from the stack
|
||||
message = $0c
|
||||
data1 = $08
|
||||
data2 = $04
|
||||
|
||||
main
|
||||
tsc
|
||||
phd
|
||||
tcd
|
||||
lda message
|
||||
cmp #machineCDev
|
||||
bne notMachine
|
||||
* Return zero if you cannot be opened on this machine
|
||||
* (and maybe display an alert explaining why).
|
||||
lda $02
|
||||
sta $0c
|
||||
lda $01
|
||||
sta $0b
|
||||
pld
|
||||
tsc
|
||||
clc
|
||||
adc #$a
|
||||
tcs
|
||||
lda #$1
|
||||
rtl
|
||||
|
||||
notMachine
|
||||
cmp #bootCDev
|
||||
bne notBoot
|
||||
jsl doBoot
|
||||
bra done
|
||||
|
||||
notBoot
|
||||
cmp #initCDev
|
||||
bne notInit
|
||||
jsl doInit
|
||||
bra done
|
||||
|
||||
notInit
|
||||
cmp #closeCDev
|
||||
bne notClose
|
||||
jsl doClose
|
||||
bra done
|
||||
|
||||
notClose
|
||||
cmp #eventsCDev
|
||||
bne notEvents
|
||||
jsl doEvents
|
||||
bra done
|
||||
|
||||
notEvents
|
||||
cmp #createCDev
|
||||
bne notCreate
|
||||
jsl doCreate
|
||||
bra done
|
||||
|
||||
notCreate
|
||||
cmp #aboutCDev
|
||||
bne notAbout
|
||||
jsl doAbout
|
||||
bra done
|
||||
|
||||
notAbout
|
||||
cmp #rectCDev
|
||||
bne notRect
|
||||
jsl doRect
|
||||
bra done
|
||||
|
||||
notRect
|
||||
cmp #hitCDev
|
||||
bne notHit
|
||||
jsl doHit
|
||||
bra done
|
||||
|
||||
notHit
|
||||
cmp #runCDev
|
||||
bne notRun
|
||||
jsl doRun
|
||||
bra done
|
||||
|
||||
notRun
|
||||
cmp #editCDev
|
||||
bne notEdit
|
||||
jsl doEdit
|
||||
bra done
|
||||
|
||||
notEdit
|
||||
|
||||
done
|
||||
lda $02
|
||||
sta $0c
|
||||
lda $01
|
||||
sta $0b
|
||||
pld
|
||||
tsc
|
||||
clc
|
||||
adc #$a
|
||||
tcs
|
||||
lda #$1
|
||||
rtl
|
||||
|
||||
doBoot
|
||||
* 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
|
||||
* data1 is a pointer to the grafport.
|
||||
rtl
|
||||
|
||||
|
||||
doClose
|
||||
* data1 is a pointer to the grafport.
|
||||
rtl
|
||||
|
||||
|
||||
doEvents
|
||||
* data1 is a pointer to the event record.
|
||||
* data2 is a pointer to the grafport.
|
||||
rtl
|
||||
|
||||
|
||||
doCreate
|
||||
* data1 is a pointer to the grafport.
|
||||
pha
|
||||
pha
|
||||
PushLong data1
|
||||
PushWord #9
|
||||
PushLong #mainResource
|
||||
_NewControl2
|
||||
pla
|
||||
pla
|
||||
rtl
|
||||
|
||||
|
||||
doAbout
|
||||
* data1 is a pointer to the grafport.
|
||||
pha
|
||||
pha
|
||||
PushLong data1
|
||||
PushWord #9
|
||||
PushLong #helpResource
|
||||
_NewControl2
|
||||
pla
|
||||
pla
|
||||
rtl
|
||||
|
||||
|
||||
doRect
|
||||
* data1 is a pointer to the grafport.
|
||||
rtl
|
||||
|
||||
|
||||
doHit
|
||||
* data1 is a handle to the control which was hit
|
||||
* data2 is the controlID of the control which was hit
|
||||
rtl
|
||||
|
||||
|
||||
doRun
|
||||
* data1 is a pointer to the grafport.
|
||||
rtl
|
||||
|
||||
|
||||
doEdit
|
||||
* 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
|
||||
cmp #cutAction
|
||||
bne notCut
|
||||
* Handle cut here
|
||||
bra doneEdit
|
||||
|
||||
notCut
|
||||
cmp #copyAction
|
||||
bne notCopy
|
||||
* Handle copy here
|
||||
bra doneEdit
|
||||
|
||||
notCopy
|
||||
cmp #pasteAction
|
||||
bne notPaste
|
||||
* Handle paste here
|
||||
bra doneEdit
|
||||
|
||||
notPaste
|
||||
cmp #clearAction
|
||||
bne notClear
|
||||
* Handle clear here
|
||||
bra doneEdit
|
||||
|
||||
notClear
|
||||
|
||||
doneEdit
|
||||
rtl
|
||||
|
||||
]XCODEEND ; Keep this at the end and put your code above this
|
283
pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
283
pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,283 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>linkscript.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/merlin-asm</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>linkscript.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>linkscript.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/merlin-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/merlin-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsMerlinDesktopApp</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs Merlin code project to build desktop application. The project starts with a single assembly file which you can modify. You can also add more assembly files as you may like.</string>
|
||||
<key>Options</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
<string>RESOLUTIONMODE</string>
|
||||
<key>Name</key>
|
||||
<string>Desktop Resolution</string>
|
||||
<key>Description</key>
|
||||
<string>Specify 640x200 or 320x200 resolution desktop enviroment.</string>
|
||||
<key>Type</key>
|
||||
<string>popup</string>
|
||||
<key>Default</key>
|
||||
<string>640</string>
|
||||
<key>Values</key>
|
||||
<array>
|
||||
<string>640</string>
|
||||
<string>320</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -61,7 +61,19 @@
|
|||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___"
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
|
@ -0,0 +1,18 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
dsk ___PROJECTNAME___
|
||||
typ $B9
|
||||
xpl
|
||||
|
||||
asm main.s
|
||||
ds 0
|
||||
knd #$1100
|
||||
ali None
|
||||
LNA ___PROJECTNAME___.S16
|
||||
sna main
|
|
@ -8,7 +8,46 @@
|
|||
|
||||
|
||||
#include "types.rez"
|
||||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
#define menuBar 1
|
||||
|
||||
#define appleMenu 3
|
||||
#define fileMenu 4
|
||||
#define editMenu 5
|
||||
|
||||
#define editUndo 250
|
||||
#define editCut 251
|
||||
#define editCopy 252
|
||||
#define editPaste 253
|
||||
#define editClear 254
|
||||
|
||||
#define fileNew 401
|
||||
#define fileOpen 402
|
||||
#define fileClose 255
|
||||
#define fileQuit 256
|
||||
|
||||
#define appleAbout 301
|
||||
|
||||
#define aboutAlertString 1
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
#define toolStartup 1
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
resource rMenuBar (menuBar) {
|
||||
|
@ -176,32 +215,78 @@ resource rPString (appleAbout, noCrossBank) {"About ___PROJECTNAME___..."};
|
|||
|
||||
|
||||
resource rAlertString (aboutAlertString) {
|
||||
"43/"
|
||||
"0" /* Custom size */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$10\$00" /* Left X coordinate at 16 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$30\$01" /* Right X coordinate at 304 */
|
||||
#else
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$90\$00" /* Left X coordinate at 144 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$F0\$01" /* Right X coordinate at 496 */
|
||||
#endif
|
||||
"3/"
|
||||
"___PROJECTNAME___\n"
|
||||
" by ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"Contains libraries from ORCA C,\n"
|
||||
"Copyright 1991, Byte Works Inc."
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"\n"
|
||||
""
|
||||
"/^#0\$00";
|
||||
};
|
||||
|
||||
|
||||
resource rWindParam1 (windowRes) {
|
||||
$DDA5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0, 0, 0, 0}, /* ZoomRect */
|
||||
nil, /* wColor ID */
|
||||
{0, 0}, /* Origin */
|
||||
{1, 1}, /* data size */
|
||||
{0, 0}, /* max height-width */
|
||||
{8, 8}, /* scroll ver hors */
|
||||
{0, 0}, /* page ver horiz */
|
||||
0, /* winfoRefCon */
|
||||
10, /* wInfoHeight */
|
||||
{30, 10, 183, 602}, /* wposition */
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0000 /* wInVerb */
|
||||
$DDA5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0, 0, 0, 0}, /* ZoomRect */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0, 0}, /* Origin */
|
||||
{1, 1}, /* data size */
|
||||
{0, 0}, /* max height-width */
|
||||
{8, 8}, /* scroll ver hors */
|
||||
{0, 0}, /* page ver horiz */
|
||||
0, /* winfoRefCon */
|
||||
10, /* wInfoHeight */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
{30, 10, 183, 300}, /* wposition */
|
||||
#else
|
||||
{30, 10, 183, 602}, /* wposition */
|
||||
#endif
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0800 /* wInVerb */
|
||||
};
|
||||
|
||||
|
||||
resource rToolStartup (toolStartup) {
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
mode320,
|
||||
#else
|
||||
mode640,
|
||||
#endif
|
||||
{
|
||||
3,$0100, /* Misc Tool */
|
||||
4,$0100, /* Quickdraw */
|
||||
5,$0100, /* Desk Manager */
|
||||
6,$0100, /* Event Manager */
|
||||
11,$0100, /* Int Math */
|
||||
14,$0300, /* Window Manager */
|
||||
15,$0300, /* Menu Manager */
|
||||
16,$0300, /* Control Manager */
|
||||
18,$0200, /* QD Aux */
|
||||
19,$0100, /* Print Manager */
|
||||
20,$0100, /* LineEdit Tool */
|
||||
21,$0100, /* Dialog Manager */
|
||||
22,$0100, /* Scrap Manager */
|
||||
23,$0100, /* Standard File */
|
||||
27,$0100, /* Font Manager */
|
||||
28,$0100, /* List Manager */
|
||||
30,$0100, /* Resource Manager */
|
||||
34,$0100 /* TextEdit */
|
||||
}
|
||||
};
|
|
@ -0,0 +1,281 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
|
||||
]XCODESTART ; Keep this at the start and put your code after this
|
||||
|
||||
mx %00
|
||||
|
||||
use 4/Util.Macs
|
||||
use 4/Mem.Macs
|
||||
use 4/Locator.Macs
|
||||
use 4/Qd.Macs
|
||||
use 4/Window.Macs
|
||||
use 4/Menu.Macs
|
||||
use 4/Desk.Macs
|
||||
use 4/Dos.16.Macs
|
||||
|
||||
menuBar = 1
|
||||
|
||||
appleMenu = 3
|
||||
fileMenu = 4
|
||||
editMenu = 5
|
||||
|
||||
editUndo = 250
|
||||
editCut = 251
|
||||
editCopy = 252
|
||||
editPaste = 253
|
||||
editClear = 254
|
||||
|
||||
fileNew = 401
|
||||
fileOpen = 402
|
||||
fileClose = 255
|
||||
fileQuit = 256
|
||||
|
||||
appleAbout = 301
|
||||
|
||||
aboutAlertString = 1
|
||||
|
||||
windowRes = 1001
|
||||
|
||||
toolStartup = 1
|
||||
|
||||
refIsHandle = 1
|
||||
refIsResource = 2
|
||||
|
||||
wInMenuBar = $11
|
||||
wInGoAway = $16
|
||||
wInSpecial = $19
|
||||
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
pha
|
||||
_MMStartUp
|
||||
PullWord userid
|
||||
|
||||
_TLStartUp
|
||||
|
||||
pha
|
||||
pha
|
||||
PushWord userid
|
||||
PushWord #refIsResource
|
||||
PushLong #toolStartup
|
||||
_StartUpTools
|
||||
PullLong toolStartupRef
|
||||
|
||||
jsl InitMenus
|
||||
_InitCursor
|
||||
|
||||
loop
|
||||
pha
|
||||
PushWord #$ffff
|
||||
PushLong #eventRec
|
||||
_TaskMaster
|
||||
pla
|
||||
|
||||
cmp #wInMenuBar
|
||||
bne notInMenuBar
|
||||
jsl HandleMenu
|
||||
bra loop
|
||||
|
||||
notInMenuBar
|
||||
cmp #wInSpecial
|
||||
bne notInSpecial
|
||||
jsl HandleMenu
|
||||
bra loop
|
||||
|
||||
notInSpecial
|
||||
cmp #wInGoAway
|
||||
bne notInGoAway
|
||||
* Put the low word of the grafport pointer to close in X and the high word in Y
|
||||
ldx wmTaskData
|
||||
ldy wmTaskData+2
|
||||
jsl CloseDocument
|
||||
|
||||
notInGoAway
|
||||
bra loop
|
||||
|
||||
|
||||
InitMenus
|
||||
|
||||
pha
|
||||
pha
|
||||
PushWord #refIsResource
|
||||
PushLong #menuBar
|
||||
PushLong #0
|
||||
_NewMenuBar2
|
||||
_SetSysBar
|
||||
PushLong #0
|
||||
_SetMenuBar
|
||||
PushWord #appleMenu
|
||||
_FixAppleMenu
|
||||
|
||||
pha
|
||||
_FixMenuBar
|
||||
pla
|
||||
|
||||
_DrawMenuBar
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
HandleMenu
|
||||
; The low word of the wmTaskData has the menu item number
|
||||
lda wmTaskData
|
||||
|
||||
cmp #appleAbout
|
||||
bne notAbout
|
||||
jsl DoAbout
|
||||
bra menuDone
|
||||
|
||||
notAbout
|
||||
cmp #fileNew
|
||||
bne notNew
|
||||
jsl NewDocument
|
||||
bra menuDone
|
||||
|
||||
notNew
|
||||
cmp #fileOpen
|
||||
bne notOpen
|
||||
jsl NewDocument
|
||||
bra menuDone
|
||||
|
||||
notOpen
|
||||
cmp #fileClose
|
||||
bne notClose
|
||||
pha
|
||||
pha
|
||||
_FrontWindow
|
||||
plx
|
||||
ply
|
||||
jsl CloseDocument
|
||||
bra menuDone
|
||||
|
||||
notClose
|
||||
cmp #fileQuit
|
||||
bne notQuit
|
||||
jsl DoQuit
|
||||
bra menuDone
|
||||
|
||||
notQuit
|
||||
cmp #editUndo
|
||||
bne notUndo
|
||||
* Handle undo here
|
||||
bra menuDone
|
||||
|
||||
notUndo
|
||||
cmp #editCut
|
||||
bne notCut
|
||||
* Handle cut here
|
||||
bra menuDone
|
||||
|
||||
notCut
|
||||
cmp #editCopy
|
||||
bne notCopy
|
||||
* Handle copy here
|
||||
bra menuDone
|
||||
|
||||
notCopy
|
||||
cmp #editPaste
|
||||
bne notPaste
|
||||
* Handle paste here
|
||||
bra menuDone
|
||||
|
||||
notPaste
|
||||
cmp #editClear
|
||||
bne notClear
|
||||
* Handle clear here
|
||||
bra menuDone
|
||||
|
||||
notClear
|
||||
menuDone
|
||||
PushWord #0
|
||||
PushWord wmTaskData+2
|
||||
_HiliteMenu
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
CloseDocument
|
||||
* X has the low word of the grafport pointer, Y has the high word
|
||||
phy
|
||||
phx
|
||||
_CloseWindow
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
NewDocument
|
||||
pha
|
||||
pha
|
||||
PushLong #winName
|
||||
PushLong #0
|
||||
PushLong #0
|
||||
PushLong #0
|
||||
PushWord #2
|
||||
PushLong #windowRes
|
||||
PushWord #$800E
|
||||
_NewWindow2
|
||||
pla
|
||||
pla
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
DoAbout
|
||||
pha
|
||||
PushWord #4
|
||||
PushLong #0
|
||||
PushLong #aboutAlertString
|
||||
_AlertWindow
|
||||
pla
|
||||
rtl
|
||||
|
||||
|
||||
DoQuit
|
||||
PushWord #refIsHandle
|
||||
PushLong toolStartupRef
|
||||
_ShutDownTools
|
||||
_TLShutDown
|
||||
PushWord userid
|
||||
_MMShutDown
|
||||
|
||||
plb
|
||||
|
||||
_QUIT quitDCB
|
||||
rtl
|
||||
|
||||
* Global data
|
||||
|
||||
userid dw 0
|
||||
toolStartupRef adrl 0
|
||||
winName str 'MyWindow'
|
||||
|
||||
eventRec
|
||||
what dw 0
|
||||
message adrl 0
|
||||
when adrl 0
|
||||
where_vert dw 0
|
||||
where_horiz dw 0
|
||||
modifiers dw 0
|
||||
wmTaskData adrl 0
|
||||
wmTaskMask adrl $001f7fff
|
||||
wmLastClickTick adrl 0
|
||||
wmClickCount dw 0
|
||||
wmTaskData2 adrl 0
|
||||
wmTaskData3 adrl 0
|
||||
wmTaskData4 adrl 0
|
||||
wmLastClickPt_vert dw 0
|
||||
wmLastClickPt_horiz dw 0
|
||||
|
||||
* Used by doQuit
|
||||
quitDCB dw 0
|
||||
|
||||
]XCODEEND ; Keep this at the end and put your code above this
|
265
pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
265
pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,265 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>linkscript.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/merlin-asm</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>linkscript.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>linkscript.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/merlin-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/merlin-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsMerlinNDA</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs Merlin code project to build a new desktop accessory. The project starts with a single assembly file which you can modify. You can also add more assembly files as you may like.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,18 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
dsk ___PROJECTNAME___
|
||||
typ $B8
|
||||
xpl
|
||||
|
||||
asm main.s
|
||||
ds 0
|
||||
knd #$1100
|
||||
ali None
|
||||
LNA ___PROJECTNAME___.NDA
|
||||
sna main
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
resource rWindParam1 (windowRes) {
|
||||
$C0A5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0,0,0,0}, /* ZoomRect */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0,0}, /* Origin */
|
||||
{0,0}, /* data size */
|
||||
{0,0}, /* max height-width */
|
||||
{0,0}, /* scroll ver hors */
|
||||
{0,0}, /* page ver horiz */
|
||||
0, /* winfoRefcon */
|
||||
0, /* wInfoHeight */
|
||||
{50,50,62,200}, /* wposition */
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0800 /* wInVerb */
|
||||
};
|
|
@ -0,0 +1,345 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
|
||||
]XCODESTART ; Keep this at the start and put your code after this
|
||||
|
||||
mx %00
|
||||
|
||||
use 4/Util.Macs
|
||||
use 4/Mem.Macs
|
||||
use 4/Qd.Macs
|
||||
use 4/Window.Macs
|
||||
use 4/Desk.Macs
|
||||
use 4/Resource.Macs
|
||||
use 4/GsOs.Macs
|
||||
|
||||
windowRes = 1001
|
||||
|
||||
eventAction = $0001
|
||||
runAction = $0002
|
||||
cursorAction = $0003
|
||||
undoAction = $0005
|
||||
cutAction = $0006
|
||||
copyAction = $0007
|
||||
pasteAction = $0008
|
||||
clearAction = $0009
|
||||
|
||||
updateEvt = $0006
|
||||
wInControl = $0021
|
||||
keyDownEvt = $0003
|
||||
autoKeyEvt = $0005
|
||||
|
||||
setSysPrefs = $0c
|
||||
getSysPrefs = $0f
|
||||
setLevel = $1a
|
||||
getLevel = $1b
|
||||
|
||||
|
||||
adrl NDAOpen
|
||||
adrl NDAClose
|
||||
adrl NDAAction
|
||||
adrl NDAInit
|
||||
dw $ffff
|
||||
dw $03ff
|
||||
asc ' ___PACKAGENAME___ \H**'
|
||||
dw $0
|
||||
|
||||
|
||||
NDAOpen
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
lda ndaActive
|
||||
beq doOpen
|
||||
plb
|
||||
rtl
|
||||
|
||||
doOpen
|
||||
iGSOS getLevel;levelDCB;1
|
||||
lda level
|
||||
sta oldLevel
|
||||
stz level
|
||||
iGSOS setLevel;levelDCB;1
|
||||
|
||||
iGSOS getSysPrefs;prefsDCB;1
|
||||
lda prefs
|
||||
sta oldPrefs
|
||||
and #$1fff
|
||||
ora #$8000
|
||||
sta prefs
|
||||
iGSOS setSysPrefs;prefsDCB;1
|
||||
|
||||
pha
|
||||
PushWord #1
|
||||
lda userId
|
||||
pha
|
||||
_OpenResourceFileByID
|
||||
PullWord oldResApp
|
||||
|
||||
pha
|
||||
pha
|
||||
PushLong #winName
|
||||
PushLong #0
|
||||
PushLong #DrawContents
|
||||
PushLong #0
|
||||
PushWord #2
|
||||
PushLong #windowRes
|
||||
PushWord #$800E
|
||||
_NewWindow2
|
||||
PullLong winPtr
|
||||
|
||||
PushLong winPtr
|
||||
_SetSysWindow
|
||||
PushLong winPtr
|
||||
_ShowWindow
|
||||
PushLong winPtr
|
||||
_SelectWindow
|
||||
|
||||
lda #1
|
||||
sta ndaActive
|
||||
|
||||
lda oldPrefs
|
||||
sta prefs
|
||||
iGSOS setSysPrefs;prefsDCB;1
|
||||
lda oldLevel
|
||||
sta level
|
||||
iGSOS setLevel;levelDCB;1
|
||||
|
||||
PushWord oldResApp
|
||||
_SetCurResourceApp
|
||||
|
||||
lda winPtr
|
||||
sta 5,S
|
||||
lda winPtr+2
|
||||
sta 7,S
|
||||
|
||||
plb
|
||||
|
||||
rtl
|
||||
|
||||
DrawContents
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
_PenNormal
|
||||
PushWord #7
|
||||
PushWord #10
|
||||
_MoveTo
|
||||
PushLong #messageStr
|
||||
_DrawString
|
||||
|
||||
plb
|
||||
|
||||
rtl
|
||||
|
||||
NDAClose
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
lda ndaActive
|
||||
beq closeNotActive
|
||||
|
||||
PushLong winPtr
|
||||
_CloseWindow
|
||||
|
||||
stz winPtr
|
||||
stz winPtr+2
|
||||
stz ndaActive
|
||||
|
||||
closeNotActive
|
||||
_ResourceShutDown
|
||||
|
||||
plb
|
||||
rtl
|
||||
|
||||
NDAAction
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
cmp #eventAction
|
||||
bne notEvent
|
||||
jsl HandleEvent
|
||||
bra actionDone
|
||||
|
||||
notEvent
|
||||
cmp #runAction
|
||||
bne notRun
|
||||
jsl HandleRun
|
||||
bra actionDone
|
||||
|
||||
notRun
|
||||
cmp #cursorAction
|
||||
bne notCursor
|
||||
jsl HandleCursor
|
||||
bra actionDone
|
||||
|
||||
notCursor
|
||||
cmp #undoAction
|
||||
blt notEdit
|
||||
cmp #clearAction+1
|
||||
bge notEdit
|
||||
jsl HandleEdit
|
||||
lda #1
|
||||
bra actionDone
|
||||
|
||||
notEdit
|
||||
actionDone
|
||||
plb
|
||||
rtl
|
||||
|
||||
HandleEvent
|
||||
* The X register has the low 16 bits of the address of the event record.
|
||||
* We leave that there and use that in the memory move instruction to
|
||||
* copy that event record into our local event.
|
||||
*
|
||||
* The Y register has the high 16 bits of the address of the event record.
|
||||
* We need to get that into the upper 8 bits of the accumulator.
|
||||
tya
|
||||
xba
|
||||
* Now we need to or in the current bank register into the lower 8 bits
|
||||
* of the accumulator for the move instruction
|
||||
pea $0
|
||||
phb
|
||||
ora 1,S
|
||||
* We have the source and destination banks in the accumulator now. Modify
|
||||
* the move instruction to have these banks and clean up the stack.
|
||||
sta moveIns+1
|
||||
plb
|
||||
pla
|
||||
|
||||
* X is already setup for the move. We need the low 16 bits of the destination
|
||||
* in the Y register and the count of bytes to copy minus one in the accumulator.
|
||||
ldy #localEvent
|
||||
lda #15 ; Copy 16 bytes
|
||||
moveIns mvn 0,0
|
||||
|
||||
pha
|
||||
PushWord #0
|
||||
PushLong #localEvent
|
||||
_TaskMasterDA
|
||||
pla
|
||||
|
||||
cmp #updateEvt
|
||||
bne notUpdate
|
||||
PushLong winPtr
|
||||
_BeginUpdate
|
||||
jsl DrawContents
|
||||
PushLong winPtr
|
||||
_EndUpdate
|
||||
bra eventDone
|
||||
|
||||
notUpdate
|
||||
cmp #wInControl
|
||||
bne notControl
|
||||
jsl HandleControl
|
||||
bra eventDone
|
||||
|
||||
notControl
|
||||
cmp #keyDownEvt
|
||||
beq isKey
|
||||
cmp #autoKeyEvt
|
||||
beq isKey
|
||||
|
||||
eventDone
|
||||
rtl
|
||||
|
||||
isKey
|
||||
jsl HandleKey
|
||||
bra eventDone
|
||||
|
||||
|
||||
HandleControl
|
||||
* Add code here if you need to handle controls in your NDA window
|
||||
rtl
|
||||
|
||||
HandleKey
|
||||
* Add code here if you need to handle keypresses
|
||||
rtl
|
||||
|
||||
HandleRun
|
||||
* Add code here if you need to execute something periodically from your NDA
|
||||
rtl
|
||||
|
||||
HandleCursor
|
||||
* Add code here if you need to do something to the cursor when over the NDA window
|
||||
rtl
|
||||
|
||||
HandleEdit
|
||||
* Add code here to handle undo, cut, copy, paste or clear. The A register holds
|
||||
* the action code.
|
||||
rtl
|
||||
|
||||
NDAInit
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
cmp #$00
|
||||
beq toolShutdown
|
||||
|
||||
stz ndaActive
|
||||
|
||||
pha
|
||||
_MMStartUp
|
||||
pla
|
||||
sta userId
|
||||
|
||||
bra initReturn
|
||||
|
||||
toolShutdown
|
||||
lda ndaActive
|
||||
beq initReturn
|
||||
jsl NDAClose
|
||||
|
||||
initReturn
|
||||
plb
|
||||
rtl
|
||||
|
||||
* Global data
|
||||
|
||||
ndaActive dw 0
|
||||
winPtr adrl 0
|
||||
userId dw 0
|
||||
winName str ' ___PACKAGENAME___ '
|
||||
messageStr str 'Hello, world!'
|
||||
|
||||
* Used by NDAOpen to access resources
|
||||
oldResApp dw 0
|
||||
oldLevel dw 0
|
||||
oldPrefs dw 0
|
||||
|
||||
levelDCB dw 2 ; GSOS control block to get/set level
|
||||
level dw 0
|
||||
dw 0
|
||||
|
||||
prefsDCB dw 1 ; GSOS control block to get/set preferences
|
||||
prefs dw 0
|
||||
|
||||
* Used by HandleEvent
|
||||
localEvent
|
||||
what dw 0
|
||||
message adrl 0
|
||||
when adrl 0
|
||||
where_vert dw 0
|
||||
where_horiz dw 0
|
||||
modifiers dw 0
|
||||
wmTaskData adrl 0
|
||||
wmTaskMask adrl $001fffff
|
||||
wmLastClickTick adrl 0
|
||||
wmClickCount dw 0
|
||||
wmTaskData2 adrl 0
|
||||
wmTaskData3 adrl 0
|
||||
wmTaskData4 adrl 0
|
||||
wmLastClickPt_vert dw 0
|
||||
wmLastClickPt_horiz dw 0
|
||||
|
||||
]XCODEEND ; Keep this at the end and put your code above this
|
|
@ -10,13 +10,15 @@
|
|||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -53,6 +55,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -67,13 +76,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -88,6 +90,20 @@
|
|||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -156,49 +172,90 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -12,13 +12,15 @@
|
|||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -65,6 +67,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -79,13 +88,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -100,6 +102,20 @@
|
|||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -168,49 +184,90 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -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.
|
||||
*/
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
#define _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
|
||||
|
||||
#define CDEV_RESOURCE 0x1
|
||||
#define MAIN_RESOURCE 0x100
|
||||
#define HELP_RESOURCE 0x101
|
||||
|
||||
|
||||
#endif /* defined(_GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____) */
|
|
@ -12,6 +12,20 @@
|
|||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
/* 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 */
|
||||
|
@ -23,12 +37,12 @@ resource rCDEVFlags (CDEV_RESOURCE) {
|
|||
{0, 0, 110, 200},
|
||||
"___PROJECTNAME___",
|
||||
"___FULLUSERNAME___",
|
||||
"1.0"
|
||||
"0.1"
|
||||
};
|
||||
|
||||
|
||||
/* Code resource; the executable part of the CDev */
|
||||
read rCDevCode (CDEV_RESOURCE,convert) "___PROJECTNAME___.bin";
|
||||
read rCDevCode (CDEV_RESOURCE,convert) BINTARGET;
|
||||
|
||||
|
||||
/* This is the icon displayed by the control panel */
|
303
pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
303
pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.c</string>
|
||||
<string>main.h</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.c</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.c</string>
|
||||
</dict>
|
||||
<key>main.h</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.h</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-cc</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsCDesktopApp</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs C code project to build desktop application. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like.</string>
|
||||
<key>Options</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
<string>RESOLUTIONMODE</string>
|
||||
<key>Name</key>
|
||||
<string>Desktop Resolution</string>
|
||||
<key>Description</key>
|
||||
<string>Specify 640x200 or 320x200 resolution desktop enviroment.</string>
|
||||
<key>Type</key>
|
||||
<string>popup</string>
|
||||
<key>Default</key>
|
||||
<string>640</string>
|
||||
<key>Values</key>
|
||||
<array>
|
||||
<string>640</string>
|
||||
<string>320</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
<string>MESSAGECENTER</string>
|
||||
<key>Name</key>
|
||||
<string>Message Center</string>
|
||||
<key>Description</key>
|
||||
<string>Specify whether the application will support opening and printing files.</string>
|
||||
<key>Type</key>
|
||||
<string>checkbox</string>
|
||||
<key>Default</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,961 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <Memory.h>
|
||||
#include <Locator.h>
|
||||
#include <Event.h>
|
||||
#include <Menu.h>
|
||||
#include <QuickDraw.h>
|
||||
#include <Window.h>
|
||||
#include <Control.h>
|
||||
#include <TextEdit.h>
|
||||
#include <Desk.h>
|
||||
#include <Resources.h>
|
||||
#include <MiscTool.h>
|
||||
#include <STDFile.h>
|
||||
#include <GSOS.h>
|
||||
#include <Print.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
/* Defines and macros */
|
||||
|
||||
#define TOOLFAIL(string) \
|
||||
if (toolerror()) SysFailMgr(toolerror(), "\p" string "\n\r Error Code -> $");
|
||||
|
||||
#define MAX_DOCUMENT_NAME 80
|
||||
|
||||
#define PRINT_RECORD_SIZE 140
|
||||
|
||||
|
||||
/* Types */
|
||||
|
||||
typedef struct tDocument
|
||||
{
|
||||
struct tDocument * nextDocument;
|
||||
struct tDocument * prevDocument;
|
||||
GrafPortPtr wPtr;
|
||||
char documentName[MAX_DOCUMENT_NAME + 1];
|
||||
BOOLEAN isOnDisk;
|
||||
ResultBuf255Hndl pathName;
|
||||
PrRecHndl printRecordHandle;
|
||||
} tDocument;
|
||||
|
||||
|
||||
/* Globals */
|
||||
|
||||
BOOLEAN shouldQuit;
|
||||
EventRecord myEvent;
|
||||
unsigned int userid;
|
||||
tDocument * documentList;
|
||||
|
||||
|
||||
/* Forward declarations */
|
||||
|
||||
void doFileSave(void);
|
||||
|
||||
|
||||
/* Implementation */
|
||||
|
||||
const char * resourceString(int resourceId, const char * defaultValue)
|
||||
{
|
||||
Handle handle;
|
||||
const char *result = defaultValue;
|
||||
|
||||
handle = LoadResource(rCString, resourceId);
|
||||
if (toolerror() == 0) {
|
||||
HLock(handle);
|
||||
result = (const char *) (*handle);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
void freeResourceString(int resourceId)
|
||||
{
|
||||
ReleaseResource(-3, rCString, resourceId);
|
||||
}
|
||||
|
||||
|
||||
void showErrorAlert(int resourceId, int toolErrorCode)
|
||||
{
|
||||
char buffer[40] = "";
|
||||
const char *substArray[2];
|
||||
const char *toolErrorFormat;
|
||||
|
||||
if (toolErrorCode != 0) {
|
||||
toolErrorFormat = resourceString(TOOL_ERROR_STRING, "\n\nTool error code = $%04x");
|
||||
sprintf(buffer, toolErrorFormat, toolErrorCode);
|
||||
freeResourceString(TOOL_ERROR_STRING);
|
||||
}
|
||||
|
||||
substArray[0] = resourceString(resourceId, "Unknown error has occurred");
|
||||
substArray[1] = buffer;
|
||||
|
||||
AlertWindow(awCString + awResource, (Pointer) substArray, ERROR_ALERT_STRING);
|
||||
freeResourceString(resourceId);
|
||||
}
|
||||
|
||||
|
||||
tDocument * findDocumentFromWindow(GrafPortPtr wPtr)
|
||||
{
|
||||
tDocument * result = documentList;
|
||||
|
||||
while (result != NULL) {
|
||||
if (result->wPtr == wPtr)
|
||||
break;
|
||||
|
||||
result = result->nextDocument;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#pragma databank 1
|
||||
void drawContents(void)
|
||||
{
|
||||
DrawControls(GetPort());
|
||||
}
|
||||
#pragma databank 0
|
||||
|
||||
|
||||
const char * getUntitledName(void)
|
||||
{
|
||||
static int untitledNum = 1;
|
||||
static char buffer[MAX_DOCUMENT_NAME + 1];
|
||||
const char *untitledFormat = resourceString(UNTITLED_STRING, " Untitled %d ");
|
||||
|
||||
sprintf(buffer + 1, untitledFormat, untitledNum);
|
||||
buffer[0] = strlen(buffer + 1);
|
||||
|
||||
freeResourceString(UNTITLED_STRING);
|
||||
untitledNum++;
|
||||
|
||||
// Returns a Pascal string with a length byte prefix
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
const char * documentNameFromGSOSString(ResultBuf255Ptr gsosString)
|
||||
{
|
||||
static char buffer[MAX_DOCUMENT_NAME + 1];
|
||||
int nameLen = gsosString->bufString.length;
|
||||
|
||||
strcpy(buffer + 1, " ");
|
||||
nameLen = gsosString->bufString.length;
|
||||
if (nameLen > MAX_DOCUMENT_NAME - 5)
|
||||
nameLen = MAX_DOCUMENT_NAME - 5;
|
||||
strncat(buffer + 1, gsosString->bufString.text, nameLen);
|
||||
strcat(buffer + 1, " ");
|
||||
buffer[0] = strlen(buffer + 1);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
const char * documentNameFromPath(wStringPtr pathString)
|
||||
{
|
||||
static char buffer[MAX_DOCUMENT_NAME + 1];
|
||||
int nameLen = pathString->length;
|
||||
char * path = pathString->text;
|
||||
int lastSeparator = 0;
|
||||
int offset;
|
||||
|
||||
for (offset = 0; offset < nameLen; offset++) {
|
||||
if ((path[offset] == ':') ||
|
||||
(path[offset] == '/'))
|
||||
lastSeparator = offset + 1;
|
||||
}
|
||||
|
||||
path = &(path[lastSeparator]);
|
||||
nameLen -= lastSeparator;
|
||||
|
||||
strcpy(buffer + 1, " ");
|
||||
if (nameLen > MAX_DOCUMENT_NAME - 5)
|
||||
nameLen = MAX_DOCUMENT_NAME - 5;
|
||||
strncat(buffer + 1, path, nameLen);
|
||||
strcat(buffer + 1, " ");
|
||||
buffer[0] = strlen(buffer + 1);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
tDocument * newDocument(const char * windowName)
|
||||
{
|
||||
// windowName is a Pascal string with a length byte prefix
|
||||
tDocument * documentPtr;
|
||||
|
||||
documentPtr = malloc(sizeof(tDocument));
|
||||
if (documentPtr == NULL) {
|
||||
showErrorAlert(MALLOC_ERROR_STRING, 0);
|
||||
return(NULL);
|
||||
}
|
||||
documentPtr->printRecordHandle = (PrRecHndl) NewHandle(PRINT_RECORD_SIZE, userid, 0, NULL);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(MALLOC_ERROR_STRING, toolerror());
|
||||
free(documentPtr);
|
||||
return NULL;
|
||||
}
|
||||
PrDefault(documentPtr->printRecordHandle);
|
||||
|
||||
documentPtr->isOnDisk = FALSE;
|
||||
documentPtr->pathName = NULL;
|
||||
|
||||
documentPtr->documentName[0] = windowName[0];
|
||||
strncpy(documentPtr->documentName + 1, windowName + 1, windowName[0]);
|
||||
|
||||
documentPtr->wPtr = NewWindow2(documentPtr->documentName, 0, drawContents, NULL, refIsResource,
|
||||
WINDOW_RESID, rWindParam1);
|
||||
if (documentPtr->wPtr == NULL) {
|
||||
showErrorAlert(NEW_WINDOW_ERROR_STRING, toolerror());
|
||||
DisposeHandle((Handle)documentPtr->printRecordHandle);
|
||||
free(documentPtr);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
documentPtr->nextDocument = documentList;
|
||||
documentPtr->prevDocument = NULL;
|
||||
if (documentList != NULL)
|
||||
documentList->prevDocument = documentPtr;
|
||||
|
||||
documentList = documentPtr;
|
||||
|
||||
return documentPtr;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN isDocumentDirty(tDocument * documentPtr)
|
||||
{
|
||||
BOOLEAN isDirty = FALSE;
|
||||
CtlRecHndl controlHdl;
|
||||
CtlRec * controlPtr;
|
||||
|
||||
controlHdl = GetCtlHandleFromID(documentPtr->wPtr, CONTROL_TEXT_EDIT);
|
||||
if (toolerror() == 0) {
|
||||
HLock((Handle) controlHdl);
|
||||
controlPtr = *controlHdl;
|
||||
isDirty = ((controlPtr->ctlFlag & fRecordDirty) != 0);
|
||||
HUnlock((Handle) controlHdl);
|
||||
}
|
||||
return isDirty;
|
||||
}
|
||||
|
||||
|
||||
void clearDocumentDirty(tDocument * documentPtr)
|
||||
{
|
||||
CtlRecHndl controlHdl;
|
||||
CtlRec * controlPtr;
|
||||
|
||||
controlHdl = GetCtlHandleFromID(documentPtr->wPtr, CONTROL_TEXT_EDIT);
|
||||
if (toolerror() == 0) {
|
||||
HLock((Handle) controlHdl);
|
||||
controlPtr = *controlHdl;
|
||||
controlPtr->ctlFlag &= (~fRecordDirty);
|
||||
HUnlock((Handle) controlHdl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void saveDocument(tDocument * documentPtr)
|
||||
{
|
||||
RefNumRecGS closeRecord;
|
||||
CreateRecGS createRecord;
|
||||
NameRecGS destroyRecord;
|
||||
OpenRecGS openRecord;
|
||||
IORecGS writeRecord;
|
||||
|
||||
GrafPortPtr tmpPort;
|
||||
LongWord dataLength;
|
||||
Handle dataHandle;
|
||||
|
||||
tmpPort = GetPort();
|
||||
SetPort(documentPtr->wPtr);
|
||||
dataLength = TEGetText(teTextIsNewHandle | teDataIsCString, (Ref) &dataHandle, 0,
|
||||
0, (Ref) NULL, NULL);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(SAVE_FILE_ERROR_STRING, toolerror());
|
||||
SetPort(tmpPort);
|
||||
return;
|
||||
}
|
||||
|
||||
HLock((Handle) documentPtr->pathName);
|
||||
|
||||
destroyRecord.pCount = 1;
|
||||
destroyRecord.pathname = &((*(documentPtr->pathName))->bufString);
|
||||
DestroyGS(&destroyRecord);
|
||||
|
||||
createRecord.pCount = 5;
|
||||
createRecord.pathname = &((*(documentPtr->pathName))->bufString);
|
||||
createRecord.access = destroyEnable | renameEnable | readWriteEnable;
|
||||
createRecord.fileType = 0x04;
|
||||
createRecord.auxType = 0x0000;
|
||||
createRecord.storageType = 1;
|
||||
CreateGS(&createRecord);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(SAVE_FILE_ERROR_STRING, toolerror());
|
||||
} else {
|
||||
openRecord.pCount = 3;
|
||||
openRecord.pathname = &((*(documentPtr->pathName))->bufString);
|
||||
openRecord.requestAccess = writeEnable;
|
||||
OpenGS(&openRecord);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(SAVE_FILE_ERROR_STRING, toolerror());
|
||||
} else {
|
||||
HLock(dataHandle);
|
||||
|
||||
writeRecord.pCount = 4;
|
||||
writeRecord.refNum = openRecord.refNum;
|
||||
writeRecord.dataBuffer = *dataHandle;
|
||||
writeRecord.requestCount = dataLength;
|
||||
WriteGS(&writeRecord);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(SAVE_FILE_ERROR_STRING, toolerror());
|
||||
} else {
|
||||
documentPtr->isOnDisk = TRUE;
|
||||
clearDocumentDirty(documentPtr);
|
||||
}
|
||||
|
||||
HUnlock(dataHandle);
|
||||
|
||||
closeRecord.pCount = 1; /* close the file */
|
||||
closeRecord.refNum = openRecord.refNum;
|
||||
CloseGS(&closeRecord);
|
||||
}
|
||||
}
|
||||
|
||||
DisposeHandle(dataHandle);
|
||||
HUnlock((Handle) documentPtr->pathName);
|
||||
SetPort(tmpPort);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN loadDocument(tDocument * documentPtr)
|
||||
{
|
||||
BOOLEAN result = TRUE;
|
||||
|
||||
RefNumRecGS closeRecord;
|
||||
OpenRecGS openRecord;
|
||||
IORecGS readRecord;
|
||||
GrafPortPtr tmpPort;
|
||||
Handle dataHandle;
|
||||
|
||||
openRecord.pCount = 12;
|
||||
HLock((Handle) documentPtr->pathName);
|
||||
openRecord.pathname = &((*(documentPtr->pathName))->bufString);
|
||||
openRecord.requestAccess = readEnable;
|
||||
openRecord.resourceNumber = 0;
|
||||
openRecord.optionList = NULL;
|
||||
OpenGS(&openRecord);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(OPEN_FILE_ERROR_STRING, toolerror());
|
||||
result = FALSE;
|
||||
} else {
|
||||
dataHandle = NewHandle(openRecord.eof, userid, attrLocked, NULL);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(MALLOC_ERROR_STRING, toolerror());
|
||||
result = FALSE;
|
||||
} else {
|
||||
readRecord.pCount = 4;
|
||||
readRecord.refNum = openRecord.refNum;
|
||||
readRecord.dataBuffer = *dataHandle;
|
||||
readRecord.requestCount = openRecord.eof;
|
||||
ReadGS(&readRecord);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(OPEN_FILE_ERROR_STRING, toolerror());
|
||||
result = FALSE;
|
||||
} else {
|
||||
tmpPort = GetPort();
|
||||
SetPort(documentPtr->wPtr);
|
||||
TESetText(teTextIsPtr | teDataIsTextBlock, (Ref)*dataHandle, openRecord.eof,
|
||||
teCtlStyleIsPtr, NULL, NULL);
|
||||
SetPort(tmpPort);
|
||||
}
|
||||
DisposeHandle(dataHandle);
|
||||
}
|
||||
|
||||
closeRecord.pCount = 1;
|
||||
closeRecord.refNum = openRecord.refNum;
|
||||
CloseGS(&closeRecord);
|
||||
}
|
||||
|
||||
HUnlock((Handle) documentPtr->pathName);
|
||||
clearDocumentDirty(documentPtr);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
void closeDocument(GrafPortPtr wPtr)
|
||||
{
|
||||
tDocument * documentPtr;
|
||||
char documentName[MAX_DOCUMENT_NAME];
|
||||
char * alertStrings[] = { documentName };
|
||||
int documentNameLen;
|
||||
char * tmpPtr;
|
||||
int buttonClicked;
|
||||
|
||||
if (wPtr == NULL)
|
||||
return;
|
||||
|
||||
documentPtr = findDocumentFromWindow(wPtr);
|
||||
if (documentPtr != NULL) {
|
||||
while (isDocumentDirty(documentPtr)) {
|
||||
/* The documentName in the documentPtr is actually a PString so the
|
||||
first byte is the length of the string. */
|
||||
tmpPtr = documentPtr->documentName;
|
||||
documentNameLen = *tmpPtr;
|
||||
tmpPtr++;
|
||||
|
||||
/* The documentName has spaces before and after the real name to format
|
||||
the string for the window title bar. Strip those spaces out and store
|
||||
the name into the documentName local array. */
|
||||
while ((documentNameLen > 0) &&
|
||||
(tmpPtr[documentNameLen - 1] == ' ')) {
|
||||
documentNameLen--;
|
||||
}
|
||||
while (*tmpPtr == ' ') {
|
||||
tmpPtr++;
|
||||
documentNameLen--;
|
||||
}
|
||||
strncpy(documentName, tmpPtr, documentNameLen);
|
||||
documentName[documentNameLen] = '\0';
|
||||
|
||||
buttonClicked = AlertWindow(awCString+awResource, (Pointer) alertStrings, SAVE_BEFORE_CLOSING);
|
||||
switch (buttonClicked) {
|
||||
case 0:
|
||||
doFileSave();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
clearDocumentDirty(documentPtr);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CloseWindow(wPtr);
|
||||
|
||||
if (documentPtr == NULL)
|
||||
return;
|
||||
|
||||
if (documentPtr->pathName != NULL) {
|
||||
DisposeHandle((Handle) documentPtr->pathName);
|
||||
documentPtr->pathName = NULL;
|
||||
}
|
||||
if (documentPtr->printRecordHandle != NULL) {
|
||||
DisposeHandle((Handle)documentPtr->printRecordHandle);
|
||||
documentPtr->printRecordHandle = NULL;
|
||||
}
|
||||
if (documentList == documentPtr) {
|
||||
documentList = documentPtr->nextDocument;
|
||||
} else if (documentPtr->prevDocument != NULL) {
|
||||
documentPtr->prevDocument->nextDocument = documentPtr->nextDocument;
|
||||
}
|
||||
|
||||
if (documentPtr->nextDocument != NULL)
|
||||
documentPtr->nextDocument->prevDocument = documentPtr->prevDocument;
|
||||
|
||||
free(documentPtr);
|
||||
}
|
||||
|
||||
|
||||
void printDocument(tDocument * documentPtr)
|
||||
{
|
||||
GrafPortPtr printerPort;
|
||||
LongWord lineNumber;
|
||||
PrStatusRec printerStatus;
|
||||
Rect pageRect;
|
||||
|
||||
printerPort = PrOpenDoc(documentPtr->printRecordHandle, NULL);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(PRINT_ERROR_STRING, toolerror());
|
||||
return;
|
||||
}
|
||||
|
||||
HLock((Handle) documentPtr->printRecordHandle);
|
||||
pageRect = (*(documentPtr->printRecordHandle))->prInfo.rPage;
|
||||
HUnlock((Handle) documentPtr->printRecordHandle);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(PRINT_ERROR_STRING, toolerror());
|
||||
} else {
|
||||
lineNumber = 0;
|
||||
while (lineNumber != -1) {
|
||||
PrOpenPage(printerPort, NULL);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(PRINT_ERROR_STRING, toolerror());
|
||||
break;
|
||||
}
|
||||
else {
|
||||
lineNumber = TEPaintText(printerPort, lineNumber, &pageRect, 0,
|
||||
(Handle) GetCtlHandleFromID(documentPtr->wPtr, CONTROL_TEXT_EDIT));
|
||||
PrClosePage(printerPort);
|
||||
}
|
||||
}
|
||||
}
|
||||
PrCloseDoc(printerPort);
|
||||
|
||||
if (PrError() == 0)
|
||||
PrPicFile(documentPtr->printRecordHandle, NULL, &printerStatus);
|
||||
}
|
||||
|
||||
|
||||
void doAppleAbout(void)
|
||||
{
|
||||
AlertWindow(awCString + awResource, NULL, ABOUT_ALERT_STRING);
|
||||
}
|
||||
|
||||
|
||||
void doFileNew(void)
|
||||
{
|
||||
newDocument(getUntitledName());
|
||||
}
|
||||
|
||||
|
||||
void doFileOpen(void)
|
||||
{
|
||||
tDocument * documentPtr;
|
||||
SFTypeList2 fileTypes;
|
||||
SFReplyRec2 reply;
|
||||
ResultBuf255Hndl nameHandle;
|
||||
|
||||
/* By default, we want to open text files only which is what
|
||||
the following fileTypes request. Customize as necessary. */
|
||||
fileTypes.numEntries = 1;
|
||||
fileTypes.fileTypeEntries[0].flags = 0x0000;
|
||||
fileTypes.fileTypeEntries[0].fileType = 0x04;
|
||||
fileTypes.fileTypeEntries[0].auxType = 0x0000;
|
||||
|
||||
reply.nameRefDesc = refIsNewHandle;
|
||||
reply.pathRefDesc = refIsNewHandle;
|
||||
SFGetFile2(30, 30, refIsResource, OPEN_FILE_STRING, NULL, &fileTypes, &reply);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(OPEN_FILE_ERROR_STRING, toolerror());
|
||||
return;
|
||||
}
|
||||
|
||||
if (reply.good) {
|
||||
nameHandle = (ResultBuf255Hndl) reply.nameRef;
|
||||
HLock((Handle) nameHandle);
|
||||
documentPtr = newDocument(documentNameFromGSOSString(*nameHandle));
|
||||
DisposeHandle((Handle) nameHandle);
|
||||
|
||||
if (documentPtr == NULL) {
|
||||
DisposeHandle((Handle) reply.pathRef);
|
||||
} else {
|
||||
documentPtr->pathName = (ResultBuf255Hndl) reply.pathRef;
|
||||
documentPtr->isOnDisk = loadDocument(documentPtr);
|
||||
|
||||
if (!documentPtr->isOnDisk)
|
||||
closeDocument(documentPtr->wPtr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void doFileSaveAs(void)
|
||||
{
|
||||
ResultBuf255Hndl nameHandle;
|
||||
SFReplyRec2 reply;
|
||||
const char * documentName;
|
||||
tDocument * documentPtr = findDocumentFromWindow(FrontWindow());
|
||||
|
||||
if (documentPtr == NULL)
|
||||
return;
|
||||
|
||||
reply.nameRefDesc = refIsNewHandle;
|
||||
reply.pathRefDesc = refIsNewHandle;
|
||||
|
||||
if (documentPtr->pathName == NULL)
|
||||
SFPutFile2(30, 30, refIsResource, SAVE_FILE_STRING, refIsPointer,
|
||||
(Ref) &(documentPtr->pathName), &reply);
|
||||
else
|
||||
SFPutFile2(30, 30, refIsResource, SAVE_FILE_STRING, refIsPointer,
|
||||
(Ref) &((*(documentPtr->pathName))->bufString), &reply);
|
||||
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(SAVE_FILE_ERROR_STRING, toolerror());
|
||||
return;
|
||||
}
|
||||
|
||||
if (reply.good) {
|
||||
nameHandle = (ResultBuf255Hndl) reply.nameRef;
|
||||
HLock((Handle) nameHandle);
|
||||
documentName = documentNameFromGSOSString(*nameHandle);
|
||||
documentPtr->documentName[0] = documentName[0];
|
||||
strncpy(documentPtr->documentName + 1, documentName + 1, documentName[0]);
|
||||
DisposeHandle((Handle) nameHandle);
|
||||
|
||||
SetWTitle(documentPtr->documentName, documentPtr->wPtr);
|
||||
|
||||
documentPtr->pathName = (ResultBuf255Hndl) reply.pathRef;
|
||||
documentPtr->isOnDisk = TRUE;
|
||||
saveDocument(documentPtr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void doFileSave(void)
|
||||
{
|
||||
tDocument * documentPtr = findDocumentFromWindow(FrontWindow());
|
||||
|
||||
if (documentPtr == NULL)
|
||||
return;
|
||||
|
||||
if (documentPtr->isOnDisk)
|
||||
saveDocument(documentPtr);
|
||||
else
|
||||
doFileSaveAs();
|
||||
}
|
||||
|
||||
|
||||
void doFileClose(void)
|
||||
{
|
||||
closeDocument(FrontWindow());
|
||||
}
|
||||
|
||||
|
||||
void doFilePageSetup(void)
|
||||
{
|
||||
tDocument * documentPtr = findDocumentFromWindow(FrontWindow());
|
||||
|
||||
if (documentPtr == NULL)
|
||||
return;
|
||||
|
||||
PrStlDialog(documentPtr->printRecordHandle);
|
||||
}
|
||||
|
||||
|
||||
void doFilePrint(void)
|
||||
{
|
||||
tDocument * documentPtr = findDocumentFromWindow(FrontWindow());
|
||||
|
||||
if (documentPtr == NULL)
|
||||
return;
|
||||
|
||||
if (PrJobDialog(documentPtr->printRecordHandle))
|
||||
printDocument(documentPtr);
|
||||
}
|
||||
|
||||
|
||||
void doFileQuit(void)
|
||||
{
|
||||
shouldQuit = TRUE;
|
||||
}
|
||||
|
||||
|
||||
void doEditUndo(void)
|
||||
{
|
||||
/* Nothing extra to do here. The text edit control handles this for us. */
|
||||
}
|
||||
|
||||
|
||||
void doEditCut(void)
|
||||
{
|
||||
/* Nothing extra to do here. The text edit control handles this for us. */
|
||||
}
|
||||
|
||||
|
||||
void doEditCopy(void)
|
||||
{
|
||||
/* Nothing extra to do here. The text edit control handles this for us. */
|
||||
}
|
||||
|
||||
|
||||
void doEditPaste(void)
|
||||
{
|
||||
/* Nothing extra to do here. The text edit control handles this for us. */
|
||||
}
|
||||
|
||||
|
||||
void doEditClear(void)
|
||||
{
|
||||
/* Nothing extra to do here. The text edit control handles this for us. */
|
||||
}
|
||||
|
||||
|
||||
void handleMenu(void)
|
||||
{
|
||||
int menuNum;
|
||||
int menuItemNum;
|
||||
|
||||
menuNum = myEvent.wmTaskData >> 16;
|
||||
menuItemNum = myEvent.wmTaskData;
|
||||
|
||||
switch (menuItemNum) {
|
||||
case APPLE_ABOUT:
|
||||
doAppleAbout();
|
||||
break;
|
||||
|
||||
case FILE_NEW:
|
||||
doFileNew();
|
||||
break;
|
||||
|
||||
case FILE_OPEN:
|
||||
doFileOpen();
|
||||
break;
|
||||
|
||||
case FILE_SAVE:
|
||||
doFileSave();
|
||||
break;
|
||||
|
||||
case FILE_SAVE_AS:
|
||||
doFileSaveAs();
|
||||
break;
|
||||
|
||||
case FILE_CLOSE:
|
||||
doFileClose();
|
||||
break;
|
||||
|
||||
case FILE_PAGE_SETUP:
|
||||
doFilePageSetup();
|
||||
break;
|
||||
|
||||
case FILE_PRINT:
|
||||
doFilePrint();
|
||||
break;
|
||||
|
||||
case FILE_QUIT:
|
||||
doFileQuit();
|
||||
break;
|
||||
|
||||
case EDIT_UNDO:
|
||||
doEditUndo();
|
||||
break;
|
||||
|
||||
case EDIT_CUT:
|
||||
doEditCut();
|
||||
break;
|
||||
|
||||
case EDIT_COPY:
|
||||
doEditCopy();
|
||||
break;
|
||||
|
||||
case EDIT_PASTE:
|
||||
doEditPaste();
|
||||
break;
|
||||
|
||||
case EDIT_CLEAR:
|
||||
doEditClear();
|
||||
break;
|
||||
}
|
||||
HiliteMenu(FALSE, menuNum);
|
||||
}
|
||||
|
||||
|
||||
void dimMenus(void)
|
||||
{
|
||||
static BOOLEAN windowWasOpen = TRUE;
|
||||
static BOOLEAN applicationWindowWasInFront = TRUE;
|
||||
BOOLEAN windowIsOpen;
|
||||
BOOLEAN applicationWindowIsInFront;
|
||||
|
||||
GrafPortPtr wPtr = FrontWindow();
|
||||
windowIsOpen = (wPtr != NULL);
|
||||
applicationWindowIsInFront = (findDocumentFromWindow(wPtr) != NULL);
|
||||
|
||||
if ((windowIsOpen == windowWasOpen) &&
|
||||
(applicationWindowIsInFront == applicationWindowWasInFront)) {
|
||||
return;
|
||||
}
|
||||
|
||||
windowWasOpen = windowIsOpen;
|
||||
applicationWindowWasInFront = applicationWindowIsInFront;
|
||||
|
||||
if (windowIsOpen) {
|
||||
EnableMItem(FILE_CLOSE);
|
||||
SetMenuFlag(enableMenu, EDIT_MENU);
|
||||
} else {
|
||||
DisableMItem(FILE_CLOSE);
|
||||
SetMenuFlag(disableMenu, EDIT_MENU);
|
||||
}
|
||||
|
||||
if (applicationWindowIsInFront) {
|
||||
EnableMItem(FILE_SAVE);
|
||||
EnableMItem(FILE_SAVE_AS);
|
||||
EnableMItem(FILE_PAGE_SETUP);
|
||||
EnableMItem(FILE_PRINT);
|
||||
} else {
|
||||
DisableMItem(FILE_SAVE);
|
||||
DisableMItem(FILE_SAVE_AS);
|
||||
DisableMItem(FILE_PAGE_SETUP);
|
||||
DisableMItem(FILE_PRINT);
|
||||
}
|
||||
|
||||
DrawMenuBar();
|
||||
}
|
||||
|
||||
|
||||
void handleMessages(void)
|
||||
{
|
||||
#if MESSAGE_CENTER == 1
|
||||
Handle msgHandle;
|
||||
MessageRecGSPtr msgPtr;
|
||||
wStringPtr pathPtr;
|
||||
tDocument * documentPtr;
|
||||
ResultBuf255Ptr resultBufPtr;
|
||||
|
||||
msgHandle = NewHandle(1, userid, 0, NULL);
|
||||
if (toolerror() != 0) {
|
||||
showErrorAlert(MALLOC_ERROR_STRING, toolerror());
|
||||
return;
|
||||
}
|
||||
|
||||
MessageCenter(getMessage, fileInfoTypeGS, msgHandle);
|
||||
if (toolerror() != 0) {
|
||||
DisposeHandle(msgHandle);
|
||||
return;
|
||||
}
|
||||
|
||||
MessageCenter(deleteMessage, fileInfoTypeGS, msgHandle);
|
||||
HLock(msgHandle);
|
||||
msgPtr = (MessageRecGSPtr)(*msgHandle);
|
||||
|
||||
for (pathPtr = msgPtr->fileNames;
|
||||
pathPtr->length != 0;
|
||||
pathPtr = (wStringPtr)(pathPtr->text + pathPtr->length))
|
||||
{
|
||||
documentPtr = newDocument(documentNameFromPath(pathPtr));
|
||||
if (documentPtr == NULL)
|
||||
continue;
|
||||
|
||||
documentPtr->pathName = (ResultBuf255Hndl)NewHandle(pathPtr->length + 4, userid, 0, NULL);
|
||||
if (toolerror() != 0)
|
||||
{
|
||||
showErrorAlert(MALLOC_ERROR_STRING, toolerror());
|
||||
closeDocument(documentPtr->wPtr);
|
||||
continue;
|
||||
}
|
||||
HLock((Handle) documentPtr->pathName);
|
||||
resultBufPtr = *(documentPtr->pathName);
|
||||
resultBufPtr->bufSize = pathPtr->length + 4;
|
||||
resultBufPtr->bufString.length = pathPtr->length;
|
||||
memcpy(resultBufPtr->bufString.text, pathPtr->text, pathPtr->length);
|
||||
HUnlock((Handle) documentPtr->pathName);
|
||||
|
||||
documentPtr->isOnDisk = loadDocument(documentPtr);
|
||||
|
||||
if (!documentPtr->isOnDisk)
|
||||
{
|
||||
closeDocument(documentPtr->wPtr);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (msgPtr->printFlag)
|
||||
{
|
||||
doFilePrint();
|
||||
closeDocument(documentPtr->wPtr);
|
||||
}
|
||||
}
|
||||
|
||||
if (msgPtr->printFlag)
|
||||
doFileQuit();
|
||||
|
||||
DisposeHandle(msgHandle);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void initMenus(void)
|
||||
{
|
||||
int height;
|
||||
MenuBarRecHndl menuBarHand;
|
||||
|
||||
menuBarHand = NewMenuBar2(refIsResource, MENU_BAR, NULL);
|
||||
TOOLFAIL("Unable to create menu bar");
|
||||
|
||||
SetSysBar(menuBarHand);
|
||||
TOOLFAIL("Unable to set system menu bar");
|
||||
|
||||
SetMenuBar(NULL);
|
||||
TOOLFAIL("Unable to set menu bar");
|
||||
|
||||
FixAppleMenu(APPLE_MENU);
|
||||
TOOLFAIL("Unable to fix Apple menu");
|
||||
|
||||
height = FixMenuBar();
|
||||
TOOLFAIL("Unable to fix menu bar");
|
||||
|
||||
DrawMenuBar();
|
||||
TOOLFAIL("Unable to draw menu bar");
|
||||
}
|
||||
|
||||
|
||||
void initGlobals(void)
|
||||
{
|
||||
documentList = NULL;
|
||||
shouldQuit = FALSE;
|
||||
myEvent.wmTaskMask = 0x001F7FFF;
|
||||
}
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int event;
|
||||
Ref toolStartupRef;
|
||||
|
||||
userid = MMStartUp();
|
||||
TOOLFAIL("Unable to start memory manager");
|
||||
|
||||
TLStartUp();
|
||||
TOOLFAIL("Unable to start tool locator");
|
||||
|
||||
toolStartupRef = StartUpTools(userid, refIsResource, TOOL_STARTUP);
|
||||
TOOLFAIL("Unable to start tools");
|
||||
|
||||
initGlobals();
|
||||
initMenus();
|
||||
InitCursor();
|
||||
|
||||
handleMessages();
|
||||
|
||||
while (!shouldQuit) {
|
||||
HandleDiskInsert(hdiScan | hdiHandle, 0);
|
||||
dimMenus();
|
||||
event = TaskMaster(everyEvent, &myEvent);
|
||||
TOOLFAIL("Unable to handle next event");
|
||||
|
||||
switch (event) {
|
||||
case wInSpecial:
|
||||
case wInMenuBar:
|
||||
handleMenu();
|
||||
break;
|
||||
case wInGoAway:
|
||||
closeDocument((GrafPortPtr)myEvent.wmTaskData);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ShutDownTools(refIsHandle, toolStartupRef);
|
||||
TOOLFAIL("Unable to shutdown tools");
|
||||
|
||||
TLShutDown();
|
||||
TOOLFAIL("Unable to shutdown tool locator");
|
||||
|
||||
MMShutDown(userid);
|
||||
TOOLFAIL("Unable to shutdown memory manager");
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
#define _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
|
||||
|
||||
/* Menu bars */
|
||||
#define MENU_BAR 1
|
||||
|
||||
|
||||
/* Menus */
|
||||
#define APPLE_MENU 3
|
||||
#define FILE_MENU 4
|
||||
#define EDIT_MENU 5
|
||||
|
||||
|
||||
/* Menu items */
|
||||
#define EDIT_UNDO 250
|
||||
#define EDIT_CUT 251
|
||||
#define EDIT_COPY 252
|
||||
#define EDIT_PASTE 253
|
||||
#define EDIT_CLEAR 254
|
||||
|
||||
#define FILE_NEW 401
|
||||
#define FILE_OPEN 402
|
||||
#define FILE_SAVE 403
|
||||
#define FILE_SAVE_AS 404
|
||||
#define FILE_CLOSE 255
|
||||
#define FILE_PAGE_SETUP 405
|
||||
#define FILE_PRINT 406
|
||||
#define FILE_QUIT 256
|
||||
|
||||
#define APPLE_ABOUT 301
|
||||
|
||||
|
||||
/* Alert strings */
|
||||
#define ABOUT_ALERT_STRING 1
|
||||
#define ERROR_ALERT_STRING 2
|
||||
#define SAVE_BEFORE_CLOSING 3
|
||||
|
||||
|
||||
/* Error strings */
|
||||
#define TOOL_ERROR_STRING 2001
|
||||
#define NEW_WINDOW_ERROR_STRING 2002
|
||||
#define MALLOC_ERROR_STRING 2003
|
||||
#define OPEN_FILE_ERROR_STRING 2004
|
||||
#define SAVE_FILE_ERROR_STRING 2005
|
||||
#define PRINT_ERROR_STRING 2006
|
||||
|
||||
|
||||
/* Other strings */
|
||||
#define UNTITLED_STRING 3001
|
||||
#define OPEN_FILE_STRING 3002
|
||||
#define SAVE_FILE_STRING 3003
|
||||
#define HELLO_WORLD_STRING 3004
|
||||
|
||||
|
||||
/* Windows */
|
||||
#define WINDOW_RESID 1001
|
||||
|
||||
|
||||
/* Controls */
|
||||
#define CONTROL_TEXT_EDIT 1001
|
||||
|
||||
|
||||
/* Tools */
|
||||
#define TOOL_STARTUP 1
|
||||
|
||||
|
||||
#endif /* defined(_GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____) */
|
|
@ -0,0 +1,399 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
/* Version resource */
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
#if MESSAGE_CENTER == 1
|
||||
/* Bunde resource */
|
||||
resource rBundle (1, preload, nospecialmemory) {
|
||||
nil, /* rIcon ID for application if you wish a custom icon */
|
||||
1,
|
||||
{
|
||||
{
|
||||
native + LaunchThis,
|
||||
{0}, /* rFinderPath ID for this document */
|
||||
{nil}, /* rIcon ID for large icon for document */
|
||||
{nil}, /* rIcon ID for small icon for document */
|
||||
"", /* String to describe this type of document */
|
||||
},
|
||||
Filetype + AuxType, /* Match field bits */
|
||||
MatchFileType {{$04}}, /* File type to match */
|
||||
MatchAuxType { /* Auxiliary file type to match */
|
||||
{$00000000,$00000000}
|
||||
},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {},
|
||||
empty {}
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/* Menu bars */
|
||||
resource rMenuBar (MENU_BAR) {
|
||||
{
|
||||
APPLE_MENU,
|
||||
FILE_MENU,
|
||||
EDIT_MENU
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/* Menus */
|
||||
resource rMenu (APPLE_MENU) {
|
||||
APPLE_MENU,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
APPLE_MENU,
|
||||
{
|
||||
APPLE_ABOUT
|
||||
};
|
||||
};
|
||||
resource rPString (APPLE_MENU, noCrossBank) {"@"};
|
||||
|
||||
resource rMenu (FILE_MENU) {
|
||||
FILE_MENU,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
FILE_MENU,
|
||||
{
|
||||
FILE_NEW,
|
||||
FILE_OPEN,
|
||||
FILE_SAVE,
|
||||
FILE_SAVE_AS,
|
||||
FILE_CLOSE,
|
||||
FILE_PAGE_SETUP,
|
||||
FILE_PRINT,
|
||||
FILE_QUIT
|
||||
};
|
||||
};
|
||||
resource rPString (FILE_MENU, noCrossBank) {" File "};
|
||||
|
||||
resource rMenu (EDIT_MENU) {
|
||||
EDIT_MENU,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
EDIT_MENU,
|
||||
{
|
||||
EDIT_UNDO,
|
||||
EDIT_CUT,
|
||||
EDIT_COPY,
|
||||
EDIT_PASTE,
|
||||
EDIT_CLEAR
|
||||
};
|
||||
};
|
||||
resource rPString (EDIT_MENU, noCrossBank) {" Edit "};
|
||||
|
||||
|
||||
/* Menu items */
|
||||
resource rMenuItem (EDIT_UNDO) {
|
||||
EDIT_UNDO,
|
||||
"Z", "z",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
EDIT_UNDO
|
||||
};
|
||||
resource rPString (EDIT_UNDO, noCrossBank) {"Undo"};
|
||||
|
||||
resource rMenuItem (EDIT_CUT) {
|
||||
EDIT_CUT,
|
||||
"X", "x",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
EDIT_CUT
|
||||
};
|
||||
resource rPString (EDIT_CUT, noCrossBank) {"Cut"};
|
||||
|
||||
resource rMenuItem (EDIT_COPY) {
|
||||
EDIT_COPY,
|
||||
"C", "c",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
EDIT_COPY
|
||||
};
|
||||
resource rPString (EDIT_COPY, noCrossBank) {"Copy"};
|
||||
|
||||
resource rMenuItem (EDIT_PASTE) {
|
||||
EDIT_PASTE,
|
||||
"V", "v",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
EDIT_PASTE
|
||||
};
|
||||
resource rPString (EDIT_PASTE, noCrossBank) {"Paste"};
|
||||
|
||||
resource rMenuItem (EDIT_CLEAR) {
|
||||
EDIT_CLEAR,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
EDIT_CLEAR
|
||||
};
|
||||
resource rPString (EDIT_CLEAR, noCrossBank) {"Clear"};
|
||||
|
||||
resource rMenuItem (FILE_NEW) {
|
||||
FILE_NEW,
|
||||
"N", "n",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
FILE_NEW
|
||||
};
|
||||
resource rPString (FILE_NEW, noCrossBank) {"New"};
|
||||
|
||||
resource rMenuItem (FILE_OPEN) {
|
||||
FILE_OPEN,
|
||||
"O", "o",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
FILE_OPEN
|
||||
};
|
||||
resource rPString (FILE_OPEN, noCrossBank) {"Open"};
|
||||
|
||||
resource rMenuItem (FILE_SAVE) {
|
||||
FILE_SAVE,
|
||||
"S", "s",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
FILE_SAVE
|
||||
};
|
||||
resource rPString (FILE_SAVE, noCrossBank) {"Save"};
|
||||
|
||||
resource rMenuItem (FILE_SAVE_AS) {
|
||||
FILE_SAVE_AS,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
FILE_SAVE_AS
|
||||
};
|
||||
resource rPString (FILE_SAVE_AS, noCrossBank) {"Save As..."};
|
||||
|
||||
resource rMenuItem (FILE_CLOSE) {
|
||||
FILE_CLOSE,
|
||||
"W", "w",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
FILE_CLOSE
|
||||
};
|
||||
resource rPString (FILE_CLOSE, noCrossBank) {"Close"};
|
||||
|
||||
resource rMenuItem (FILE_PAGE_SETUP) {
|
||||
FILE_PAGE_SETUP,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
FILE_PAGE_SETUP
|
||||
};
|
||||
resource rPString (FILE_PAGE_SETUP, noCrossBank) {"Page Setup..."};
|
||||
|
||||
resource rMenuItem (FILE_PRINT) {
|
||||
FILE_PRINT,
|
||||
"P", "p",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
FILE_PRINT
|
||||
};
|
||||
resource rPString (FILE_PRINT, noCrossBank) {"Print..."};
|
||||
|
||||
resource rMenuItem (FILE_QUIT) {
|
||||
FILE_QUIT,
|
||||
"Q", "q",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
FILE_QUIT
|
||||
};
|
||||
resource rPString (FILE_QUIT, noCrossBank) {"Quit"};
|
||||
|
||||
resource rMenuItem (APPLE_ABOUT) {
|
||||
APPLE_ABOUT,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
APPLE_ABOUT
|
||||
};
|
||||
resource rPString (APPLE_ABOUT, noCrossBank) {"About ___PROJECTNAME___..."};
|
||||
|
||||
|
||||
/* Error strings */
|
||||
resource rCString (TOOL_ERROR_STRING) {"\n\nTool error code = $%04x"};
|
||||
resource rCString (NEW_WINDOW_ERROR_STRING) {"Error occurred when creating a new window"};
|
||||
resource rCString (MALLOC_ERROR_STRING) {"Out of memory"};
|
||||
resource rCString (OPEN_FILE_ERROR_STRING) {"Error opening file"};
|
||||
resource rCString (SAVE_FILE_ERROR_STRING) {"Error saving file"};
|
||||
resource rCString (PRINT_ERROR_STRING) {"Error printing document"};
|
||||
|
||||
|
||||
/* Other strings */
|
||||
resource rCString (UNTITLED_STRING) {" Untitled %d "};
|
||||
resource rPString (OPEN_FILE_STRING, noCrossBank) {"Choose a file to open..."};
|
||||
resource rPString (SAVE_FILE_STRING, noCrossBank) {"Save file as..."};
|
||||
resource rPString (HELLO_WORLD_STRING, noCrossBank) {"Hello, world!"};
|
||||
|
||||
|
||||
/* Alert strings */
|
||||
resource rAlertString (ABOUT_ALERT_STRING) {
|
||||
"0" /* Custom size */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$10\$00" /* Left X coordinate at 16 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$30\$01" /* Right X coordinate at 304 */
|
||||
#else
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$90\$00" /* Left X coordinate at 144 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$F0\$01" /* Right X coordinate at 496 */
|
||||
#endif
|
||||
"3/"
|
||||
"___PROJECTNAME___\n"
|
||||
" by ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"Contains libraries from ORCAC,\n"
|
||||
"Copyright \$A9 1991, Byte Works Inc."
|
||||
"/^#0\$00";
|
||||
};
|
||||
|
||||
resource rAlertString (ERROR_ALERT_STRING) {
|
||||
"42/"
|
||||
"*0\n"
|
||||
"*1"
|
||||
"/^#0\$00";
|
||||
};
|
||||
|
||||
resource rAlertString (SAVE_BEFORE_CLOSING) {
|
||||
"34/"
|
||||
"Save changes to *0 before closing?"
|
||||
"/^#2/#3/#1\$00";
|
||||
};
|
||||
|
||||
|
||||
/* Windows */
|
||||
resource rWindParam1 (WINDOW_RESID) {
|
||||
/* wFrameBits */
|
||||
fTitle + fClose + fZoom + fMove + fVis + fAllocated + fHilited,
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0, 0, 0, 0}, /* ZoomRect */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0, 0}, /* Origin */
|
||||
{0, 0}, /* data size */
|
||||
{0, 0}, /* max height-width */
|
||||
{8, 8}, /* scroll ver hors */
|
||||
{0, 0}, /* page ver horiz */
|
||||
0, /* winfoRefCon */
|
||||
10, /* wInfoHeight */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
{30, 10, 183, 300}, /* wposition */
|
||||
#else
|
||||
{30, 10, 183, 602}, /* wposition */
|
||||
#endif
|
||||
infront, /* wPlane */
|
||||
CONTROL_TEXT_EDIT, /* wStorage */
|
||||
$0802 /* wInVerb */
|
||||
};
|
||||
|
||||
|
||||
/* Controls */
|
||||
resource rControlTemplate (CONTROL_TEXT_EDIT) {
|
||||
CONTROL_TEXT_EDIT, /* Application defined ID */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
{0,0,165,300}, /* Bounding rectangle */
|
||||
#else
|
||||
{0,0,165,620}, /* Bounding rectangle */
|
||||
#endif
|
||||
editTextControl {
|
||||
{
|
||||
$0000, /* Flags */
|
||||
/* More flags */
|
||||
FctlCanBeTarget + FctlWantsEvents + FctlProcNotPtr + FctlTellAboutSize + FctlIsMultiPart,
|
||||
0, /* Refcon */
|
||||
/* Text flags */
|
||||
fSingleFormat + fSmartCutPaste + fGrowRuler + fDrawInactiveSelection,
|
||||
{-1,-1,-1,-1}, /* Indent rectangle */
|
||||
$FFFFFFFF, /* Vertical bar */
|
||||
0, /* Vertical amount */
|
||||
nil, /* Horizontal bar */
|
||||
0, /* Horizontal amount */
|
||||
nil, /* Style ref */
|
||||
/* Text descriptor */
|
||||
refIsResource * 8 + dataIsPString,
|
||||
HELLO_WORLD_STRING, /* Text ref */
|
||||
0, /* Text length */
|
||||
nil, /* Maximum chars */
|
||||
nil, /* Maximum lines */
|
||||
nil, /* Maximum chars per line */
|
||||
nil, /* Max height */
|
||||
nil, /* Color ref */
|
||||
4, /* Drawing mode */
|
||||
nil, /* Filter procedure */
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* Tools */
|
||||
resource rToolStartup (TOOL_STARTUP) {
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
mode320,
|
||||
#else
|
||||
mode640,
|
||||
#endif
|
||||
{
|
||||
3, $0100, /* Misc Tool */
|
||||
4, $0100, /* Quickdraw */
|
||||
5, $0100, /* Desk Manager */
|
||||
6, $0100, /* Event Manager */
|
||||
11, $0100, /* Int Math */
|
||||
14, $0300, /* Window Manager */
|
||||
15, $0300, /* Menu Manager */
|
||||
16, $0300, /* Control Manager */
|
||||
18, $0200, /* QD Aux */
|
||||
19, $0100, /* Print Manager */
|
||||
20, $0100, /* LineEdit Tool */
|
||||
21, $0100, /* Dialog Manager */
|
||||
22, $0100, /* Scrap Manager */
|
||||
23, $0100, /* Standard File */
|
||||
27, $0100, /* Font Manager */
|
||||
28, $0100, /* List Manager */
|
||||
30, $0100, /* Resource Manager */
|
||||
34, $0100 /* TextEdit */
|
||||
}
|
||||
};
|
|
@ -7,12 +7,12 @@
|
|||
<string>main.c</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -28,6 +28,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -42,13 +49,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -124,49 +124,64 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -57,7 +57,7 @@
|
|||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___/___PACKAGENAME___"
|
||||
argument = "$TARGET_BUILD_DIR/___PACKAGENAME___"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
|
@ -12,13 +12,15 @@
|
|||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -65,6 +67,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -79,13 +88,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -100,6 +102,20 @@
|
|||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -168,49 +184,90 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -28,21 +28,6 @@
|
|||
static BOOLEAN ndaActive;
|
||||
static GrafPortPtr winPtr;
|
||||
static unsigned int userId;
|
||||
static unsigned int resourceId;
|
||||
static Str255 gStrBuf;
|
||||
|
||||
|
||||
BOOLEAN OpenResourceFork(void)
|
||||
{
|
||||
GSString255Ptr fPtr;
|
||||
unsigned id;
|
||||
|
||||
id = SetHandleID(0, FindHandle((Pointer) OpenResourceFork));
|
||||
fPtr = (GSString255Ptr) LGetPathname2(id, 1);
|
||||
if (toolerror() == 0)
|
||||
resourceId = OpenResourceFile(1, NULL, (Pointer) fPtr);
|
||||
return toolerror() == 0;
|
||||
}
|
||||
|
||||
|
||||
void NDAClose(void)
|
||||
|
@ -53,7 +38,6 @@ void NDAClose(void)
|
|||
ndaActive = FALSE;
|
||||
}
|
||||
|
||||
CloseResourceFile(resourceId);
|
||||
ResourceShutDown();
|
||||
}
|
||||
|
||||
|
@ -86,7 +70,6 @@ void DrawContents(void)
|
|||
|
||||
GrafPortPtr NDAOpen(void)
|
||||
{
|
||||
Pointer pathToSelf;
|
||||
unsigned int oldResourceApp;
|
||||
LevelRecGS levelDCB;
|
||||
unsigned int oldLevel;
|
||||
|
@ -96,10 +79,6 @@ GrafPortPtr NDAOpen(void)
|
|||
if (ndaActive)
|
||||
return NULL;
|
||||
|
||||
oldResourceApp = GetCurResourceApp();
|
||||
ResourceStartUp(userId);
|
||||
pathToSelf = LGetPathname2(userId, 1);
|
||||
|
||||
levelDCB.pCount = 2;
|
||||
GetLevelGS(&levelDCB);
|
||||
oldLevel = levelDCB.level;
|
||||
|
@ -112,14 +91,13 @@ GrafPortPtr NDAOpen(void)
|
|||
prefsDCB.preferences = (prefsDCB.preferences & 0x1fff) | 0x8000;
|
||||
SetSysPrefsGS(&prefsDCB);
|
||||
|
||||
resourceId = OpenResourceFile(readEnable, NULL, pathToSelf);
|
||||
oldResourceApp = OpenResourceFileByID(readEnable, userId);
|
||||
|
||||
winPtr = NewWindow2("\p ___PACKAGENAME___ ", 0, DrawContents, NULL, 0x02, windowRes, rWindParam1);
|
||||
|
||||
SetSysWindow(winPtr);
|
||||
ShowWindow(winPtr);
|
||||
SelectWindow(winPtr);
|
||||
SetPort(winPtr);
|
||||
|
||||
ndaActive = TRUE;
|
||||
|
||||
|
@ -135,7 +113,7 @@ GrafPortPtr NDAOpen(void)
|
|||
}
|
||||
|
||||
|
||||
void HandleAction(void)
|
||||
void HandleRun(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -150,6 +128,11 @@ void HandleKey(EventRecord *event)
|
|||
}
|
||||
|
||||
|
||||
void HandleCursor(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void HandleMenu(int menuItem)
|
||||
{
|
||||
}
|
||||
|
@ -157,14 +140,13 @@ void HandleMenu(int menuItem)
|
|||
|
||||
BOOLEAN NDAAction(EventRecord *sysEvent, int code)
|
||||
{
|
||||
int event;
|
||||
static EventRecord localEvent;
|
||||
unsigned int eventCode;
|
||||
BOOLEAN result = FALSE;
|
||||
|
||||
switch (code) {
|
||||
case runAction:
|
||||
HandleAction();
|
||||
HandleRun();
|
||||
break;
|
||||
|
||||
case eventAction:
|
||||
|
@ -189,6 +171,10 @@ BOOLEAN NDAAction(EventRecord *sysEvent, int code)
|
|||
}
|
||||
break;
|
||||
|
||||
case cursorAction:
|
||||
HandleCursor();
|
||||
break;
|
||||
|
||||
case cutAction:
|
||||
case copyAction:
|
||||
case pasteAction:
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PACKAGENAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
#define _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
|
||||
#endif /* defined(_GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____) */
|
|
@ -12,12 +12,26 @@
|
|||
#include "___FILEBASENAME___.h"
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
resource rWindParam1 (windowRes) {
|
||||
$C0A5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0,0,0,0}, /* ZoomRect */
|
||||
linedColors, /* wColor ID */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0,0}, /* Origin */
|
||||
{0,0}, /* data size */
|
||||
{0,0}, /* max height-width */
|
||||
|
@ -32,10 +46,3 @@ resource rWindParam1 (windowRes) {
|
|||
};
|
||||
|
||||
|
||||
resource rWindColor (linedColors) {
|
||||
0x0000, /* frameColor */
|
||||
0x0F00, /* titleColor */
|
||||
0x020F, /* tbarColor */
|
||||
0xF0F0, /* growColor */
|
||||
0x00F0, /* infoColor */
|
||||
};
|
|
@ -7,12 +7,12 @@
|
|||
<string>main.c</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -28,6 +28,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -42,13 +49,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -124,49 +124,64 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -57,7 +57,7 @@
|
|||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___/___PACKAGENAME___"
|
||||
argument = "$TARGET_BUILD_DIR/___PACKAGENAME___"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
261
pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
261
pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,261 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-cc</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsOrcaMCDA</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs ORCA/M code project to build a classic desk accessory. 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.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,85 @@
|
|||
;
|
||||
; ___FILENAME___
|
||||
; ___PROJECTNAME___
|
||||
;
|
||||
; Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
;___COPYRIGHT___
|
||||
;
|
||||
|
||||
mcopy main.macros
|
||||
keep main
|
||||
|
||||
Main start
|
||||
|
||||
dw '___PROJECTNAME___'
|
||||
dc i4'startCda'
|
||||
dc i4'shutdownCda'
|
||||
end
|
||||
|
||||
startCda start
|
||||
|
||||
using CDAData
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
pha ; Save the old text tool state to the stack
|
||||
pha
|
||||
pha
|
||||
~GetInputDevice
|
||||
|
||||
pha
|
||||
pha
|
||||
~GetInGlobals
|
||||
|
||||
pha
|
||||
pha
|
||||
pha
|
||||
~GetOutputDevice
|
||||
|
||||
pha
|
||||
pha
|
||||
~GetOutGlobals
|
||||
|
||||
~SetInputDevice #0,#3 ; Setup input and output device to the console
|
||||
~SetInGlobals #$7f,#$00
|
||||
~SetOutputDevice #0,#3
|
||||
~SetOutGlobals #$ff,#$80
|
||||
~InitTextDev #0
|
||||
~InitTextDev #1
|
||||
|
||||
~WriteChar #$0c
|
||||
|
||||
~WriteCString #message
|
||||
|
||||
pha
|
||||
~ReadChar #0
|
||||
pla
|
||||
|
||||
~SetOutGlobals *,* ; Restore the old text tool state from the stack
|
||||
~SetOutputDevice *,*
|
||||
~SetInGlobals *,*
|
||||
~SetInputDevice *,*
|
||||
~InitTextDev #0
|
||||
~InitTextDev #1
|
||||
|
||||
plb
|
||||
rtl
|
||||
|
||||
shutdownCda entry
|
||||
rtl
|
||||
|
||||
end
|
||||
|
||||
|
||||
CDAData data
|
||||
|
||||
message dc c'Hello, world!'
|
||||
dc i1'$0d'
|
||||
dc i1'$0d'
|
||||
dc c' Press ENTER to quit...'
|
||||
dc i1'$00'
|
||||
|
||||
end
|
||||
|
|
@ -4,33 +4,29 @@
|
|||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.c</string>
|
||||
<string>main.h</string>
|
||||
<string>main.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.c</key>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.c</string>
|
||||
</dict>
|
||||
<key>main.h</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.h</string>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
|
@ -65,6 +61,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -79,13 +82,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -100,6 +96,20 @@
|
|||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -111,7 +121,7 @@
|
|||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -125,7 +135,7 @@
|
|||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsCDesktopApp</string>
|
||||
<string>com.halcyontouch.apple2gsOrcaMCDev</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
|
@ -133,7 +143,7 @@
|
|||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs C code project to build desktop application. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like.</string>
|
||||
<string>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.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
|
@ -168,49 +178,90 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
|
||||
|
||||
#define CDEV_RESOURCE 0x1
|
||||
#define MAIN_RESOURCE 0x100
|
||||
#define HELP_RESOURCE 0x101
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
/* 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___",
|
||||
"0.1"
|
||||
};
|
||||
|
||||
|
||||
/* Code resource; the executable part of the CDev */
|
||||
read rCDevCode (CDEV_RESOURCE,convert) BINTARGET;
|
||||
|
||||
|
||||
/* 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."
|
||||
};
|
||||
|
|
@ -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
|
285
pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
285
pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,285 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-cc</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsOrcaMDesktopApp</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs ORCA/M code project to build desktop application. 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.</string>
|
||||
<key>Options</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
<string>RESOLUTIONMODE</string>
|
||||
<key>Name</key>
|
||||
<string>Desktop Resolution</string>
|
||||
<key>Description</key>
|
||||
<string>Specify 640x200 or 320x200 resolution desktop enviroment.</string>
|
||||
<key>Type</key>
|
||||
<string>popup</string>
|
||||
<key>Default</key>
|
||||
<string>640</string>
|
||||
<key>Values</key>
|
||||
<array>
|
||||
<string>640</string>
|
||||
<string>320</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
110
pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
110
pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/___PACKAGENAME___.xcscheme
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0830"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<PathRunnable
|
||||
runnableDebuggingMode = "0"
|
||||
FilePath = "/usr/bin/make">
|
||||
</PathRunnable>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-C"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = ""$PROJECT_DIR/___PACKAGENAME___""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D0B917C1F526C2D004D7E0B"
|
||||
BuildableName = "___PACKAGENAME___"
|
||||
BlueprintName = "___PACKAGENAME___"
|
||||
ReferencedContainer = "container:___PACKAGENAME___.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,292 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
|
||||
|
||||
#define menuBar 1
|
||||
|
||||
#define appleMenu 3
|
||||
#define fileMenu 4
|
||||
#define editMenu 5
|
||||
|
||||
#define editUndo 250
|
||||
#define editCut 251
|
||||
#define editCopy 252
|
||||
#define editPaste 253
|
||||
#define editClear 254
|
||||
|
||||
#define fileNew 401
|
||||
#define fileOpen 402
|
||||
#define fileClose 255
|
||||
#define fileQuit 256
|
||||
|
||||
#define appleAbout 301
|
||||
|
||||
#define aboutAlertString 1
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
#define toolStartup 1
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
resource rMenuBar (menuBar) {
|
||||
{
|
||||
appleMenu,
|
||||
fileMenu,
|
||||
editMenu
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
resource rMenu (appleMenu) {
|
||||
appleMenu,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
appleMenu,
|
||||
{
|
||||
appleAbout
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
resource rMenu (fileMenu) {
|
||||
fileMenu,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
fileMenu,
|
||||
{
|
||||
fileNew,
|
||||
fileOpen,
|
||||
fileClose,
|
||||
fileQuit
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
resource rMenu (editMenu) {
|
||||
editMenu,
|
||||
refIsResource * menuTitleRefShift
|
||||
+ refIsResource * itemRefShift
|
||||
+ fAllowCache,
|
||||
editMenu,
|
||||
{
|
||||
editUndo,
|
||||
editCut,
|
||||
editCopy,
|
||||
editPaste,
|
||||
editClear
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (editUndo) {
|
||||
editUndo,
|
||||
"Z", "z",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
editUndo
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (editCut) {
|
||||
editCut,
|
||||
"X", "x",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
editCut
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (editCopy) {
|
||||
editCopy,
|
||||
"C", "c",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
editCopy
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (editPaste) {
|
||||
editPaste,
|
||||
"V", "v",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
editPaste
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (editClear) {
|
||||
editClear,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
editClear
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (fileNew) {
|
||||
fileNew,
|
||||
"N", "n",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
fileNew
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (fileOpen) {
|
||||
fileOpen,
|
||||
"O", "o",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
fileOpen
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (fileClose) {
|
||||
fileClose,
|
||||
"W", "w",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
fileClose
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (fileQuit) {
|
||||
fileQuit,
|
||||
"Q", "q",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift,
|
||||
fileQuit
|
||||
};
|
||||
|
||||
|
||||
resource rMenuItem (appleAbout) {
|
||||
appleAbout,
|
||||
"", "",
|
||||
0,
|
||||
refIsResource * itemTitleRefShift
|
||||
+ fDivider,
|
||||
appleAbout
|
||||
};
|
||||
|
||||
|
||||
resource rPString (appleMenu, noCrossBank) {"@"};
|
||||
resource rPString (fileMenu, noCrossBank) {" File "};
|
||||
resource rPString (editMenu, noCrossBank) {" Edit "};
|
||||
|
||||
resource rPString (editUndo, noCrossBank) {"Undo"};
|
||||
resource rPString (editCut, noCrossBank) {"Cut"};
|
||||
resource rPString (editCopy, noCrossBank) {"Copy"};
|
||||
resource rPString (editPaste, noCrossBank) {"Paste"};
|
||||
resource rPString (editClear, noCrossBank) {"Clear"};
|
||||
|
||||
resource rPString (fileNew, noCrossBank) {"New"};
|
||||
resource rPString (fileOpen, noCrossBank) {"Open"};
|
||||
resource rPString (fileClose, noCrossBank) {"Close"};
|
||||
resource rPString (fileQuit, noCrossBank) {"Quit"};
|
||||
|
||||
resource rPString (appleAbout, noCrossBank) {"About ___PROJECTNAME___..."};
|
||||
|
||||
|
||||
resource rAlertString (aboutAlertString) {
|
||||
"0" /* Custom size */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$10\$00" /* Left X coordinate at 16 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$30\$01" /* Right X coordinate at 304 */
|
||||
#else
|
||||
"\$38\$00" /* Upper Y coordinate at 56 */
|
||||
"\$90\$00" /* Left X coordinate at 144 */
|
||||
"\$90\$00" /* Lower Y coorinate at 144 */
|
||||
"\$F0\$01" /* Right X coordinate at 496 */
|
||||
#endif
|
||||
"3/"
|
||||
"___PROJECTNAME___\n"
|
||||
" by ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___\n"
|
||||
"\n"
|
||||
"Contains libraries from ORCAM,\n"
|
||||
"Copyright \$A9 1991, Byte Works Inc."
|
||||
"/^#0\$00";
|
||||
};
|
||||
|
||||
|
||||
resource rWindParam1 (windowRes) {
|
||||
$DDA5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0, 0, 0, 0}, /* ZoomRect */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0, 0}, /* Origin */
|
||||
{1, 1}, /* data size */
|
||||
{0, 0}, /* max height-width */
|
||||
{8, 8}, /* scroll ver hors */
|
||||
{0, 0}, /* page ver horiz */
|
||||
0, /* winfoRefCon */
|
||||
10, /* wInfoHeight */
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
{30, 10, 183, 300}, /* wposition */
|
||||
#else
|
||||
{30, 10, 183, 602}, /* wposition */
|
||||
#endif
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0800 /* wInVerb */
|
||||
};
|
||||
|
||||
|
||||
resource rToolStartup (toolStartup) {
|
||||
#if DESKTOP_RES_MODE == 320
|
||||
mode320,
|
||||
#else
|
||||
mode640,
|
||||
#endif
|
||||
{
|
||||
3,$0100, /* Misc Tool */
|
||||
4,$0100, /* Quickdraw */
|
||||
5,$0100, /* Desk Manager */
|
||||
6,$0100, /* Event Manager */
|
||||
11,$0100, /* Int Math */
|
||||
14,$0300, /* Window Manager */
|
||||
15,$0300, /* Menu Manager */
|
||||
16,$0300, /* Control Manager */
|
||||
18,$0200, /* QD Aux */
|
||||
19,$0100, /* Print Manager */
|
||||
20,$0100, /* LineEdit Tool */
|
||||
21,$0100, /* Dialog Manager */
|
||||
22,$0100, /* Scrap Manager */
|
||||
23,$0100, /* Standard File */
|
||||
27,$0100, /* Font Manager */
|
||||
28,$0100, /* List Manager */
|
||||
30,$0100, /* Resource Manager */
|
||||
34,$0100 /* TextEdit */
|
||||
}
|
||||
};
|
|
@ -0,0 +1,258 @@
|
|||
;
|
||||
; ___FILENAME___
|
||||
; ___PACKAGENAME___
|
||||
;
|
||||
; Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
; Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
;
|
||||
|
||||
mcopy main.macros
|
||||
keep main
|
||||
|
||||
|
||||
menuBar gequ 1
|
||||
|
||||
appleMenu gequ 3
|
||||
fileMenu gequ 4
|
||||
editMenu gequ 5
|
||||
|
||||
editUndo gequ 250
|
||||
editCut gequ 251
|
||||
editCopy gequ 252
|
||||
editPaste gequ 253
|
||||
editClear gequ 254
|
||||
|
||||
fileNew gequ 401
|
||||
fileOpen gequ 402
|
||||
fileClose gequ 255
|
||||
fileQuit gequ 256
|
||||
|
||||
appleAbout gequ 301
|
||||
|
||||
aboutAlertString gequ 1
|
||||
|
||||
windowRes gequ 1001
|
||||
|
||||
toolStartup gequ 1
|
||||
|
||||
refIsHandle gequ 1
|
||||
refIsResource gequ 2
|
||||
|
||||
wInMenuBar gequ $11
|
||||
wInGoAway gequ $16
|
||||
wInSpecial gequ $19
|
||||
|
||||
|
||||
|
||||
main start
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
pha
|
||||
~MMStartUp
|
||||
pl2 userid
|
||||
|
||||
~TLStartUp
|
||||
|
||||
pha
|
||||
pha
|
||||
lda userid
|
||||
pha userid
|
||||
pea refIsResource
|
||||
~StartUpTools *,*,#toolStartup
|
||||
pl4 toolStartupRef
|
||||
|
||||
jsl InitMenus
|
||||
~InitCursor
|
||||
|
||||
loop anop
|
||||
pha
|
||||
~TaskMaster #$ffff,#eventRec
|
||||
pla
|
||||
|
||||
cmp #wInMenuBar
|
||||
bne notInMenuBar
|
||||
jsl HandleMenu
|
||||
bra loop
|
||||
|
||||
notInMenuBar anop
|
||||
cmp #wInSpecial
|
||||
bne notInSpecial
|
||||
jsl HandleMenu
|
||||
bra loop
|
||||
|
||||
notInSpecial anop
|
||||
cmp #wInGoAway
|
||||
bne notInGoAway
|
||||
; Put the low word of the grafport pointer to close in X and the high word in Y
|
||||
ldx wmTaskData
|
||||
ldy wmTaskData+2
|
||||
jsl CloseDocument
|
||||
|
||||
notInGoAway anop
|
||||
bra loop
|
||||
|
||||
|
||||
InitMenus entry
|
||||
|
||||
pha
|
||||
pha
|
||||
~NewMenuBar2 #refIsResource,#menuBar,#0
|
||||
~SetSysBar *
|
||||
~SetMenuBar #0
|
||||
~FixAppleMenu #appleMenu
|
||||
|
||||
pha
|
||||
~FixMenuBar
|
||||
pla
|
||||
|
||||
~DrawMenuBar
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
HandleMenu entry
|
||||
; The low word of the wmTaskData has the menu item number
|
||||
lda wmTaskData
|
||||
|
||||
cmp #appleAbout
|
||||
bne notAbout
|
||||
jsl DoAbout
|
||||
bra menuDone
|
||||
|
||||
notAbout anop
|
||||
cmp #fileNew
|
||||
bne notNew
|
||||
jsl NewDocument
|
||||
bra menuDone
|
||||
|
||||
notNew anop
|
||||
cmp #fileOpen
|
||||
bne notOpen
|
||||
jsl NewDocument
|
||||
bra menuDone
|
||||
|
||||
notOpen anop
|
||||
cmp #fileClose
|
||||
bne notClose
|
||||
pha
|
||||
pha
|
||||
~FrontWindow
|
||||
plx
|
||||
ply
|
||||
jsl CloseDocument
|
||||
bra menuDone
|
||||
|
||||
notClose anop
|
||||
cmp #fileQuit
|
||||
bne notQuit
|
||||
jsl DoQuit
|
||||
bra menuDone
|
||||
|
||||
notQuit anop
|
||||
cmp #editUndo
|
||||
bne notUndo
|
||||
; Handle undo here
|
||||
bra menuDone
|
||||
|
||||
notUndo anop
|
||||
cmp #editCut
|
||||
bne notCut
|
||||
; Handle cut here
|
||||
bra menuDone
|
||||
|
||||
notCut anop
|
||||
cmp #editCopy
|
||||
bne notCopy
|
||||
; Handle copy here
|
||||
bra menuDone
|
||||
|
||||
notCopy anop
|
||||
cmp #editPaste
|
||||
bne notPaste
|
||||
; Handle paste here
|
||||
bra menuDone
|
||||
|
||||
notPaste anop
|
||||
cmp #editClear
|
||||
bne notClear
|
||||
; Handle clear here
|
||||
bra menuDone
|
||||
|
||||
notClear anop
|
||||
menuDone anop
|
||||
pea $0000
|
||||
lda wmTaskData+2
|
||||
pha
|
||||
~HiliteMenu *,*
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
CloseDocument entry
|
||||
; X has the low word of the grafport pointer, Y has the high word
|
||||
phy
|
||||
phx
|
||||
~CloseWindow *
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
NewDocument entry
|
||||
pha
|
||||
pha
|
||||
~NewWindow2 #winName,#0,#0,#0,#2,#windowRes,#$800E
|
||||
pla
|
||||
pla
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
DoAbout entry
|
||||
pha
|
||||
~AlertWindow #4,#0,#aboutAlertString
|
||||
pla
|
||||
rtl
|
||||
|
||||
|
||||
DoQuit entry
|
||||
|
||||
~ShutDownTools #refIsHandle,toolStartupRef
|
||||
~TLShutDown
|
||||
~MMShutDown userid
|
||||
|
||||
plb
|
||||
|
||||
_quitGS quitDCB
|
||||
rtl
|
||||
|
||||
; Global data
|
||||
|
||||
userid dc i2'0'
|
||||
toolStartupRef dc i4'0'
|
||||
winName dw 'MyWindow'
|
||||
|
||||
eventRec anop
|
||||
what dc i2'0'
|
||||
message dc i4'0'
|
||||
when dc i4'0'
|
||||
where_vert dc i2'0'
|
||||
where_horiz dc i2'0'
|
||||
modifiers dc i2'0'
|
||||
wmTaskData dc i4'0'
|
||||
wmTaskMask dc i4'$001f7fff'
|
||||
wmLastClickTick dc i4'0'
|
||||
wmClickCount dc i2'0'
|
||||
wmTaskData2 dc i4'0'
|
||||
wmTaskData3 dc i4'0'
|
||||
wmTaskData4 dc i4'0'
|
||||
wmLastClickPt_vert dc i2'0'
|
||||
wmLastClickPt_horiz dc i2'0'
|
||||
|
||||
; Used by doQuit
|
||||
quitDCB dc i2'0'
|
||||
|
||||
end
|
||||
|
267
pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
267
pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,267 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Nodes</key>
|
||||
<array>
|
||||
<string>main.s</string>
|
||||
<string>main.rez</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/config.txt</string>
|
||||
<string>make/createDiskImage</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/launchEmulator</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/system601.2mg</string>
|
||||
<string>make/empty.2mg</string>
|
||||
<string>make/tar</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
<key>main.s</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.s</string>
|
||||
</dict>
|
||||
<key>main.rez</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>main.rez</string>
|
||||
</dict>
|
||||
<key>make/config.txt</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/config.txt</string>
|
||||
</dict>
|
||||
<key>make/createDiskImage</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/createDiskImage</string>
|
||||
</dict>
|
||||
<key>make/head.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/launchEmulator</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/launchEmulator</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-asm</string>
|
||||
</dict>
|
||||
<key>make/orca-cc</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-rez</string>
|
||||
</dict>
|
||||
<key>make/system601.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/system601.2mg</string>
|
||||
</dict>
|
||||
<key>make/empty.2mg</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/empty.2mg</string>
|
||||
</dict>
|
||||
<key>make/tar</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tar</string>
|
||||
</dict>
|
||||
<key>make/tail.mk</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/tail.mk</string>
|
||||
</dict>
|
||||
<key>Makefile</key>
|
||||
<dict>
|
||||
<key>Path</key>
|
||||
<string>Makefile</string>
|
||||
</dict>
|
||||
<key>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<array>
|
||||
<string>Supporting Files</string>
|
||||
</array>
|
||||
<key>Path</key>
|
||||
<string>___PACKAGENAME___.xcscheme</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
|
||||
<key>Identifier</key>
|
||||
<string>com.halcyontouch.apple2gsOrcaMNDA</string>
|
||||
<key>Ancestors</key>
|
||||
<array>
|
||||
<string>com.apple.dt.unit.externalBuildSystem</string>
|
||||
</array>
|
||||
<key>Concrete</key>
|
||||
<true/>
|
||||
<key>Description</key>
|
||||
<string>This template creates an Apple IIgs ORCA/M code project to build a new desktop accessory. 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.</string>
|
||||
<key>Options</key>
|
||||
<array/>
|
||||
<key>Targets</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>TargetType</key>
|
||||
<string>Legacy</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.cocoaLegacyTarget</string>
|
||||
<key>BuildToolPath</key>
|
||||
<string>___VARIABLE_buildToolPath___</string>
|
||||
<key>BuildToolArgsString</key>
|
||||
<string>-C ___PACKAGENAME___ $(ACTION)</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>OTHER_CFLAGS</key>
|
||||
<string></string>
|
||||
<key>OTHER_LDFLAGS</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<key>Configurations</key>
|
||||
<dict>
|
||||
<key>Debug</key>
|
||||
<dict>
|
||||
<key>DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_GENERATE_DEBUGGING_SYMBOLS</key>
|
||||
<string>YES</string>
|
||||
<key>GCC_OPTIMIZATION_LEVEL</key>
|
||||
<string>0</string>
|
||||
</dict>
|
||||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>DiskImage</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.2mg</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Archive</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___.shk</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -64,6 +64,18 @@
|
|||
argument = "$PROJECT_DIR/___PACKAGENAME___"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "TARGET_BUILD_DIR=$TARGET_BUILD_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "DERIVED_SOURCES_DIR=$DERIVED_SOURCES_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "OBJECT_FILE_DIR=$OBJECT_FILE_DIR"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "execute"
|
||||
isEnabled = "YES">
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
|
||||
|
||||
#define windowRes 1001
|
||||
|
||||
|
||||
resource rVersion (1) {
|
||||
{
|
||||
0, /* Major version number in BCD */
|
||||
1, /* Minor version number in BCD */
|
||||
0, /* Bug version number in BCD */
|
||||
development,/* Development phase */
|
||||
0 /* Release number */
|
||||
},
|
||||
verUS,
|
||||
"___PROJECTNAME___",
|
||||
"Copyright \$A9 ___YEAR___ ___FULLUSERNAME___"
|
||||
};
|
||||
|
||||
|
||||
resource rWindParam1 (windowRes) {
|
||||
$C0A5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0,0,0,0}, /* ZoomRect */
|
||||
$07FF0001, /* wColor ID */
|
||||
{0,0}, /* Origin */
|
||||
{0,0}, /* data size */
|
||||
{0,0}, /* max height-width */
|
||||
{0,0}, /* scroll ver hors */
|
||||
{0,0}, /* page ver horiz */
|
||||
0, /* winfoRefcon */
|
||||
0, /* wInfoHeight */
|
||||
{50,50,62,200}, /* wposition */
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0800 /* wInVerb */
|
||||
};
|
|
@ -0,0 +1,315 @@
|
|||
;
|
||||
; ___FILENAME___
|
||||
; ___PACKAGENAME___
|
||||
;
|
||||
; Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
; Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
|
||||
;
|
||||
|
||||
mcopy main.macros
|
||||
keep main
|
||||
|
||||
windowRes gequ 1001
|
||||
|
||||
eventAction gequ $0001
|
||||
runAction gequ $0002
|
||||
cursorAction gequ $0003
|
||||
undoAction gequ $0005
|
||||
cutAction gequ $0006
|
||||
copyAction gequ $0007
|
||||
pasteAction gequ $0008
|
||||
clearAction gequ $0009
|
||||
|
||||
updateEvt gequ $0006
|
||||
wInControl gequ $0021
|
||||
keyDownEvt gequ $0003
|
||||
autoKeyEvt gequ $0005
|
||||
|
||||
|
||||
main start
|
||||
dc i4'NDAOpen' ; Open callback
|
||||
dc i4'NDAClose' ; Close callback
|
||||
dc i4'NDAAction' ; Action callback
|
||||
dc i4'NDAInit' ; Init callback
|
||||
dc i2'$ffff' ; Period
|
||||
dc i2'$03ff' ; Event mask
|
||||
dc c' ___PACKAGENAME___\\H**' ; Menu line
|
||||
dc i1'0'
|
||||
|
||||
end
|
||||
|
||||
|
||||
NDAOpen start
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
lda ndaActive
|
||||
beq doOpen
|
||||
plb
|
||||
rtl
|
||||
|
||||
doOpen anop
|
||||
|
||||
_getLevelGS levelDCB
|
||||
lda level
|
||||
sta oldLevel
|
||||
stz level
|
||||
_setLevelGS levelDCB
|
||||
|
||||
_getSysPrefsGS prefsDCB
|
||||
lda prefs
|
||||
sta oldPrefs
|
||||
and #$1fff
|
||||
ora #$8000
|
||||
sta prefs
|
||||
_setSysPrefsGS prefsDCB
|
||||
|
||||
pha
|
||||
~OpenResourceFileByID #1,userId
|
||||
pl2 oldResApp
|
||||
|
||||
pha
|
||||
pha
|
||||
~NewWindow2 #winName,#0,#DrawContents,#0,#2,#windowRes,#$800E
|
||||
pl4 winPtr
|
||||
|
||||
~SetSysWindow winPtr
|
||||
~ShowWindow winPtr
|
||||
~SelectWindow winPtr
|
||||
|
||||
lda #1
|
||||
sta ndaActive
|
||||
|
||||
lda oldPrefs
|
||||
sta prefs
|
||||
_setSysPrefsGS prefsDCB
|
||||
lda oldLevel
|
||||
sta level
|
||||
_setLevelGS levelDCB
|
||||
|
||||
~SetCurResourceApp oldResApp
|
||||
|
||||
lda winPtr
|
||||
sta 5,S
|
||||
lda winPtr+2
|
||||
sta 7,S
|
||||
|
||||
plb
|
||||
|
||||
rtl
|
||||
|
||||
DrawContents entry
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
~PenNormal
|
||||
~MoveTo #7,#10
|
||||
~DrawString #messageStr
|
||||
|
||||
plb
|
||||
|
||||
rtl
|
||||
|
||||
NDAClose entry
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
lda ndaActive
|
||||
beq closeNotActive
|
||||
|
||||
~CloseWindow winPtr
|
||||
|
||||
stz winPtr
|
||||
stz winPtr+2
|
||||
stz ndaActive
|
||||
|
||||
closeNotActive anop
|
||||
~ResourceShutdown
|
||||
|
||||
plb
|
||||
rtl
|
||||
|
||||
NDAAction entry
|
||||
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
|
||||
cmp #eventAction
|
||||
bne notEvent
|
||||
jsl HandleEvent
|
||||
bra actionDone
|
||||
|
||||
notEvent anop
|
||||
cmp #runAction
|
||||
bne notRun
|
||||
jsl HandleRun
|
||||
bra actionDone
|
||||
|
||||
notRun anop
|
||||
cmp #cursorAction
|
||||
bne notCursor
|
||||
jsl HandleCursor
|
||||
bra actionDone
|
||||
|
||||
notCursor anop
|
||||
cmp #undoAction
|
||||
blt notEdit
|
||||
cmp #clearAction+1
|
||||
bge notEdit
|
||||
jsl HandleEdit
|
||||
lda #1
|
||||
bra actionDone
|
||||
|
||||
notEdit anop
|
||||
actionDone anop
|
||||
plb
|
||||
rtl
|
||||
|
||||
HandleEvent entry
|
||||
; The X register has the low 16 bits of the address of the event record.
|
||||
; We leave that there and use that in the memory move instruction to
|
||||
; copy that event record into our local event.
|
||||
;
|
||||
; The Y register has the high 16 bits of the address of the event record.
|
||||
; We need to get that into the upper 8 bits of the accumulator.
|
||||
tya
|
||||
xba
|
||||
; Now we need to or in the current bank register into the lower 8 bits
|
||||
; of the accumulator for the move instruction
|
||||
pea $0
|
||||
phb
|
||||
ora 1,S
|
||||
; We have the source and destination banks in the accumulator now. Modify
|
||||
; the move instruction to have these banks and clean up the stack.
|
||||
sta moveIns+1
|
||||
plb
|
||||
pla
|
||||
|
||||
; X is already setup for the move. We need the low 16 bits of the destination
|
||||
; in the Y register and the count of bytes to copy minus one in the accumulator.
|
||||
ldy #localEvent
|
||||
lda #15 ; Copy 16 bytes
|
||||
moveIns mvn 0,0
|
||||
|
||||
pha
|
||||
~TaskMasterDA #0,#localEvent
|
||||
pla
|
||||
|
||||
cmp #updateEvt
|
||||
bne notUpdate
|
||||
~BeginUpdate winPtr
|
||||
jsl DrawContents
|
||||
~EndUpdate winPtr
|
||||
bra eventDone
|
||||
|
||||
notUpdate anop
|
||||
cmp #wInControl
|
||||
bne notControl
|
||||
jsl HandleControl
|
||||
bra eventDone
|
||||
|
||||
notControl anop
|
||||
cmp #keyDownEvt
|
||||
beq isKey
|
||||
cmp #autoKeyEvt
|
||||
beq isKey
|
||||
|
||||
eventDone anop
|
||||
rtl
|
||||
|
||||
isKey anop
|
||||
jsl HandleKey
|
||||
bra eventDone
|
||||
|
||||
|
||||
HandleControl entry
|
||||
; Add code here if you need to handle controls in your NDA window
|
||||
rtl
|
||||
|
||||
HandleKey entry
|
||||
; Add code here if you need to handle keypresses
|
||||
rtl
|
||||
|
||||
HandleRun entry
|
||||
; Add code here if you need to execute something periodically from your NDA
|
||||
rtl
|
||||
|
||||
HandleCursor entry
|
||||
; Add code here if you need to do something to the cursor when over the NDA window
|
||||
rtl
|
||||
|
||||
HandleEdit entry
|
||||
; Add code here to handle undo, cut, copy, paste or clear. The A register holds
|
||||
; the action code.
|
||||
rtl
|
||||
|
||||
NDAInit entry
|
||||
phb
|
||||
phk
|
||||
plb
|
||||
cmp #$00
|
||||
beq toolShutdown
|
||||
|
||||
stz ndaActive
|
||||
|
||||
pha
|
||||
~MMStartUp
|
||||
pla
|
||||
sta userId
|
||||
|
||||
bra initReturn
|
||||
|
||||
toolShutdown anop
|
||||
lda ndaActive
|
||||
beq initReturn
|
||||
jsl NDAClose
|
||||
|
||||
initReturn anop
|
||||
plb
|
||||
rtl
|
||||
|
||||
; Global data
|
||||
|
||||
ndaActive dc i2'0'
|
||||
winPtr dc i4'0'
|
||||
userId dc i2'0'
|
||||
winName dw ' ___PACKAGENAME___ '
|
||||
messageStr dw 'Hello, world!'
|
||||
|
||||
; Used by NDAOpen to access resources
|
||||
oldResApp dc i2'0'
|
||||
oldLevel dc i2'0'
|
||||
oldPrefs dc i2'0'
|
||||
|
||||
levelDCB dc i2'2' ; GSOS control block to get/set level
|
||||
level dc i2'0'
|
||||
dc i2'0'
|
||||
|
||||
prefsDCB dc i2'1' ; GSOS control block to get/set preferences
|
||||
prefs dc i2'0'
|
||||
|
||||
; Used by HandleEvent
|
||||
localEvent anop
|
||||
what dc i2'0'
|
||||
message dc i4'0'
|
||||
when dc i4'0'
|
||||
where_vert dc i2'0'
|
||||
where_horiz dc i2'0'
|
||||
modifiers dc i2'0'
|
||||
wmTaskData dc i4'0'
|
||||
wmTaskMask dc i4'$001fffff'
|
||||
wmLastClickTick dc i4'0'
|
||||
wmClickCount dc i2'0'
|
||||
wmTaskData2 dc i4'0'
|
||||
wmTaskData3 dc i4'0'
|
||||
wmTaskData4 dc i4'0'
|
||||
wmLastClickPt_vert dc i2'0'
|
||||
wmLastClickPt_horiz dc i2'0'
|
||||
|
||||
|
||||
end
|
|
@ -7,12 +7,12 @@
|
|||
<string>main.s</string>
|
||||
<string>Makefile</string>
|
||||
<string>make/head.mk</string>
|
||||
<string>make/md2teach</string>
|
||||
<string>make/orca-asm</string>
|
||||
<string>make/orca-cc</string>
|
||||
<string>make/orca-macgen</string>
|
||||
<string>make/orca-rez</string>
|
||||
<string>make/tail.mk</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
<string>../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme</string>
|
||||
</array>
|
||||
<key>Definitions</key>
|
||||
<dict>
|
||||
|
@ -28,6 +28,13 @@
|
|||
<key>Path</key>
|
||||
<string>make/head.mk</string>
|
||||
</dict>
|
||||
<key>make/md2teach</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/md2teach</string>
|
||||
</dict>
|
||||
<key>make/orca-asm</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -42,13 +49,6 @@
|
|||
<key>Path</key>
|
||||
<string>make/orca-cc</string>
|
||||
</dict>
|
||||
<key>make/orca-macgen</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
<string>make</string>
|
||||
<key>Path</key>
|
||||
<string>make/orca-macgen</string>
|
||||
</dict>
|
||||
<key>make/orca-rez</key>
|
||||
<dict>
|
||||
<key>Group</key>
|
||||
|
@ -124,49 +124,64 @@
|
|||
<key>Release</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>Binary</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>___PACKAGENAME___</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ProductType</key>
|
||||
<string>com.apple.product-type.tool</string>
|
||||
<key>TargetIdentifier</key>
|
||||
<string>com.apple.dt.commandLineToolTarget</string>
|
||||
<key>Name</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>SharedSettings</key>
|
||||
<dict>
|
||||
<key>PRODUCT_NAME</key>
|
||||
<string>doNotBuild</string>
|
||||
<key>GCC_PREPROCESSOR_DEFINITIONS</key>
|
||||
<string>inline(X,Y)=""
|
||||
extended=double
|
||||
pascal=""</string>
|
||||
<key>HEADER_SEARCH_PATHS</key>
|
||||
<string>$TEMP_ROOT/___PACKAGENAME___.build/$CONFIGURATION/___PACKAGENAME___.build/DerivedSources
|
||||
$GOLDEN_GATE/Libraries/ORCACDefs
|
||||
~/Library/GoldenGate/Libraries/ORCACDefs
|
||||
/Library/GoldenGate/Libraries/ORCACDefs
|
||||
~/GoldenGate/Libraries/ORCACDefs</string>
|
||||
</dict>
|
||||
<key>BuildPhases</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Sources</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>Frameworks</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Class</key>
|
||||
<string>CopyFiles</string>
|
||||
<key>DstPath</key>
|
||||
<string>/usr/share/man/man1/</string>
|
||||
<key>DstSubfolderSpec</key>
|
||||
<string>0</string>
|
||||
<key>RunOnlyForDeploymentPostprocessing</key>
|
||||
<string>YES</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -57,7 +57,7 @@
|
|||
</MacroExpansion>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "$PROJECT_DIR/___PACKAGENAME___/___PACKAGENAME___"
|
||||
argument = "$TARGET_BUILD_DIR/___PACKAGENAME___"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
20
pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateInfo.plist
vendored
Normal file
20
pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateInfo.plist
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AllowedTypes</key>
|
||||
<array>
|
||||
<string>com.rand-family.xcode.merlin</string>
|
||||
</array>
|
||||
<key>DefaultCompletionName</key>
|
||||
<string>File</string>
|
||||
<key>Description</key>
|
||||
<string>A Merlin assembly source file.</string>
|
||||
<key>Kind</key>
|
||||
<string>Xcode.IDEKit.TextSubstitutionFileTemplateKind</string>
|
||||
<key>MainTemplateFile</key>
|
||||
<string>___FILEBASENAME___.s</string>
|
||||
<key>Summary</key>
|
||||
<string>A Merlin assembly source file</string>
|
||||
</dict>
|
||||
</plist>
|
16
pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s
vendored
Executable file
16
pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s
vendored
Executable file
|
@ -0,0 +1,16 @@
|
|||
*
|
||||
* ___FILENAME___
|
||||
* ___PROJECTNAME___
|
||||
*
|
||||
* Created by ___FULLUSERNAME___ on ___DATE___.
|
||||
* ___COPYRIGHT___
|
||||
*
|
||||
|
||||
]XCODESTART ; Keep this at the start and put your code after this
|
||||
|
||||
* Put your code here. We need these markers to convince Xcode to indent
|
||||
* properly. If you delete them or put your code outside the markers, your
|
||||
* build will work but the Xcode editor will be annoying.
|
||||
|
||||
]XCODEEND ; Keep this at the end and put your code above this
|
||||
|
|
@ -6,9 +6,9 @@
|
|||
* ___COPYRIGHT___
|
||||
*/
|
||||
|
||||
#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
|
||||
#ifndef _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
#define _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____
|
||||
|
||||
|
||||
|
||||
#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
|
||||
#endif /* define _GUARD_PROJECT___PROJECTNAMEASIDENTIFIER____FILE___FILEBASENAMEASIDENTIFIER____ */
|
||||
|
|
BIN
pkg/Templates/File Templates/Apple IIgs/ORCAM Assembly File.xctemplate/TemplateIcon.png
vendored
Normal file
BIN
pkg/Templates/File Templates/Apple IIgs/ORCAM Assembly File.xctemplate/TemplateIcon.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
BIN
pkg/Templates/File Templates/Apple IIgs/ORCAM Assembly File.xctemplate/TemplateIcon@2x.png
vendored
Normal file
BIN
pkg/Templates/File Templates/Apple IIgs/ORCAM Assembly File.xctemplate/TemplateIcon@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
|
@ -2,9 +2,9 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AllowedTypes</key>
|
||||
<key>AllowedTypes</key>
|
||||
<array>
|
||||
<string>com.rand-family.xcode.orcam</string>
|
||||
<string>com.rand-family.xcode.orcam</string>
|
||||
</array>
|
||||
<key>DefaultCompletionName</key>
|
||||
<string>File</string>
|
||||
|
@ -15,6 +15,6 @@
|
|||
<key>MainTemplateFile</key>
|
||||
<string>___FILEBASENAME___.s</string>
|
||||
<key>Summary</key>
|
||||
<string>An assembly source file</string>
|
||||
<string>An ORCA/M assembly source file</string>
|
||||
</dict>
|
||||
</plist>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue