Amiga.org
Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: Dr_Righteous on December 11, 2005, 12:29:41 AM
-
Ok, so I've decided to try my hand at coding for Amiga... I'm used to Borland C for DOS and I don't like the overly complex crap you have to go through with GNU based C/CPP compilers. I want a folder full of libraries a nice IDE and a no-nonsense compiler... Like the good old days. A package that wouldn't know what to do with a "makefile." Freeware of course.
So what did people use before GCC, before anyone even heard of Linux?
-
Ehm, machinecode? Cardboard pieces with holes in them? ;-).
-
Heh, I've considered assembler, but that's a little time consuming.
-
Note to self: It's actually worth the effort to read the msg with thought before replying... :-)
Anyway, I doubt you find any simpler stuff from older compilers, nor proper IDEs. Makefiles etc are not Linux really, but very integral part of any C coding, from the very beginning (C was deviced for writing Unix). Even SAS/C has smake!
IMO one does him/herself a favor by learning to use the simple but yet powerful tools, such as make.
Also, gcc isn't really that bad, and it has one huge advantage over other compilers: It's available of dozens of platforms. So if you use std GNU make and gcc, your project can easily build for virtually hundreds of target systems.
PS. StormC 4 uses gcc.
PPS. Of the "older" compilers I prefer SAS/C.
-
Ok, perhaps I should rephrase my question... What is the best C/CPP compiler for Amiga that is NOT *nix based?
-
Assuming you don't want to use gcc, you have several options:
VBCC (free, shell based, C/C99 only)
StormC3 (shipped free with devcd 2.1)
StormC4 (I think it's like 50 Euro now?)
SAS/C (if you can still get it)
If you are looking for a really easy to use IDE, stormc is good. It isn't the greatest compiler however but for quick jobs it is quite good.
Even now I sometimes use it to build a project that I will later compile with gcc or whatever.
-
Hello Dr.
It's nice to see a fellow Styx fan online. :-)
To answer your questions, the AMIGA never really had a fully IDE for C (the AMIGA was really before C++ but more later).
The most popular commercial C packages of the day were Lattice/SAS C (the most used by developers), Manx C and in later years (after the demise of C=) Haage and Partner developed Storm C. There were other C compilers but the three I have mentioned were "mainstream" although Manx died out pretty fast (around 1990 or 91 IIRC).
The earlier C packages were command line compilers and you used an editor to write your code (CED comes to mind). There were various "patches" written by users and one final patch for Lattice (before they discontinued AMIGA support) that made an early effort at adopting come C++ protocols and had a crude IDE but nothing on the order of MSVC or Borland.
Storm C was perhaps the only AMIGA C compiler to come close (IMO) to what you are looking for but even it is short of a truely IDE like MSVC or Borland.
You can visit the Haage and Partner website (google them) and select the AMIGA catagory. I think they still sell Storm v4.0. As for Lattice (my compiler of choice) it is long out of production / support but it turns up from time to time on ebay for reasonable prices and has the most material publised for it (books, FAQs, AMINET stuff, etc...)
I hope this helps you.
Regards,
Ltstanfo
-
@ltstanfo
[OT] HUGE fan of Styx.. Even sans Dennis and John (RIP). They play around here several times a year and I go to every show I can! [/OT]
I'll probably upgrade to Storm C once I get my feet wet, since it seems to be the best commercial package available. I'm really just looking to get my feet wet with something freeware for now.
I've been browsing around for a couple of hours now, and found SAS/C to pretty much be a dead end in terms of availability.
I really don't mind the lack of a REAL IDE, since I think I have a copy of GoldED running around someplace. Failing that there's always EditPlus on my PeeCee. I just need a something tidy to crank out the binary when I'm done.
DICE looks promising... Any thoughts?
-
Dr_Righteous wrote:
@ltstanfo
[OT] HUGE fan of Styx.. Even sans Dennis and John (RIP). They play around here several times a year and I go to every show I can! [/OT]
I really miss the "old Styx". I saw them here in Huntsville twice (the Paradise Tour) and a couple of years ago when they got the replacement singer for Dennis (I don't recall the guy's name, he's OK but it just didn't feel right to me). I've always loved their stuff from the first plexiglass toilet to their newest stuff.
DICE looks promising... Any thoughts?
Wow! There's a compiler I haven't used / seen / heard about in quite a while....Dillion C (aka DICE). It was a nice compiler for its day and the author / developer was a pretty sharp guy. It's good for a first effort if you can't find a copy of SAS. For my money, SAS is still the best compiler for the AMIGA (not that I've written a line of AMIGA code in several years).
Good luck with Storm C. It is the newest compiler for the AMIGA but I never really liked using it. Nothing specific, it just wasn't my "cup of tea".
Regards,
Ltstanfo
-
This isn't the answer you want to hear, but I find I'm most efficient using Visual Studio with either VBCC or a gcc cross-compiler. Staying 100% Amiga is great (and sometimes fun), but going through the motions on a real Amiga is a bit painful. Coding under WinUAE is a huge improvement. If I weren't using Visual Studio, I'd code with WinUAE, GoldED, and VBCC. (Of course, GoldED--now part of Cubic IDE--includes everything you need to code C/C++ out of the box.)
If you're able to find a complete SAS/C package (they show up on eBay every once in a while), you'll still receive free phone support from SAS for issues with documented solutions.
I also use StormC at times just to make sure my cross-compiler is working properly. . . .
--Styx--
I saw Dennis DeYoung perform with the Sacramento Philharmonic Orchestra, the Sacramento Children's Choir, and a touring "rock" band last year. Excellent performance, although tainted with pro-war, anti-muslim banter.
Trev
-
Yeah, GCC just isn't my cup of tea... I've got a small problem with the *nixing of AOS. I just don't like "GNU things." If I wanted an old *nix box, I'd buy an SGI O2 or something.
Perhaps I'm headed in the wrong direction? Aside from losing my mind in assembler, are there alternatives? Is there a better high-level language to code in for Amiga?
Say it's 1994 and I just got my brand-spanking-new A4000D... I get a wild hair up my keister and want to write a word-processor or a platform game from scratch. What would have been used?
-
I can recommend Hisoft C. It has not such a steep learning curve and it has a nice IDE
-
Say it's 1994 and I just got my brand-spanking-new A4000D... I get a wild hair up my keister and want to write a word-processor or a platform game from scratch. What would have been used?
AMOS, HiSoft Basic, Blitz ?
I used all three at some time or other, could never get my head around other languaged :-(
-
@amigaoneproductions
Sorry for being of topic, good to see your still around! :-)
-
Karlos wrote:
StormC4 (I think it's like 50 Euro now?)
SAS/C (if you can still get it)
Technically StormC 4.0 used the GCC compiler :-P
-
lattice c
Doesnt get much simpler than that
-
Trev wrote:
Staying 100% Amiga is great (and sometimes fun), but going through the motions on a real Amiga is a bit painful. Coding under WinUAE is a huge improvement.
I had all kinds of issues with using WinUAE to develop on, often WinUAE itself would bomb it is not helpful in the slightest. In the end I went back to my crusty old A1200. Perhaps it's improved now.
-
Thanks to everyone for the info... I think I'm gonna start off with DICE, since it's free, and work my way up from there.
Looks like I'll also need a devkit... Was there ever one beyond v2.1 (OS3.5)? One for OS3.9?
-
Dr_Righteous wrote:
Looks like I'll also need a devkit... Was there ever one beyond v2.1 (OS3.5)? One for OS3.9?
There's an NDK for 3.9, at os.amigaworld.de (http://os.amigaworld.de/index.php?lang=de&page=12), although it's nowhere as complete as the 2.1 DevCD, more like an update for 3.9 with a few examples and updated autodocs and includes.
-
uncharted wrote:
Technically StormC 4.0 used the GCC compiler :-P
Well, technically, it shipped with both gcc and stormc3 compiler backends, you can use either. Either way, you get an easy to use IDE that in my opinion is ideal for make-loathers...
-
I had all kinds of issues with using WinUAE to develop on, often WinUAE itself would bomb it is not helpful in the slightest. In the end I went back to my crusty old A1200. Perhaps it's improved now.
The nice thing about WinUAE is the source code. If it bombs, you can find out why, fix it, and recompile it. That said, recent releases (anything released over the last three years) have been pretty stable. Most of the issues I've had with WinUAE over the years have been related to its interaction with third-party components and extensions: parallel port emulation, Catweasel timing, etc.
Trev
-
You will need the Amiga Dev-CD anyway.
It comes with StormC3.
-
All my 68K programs were done in DEVPAC - 100% assembly. ADoomPPC was done with SAS/C-PPC and PASM. iFUSION was done in StormC 4.
-
Dr.
You are best to stick with C. The AMIGA, being built on the UNIX model, was almost exclusively coded in C. I say "almost" because there were other languages available, Fortran, Pascal, Cobol, Basic, Assembler, etc... but most developers coded in the C arena as that what the folks at C= mostly used.
After the demise of C= there were several interesting attempts at AMIGA programming, most notably "E". It never really caught on however.
Regards,
Ltstanfo
-
Another vote here for DICE C - it did the job, and mostly did it well. Do update the thread with your experiences!
-
DICE was great for folks who couldn't afford SAS/C. SAS/C was THE standard for the Amiga. MANX C was it's major competitor, and a rather good compiler as well. Both were commercial products.
-
chiark wrote:
Another vote here for DICE C - it did the job, and mostly did it well. Do update the thread with your experiences!
Well, so far no good... I can code integers just fine... Change them to floats and printf will actually print the word in place of the number. Bad stdio.h?
-
This isn't the answer you want to hear, but I find I'm most efficient using Visual Studio with either VBCC or a gcc cross-compiler.
Well this caught my attention!!! Are you saying that there is a VisualC++ 6.0 cross compiler that will produce Amiga 68K binaries? If so, where do I get one? If that's possible, that would be a wicked development platform as I have WinUAE setup already and have a network share of all my development stuff with my A4000 as well.
- Mike
-
Well this caught my attention!!! Are you saying that there is a VisualC++ 6.0 cross compiler that will produce Amiga 68K binaries? If so, where do I get one? If that's possible, that would be a wicked development platform as I have WinUAE setup already and have a network share of all my development stuff with my A4000 as well.
I suppose you could integrate a compiler directly into the IDE, but I just use makefile projects, which let you call any command you want for make, make all, and make clean, and a cygwin-amigaos gcc cross and call make accordingly. Works great on Visual Studio 6.0 and higher. If you're crafty with your headers, Intellisense (type-ahead, function prototype down-downs, struct member completion, etc.) even works properly. And if you have gdb running on the Amiga side, you can even start debugging from the IDE.
Hmmm. It would be sweet to have a Visual Studio compatible remote debugger running on the Amiga side. That might not be that difficult. Don't know. Compile and continue would be cool, too. Anyhow, I don't really know anything about compilers or processing debugging information, so that's over my head.
Trev