💾 Archived View for mirrors.apple2.org.za › archive › apple2.caltech.edu › hypermedia › xcmdmaker12.… captured on 2024-02-05 at 11:07:16.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

XCMDMaker 1.2
-------------
A HyperCard IIgs stack for creating HyperCard IIgs XCMDs and XFCNs, and for performing general resource maintenance.

Copyright 1995, by David Empson.

This stack is donationware. See the end of this document for details.


What are XCMDs and XFCNs?
-------------------------
An XCMD or XFCN is a program which can be attached to a HyperCard IIgs stack and can be used by the HyperTalk scripts in the stack.  (HyperTalk is HyperCard IIgs's scripting language.)
XCMD means 'external command' and XFCN means 'external function'.  The only difference between an XCMD and an XFCN is the way in which they are used in HyperTalk.

The main advantages XCMDs and XFCNs have over a HyperTalk script are:
- they execute a lot faster, making them particularly useful for time-critical operations.
- they have direct access to GS/OS and the Apple IIgs toolbox.

Some example uses of an XCMD or XFCN:
- serial input and output.
- custom search and replace operations.
- reading or writing files in special formats (such as an AppleWorks word processor document).
- adding more powerful sound capabilities to HyperCard IIgs.

XCMDs and XFCNs can easily be interfaced with HyperTalk scripts.  They can be used to override standard HyperCard IIgs scripting functions in the same way as a HyperTalk script.

An XCMD or XFCN can be written using most conventional programming languages on the IIgs (Assembly Language, C and Pascal at the very least).
You will require the documentation in Apple Computer's "HyperCard IIgs Script Language Guide: The HyperTalk Language" (Addison Wesley, 1991) to find out how to write XCMDs.  Some additional hints are provided in this stack.


What does XCMDMAKER do?
-----------------------
The main purpose of XCMDMAKER is to convert an XCMD or XFCN from compiled and linked code into the form required by HyperCard IIgs (i.e. a code resource) and attach it to a stack.  This can be done with existing resource tools such as SSSI's Genesys resource editor or Apple Computer's REZ compiler for APW, but you may find XCMDMAKER more straightforward to use.

Note: an XCMD or XFCN must be specially written - you can't use XCMDMAKER to turn an arbitrary IIgs program into an XCMD or XFCN!

XCMDMAKER can also be used to copy selected resources (i.e. XCMDs, XFCNs, Icons, Sounds and Cursors) from one stack to another, or to delete, rename or change the identification number of resources. XCMDMAKER can also view icon resources, play sound resources and test cursor resources.

If you are using pre-supplied XCMDs and XFCNs and not writing your own, XCMDMAKER can still be useful for copying resources between stacks.  Please don't abuse this capability - don't make or distribute illegal copies of XCMDs and XFCNs.

Full documentation is provided within the stack.


Legal Stuff
-----------
This stack is donationware. If you use this stack and like what you see, the author would appreciate a donation, e.g. US$5 or US$10. See the "Legal Notes" card in the stack for more details. My contact address is:

David Empson
P.O. Box 27-103
Wellington
NEW ZEALAND

I can also be contacted on Internet by sending E-Mail to:

dempson@actrix.gen.nz


Comments, questions, etc. are welcomed.  Let's see some really good XCMDs and XFCNs for HyperCard IIgs!

Please distribute this stack as widely as possible.  Don't forget to include the documentation file!

This stack may be uploaded to any BBS or online service, and may be included on user group public domain disks. Commercial distribution is expressly prohibited without prior arrangement with myself. The XCMDs and XFCNs in this stack may not be used in other stacks without my permission.

Please do not distribute modified versions of XCMDMAKER.

Various trademarks used in this document belong to other people. They know who they are.