[comp.sources.atari.st] v02i056: gccgem -- GEM libraries for GCC part01/06

koreth%panarthea.ebay@sun.com (Steven Grimm) (07/21/89)

Submitted-by: uunet!unido!sbsvax!roeder (Edgar Roeder)
Posting-number: Volume 2, Issue 56
Archive-name: gccgem/part01

This is the long awaited GEM library for GNU C. This code would also work
for other C-compilers. Watch out for the inline assembler statements in
gem-guts.h. You may need to replace them by whatever your compiler supports.

I am posting this for a friend who has no access to the net.
If there are any questions mail to me at roeder@sbsvax.uucp and i will
forward them to him.

[I repackaged this, as the original submission was in 60K-parts. -sg]

- Edgar

#!/bin/sh
# shar:	Shell Archiver  (v1.22)
#
# This is part 1 of a multipart archive                                    
# do not concatenate these parts, unpack them in order with /bin/sh        
#
#	Run the following text with /bin/sh to create:
#	  COPYING
#	  README
#	  aes.h
#	  aes_10.c
#	  aes_100.c
#	  aes_101.c
#	  aes_102.c
#	  aes_103.c
#	  aes_104.c
#	  aes_105.c
#	  aes_106.c
#	  aes_107.c
#	  aes_108.c
#	  aes_11.c
#	  aes_110.c
#	  aes_111.c
#	  aes_112.c
#	  aes_113.c
#	  aes_114.c
#	  aes_12.c
#	  aes_120.c
#	  aes_121.c
#	  aes_122.c
#	  aes_123.c
#	  aes_124.c
#	  aes_125.c
#	  aes_13.c
#	  aes_14.c
#	  aes_15.c
#	  aes_19.c
#	  aes_20.c
#	  aes_21.c
#	  aes_22.c
#	  aes_23.c
#	  aes_24.c
#	  aes_25.c
#	  aes_26.c
#	  aes_30.c
#	  aes_31.c
#	  aes_32.c
#	  aes_33.c
#	  aes_34.c
#	  aes_35.c
#	  aes_40.c
#	  aes_41.c
#	  aes_42.c
#	  aes_43.c
#	  aes_44.c
#	  aes_45.c
#	  aes_46.c
#	  aes_47.c
#	  aes_50.c
#	  aes_51.c
#	  aes_52.c
#	  aes_53.c
#	  aes_54.c
#	  aes_55.c
#	  aes_56.c
#	  aes_70.c
#	  aes_71.c
#	  aes_72.c
#	  aes_73.c
#	  aes_74.c
#	  aes_75.c
#	  aes_76.c
#	  aes_77.c
#	  aes_78.c
#	  aes_79.c
#	  aes_80.c
#	  aes_81.c
#	  aes_90.c
#	  aes_91.c
#	  felder.c
#	  gem-guts.h
#	  vdi.h
#	  vdi11_10.c
#	  vdi5_1.c
#	  vdi5_10.c
#	  vdi5_100.c
#	  vdi5_101.c
#	  vdi5_102.c
#	  vdi5_11.c
#	  vdi5_12.c
#	  vdi5_13.c
#	  vdi5_14.c
#	  vdi5_15.c
#	  vdi5_16.c
#	  vdi5_17.c
#	  vdi5_18.c
#	  vdi5_19.c
#	  vdi5_2.c
#	  vdi5_20.c
#	  vdi5_21.c
#	  vdi5_22.c
#	  vdi5_23.c
#	  vdi5_3.c
#	  vdi5_4.c
#	  vdi5_5.c
#	  vdi5_6.c
#	  vdi5_7.c
#	  vdi5_8.c
#	  vdi5_9.c
#	  vdi5_98.c
#	  vdi5_99.c
#	  vdi_1.c
#	  vdi_10.c
#	  vdi_100.c
#	  vdi_101.c
#	  vdi_102.c
#	  vdi_103.c
#	  vdi_104.c
#	  vdi_105.c
#	  vdi_106.c
#	  vdi_107.c
#	  vdi_108.c
#	  vdi_109.c
#	  vdi_110.c
#	  vdi_111.c
#	  vdi_112.c
#	  vdi_113.c
#	  vdi_114.c
#	  vdi_115.c
#	  vdi_116.c
#	  vdi_117.c
#	  vdi_118.c
#	  vdi_119.c
#	  vdi_11_1.c
#	  vdi_11_2.c
#	  vdi_11_3.c
#	  vdi_11_4.c
#	  vdi_11_5.c
#	  vdi_11_6.c
#	  vdi_11_7.c
#	  vdi_11_8.c
#	  vdi_11_9.c
#	  vdi_12.c
#	  vdi_120.c
#	  vdi_121.c
#	  vdi_122.c
#	  vdi_123.c
#	  vdi_124.c
#	  vdi_125.c
#	  vdi_126.c
#	  vdi_127.c
#	  vdi_128.c
#	  vdi_129.c
#	  vdi_13.c
#	  vdi_130.c
#	  vdi_131.c
#	  vdi_14.c
#	  vdi_15.c
#	  vdi_16.c
#	  vdi_17.c
#	  vdi_18.c
#	  vdi_19.c
#	  vdi_2.c
#	  vdi_20.c
#	  vdi_21.c
#	  vdi_22.c
#	  vdi_23.c
#	  vdi_24.c
#	  vdi_25.c
#	  vdi_26.c
#	  vdi_27.c
#	  vdi_28.c
#	  vdi_29.c
#	  vdi_3.c
#	  vdi_30.c
#	  vdi_31.c
#	  vdi_32.c
#	  vdi_33.c
#	  vdi_35.c
#	  vdi_36.c
#	  vdi_37.c
#	  vdi_38.c
#	  vdi_39.c
#	  vdi_4.c
#	  vdi_6.c
#	  vdi_7.c
#	  vdi_8.c
#	  vdi_9.c
#	  vdi_b.c
#	  vdi_c.c
#	  vdi_d.c
#	  vdi_e.c
#	  vdi_m_a.c
#
if test -r s2_seq_.tmp
then echo "Must unpack archives in sequence!"
     next=`cat s2_seq_.tmp`; echo "Please unpack part $next next"
     exit 1; fi
echo "x - extracting COPYING (Text)"
sed 's/^X//' << 'SHAR_EOF' > COPYING &&
X
X		    GNU GENERAL PUBLIC LICENSE
X		     Version 1, February 1989
X
X Copyright (C) 1989 Free Software Foundation, Inc.
X                    675 Mass Ave, Cambridge, MA 02139, USA
X Everyone is permitted to copy and distribute verbatim copies
X of this license document, but changing it is not allowed.
X
X			    Preamble
X
X  The license agreements of most software companies try to keep users
Xat the mercy of those companies.  By contrast, our General Public
XLicense is intended to guarantee your freedom to share and change free
Xsoftware--to make sure the software is free for all its users.  The
XGeneral Public License applies to the Free Software Foundation's
Xsoftware and to any other program whose authors commit to using it.
XYou can use it for your programs, too.
X
X  When we speak of free software, we are referring to freedom, not
Xprice.  Specifically, the General Public License is designed to make
Xsure that you have the freedom to give away or sell copies of free
Xsoftware, that you receive source code or can get it if you want it,
Xthat you can change the software or use pieces of it in new free
Xprograms; and that you know you can do these things.
X
X  To protect your rights, we need to make restrictions that forbid
Xanyone to deny you these rights or to ask you to surrender the rights.
XThese restrictions translate to certain responsibilities for you if you
Xdistribute copies of the software, or if you modify it.
X
X  For example, if you distribute copies of a such a program, whether
Xgratis or for a fee, you must give the recipients all the rights that
Xyou have.  You must make sure that they, too, receive or can get the
Xsource code.  And you must tell them their rights.
X
X  We protect your rights with two steps: (1) copyright the software, and
X(2) offer you this license which gives you legal permission to copy,
Xdistribute and/or modify the software.
X
X  Also, for each author's protection and ours, we want to make certain
Xthat everyone understands that there is no warranty for this free
Xsoftware.  If the software is modified by someone else and passed on, we
Xwant its recipients to know that what they have is not the original, so
Xthat any problems introduced by others will not reflect on the original
Xauthors' reputations.
X
X  The precise terms and conditions for copying, distribution and
Xmodification follow.
X
X		    GNU GENERAL PUBLIC LICENSE
X   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
X
X  0. This License Agreement applies to any program or other work which
Xcontains a notice placed by the copyright holder saying it may be
Xdistributed under the terms of this General Public License.  The
X"Program", below, refers to any such program or work, and a "work based
Xon the Program" means either the Program or any work containing the
XProgram or a portion of it, either verbatim or with modifications.  Each
Xlicensee is addressed as "you".
X
X  1. You may copy and distribute verbatim copies of the Program's source
Xcode as you receive it, in any medium, provided that you conspicuously and
Xappropriately publish on each copy an appropriate copyright notice and
Xdisclaimer of warranty; keep intact all the notices that refer to this
XGeneral Public License and to the absence of any warranty; and give any
Xother recipients of the Program a copy of this General Public License
Xalong with the Program.  You may charge a fee for the physical act of
Xtransferring a copy.
X
X  2. You may modify your copy or copies of the Program or any portion of
Xit, and copy and distribute such modifications under the terms of Paragraph
X1 above, provided that you also do the following:
X
X    a) cause the modified files to carry prominent notices stating that
X    you changed the files and the date of any change; and
X
X    b) cause the whole of any work that you distribute or publish, that
X    in whole or in part contains the Program or any part thereof, either
X    with or without modifications, to be licensed at no charge to all
X    third parties under the terms of this General Public License (except
X    that you may choose to grant warranty protection to some or all
X    third parties, at your option).
X
X    c) If the modified program normally reads commands interactively when
X    run, you must cause it, when started running for such interactive use
X    in the simplest and most usual way, to print or display an
X    announcement including an appropriate copyright notice and a notice
X    that there is no warranty (or else, saying that you provide a
X    warranty) and that users may redistribute the program under these
X    conditions, and telling the user how to view a copy of this General
X    Public License.
X
X    d) You may charge a fee for the physical act of transferring a
X    copy, and you may at your option offer warranty protection in
X    exchange for a fee.
X
XMere aggregation of another independent work with the Program (or its
Xderivative) on a volume of a storage or distribution medium does not bring
Xthe other work under the scope of these terms.
X
X  3. You may copy and distribute the Program (or a portion or derivative of
Xit, under Paragraph 2) in object code or executable form under the terms of
XParagraphs 1 and 2 above provided that you also do one of the following:
X
X    a) accompany it with the complete corresponding machine-readable
X    source code, which must be distributed under the terms of
X    Paragraphs 1 and 2 above; or,
X
X    b) accompany it with a written offer, valid for at least three
X    years, to give any third party free (except for a nominal charge
X    for the cost of distribution) a complete machine-readable copy of the
X    corresponding source code, to be distributed under the terms of
X    Paragraphs 1 and 2 above; or,
X
X    c) accompany it with the information you received as to where the
X    corresponding source code may be obtained.  (This alternative is
X    allowed only for noncommercial distribution and only if you
X    received the program in object code or executable form alone.)
X
XSource code for a work means the preferred form of the work for making
Xmodifications to it.  For an executable file, complete source code means
Xall the source code for all modules it contains; but, as a special
Xexception, it need not include source code for modules which are standard
Xlibraries that accompany the operating system on which the executable
Xfile runs, or for standard header files or definitions files that
Xaccompany that operating system.
X
X  4. You may not copy, modify, sublicense, distribute or transfer the
XProgram except as expressly provided under this General Public License.
XAny attempt otherwise to copy, modify, sublicense, distribute or transfer
Xthe Program is void, and will automatically terminate your rights to use
Xthe Program under this License.  However, parties who have received
Xcopies, or rights to use copies, from you under this General Public
XLicense will not have their licenses terminated so long as such parties
Xremain in full compliance.
X
X  5. By copying, distributing or modifying the Program (or any work based
Xon the Program) you indicate your acceptance of this license to do so,
Xand all its terms and conditions.
X
X  6. Each time you redistribute the Program (or any work based on the
XProgram), the recipient automatically receives a license from the original
Xlicensor to copy, distribute or modify the Program subject to these
Xterms and conditions.  You may not impose any further restrictions on the
Xrecipients' exercise of the rights granted herein.
X
X  7. The Free Software Foundation may publish revised and/or new versions
Xof the General Public License from time to time.  Such new versions will
Xbe similar in spirit to the present version, but may differ in detail to
Xaddress new problems or concerns.
X
XEach version is given a distinguishing version number.  If the Program
Xspecifies a version number of the license which applies to it and "any
Xlater version", you have the option of following the terms and conditions
Xeither of that version or of any later version published by the Free
XSoftware Foundation.  If the Program does not specify a version number of
Xthe license, you may choose any version ever published by the Free Software
XFoundation.
X
X  8. If you wish to incorporate parts of the Program into other free
Xprograms whose distribution conditions are different, write to the author
Xto ask for permission.  For software which is copyrighted by the Free
XSoftware Foundation, write to the Free Software Foundation; we sometimes
Xmake exceptions for this.  Our decision will be guided by the two goals
Xof preserving the free status of all derivatives of our free software and
Xof promoting the sharing and reuse of software generally.
X
X			    NO WARRANTY
X
X  9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
XFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
XOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
XPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
XOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
XMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
XTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
XPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
XREPAIR OR CORRECTION.
X
X  10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
XWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
XREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
XINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
XOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
XTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
XYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
XPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
XPOSSIBILITY OF SUCH DAMAGES.
X
X		     END OF TERMS AND CONDITIONS
X
X	Appendix: How to Apply These Terms to Your New Programs
X
X  If you develop a new program, and you want it to be of the greatest
Xpossible use to humanity, the best way to achieve this is to make it
Xfree software which everyone can redistribute and change under these
Xterms.
X
X  To do so, attach the following notices to the program.  It is safest to
Xattach them to the start of each source file to most effectively convey
Xthe exclusion of warranty; and each file should have at least the
X"copyright" line and a pointer to where the full notice is found.
X
X    <one line to give the program's name and a brief idea of what it does.>
X    Copyright (C) 19yy  <name of author>
X
X    This program is free software; you can redistribute it and/or modify
X    it under the terms of the GNU General Public License as published by
X    the Free Software Foundation; either version 1, or (at your option)
X    any later version.
X
X    This program is distributed in the hope that it will be useful,
X    but WITHOUT ANY WARRANTY; without even the implied warranty of
X    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X    GNU General Public License for more details.
X
X    You should have received a copy of the GNU General Public License
X    along with this program; if not, write to the Free Software
X    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
XAlso add information on how to contact you by electronic and paper mail.
X
XIf the program is interactive, make it output a short notice like this
Xwhen it starts in an interactive mode:
X
X    Gnomovision version 69, Copyright (C) 19xx name of author
X    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
X    This is free software, and you are welcome to redistribute it
X    under certain conditions; type `show c' for details.
X
XThe hypothetical commands `show w' and `show c' should show the
Xappropriate parts of the General Public License.  Of course, the
Xcommands you use may be called something other than `show w' and `show
Xc'; they could even be mouse-clicks or menu items--whatever suits your
Xprogram.
X
XYou should also get your employer (if you work as a programmer) or your
Xschool, if any, to sign a "copyright disclaimer" for the program, if
Xnecessary.  Here a sample; alter the names:
X
X  Yoyodyne, Inc., hereby disclaims all copyright interest in the
X  program `Gnomovision' (a program to direct compilers to make passes
X  at assemblers) written by James Hacker.
X
X  <signature of Ty Coon>, 1 April 1989
X  Ty Coon, President of Vice
X
XThat's all there is to it!
SHAR_EOF
chmod 0644 COPYING || echo "restore of COPYING fails"
echo "x - extracting README (Text)"
sed 's/^X//' << 'SHAR_EOF' > README &&
XI am posting this for a friend who has no access to the net. He has hacked in
Xmost of the VDI and AES functions used on the ST. If there are any questions
Xmail to me at roeder@sbsvax.uucp and i will forward them to him.
X
XThis library may be distributed under the terms of the GNU General Public
XLicence which can be found in the file COPYING.
SHAR_EOF
chmod 0644 README || echo "restore of README fails"
echo "x - extracting aes.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes.h &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X/*
X *		AES.H - Headerfile fuer die AES Bindings
X *
X *		version 1.0		13.7.89	stefan brueck (sb)
X */
X
X#ifndef __AES_H
X#define __AES_H
X
X#include <portab.h>
X
Xextern WORD global[];
Xextern WORD control[];
Xextern WORD int_in[];
Xextern WORD int_out[];
Xextern LONG addr_in[];
Xextern LONG addr_out[];
X
Xtypedef struct {
X	WORD	*cb_pcontrol;
X	WORD	*cb_pglobal;
X	WORD	*cb_pintin;
X	WORD	*cb_pintout;
X	LONG	*cb_padrin;
X	LONG	*cb_padrout;
X	} AESPB;
X
Xextern WORD gl_apid;
Xextern AESPB aespb;
X
Xtypedef struct {
X		WORD	ob_next;
X		WORD	ob_head;
X		WORD	ob_tail;
X		unsigned WORD 	ob_type;
X		unsigned WORD 	ob_flags;
X		unsigned WORD 	ob_state;
X		char	*ob_spec;
X		WORD	ob_x;
X		WORD	ob_y;
X		WORD	ob_width;
X		WORD	ob_height;
X	} OBJECT;
X
Xtypedef struct {
X		char	*te_ptext;
X		char	*te_ptmplt;
X		char	*te_pvalid;
X		WORD	te_font;
X		WORD	te_resvd1;
X		WORD	te_just;
X		WORD	te_color;
X		WORD	te_resvd2;
X		WORD	te_thickness;
X		WORD	te_txtlen;
X		WORD	te_tmplen;
X	} TEDINFO;
X
Xtypedef struct {
X		WORD	*ib_pmask;
X		WORD	*ib_pdata;
X		char	*ib_ptext;
X		WORD	ib_char;
X		WORD	ib_xchar;
X		WORD	ib_ychar;
X		WORD	ib_xicon;
X		WORD	ib_yicon;
X		WORD	ib_wicon;
X		WORD	ib_hicon;
X		WORD	ib_xtext;
X		WORD	ib_ytext;
X		WORD	ib_wtext;
X		WORD	ib_htext;
X		WORD	ib_resvd;
X	} ICONBLK;
X
Xtypedef struct {
X		WORD	*bi_pdata;
X		WORD	bi_wb;
X		WORD	bi_hl;
X		WORD	bi_x;
X		WORD	bi_y;
X		WORD	bi_color;
X	} BITBLK;
X
Xtypedef struct {
X		WORD	(*ub_code)();
X		LONG	ub_parm;
X	} USERBLK;
X
Xtypedef struct {
X		OBJECT	*pb_tree;
X		WORD	pb_obj;
X		WORD	pb_prevstate;
X		WORD	pb_currstate;
X		WORD	pb_x;
X		WORD	pb_y;
X		WORD	pb_w;
X		WORD	pb_h;
X		WORD	pb_xc;
X		WORD	pb_yc;
X		WORD	pb_wc;
X		WORD	pb_hc;
X		LONG	pb_parm;
X	} PARMBLK;
X
Xtypedef struct {
X		WORD mf_xhot;
X		WORD mf_yhot;
X		WORD mf_nplanes;
X		WORD mf_fg;
X		WORD mf_bg;
X		WORD mf_mask[16];
X		WORD mf_data[16];
X	} MFORM;
X
X/***************** application-library ********************/
X
XWORD	appl_init();
XWORD	appl_read( WORD ap_rid, WORD ap_rlength, char *ap_rbuff);
XWORD	appl_write( WORD ap_wid, WORD ap_wlength, char *ap_wbuff);
XWORD	appl_find( char *ap_fname);
XWORD	appl_tplay( char *ap_tpmem, WORD ap_tpnum, WORD ap_tpscale);
XWORD	appl_trecord( char *ap_trmem, WORD ap_trcount);
XWORD	appl_exit();
X
X/***************** event-library **************************/
X
XWORD	evnt_keybd();
XWORD	evnt_button( WORD ev_bclicks, WORD ev_bmask, WORD ev_bstate, WORD *ev_bmx, WORD *ev_bmy, WORD *ev_bbutton, WORD *ev_bkstate);
XWORD	evnt_mouse( WORD ev_moflags, WORD ev_mox, WORD ev_moy, WORD ev_mowidth, WORD ev_moheight, WORD *ev_momx, WORD *ev_momy, WORD *ev_mobutton, WORD *ev_mokstate); 
XWORD	evnt_mesag(char *ev_mgpbuff);
XWORD	evnt_timer(unsigned WORD ev_tlocount, unsigned WORD ev_thicount);
XWORD	evnt_multi( WORD a, WORD b, WORD c, WORD d, WORD e, WORD f, WORD g, WORD h, WORD i, WORD j, WORD k, WORD l, WORD m, WORD n, char *buff, WORD o, WORD p, WORD *q, WORD *r, WORD *s, WORD *t, WORD *u, WORD *v );
XWORD	evnt_dclick( WORD ev_dnew, WORD ev_dgetset);
X
X/**************** menu-library ****************************/
X
XWORD	menu_bar( OBJECT * me_btree, WORD me_bshow);
XWORD	menu_icheck( OBJECT * me_ctree, WORD me_citem, WORD me_ccheck);
XWORD	menu_ienable( OBJECT * me_etree, WORD me_eitem, WORD me_eenable);
XWORD	menu_tnormal( OBJECT * me_ntree, WORD me_ntitle, WORD me_nnormal);
XWORD 	menu_text( OBJECT * me_ttree, WORD me_titem, char *me_ttext);
XWORD	menu_register( WORD me_rapid, char *me_rpstring);
X
X/**************** object-library **************************/
X
XWORD	objc_add( OBJECT * ab_atree, WORD ob_parent, WORD ob_achild);
XWORD 	objc_delete( OBJECT * ob_dltree, WORD ob_dlobject);
XWORD	objc_draw( OBJECT * ob_drtree, WORD ob_drstartob, WORD ob_drdepth, WORD ob_drxclip, WORD ob_dryclip, WORD ob_drwclip, WORD ob_drhclip);
XWORD	objc_find( OBJECT * ob_ftree, WORD ob_fstartob, WORD ob_fdepth, WORD ob_fmx, WORD ob_fmy);
XWORD	objc_offset( OBJECT * ob_oftree, WORD ob_ofobject, WORD *ob_ofxoff, WORD *ob_ofyoff);
XWORD 	objc_order( OBJECT * ob_ortree, WORD ob_orobject, WORD ob_ornewpos);
XWORD 	objc_edit( OBJECT * ob_edtree, WORD ob_edobject, WORD ob_edchar, WORD *ob_edidx, WORD *ob_edkind);
XWORD 	objc_change( OBJECT * ob_ctree, WORD ob_cobject, WORD ob_cresvd, WORD ob_cxclip, WORD ob_cyclip, WORD ob_cwclip, WORD ob_chclip, WORD ob_cnewstate, WORD ob_credraw);
X
X/********************** form-library **********************/
X
XWORD 	form_do( OBJECT * fo_dotree, WORD fo_dostartob);
XWORD 	form_dial( WORD fo_diflag, WORD fo_dilittlx, WORD fo_dilittly, WORD fo_dilittlw, WORD fo_dilittlh, WORD fo_dibigx, WORD fo_dibigy, WORD fo_dibigw, WORD fo_dibigh);
XWORD	form_alert( WORD fo_adefbttn, char *fo_astring);
XWORD	form_error( WORD fo_enum);
XWORD	form_center( OBJECT * fo_ctree, WORD *fo_cx, WORD *fo_cy, WORD *fo_cw, WORD *fo_ch);
XWORD	form_keybd( OBJECT * fo_ktree, WORD fo_kobject, WORD fo_kobnext, WORD fo_kchar, WORD *fo_knxtobject, WORD *fo_nxtchar);
XWORD	formbutton( OBJECT * fo_btree, WORD fo_bobject, WORD fo_bclicks, WORD *fo_bnxtobj);
X
X/********************* graf-library ***********************/
X
XWORD	graf_rubberbox( WORD gr_rx, WORD gr_ry, WORD gr_rw, WORD gr_rh, WORD *gr_rlastwidth, WORD *gr_rlastheight);
XWORD	graf_dragbox( WORD gr_dwidth, WORD gr_dheight, WORD gr_dstartx, WORD gr_dstarty, WORD gr_dboundx, WORD gr_dboundy, WORD gr_dboundw, WORD gr_dboundh, WORD *gr_dfinishx, WORD *gr_dfinishy); 
XWORD 	graf_movebox( WORD gr_mwidth, WORD gr_mheight, WORD gr_msourcex, WORD gr_msourcey, WORD gr_mdestx, WORD gr_mdesty);
XWORD	graf_growbox( WORD gr_gstx, WORD gr_gsty, WORD gr_gstwidth, WORD gr_gstheight, WORD gr_gfinx, WORD gr_gfiny, WORD gr_gfinwidth, WORD gr_gfinheight);
XWORD	graf_shrinkbox( WORD gr_sfinx, WORD gr_sfiny, WORD gr_sfinwidth, WORD gr_sfinheight, WORD gr_sstx, WORD gr_ssty, WORD gr_sstwidth, WORD gr_sstheight);
XWORD	graf_watchbox( OBJECT * gr_wptree, WORD gr_wobject, WORD gr_winstate, WORD gr_woutstate);
XWORD	graf_slidebox( OBJECT * gr_sltree, WORD gr_slobject, WORD gr_slvh);
XWORD	graf_handle( WORD *gr_hwchar, WORD *gr_hhchar, WORD *gr_hwbox, WORD *gr_hhbox);
XWORD 	graf_mouse( WORD gr_monumber, MFORM *gr_mofaddr);
XWORD	graf_mkstate( WORD *gr_mkmx, WORD *gr_mkmy, WORD *gr_mkmstate, WORD *gr_mkkstate);
X
X/******************* scrap-library **************************/
X
XWORD	scrp_read( char *sc_rpscrap);
XWORD	scrp_write( char *sc_wpscrap);
X
X/******************* fsel-library ***************************/
X
XWORD	fsel_input( char *fs_iinpath, char* fs_iinsel, WORD *fs_iexbutton);
XWORD	fsel_exinput(char *fs_iinpath, char *fs_iinsel, WORD *fs_iexbutton, char *fs_label);
X
X/******************* window-library *************************/
X
XWORD	wind_create( WORD wi_crkind, WORD wi_crwx, WORD wi_crwy, WORD wi_crww, WORD wi_crwh);
XWORD	wind_open( WORD wi_ohandle, WORD wi_owx, WORD wi_owy, WORD wi_oww, WORD wi_owh);
XWORD	wind_close( WORD wi_clhandle);
XWORD	wind_delete( WORD wi_dhandle);
XWORD	wind_get( WORD wi_ghandle, WORD wi_gfield, WORD *wi_gw1, WORD *wi_gw2, WORD *wi_gw3, WORD *wi_gw4);
XWORD	wind_set( WORD wi_shandle, WORD wi_sfield, WORD wi_sw1, WORD wi_sw2, WORD wi_sw3, WORD wi_sw4);
XWORD	wind_find( WORD wi_fmx, WORD wi_fmy);
XWORD	wind_update( WORD wi_ubegend);
XWORD	wind_calc( WORD wi_ctype, WORD wi_ckind, WORD wi_cinx, WORD wi_ciny, WORD wi_cinw, WORD wi_cinh, WORD *wi_coutx, WORD *wi_couty, WORD *wi_coutw, WORD *wi_couth);
X
X/****************** resource-library ************************/
X
XWORD	rsrc_load(char *re_lpfname);
XWORD	rsrc_free();
XWORD	rsrc_gaddr( WORD re_gtype, WORD re_gindex, OBJECT **re_gaddr);
XWORD	rsrc_saddr( WORD re_stype, WORD re_sindex, LONG re_saddr);
XWORD 	rsrc_obfix( OBJECT * re_otree, WORD re_oobject);
X
X/****************** shel-library ****************************/
X
XWORD	shel_read( char *sh_rpread, char *sh_rptail);
XWORD	shel_write( WORD sh_wdoex, WORD sh_wisgr, WORD sh_wiscr, char *sh_wpcmd, char *sh_wptail);
XWORD	shel_get( char *sh_gaddr, WORD sh_glen);
XWORD 	shel_put( char *sh_paddr, WORD sh_plen);
XWORD	shel_find( char *sh_fpbuff);
XWORD	shel_envrn( char *sh_epvalue, char *eparm);
X 
X/*************************************************************/
X
X#define MN_SELECTED		10
X#define WM_REDRAW			20
X#define WM_TOPPED			21
X#define WM_CLOSED			22
X#define WM_FULLED			23
X#define WM_ARROWED		24
X#define WM_HSLID			25
X#define WM_VSLID			26
X#define WM_SIZED			27
X#define WM_MOVED			28
X#define WM_NEWTOP			29
X
X#define AC_OPEN			40
X#define AC_CLOSE			41
X
X#define LEFT_MOUSE_BUTTON	0x0001
X#define RIGHT_MOUSE_BUTTON	0x0002
X#define RIGHT_SHIFT_KEY		0x0001
X#define LEFT_SHIFT_KEY		0x0002
X#define CONTROL_KEY			0x0004
X#define ALTERNATE_KEY		0x0008
X
X/* fensterelemente */
X
X#define NAME 				0x0001
X#define CLOSER  			0x0002
X#define FULLER 			0x0004
X#define MOVER 				0x0008
X#define INFO				0x0010
X#define SIZER 				0x0020
X#define UPARROW			0x0040
X#define DOWNARROW			0x0080
X#define VSLID				0x0100
X#define LEFTARROW			0x0200
X#define RIGHTARROW		0x0400
X#define HSLID				0x0800
X
X/* fenstermanipulation */
X
X#define WC_BORDER 		0	
X#define WC_WORK   		1
X
X#define WF_KIND 			1
X#define WF_NAME 			2
X#define WF_INFO 			3
X#define WF_WORKXYWH		4
X#define WF_CURRXYWH 		5
X#define WF_PREVXYWH 		6
X#define WF_FULLXYWH 		7
X#define WF_HSLID 			8
X#define WF_VSLID 			9
X#define WF_TOP 			10
X#define WF_FIRSTXYWH 	11
X#define WF_NEXTXYWH  	12
X#define WF_RESVD 			13
X#define WF_NEWDESK 		14
X#define WF_HSLSIZE 		15
X#define WF_VSLSIZE 		16
X#define WF_SCREEN  		17
X
X#define END_UPDATE 		0
X#define BEG_UPDATE 		1
X#define END_MCTRL 		2
X#define BEG_MCTRL 		3
X
X/* events */
X
X#define MU_KEYBD			0x0001
X#define MU_BUTTON			0x0002
X#define MU_M1				0x0004
X#define MU_M2				0x0008
X#define MU_MESAG			0x0010
X#define MU_TIMER			0x0020
X
X/* ob_type */
X
X#define G_BOX				20	
X#define G_TEXT				21	
X#define G_BOXTEXT			22	
X#define G_IMAGE			23	
X#define G_USERDEF			24	
X#define G_IBOX				25	
X#define G_BUTTON			26	
X#define G_BOXCHAR			27	
X#define G_STRING			28	
X#define G_FTEXT			29	
X#define G_FBOXTEXT		30	
X#define G_ICON				31	
X#define G_TITLE			32	
X
X/* ob_flags */
X
X#define SELECTABLE	0x0001
X#define DEFAULT		0x0002
X#define EXIT			0x0004
X#define EDITABLE		0x0008
X#define RBUTTON		0x0010
X#define LASTOB			0x0020
X#define TOUCHEXIT		0x0040
X#define HIDETREE		0x0080
X#define INDIRECT		0x0100
X
X/* ob_state */
X
X#define SELECTED		0x0001
X#define CROSSED		0x0002
X#define CHECKED		0x0004
X#define DISABLED		0x0008
X#define OUTLINED		0x0010
X#define SHADOWED		0x0020
X
X/* objc_edit */
X
X#define ED_START		0
X#define ED_INIT		1
X#define ED_CHAR		2
X#define ED_END			3
X
X/* form_alert */
X
X#define NO_ICON		0
X#define NOTE			1
X#define WAIT			2
X#define STOP			3
X
X/* form_dial */
X
X#define FMD_START		0
X#define FMD_GROW		1
X#define FMD_SHRINK	2
X#define FMD_FINISH	3
X
X/* graf_mouse */
X
X#define ARROW			0
X#define TXT_CRSR		1
X#define HOURGLASS		2
X#define BUSYBEE		2
X#define POINT_HAND	3
X#define PLAT_HAND		4
X#define THIN_CROSS	5
X#define THICK_CROSS	6
X#define OUTL_CROSS	7
X#define USER_DEF		255
X#define M_OFF			256
X#define M_ON			257
X
X/* wind_calc */
X
X#define NAME		0x0001
X#define CLOSE		0x0002
X#define FULL		0x0004
X#define MOVE		0x0008
X#define INFO		0x0010
X#define SIZE		0x0020
X#define UPARROW	0x0040
X#define DOWNARROW	0x0080
X#define VSLIDE		0x0100
X#define LFARROW	0x0200
X#define RTARROW	0x0400
X#define HSLIDE		0x0800
X
X#endif /* not __AES_H */
X
SHAR_EOF
chmod 0644 aes.h || echo "restore of aes.h fails"
echo "x - extracting aes_10.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_10.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD gl_apid;
XAESPB aespb;
X
XWORD appl_init()
X{
X	aespb.cb_pcontrol = control;
X	aespb.cb_pglobal  = global;
X	aespb.cb_pintin   = int_in;
X	aespb.cb_pintout  = int_out;
X	aespb.cb_padrin   = addr_in;
X	aespb.cb_padrout  = addr_out;
X
X	CONTROL(10,0,1,0,0);
X	AES_CALL();
X	return (gl_apid = int_out[0]);
X}
SHAR_EOF
chmod 0644 aes_10.c || echo "restore of aes_10.c fails"
echo "x - extracting aes_100.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_100.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_create(WORD wi_crkind, WORD wi_crwx, WORD wi_crwy, WORD wi_crww, WORD wi_crwh) 
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_crkind;
X	*a_tmp++ = wi_crwx;
X	*a_tmp++ = wi_crwy;
X	*a_tmp++ = wi_crww;
X	*a_tmp   = wi_crwh;
X	CONTROL(100,5,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_100.c || echo "restore of aes_100.c fails"
echo "x - extracting aes_101.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_101.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_open(WORD wi_ohandle, WORD wi_owx, WORD wi_owy, WORD wi_oww, WORD wi_owh) 
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_ohandle;
X	*a_tmp++ = wi_owx;
X	*a_tmp++ = wi_owy;
X	*a_tmp++ = wi_oww;
X	*a_tmp   = wi_owh;
X	CONTROL(101,5,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_101.c || echo "restore of aes_101.c fails"
echo "x - extracting aes_102.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_102.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_close(WORD wi_clhandle)
X{
X	int_in[0] = wi_clhandle;
X	CONTROL(102,1,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_102.c || echo "restore of aes_102.c fails"
echo "x - extracting aes_103.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_103.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_delete(WORD wi_dhandle)
X{
X	int_in[0] = wi_dhandle;
X	CONTROL(103,1,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_103.c || echo "restore of aes_103.c fails"
echo "x - extracting aes_104.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_104.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_get(WORD wi_ghandle, WORD wi_gfield, WORD *wi_gw1, WORD *wi_gw2, WORD *wi_gw3, WORD *wi_gw4)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_ghandle;
X	*a_tmp   = wi_gfield;
X	CONTROL(104,2,5,0,0);
X	AES_CALL();
X	a_tmp = int_out;
X	*wi_gw1 = *++a_tmp;
X	*wi_gw2 = *++a_tmp;
X	*wi_gw3 = *++a_tmp;
X	*wi_gw4 = *++a_tmp;
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_104.c || echo "restore of aes_104.c fails"
echo "x - extracting aes_105.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_105.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_set(WORD wi_shandle, WORD wi_sfield, WORD wi_sw1, WORD wi_sw2, WORD wi_sw3, WORD wi_sw4)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_shandle;
X	*a_tmp++ = wi_sfield;
X	*a_tmp++ = wi_sw1;
X	*a_tmp++ = wi_sw2;
X	*a_tmp++ = wi_sw3;
X	*a_tmp   = wi_sw4;
X	CONTROL(105,6,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_105.c || echo "restore of aes_105.c fails"
echo "x - extracting aes_106.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_106.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_find(WORD wi_fmx, WORD wi_fmy)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_fmx;
X	*a_tmp   = wi_fmy;
X	CONTROL(106,2,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_106.c || echo "restore of aes_106.c fails"
echo "x - extracting aes_107.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_107.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_update(WORD wi_ubegend)
X{
X	int_in[0] = wi_ubegend;
X	CONTROL(107,1,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_107.c || echo "restore of aes_107.c fails"
echo "x - extracting aes_108.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_108.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD wind_calc(WORD wi_ctype, WORD wi_ckind, WORD wi_cinx, WORD wi_ciny, WORD wi_cinw, WORD wi_cinh, WORD *wi_coutx, WORD *wi_couty, WORD *wi_coutw, WORD *wi_couth)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = wi_ctype;
X	*a_tmp++ = wi_ckind;
X	*a_tmp++ = wi_cinx;
X	*a_tmp++ = wi_ciny;
X	*a_tmp++ = wi_cinw;
X	*a_tmp   = wi_cinh;
X	CONTROL(108,6,5,0,0);
X	AES_CALL();
X	a_tmp = int_out;
X	*wi_coutx = *++a_tmp;
X	*wi_couty = *++a_tmp;
X	*wi_coutw = *++a_tmp;
X	*wi_couth = *++a_tmp;
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_108.c || echo "restore of aes_108.c fails"
echo "x - extracting aes_11.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_11.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD appl_read(WORD ap_rid, WORD ap_rlength, char *ap_rbuff)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = ap_rid;
X	*a_tmp   = ap_rlength;
X	addr_in[0]= (LONG) ap_rbuff;
X	CONTROL(11,2,1,1,0);
X	AES_CALL();
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_11.c || echo "restore of aes_11.c fails"
echo "x - extracting aes_110.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_110.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD rsrc_load(char *re_lpfname)
X{
X	addr_in[0] = (LONG) re_lpfname;
X	CONTROL(110,0,1,1,0);
X	AES_CALL();
X	return int_out[0];
X}
X
SHAR_EOF
chmod 0644 aes_110.c || echo "restore of aes_110.c fails"
echo "x - extracting aes_111.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_111.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD rsrc_free()
X{
X	CONTROL(111,0,1,0,0);
X	AES_CALL();
X	return int_out[0];
X}
X
SHAR_EOF
chmod 0644 aes_111.c || echo "restore of aes_111.c fails"
echo "x - extracting aes_112.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_112.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
X *                   Copyright (C) 1989     stefan brueck (sb)
X *
X *    EMail: roeder@sbsvax.uucp
X *
X *    This source is free software; you can redistribute it and/or modify
X *    it under the terms of the GNU General Public License as published by
X *    the Free Software Foundation; either version 1, or (at your option)
X *    any later version.
X *
X *    This source is distributed in the hope that it will be useful,
X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X *    GNU General Public License for more details.
X *
X *    You should have received a copy of the GNU General Public License
X *    along with this program; if not, write to the Free Software
X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X#include "gem-guts.h"
X
XWORD rsrc_gaddr(WORD re_gtype, WORD re_gindex, OBJECT **re_gaddr)
X{
X	WORD *a_tmp = int_in;
X	*a_tmp++ = re_gtype;
X	*a_tmp   = re_gindex;
X	CONTROL(112,2,1,0,1);
X	control[4] = 1;
X	AES_CALL();
X	control[4] = 0;
X	*re_gaddr = (OBJECT *) addr_out[0];
X	return int_out[0];
X}
SHAR_EOF
chmod 0644 aes_112.c || echo "restore of aes_112.c fails"
echo "x - extracting aes_113.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > aes_113.c &&
X/*
X *                   GEM library for GNU CC on Atari ST
SHAR_EOF
echo "End of part 1"
echo "File aes_113.c is continued in part 2"
echo "2" > s2_seq_.tmp
exit 0