home *** CD-ROM | disk | FTP | other *** search
- ================== Arp 'wrapper' for Manx Aztec 'C' 5.0 ==================
- ==========================================================================
- Arp is Copyright (c) 1987, 88, 89 by ARP Authors. All Rights Reserved.
- Wrapper for Manx Aztec 'C' 5.0 updated by Olaf 'Olsen' Barthel of MXM.
-
- ================================ Purpose =================================
- ==========================================================================
- The 5.0a update to the Aztec 'C' compiler comes with the new Arp
- distribution files. That's fine, you may think, but: the linker
- libraries do not work. Since Manx once more decided to change the format
- of the object files all modules have to be recompiled. And there's the
- second 'trap': you can't recompile the libraries using the supplied
- files. Furthermore the original Arp distribution disk includes special
- startup code which allows the creation of programs to be made resident
- ('pure'). Is this code included with the 5.0 release? I think you've
- guessed it - it isn't. Some files wouldn't work properly (missing
- INT32s), some wouldn't work at all (scdir.c).
-
- ================================ Contents ================================
- ==========================================================================
- This distribution includes 37 main files which are listed below. The
- single library glue routines are to be found in the 'glue' subdirectory.
-
- ----------------------- 16 bit modules ---------------------------
-
- a16.lib = Arp interface library (no startup code)
- arp16.lib = Arp interface library with startup code
-
- arpdetach16.o = Arp compatible detach.??? replacement
- gads16.o = Arp replacement for _cli_parse()
- rstart16.o = Resident module startup code (Arp only)
-
- ----------------------- 32 bit modules ---------------------------
-
- a.lib = Arp interface library (no startup code)
- arp.lib = Arp interface library with startup code
-
- arpdetach.o = Arp compatible detach.??? replacement
- gads.o = Arp replacement for _cli_parse()
- rstart.o = Resident module startup code (Arp only)
-
- ----------------------- Header files -----------------------------
-
- arpbase.h = Arp base main include file
- arp.h = Arp library function pragma calls (Manx/Lattice)
-
- ----------------------- Library modules --------------------------
-
- clihelp.c = CLI Help string definition
- cliparse.c = Standard CLI parsing module (with Arp flavour)
- clitemp.c = CLI argument template
- exit.c = Exit subroutine
- gads.c = Arp compatible replacement for cliparse.c
-
- calloc.c = Arp replacement for calloc
- fmalloc.c = Arp replacement for fmalloc
- free.c = Arp replacement for free
- lcalloc.c = Arp replacement for lcalloc
- lmalloc.c = Arp replacement for lmalloc
- malloc.c = Arp replacement for malloc
-
- pragma.c = File to be precompiled
- scdir.c = Arp replacement for scdir()
- vars.c = Arp global program variables
- wbparse.c = Arp workbench parsing routine
-
- _exit.c = Arp exit routine
- _main.c = Arp main routine (calls your custom main())
-
- aztecglue.asm = Arp library interface stubs (obsolete)
- crt0.asm = Arp Aztec 'C' startup code
- dospkt.asm = Arp replacement for dos_packet()
- lvo.asm = Arp library vector offsets
- rstart.asm = Source code for resident module startup code
- tracker.asm = Arp item tracker source code
-
- ----------------------- Makefiles --------------------------------
-
- makefile = File needed to rebuild the 32 bit libraries
- makefile16 = File needed to rebuild the 16 bit libraries
-
- ----------------------- Library glue files -----------------------
-
- glue = Subdirectory containing 'C' glue code
-
- ================================= Usage ==================================
- ==========================================================================
- The Arp libraries are linked just like the standard libraries. Note that
- the default are 32 bit integers. If you want to build resident programs
- all modules have to be compiled with the -m0b switch (to disable the
- creation of the .begin statement).
-
- Examples: CC -so Test.c
- LN Test.o -Larp -Lc
-
- CC -so -m0b Test.c
- LN -o Test rstart.o Test.o -Larp -lc
-
- Note that it is not recommended to use the arpdetach.o module together
- with the rstart.o module unless you check the Arp resident list if you're
- already on it (-> a resident program shouldn't do the segment split).
- Starting with the v1.5 release of this package, the arpdetach.???
- module supports a new keyword: STICKY -> do not perform segment split.
- Add #define PARENT in _main.c to retain the address of the Shell the
- program was started from.
-
- ================================= Author =================================
- ==========================================================================
- The files in this distribution were put together and updated by Olaf
- 'Olsen' Barthel of MXM. The author can be reached via standard mail at:
-
- Olaf Barthel
- Brabeckstrasse 35
- D-3000 Hannover 71
-
- Federal Republic of Germany
-
- Or via electronic mail:
-
- Z-Net: O.BARTHEL@A-LINK-H.ZER
- Fido: Olaf Barthel@2:247/200
-
- (best chances to contact me)
-
- SubNet: olsen@veeble.uucp
- UUCP: olsen%veeble@horga.as.sub.org
-
- (good luck!)
-
- Torsten Jürgeleit contributed ideas and code fragments for v1.5 of this
- package. He also discovered substantial errors in tracker.asm and
- dospkt.asm.
-
- ============== Revision history (most recent change first) ===============
- ==========================================================================
- V1.9 Updated both arpbase.h and arp.h to get along with dos/datetime.h,
- dos/dosasl.h and libraries/aslbase.h. Added three new routines:
- ArpVFPrintf, ArpVPrintf and ArpVSprintf (with little effort).
- Removed the useless resident??.o files: Arp programs are only
- reentrant if used with Arp Shell. I recommend using my vanilla
- resident.asm code instead.
-
- V1.8 The tracking routines (GetTracker & Co.) would not work with 16
- bit integers (thanks go to Torsten Jürgeleit who `smelled' it).
- This problem has been fixed. The package has been recompiled
- using the new Aztec 5.0d compiler.
-
- V1.7 No spectacular work done, made the 'ord' utility decide the
- sequence of modules to be pulled into a library file. Former
- versions could cause linker errors which would require you to call
- a single library twice on the linker command line. Some
- optimizations were done here and there.
-
- V1.6 The darn library glue files always used the wrong offsets!
-
- V1.5 Torsten Jürgeleit supplied bug fixes and new routines, updated
- _main.c (arpdetach??.o), fmalloc and added 16 bit library
- creation. Olsen added resident??.o and split fmalloc into single
- files.
-
- V1.4 Fixed missing macros in scdir.c (ARRGH!).
-
- V1.3 Split aztecglue.asm into single files (long file still included).
-
- V1.2 Introduced new variable '__sloppy__' set TRUE if DOSBase was
- initialized by startup code.
-
- V1.1 Changes to vars.c, _main.c and rstart.asm to support resident
- programs which don't use Arp.
-
- V1.0 Initial update.
-