Short:    Powerful startup code in assembler 3.5
Author:   kenneth@norconnect.no / Kenneth C. Nilsen
Uploader: kenneth@norconnect.no / Kenneth C. Nilsen
Type:     dev/asm
Replaces: NewStartup34.lha


Startup.asm
===========

$VER: Startup_asm 3.5 (7.12.95)

Copyright © 1995, by Kenneth C. Nilsen.
All rights reserved.

Currently the most powerful startup code you'll find in assembler.
This source is public domain.

Works with any kickstart, chip and configuration.



WHY USE THIS CODE?
==================

     1) It makes your programs safe from crashing on system that has lower
	processor configuration than you require. An error message is given
	and the program will exit without executing any of your code.
     2) It prevents your program to crash if you start from Workbench/icon.
     3) Expands your assembler with 10 more commands!
     4) Very easy to open libraries. One line opens a library. Even error
	messages are given if any of the libraries can't be opened.
     5) It enables easy argument parsing where one argument is given to you
	one by one.
     6) Very easy to implement in your sources, just one include (itself).
     7) Supports the 68060 processor (tested).
     8) Source is completly safe. Contributed to the public domain by 12 years
	experience with programming.
     9) You don't need any external includes to make this startup code work.
    10) Learn how to deal with these situation by study the source.
    11) Experiment with the source and make a startup code for your needs.
    12) By using the internal NextArg macro you can have more UNIX like
	option command lines for your programs. The ReadArgs() function is
	limited in that manner.
    13) Helps you setting the right return code at exit.
    14) A demo program and source are following this archive.



NEW FEATURES
============

3.5:
	- Optimized the code and made if more compatible with a larger range
	  of assemblers.

	  Added macros to the macro file to support BarFly.

3.4:
	- Added <Return> macro. Use it like "Return 0" and it puts the return
	  code in D0 and makes a RTS automatically. Added info to doc and 
	  startup example. Optimized some code.

	  Added comments in the Startup.asm source! :)

	  Added *n (newline) feature in argument parsing. Use this like:
	  > Test "This is a test*nto see newline in *"qvotes*".". This will be:
          > This is a test
          > to see newline in "qvotes".

	  Included a sample header source in the archive.

	  This is the first public release on the AmiNet.

3.3beta:
	- Is now bug free! :) Only thing to change now is to read icon args/
	  tooltypes from Workbench due to a main release :)

3.2beta:
	- Added 68040 FPU options. Use:
	  MathProc = 68881/68882 or 68040 to set FPU. 0=no FPU.



BUG FIXES
=========


3.3beta:
	- an enforcer hit fixed (BYTE READ FROM 0). Occured when starting from
	  icon with no argument. Never was dangerous, but still nice to have
	  it all clean :)

3.2beta:
	- there was a bug testing for 68060. If you had a 040 with 040FPU this
	  allowed you to run programs assembled for 060.
	- a bug where reported about the Version and TaskName macros. These
	  work fine with AsmOne, but both DevPac and Barfly can not handle
	  spaces between words even if they are in qvotes. Sorry, can not do
	  something about this (I think) so write version strings manually and
	  use TaskName with underscores instead of spaces...
	- an enforcer hit (BYTE READ FROM 0) where reported when started from
	  workbench. Working on the problem, but no danger... :)

3.1beta:
	- Implemented an unfinished Startup.asm file in the 3.0 archive.
	- Expanded the NextArg macro to solve *" situations in arguments.
	- Added buffercount for output strings. This caused misunderstandings
	  and people reported bugs. Not a bug, but not a good presentation :)


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
    1188     545 54.1% 01-Sep-95 03:05:38 +Bin.info
    1556    1037 33.3% 05-Sep-95 05:01:04 +Startup_example
    1577     718 54.4% 09-Aug-95 02:42:30 +Startup_example.info
    1188     540 54.5% 01-Sep-95 03:05:58 +Docs.info
    1581     901 43.0% 01-Sep-95 03:05:38 +Startup.asm.info
    1581     901 43.0% 01-Sep-95 03:29:30 +Startup_example.s.info
    3836    1865 51.3% 08-Dec-95 01:22:58  NewStartup35.readme
    1759     590 66.4% 09-Oct-95 17:56:30 +Digital.macs
   16007    6628 58.5% 07-Dec-95 03:04:22 +Startup_asm.doc
    1567     888 43.3% 01-Sep-95 03:05:58 +Startup_asm.doc.info
    1023     437 57.2% 07-Dec-95 03:03:06 +Sample_header.s
   12085    4165 65.5% 07-Dec-95 03:02:58 +Startup.asm
    5779    2152 62.7% 07-Dec-95 03:02:42 +Startup_example.s
-------- ------- ----- --------- --------
   50727   21367 57.8% 10-Dec-95 22:41:16   13 files
