#C prog. wannabee
33 messages in this thread
Could someone help me please? I am a young (13 year old) C programer wannabee,
bot I dont have the slightest idea where to start. I have tryed to get a
compilar (freeware DICE and GCC 2.x.x)and found I cawnnot setup either of them
to work properly. I have a 6 mb (2 mb chip,4 fast) A2000 and A CD32 w/ SX1
expanchen and 6 mb of ram on that one too. I have about 60mb of HD space. I
am also on a shoostring budget. I have downloded some doucumentation on the C
langwidge(sp!) such as the C manual. Daniel (useing my dads account) thanks a
lot!
Daniel,
well, for starters you could do worse than the DICE package. GCC is really big
and probably too difficult to set up and work with at your level (well, most
levels, really…). I f you use DICE's installation routine you shouldn't
encounter any problems setting up a working programming environment. One of the
main rules for every serious program(mer) is: RTFM (i.e. "Read That
F…er…antastic Manual!") which in this case (no written documentation) means
you should locate something like a "readme.first" file and do so. Look for
something like a "Docs" or "Documentation" drawer. READ THE DOCS! These should
tell you how to work the thing.
For your first encounter with the LANGUAGE itself you should go for some
written material, i.e. a C tutorial (like "Applications programming in ANSI C"
by Johnsonbaugh/Kalin, Macmillan Publishing Co., ISBN 0-02-361131-6, which is
what I bought to get me started, and which I think is didactically well made,
but there are of course a number of other good books out there). This will get
you started on the language, but it will cover absolutely nothing specific to
the Amiga. So, once you got the hang of the language and want to go into
programming Intuition (the Amiga's Graphical User Interface) you will want to
invest into the "Amiga ROM Kernel Reference Manuals" (published by
Addison-Wesley). There are several of them, covering "Hardware", "Devices",
"Libraries", "Includes & Autodocs", and there's a "User Interface Style Guide"
(that's the one constantly referred to if you see the expression "style guide
compliant"). Better still, find out the location of your nearest Amiga User
Group. They are bound to have some members who know how to program the machine
and will probably be willing to "kickstart" you into doing likewise…
Have FUN & good luck,
// Christian "ELP" Busse
\X/ near Frankfurt, Germany
Thanks for the advice! I have tried Freeware DICE, but found that it dosent
have the "Amiga Includes". Do you know where I could obtain the commercial
(SP!)version of DICE? I looked at the docs that came with it and they assumed
that the user knew what he(She)was doing. Does the commercial version come
with an Installer program? I will try to get some of those books. I have seen
the ROM Kernal refrence manuls on GoldFish (Disk 6 hundred something) but theas
are for 1.3. I heard that it is hard(er) to program under 1.3 than 2.0+. Is
this imprtant? There are sevral user groups around my area, unforchanetly the
closest one is in Kent:(
Thanks a lot for all your help! -Daniel
May I make a point?
I too am desperately trying to learn how to call the Amiga specific
libraries and stuff. So far my best help has been from looking at other
people's coding. Learning from examples, as it were. In the C programming
section here I found a couple of basic 'tutorial' type examples that a nice
chappie had written, plus the C source to SnoopDos. Worth a look.
Above all, the best help you could get regarding GUI is probably GadToolsBox
or MUIBuilder because they generate the gadgets/windows/screens code for you.
If anyone knows of some freebie on-line help, rather than expensive books,
can they post it here?
ta muchly,
Pugwash
>> I have tried freeware DICE, but it doesn't have the "Amiga Includes" …
You've hit the nail on the head. The C language makes liberal use of the
include files. But those files are copyrighted by Commodore. That makes it
difficult (impossible?) for anyone to offer a free compiler, since Commodore
required any distributor to pay for a license.
Some possible approaches: (others are invited to jump in and
elaborate/refute/make other suggestions):
–Ask to see if anyone has an "old" C compiler they are willing to sell cheap.
If it's pre-2.0, you won't get includes for the spiffy new functions, but
you'll still have a chance to try your hand at the language.
–Ask if anyone has any "old" developer disks that they would be willing to
give up. Commodore issued many versions of include files, and the old ones are
not much use to present-day developers. To get those disks, the developers had
to sign a non-disclosure agreement; but I doubt that there are any private
trade secrets on old "include" disks.
–Buy a copy of the Rom Kernal Manual – autodocs and includes. This will
contain all information from the include files. You can type this in. You
would still need some library files, notably 'amiga.lib', which are in binary
so can't be typed in.
–Try the Amiga E language, which is available here for download. It has
much the flavor of C. Although I don't know E in any detail, I believe it can
work without the include files. E.LHA is in library 4 here, and you might also
consider getting EGUIDE.LZH, same place.
–You might also try Sozobon, Limited's C compiler. It's a PD package on
Fish disk 588 that is said to contain include files.
That's all I can think of for the moment.
–Jim
Thanks! I will see if I can find anyone who has the old dev. disks or
perferably an old compiler. If anyone reading this message has either of the
above and ouldent mind giveing them up, could you C-mail at 72637,2714 or
E-Mail me at Daniel.Hornal@prostar.com(This address is untested, and I would
like to see if it works!)
The Amiga Includes are available on a number of CDs. I know they are on Fresh
Fish 7.
Peter Wade
Autopiloting from London, England
I didn't have to sign an non disclosure agreement to get the includes and
autodocs from commodore. Although they are copyright so you can't redistribute
them, but at least I can talk about them :-). I wonder if all the old
non-disclosure agreements are still binding. If they are not then I am suprised
that some of the "secret" projects haven't been plastered around the press.
Anyway, this time at least, I made sure that I got the native developer kit
before CBM UK stopped trading 🙂 this is how I got the includes and autodocs.
Phill
You were lucky.
I signed the non-disclosure agreement, I paid the developer contract and
*never* got such a thing like a “native developer kit'' Hell, I didn't even
know, nor was I told, it existed!
Bart Van Bockstaele at 100574.2352@compuserve.com
… On AutoPilot and Amiga all the way from Belgium …
The native developer kit was a set of five disks that had the includes the
autodocs, enforcer and other utilities and other details about pcmcia etc.
Do you know if the non-disclosure agreement is still binding?
Phill
Phill,
PMFJI but do you happen to know where a person can get the native developer
kit these days?
Randy
Dege <-(Not my real name) (o\_/o)
{-I-}
Unfortunately the fate of the native developer kit is in escoms hands. It was
available from commodore uk, but I think they have now closed.
BTW there is a full real name policy on the amiga forums, if you could do
something about your name 🙂
Phill
>>The native developer kit was a set of five disks that had the includes the
autodocs, enforcer and other utilities and other details about pcmcia etc.<<
Thanks, I didn't know. I got some copies from diskettes from time to time but
it seemed all quite amateuristic to me, honestly.
>>Do you know if the non-disclosure agreement is still binding?<<
No idea, but I don't think so. At least the info I got from Commodore Belgium
could be found anywhere. Quicker AND cheaper.
Bart Van Bockstaele at 100574.2352@compuserve.com
… On AutoPilot and Amiga all the way from Belgium NOT from Mars!…
So you don't have any juicy information for us from when commodore was still
going. I still want to get hold of an AAA machine 🙁
Phill
It was juicy information. But not for me!
Bart Van Bockstaele at 100574.2352@compuserve.com
… On AutoPilot and Amiga all the way from Belgium NOT from Mars!…
Douglas, DICE has gone commercial and it's being distributed by Obvious
Implementations Corporation. It contains Includes Files up to v.3 of AmigaDOS.
The following information is extracted from DICE Docs.(resumed) $VER:
About_Dice 3.1 (2.22.94)
** DICE ™ ** Copyright (c) 1992, 1993, 1994
Obvious Implementations Corporation
P.O. Box 4487, Cary, NC 27519-4487 USA
All Rights Reserved.
Direct all electronic inquiries to info@oic.com
Direct all sales requests to sales@oic.com
Direct all Bug reports to dice-bugs@oic.com
Technical support is available in several ways. Note that we do
not offer direct phone support at this time.
On Compuserve: Go AmigaVendor
On Bix: mail to jtoebes
On Internet: mail to techsup@oic.com
Via Fax: (919) 469-3853
Via US Mail: Mail to : DICE Technical Support
P.O. Box 4487
Cary, N.C. 27519-4487 DICE comes complete with:
Compiler, Debugger, Linker, Profiler, Assembler,
Online Help
———–
In order to speed the development process, DiceHelp allows immediate
access to all DICE and Amiga subroutines with just a single
keystroke. In addition, a C language reference and all error
messages are immediately accessible. DiceHelp works with your
favorite editor.
VMake and VOpts
—————
In order to speed development, DICE includes a set of visual
development tools that allow you to quickly edit, compile, link, and
debug your project without having to resort to the CLI or continually
type commands to invoke the compiler. VMake eliminates the tedium of
maintaining a Makefile by letting you just enter the files for the
project and tell it the type of project to build. It even will read
and write Makefiles so that you can resort to the CLI if you feel
more comfortable.
Include Files
————-
Because people wish to develop source code that works under all
versions of the Amiga Operating System, DICE includes several sets of
header files. You can choose which of these includes to reference
based on an environment variable or compiler option.
Libraries
———
This is one area where DICE really shines. Included are libraries
which provide ANSI, Unixtm, and general Amiga compatibility. These
libraries are provided in a number of models allowing for linking
with just about any normal program. However there are cases where
something fancy needs to be done, or a special combination of library
switches is used for which a library hasn't been supplied. For this,
we also provide the complete source code to the libraries along with
the configuration scripts to build them. I really like this compiler
and docs are rather good. Contact OIC: they have upgrade offer from freeeware
version of DICE I believe.
Igor
|\______________________
|_From Brazil with Amiga_\
Do you have the price for DICE in american $$? -Daniel
where can I obatain DICE?(sorry if I asked this question, I lost some
messages!) -daniel
Well do you have 2.x on your machine, there was a release of the 2.o4 RKMs I
think, or is it 2.1, either way I have them I don't know if they are legal. A
friend got them for me off of the level 42 bbs some years ago. I assume they
are legal as the 1.3 rkms are on fish. The includes have been arounf on other
bbs' and I think even bix? at one time, again I not saying that the include
files are supposed to be online free for the taking, it just seems to happen
now and again.
AFAIK it is OK for the includes to be online on a BBS that has the correct
licence. Fresh Fish 7 has 3 versions of includes including 3.1. The Autodocs
cannot be legally put online though.
Peter Wade
Autopiloting from London, England
Can I Program without the autodocs? -Daniel
The autodocs are very useful but you can program without them. They are files
which you can read to give you information on how to use system calls. The
compiler only needs the include files.
The main problem is that the printed Rom Kernal Manuals only go up to 2.04. The
autodocs give you details on system calls up to 3.1. You can still use 2.04
calls all the way up to 3.1 but you won't be using the new features.
Peter Wade
Autopiloting from London, England
What about the "amiga.Lib" and the other librarys?
amiga.lib is on the Fresh Fish 7 disc so I assume it can be put online as well.
Generally you need the include files and amiga.lib to handle the interface
between the compiler and the Amiga shared libraries. The shared libraries
themselves come with the operating system, they are contained in the ROMs and
the files in LIBS:. Some compilers can get by without amiga.lib, SAS certainly
can but I don't know about DICE.
You will also need a startup module. There are several on the Fresh Fish 7 disc
so I assume they are available online. You may have one with your compiler
already.
Peter Wade
Autopiloting from London, England
>> Some compilers can get by without amiga.lib, SAS certainly can…
I'm curious about this. I know that SAS C makes pragmas available to produce
more efficient calls to many library functions…
But I thought that amiga.lib was the only source of code for: printf,
fprintf, etc. As far as I know, code for this is not in the .include files nor
in the system shared library, and the compiler does not generate it; rather, it
picks it from amiga.lib…
Is this not the case?
–Jim
I forget which lib is which anymore, but the C compiler vendors provide
their own printf et al.
It depends on what you do I guess. If you write your own routines then you
don't need that library. I never used it but then I only use assembler.
Bart Van Bockstaele at 100574.2352@compuserve.com
… On AutoPilot and Amiga all the way from Belgium NOT from Mars!…
I think that SAS has its own printf in sc.lib. amiga.lib has a few extra
functions for creating tasks and other structures but you can get by without
them. I think the newer versions of amiga.lib contain some stuff that is needed
for BOOPSI, but I haven't tried to figure out this new object oriented stuff
yet.
Peter Wade
Autopiloting from London, England
Hi,
unfortunately one is not allowed to upload amiga.lib because Mr. Fish
distributes it under license of former Commodore. I have FF july/august 94 and
the goldfish 2 and on both is a file that says that the commodore stuff must
not be redistributed.
cya
Jochen Antesberger from Neuburg a.d. Donau – Bavaria/Germany
Titanic – Hindenburg – Challenger – Intel Pentium … what comes NeXT?
Douglas,
well, the "really commercial" version of DICE can be obtained from OIC. I
believe they have a forum in AMIGAVEND. Have a look there. I don't know if this
would still be worth your while, but I happen to still have the (registered)
shareware version of DICE v2.06.40 with 2.0 includes which I'd sell for little
money (I ordered the upgrade about a year ago, and when nothing happened I
bought the MaxonC++ package…). P&P might be a bit expensive, though.
Good luck,
// Christian "ELP" Busse
\X/ near Frankfurt, Germany
Especially now that it is the summer, you might want to check out some local
Amiga Groups. Tell people your situation and no doubt a few will come to
your aid. In the interim, it seems that you've found what you'll needs,
just a few quirks in the way. Of course most people don't install compilers
daily, and so might be rough on the install details, nonetheless, why not
elaborate on "cannot setup either compiler" and no doubt we might be able to
get you up and running.