home *** CD-ROM | disk | FTP | other *** search
-
- **************************************************
- * *
- * CITAS (Convert ILBM To Assembler Source) *
- * *
- * ---- A Max Bithead production ---- *
- * *
- * Release 1.0: 4/7/90 *
- * *
- * Release 1.1: 6/2/90 *
- * *
- * Release 2.0: 7/9/90 *
- * *
- **************************************************
-
-
- CHANGES:
- -------
-
- V2.0:
- ----
-
- Well, I got my first bug report (I knew one would come sooner or later).
- It seems that CITAS was choking on DPaint III 64 color pictures. It blew
- out a buffer when there were more than 32 colors in the file. Well, you
- know the old saying about assumptions...
-
- During Beta testing, one more bug was reported. It seems I forgot to
- update a routine to skip past a mask in the file (if it exists) during
- preprocessing. This caused a read error (which should never be seen
- unless the system actually has a problem reading the file).
-
- Other changes include:
-
- 1) Now print an error message in the case of an unrecognized
- compression format.
- 2) Added an option to output the mask supplied with the file instead of
- generating one. If using this option, and no mask is present in
- the file, no mask will be generated.
- 3) CITAS now does 'C' source too! I suppose the name has a little less
- meaning now, but oh well, so does IBM. If you're using the 'C'
- source option, options "-x" and "-s" won't do anything.
-
- Thanks go to Shawn Steele and Frank Weed for their helpful bug reports,
- suggestions, and Beta testing. Thanx guys!
-
- Enjoy! And help support shareware.
-
-
- V1.1:
- ----
-
- I changed my blitter routines, which, unfortunately, meant changing
- CITAS. The DEPTH equate now reflects the number of bit planes from the
- original image. The reason being that if a bit plane is all zero's, it
- has to be cleared (using the mask) when blitting the image to the screen.
- This is a very minor change, but it makes life easier.
-
- Make sure you don't blit to a screen with less bit planes than your graphic
- data!
-
-
- INTRO:
- -----
-
-
- Ok all you assembler gurus out there. This program's for you.
- CITAS takes an ILBM file and converts it to assembler source for use
- in your own programs (V2.0 can produce 'C' source instead).
-
- In the beginning... I wrote this program in assembler, for assembler,
- because I wanted an easy way to draw graphics with a paint program and then
- use them in my own assembly programs via blitter control. Unfortunately,
- I can be somewhat of a perfectionist, and CITAS soon became a full featured
- utility which took one full month (to the day) to complete and release. I
- gotta say I'm pleased with the results, though. I gave CITAS a single
- read buffer, and a single write buffer, but it's still pretty quick. It
- also uses less than 14K RAM while running, so converting in ram: is easy
- to do.
-
- CITAS is my first official piece of software for the Amiga. Hope you
- like it!
-
- NOTE: CITAS will not waste memory by extracting a null plane. The
- resultant "planes" labels will reflect what is actually used. Also, should
- you wish to stop CITAS while it's running, hit CTRL-C.
-
-
- SECTION 1, USAGE:
- ----------------
-
-
- Ok, nuff chatter already. At a CLI prompt (CITAS operates only from
- CLI), type:
-
-
- CITAS ILBMfile [result_file] [-c] [-m] [-f] [-x] [-s] [-o] [-h] [$nn] ["sfx"]
-
-
- The parameters in brackets are optional and may be supplied in any
- order with the exception of the result_file parameter which, if supplied,
- must follow the ILBM file name. All parameters are seperated by blanks.
- Type "CITAS" without any parameters for a brief description of its use.
-
-
- The parameters:
-
- result_file = The name of the output file. This output file name,
- minus any extension (.whatever), will be used in generating
- the labels for your data. Labels allow you to set up and
- assemble your code before actually using CITAS to create the
- data. It also allows you to modify the data without touching
- the linkable code.
-
- If no output file name is given, the input file name, minus
- any extension, will be used for the labels, and will be the
- name of the output file plus a ".asm" or ".c" extension. This
- default file name will be placed in the current directory.
-
- -c = Inhibit generation of color table. By default, CITAS will
- include a color table in the output file.
-
- -m = Inhibit generation of image mask. By default, CITAS will
- include a mask plane in the output file. This mask is
- created by CITAS reguardless of whether or not the ILBM file
- contains a mask, and is simply a logical OR of all bit planes.
- It is meant to facilitate the use of the "cookie-cut" blitter
- minterm, which requires an image mask (at least that's how
- I use it).
-
- -f = Generate source for the mask supplied with the file. If no
- mask exists in the file, do not generate a mask.
-
- -x = Generate export definitions (XDEF) of labels for making
- linkable data.
-
- -s = Generate a "section" directive specifying chip RAM. This
- allows me to generate a hunk of data that will automatically
- load into chip RAM. Since the only assembler I am familiar
- with on the Amiga is Devpac, I'm not sure if other assemblers
- will appreciate this particular directive.
-
- -o = Allow an existing file to be overwritten by the output file.
- By default, CITAS will abort with an error if the output
- file already exists. This is more or less a safety feature.
-
- -h = Generate 'C' source code instead of assembler.
-
- $nn = User supplied hex mask of planes to extract. This allows
- selection of only the bit planes you want extracted.
- Normally the resultant "planes" label will contain a mask
- of all planes that are not null (all zero). This may be
- further modified by entering your own mask. Bit numbers
- correspond to plane numbers (ie bit 0 corresponds to
- plane 0). Note, however, that if a plane specified by
- your mask is null, it will not be extracted. Thus if you
- entered a mask of $03, and plane 0 of the ILBM file was
- all zeros, the resultant "planes" label would be $02.
- Entering $ff will simply give you all non-zero planes, which
- is the default.
-
- "sfx" = Any suffix needed to follow labels. I realize that some
- assemblers require a suffix on their labels, such as ":".
- This is for those weirdo assemblers.
-
-
- SECTION 2, LABELS:
- -----------------
-
-
- CITAS inserts several labels into the resultant source file. Some
- of these labels are equates (EQU) and others mark the start of different
- data segments. The first part of a label, as described earlier, is the
- output file name. The remainder of the label will be standard in every
- CITAS created file, and starts with an underscore character.
-
- NOTE: V2.0 'C' source files will contain "#define"'s and arrays instead
- of equates and labels.
-
-
- The equates:
-
- _height = The height of the image in scan lines
- _width = The width of the image in words
- _depth = The depth of the image in planes
- _planes = Mask of which bit planes are used to display the image
- (so we don't have to waste memory with null planes, and
- to specify how to display the image planes in a bitmap)
-
- The labels:
-
- _color = The address of the 1st byte of the color table (if
- generated). Also, the color values on each line
- represent red, green, and blue respectively, and
- pertain to color registers 0 at the top line, through
- 31 at the last line of the color table.
- _image = The address of the 1st byte of the 1st generated
- bit plane.
- _mask = The address of the 1st byte of the mask plane (if
- generated)
- _end = The address of one byte past the last byte in the
- generated file. This is normally just past the
- image mask, or just past the image data if no mask
- is generated. This is NOT generated in a 'C' source
- output file. I myself don't use this label, but I
- stuck it in there in case someone might find a use
- for it.
-
-
- SECTION 3, THE DREADED SHAREWARE NOTICE:
- ---------------------------------------
-
-
- That's right, CITAS is copyright Max Bithead (a.k.a. John Enright), and
- and is considered shareware. It is not for sale, nor may it be included
- in any commercial product without my written permission. It is, however,
- an excellent tool for CREATING commercial products. Have at it!
-
- CITAS may be freely distributed as long as this document accompanies it.
- Finally, I claim no responsibility for any loss or penalty incurred by the
- use of this program.
-
- Whew! Ok, paranoia aside, I hope that you find this program useful
- in developing great Amiga software. I know it works wonders for me.
- Graph paper was absolutely out of the question! ha ha. There are no
- known bugs (again).
-
- I'm asking a measly $10 for CITAS if you intend to use it. The cheapest
- development software you'll ever buy. Or, hey, send whatever you think
- it's worth. Support shareware for good, cheap stuff!
-
- Send any comments/suggestions/bug reports, and/or payment to me at:
-
- John Enright
- 2955 Glenwood Dr. #301
- Boulder, Colorado, 80301 (USA)
- (303) 938-9490
-
- You may also send electronic mail to Max Bithead on any of these great
- BBS's:
-
- Reggae Land (303) 699-2671
- CD Players (303) 825-0419
- Arvada 68K (303) 424-9831
- BAUG (303) 666-5221
-
-
- -------------- * * --------------
- "
- \_/
-
-