home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d7xx
/
d777
/
chemesthetics.lha
/
Chemesthetics
/
SrcReadMe!
< prev
next >
Wrap
Text File
|
1992-12-06
|
7KB
|
167 lines
Hints for programmers: (updated and revised 11-Nov-92)
======================================================
11-Nov-92:
----------
Here is how to recompile the source files:
1) The source files should only be recompiled with the SAS/C Compiler
5.10a or higher. I use many SAS/C specific keywords and #pragmas, so
heavy work has to be done (not be me!) to adapt them for the Aztec C
Compiler. Aztec users see below...!
2) The source files are compressed into the LHA-archive 'Source.LHA'.
If you are a programmer you will certainly know how to unpack the
archive (type 'lha' to get a quick list of commands and options), if
you are not, well, why do you need the source files anyway?
3) Some routines are coded in my own link library called ex.lib. You
have to copy this lib into your LIB: directory.
4) Some files are located in a special 'routine' directory called
ROUT:. You should remove the ROUT: dir specification in the lmkfile,
because these files are now located in the current directory.
5) All #include files that come with req.library, arp.library or the
iff-routines are located in the directory 'pdomain'. You have to adapt
the -i option in the lmkfile to this directory, i.e. -ipdomain.
6) The source of my link link library ex.lib is included in the file
exlibsrc.c. It's for documentation purposes only, you do not need it to
build Chemesthetics (you have ex.lib!). However if you are totally
unsatisfied with the lib's routines you can recompile it with these
files.
7) The source files work with 32-bit integers.
8) The source code for the license routines is NOT included for legal
purposes. Simply link the provided object file license.o.
9) A lmkfile is provided for an automatic build process of Chemesthetics.
If you made all needed changes you can simply type lmk and
Chemesthetics will be recompiled.
10) To build Chemesthetics you need A LOT OF MEMORY. 1MByte RAM WON'T BE
ENOUGH. I work with 2.3MBytes of RAM, that works fine.
11) Optimization: All optimization (generally optimized for time) is done
by the compiler. BUT: Due to some bugs in the global optimizer 'GO',
you MUST NOT optimize eingabe.c (main input routine) and palettereq.c
(for the palette requester). The program will crash if you don't take
this warning seriously, at least it does on my system!
12) By now three different math models are supported. Chemesthetics (uses
Motorola fast floating point routines), ChemestheticsIEEE (uses Amiga
IEEE routines, uses coprocessor if present) and ChemestheticsFPU81
(needs coprocessor to run). You have to specify the desired math model
in the lmkfile. Use the #define MATH=FFP for the normal Chemethetics
(default), MATH=IEEE for the IEEE-version and MATH=FPU81 for the
coprocssor version. Set the withfile and the compiler option
appropriately. To do this you just have to remove the comment signs (#)
from the lmkfile and set them before the previous used options.
23-Apr-92:
----------
Today I recieved a letter from Johan Vande Ginste from Belgium who was the
first one who actually tried to recompile Chemesthetics. He notified me
that my prototype file 'exlibprotos.h' was not in the distribution archive.
Thanx a lot for your message, you are right. I simply forgot to include it.
I changed this today.
Hint for Aztec C users:
-----------------------
All desperate Aztec users, who for some reason want to recompile the
sources with their compiler can write in to me (i.e. send me a disk) and I
will return the full source code (incl. the ex.lib source). Don't forget to
include some stamps (or money if you're living outside of Germany) for the
mailing costs back to you. Doesn't have to be exactly the right amount, but
don't leave me with 10 cents to send back a disk to Antarctica. I'm a
student, I don't have the big money yet (hope to change that in future,
that's why I'm studying).
Now the other interesting things:
--------------------------------
By now I use the following routines outside of AmigaDOS, Intuition etc.:
ArpAlloc arp.library
CloseWindowSafely arp.library
FileRequester req.library
SimpleRequest req.library
TwoGadgetRequest req.library
SetLocation req.library
ReadLocation req.library
SetSize req.library
Apropos FileRequester(). A very strange bug occured today (and before in
other of my programs). The ReqFileRequester structure was defined
statically until V2.10.
struct ReqFileRequester FileStr;
Then I used the structure as follows:
FileStr.Path=Pathname;
FileRequest(&FileStr);
Following the doc file and the example file to the req.library this is
absolutely legal and there is obviously no bug visible. But suddenly, since
V2.10 the file requester often caused GURUS (81...05.xxxxx) or just didn't
work. As I said I had this problem in other programs too, so I did what I
did there. I defined a pointer to the ReqFileRequester structure like:
struct ReqFileRequester *FileStr; Then I allocated quite a bunch of bytes
to be sure:
FileStr=(struct ReqFileRequester *)ArpAlloc(2048L);
and used it this way:
FileRequester(FileStr);
With this (a bit strange solution) I don't have any problem any more. If
anyone knows an answer to this (maybe Colin & Bruce, the req.library's
authors) please LET ME KNOW!
I do not use the req.library's palette requester because it does
not have all the things a good palette requester has to have. Instead I use
Jonathan Potter's paletterequest(). Thanx Jonathan, it's old, but it's
still the best!
Do not change rev.c, as it has a special format that is needed by other
files.
All source files come with German comments and (partly) German names for
routines and variables. If you would like to know what they mean, well, try
learning German, it's a fascinating language.
The newer files are ANSI-C compatible and they are compiled with the -ca
option of the compiler. The current version is a mixture of ANSI and
non-ANSI files, I intend to make ALL files ANSI compatible in the future.
I intended to provide a makefile for Aztec C users and to embedd Lattice
specific things in #ifdefs but I didn't have the time yet. If somebody does
this, I would like to get a copy of this. If nobody does I may do it on my
own somewhere in time... Let's wait'n'see!
Due to the legal notice to req.library the authors want the file req.doc to
be included if req.library routines are used. I don't see the meaning in
this but still I submit the file in the SOURCE.LHA archive. BUT IT IS
PACKED! When extracted from the source archive you have to unpack it with
PowerPacker 2.3b. On my system I have compressed all doc files because I
don't want to occupy too much space with them. The compressed req.doc is
directly added to SOURCE.LHA!
Have fun!
Joerg
P.S. None of the files may be touched, changed, deleted or distributed on
own series of Stefan Ossowski PD-Versand, Rainer Wolf PD-Versand
(OASE), Markt & Technik Verlag AG and Markt & Technik Software
Partner International GmbH (MSPI).
Greetinx to Bernstein Softworks (Risk, Dragon Cave) for their RIGHT
attitude concerning some kind of PD distributors.