Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: plbyrd on March 30, 2011, 06:09:39 PM

Title: Experienced Developer, but new to Amiga
Post by: plbyrd on March 30, 2011, 06:09:39 PM
Hello!

I'm a very experienced developer, but I'm new to Amiga development.  I'm quite comfortable in C/C++ and am really looking for advice on the best way to approach several things.

First, I'd like to know what cross-development tools you guys recommend.  For doing cross-development on the CBM 8-bit machines I use Visual Studio 2010 and the cc65 compiler chain.  From what I've gathered on the net over several hours of browsing, I should be able to come up with something similar with Visual Studio 2010 and gcc.  I do not currently have gcc installed on my cross-development system, so I would need to install that.  That brings up my first question:  Once I install gcc to my Win7 system, is it ready to compile OS 3.x 68020 binaries out of the box?

I have already found, downloaded and played with AmiDevCpp.  It seems like a capable IDE, but I couldn't figure out how to execute its compiler from Cygwin (probably due to lack of good documentation for the software).  I was wondering if anyone else bothers with using it or if I should just got the VS/gcc route?

My next questions are about programming GUIs.  Are there any tools available (for any platform) that can allow visual development of Intuition or MUI forms that spit out the appropriate C or C++ code?  If not, where's some really good documentation on the APIs for Intuition and MUI?  

Thanks for any help as I'm really looking forward to getting my hands dirty pretty quickly.
Title: Re: Experienced Developer, but new to Amiga
Post by: utri007 on March 30, 2011, 06:17:27 PM
Could you consider this project?

http://www.amiga.org/forums/showthread.php?t=56813

There is allso lots of talk about development enviroments on the amiga. This is mainly to programming Reaction GUI, but allso MUI.
Title: Re: Experienced Developer, but new to Amiga
Post by: bloodline on March 30, 2011, 06:17:39 PM
Maybe AROS is the way to go, develop on that platform, your work should be portable back to a 68k Amiga :)
Title: Re: Experienced Developer, but new to Amiga
Post by: plbyrd on March 30, 2011, 06:36:30 PM
Quote from: bloodline;626038
Maybe AROS is the way to go, develop on that platform, your work should be portable back to a 68k Amiga :)


Thanks for the reply.  I'm really looking to get this working under Windows as I have a wonderful and comfortable development environment set up on my Win7 workstation through my CBM 8-bit work.  What would be great for me is getting VS 2010 working with the appropriate version of gcc and so any help in doing so would be greatly, greatly appreciated.
Title: Re: Experienced Developer, but new to Amiga
Post by: Piru on March 30, 2011, 07:04:16 PM
Quote from: plbyrd;626041
I'm really looking to get this working under Windows as I have a wonderful and comfortable development environment set up on my Win7 workstation through my CBM 8-bit work.  What would be great for me is getting VS 2010 working with the appropriate version of gcc and so any help in doing so would be greatly, greatly appreciated.


http://cross.zerohero.se/os3.html has a version for cygwin. As for setting it up with visual studio I have no idea.
Title: Re: Experienced Developer, but new to Amiga
Post by: Piru on March 30, 2011, 07:13:05 PM
Quote from: plbyrd;626036
Are there any tools available (for any platform) that can allow visual development of Intuition or MUI forms that spit out the appropriate C or C++ code?

Nothing really useful. The most common way is to iron out the GUIs by hand. It isn't that hard with MUI really.

Quote
If not, where's some really good documentation on the APIs for Intuition and MUI?

Intuition is documented in RKRM manuals, available from Amiga Developer CD 2.1 (available for example here (http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=212)).

MUI has pretty extensive documentation at http://www.sasg.com/mui/autodocs/

Be sure to check the various MUI examples as well.

http://library.morphzone.org/Magic_User_Interface_Programming has some nice introduction to MUI programming as well, although some of it falls into MUI4 category (which isn't available for m68k). Good read, regardless.
Title: Re: Experienced Developer, but new to Amiga
Post by: amigadave on March 30, 2011, 07:27:21 PM
Quote from: plbyrd;626036
Hello!

I'm a very experienced developer, but I'm new to Amiga development. .....

Thanks for any help as I'm really looking forward to getting my hands dirty pretty quickly.


Welcome to Amiga.org!  It is always great to hear of any new developers coming to the AmigaOS/MorphOS/AROS community to do work.  I hope you find what you are looking for, or can work with what is available and start developing for AmigaOS/MorphOS/AROS.

You might be interested in checking out Hollywood & Hollywood Designer, which is a cross platform development program that can compile for many systems.

PortablE also compiles for multiple systems, based on AmigaE.
Title: Re: Experienced Developer, but new to Amiga
Post by: HenryCase on March 30, 2011, 07:36:17 PM
Quote from: plbyrd;626041
Thanks for the reply.  I'm really looking to get this working under Windows as I have a wonderful and comfortable development environment set up on my Win7 workstation through my CBM 8-bit work.  What would be great for me is getting VS 2010 working with the appropriate version of gcc and so any help in doing so would be greatly, greatly appreciated.

Hi plbyrd,

Getting AROS running under Windows is easy enough, you have two main options. Either you can run it in a VM (such as VirtualBox) or you can try out the Windows-hosted build. The Windows-hosted build is built every day, so you can always access the latest version of AROS (if you need to). You can get it from here (download the mingw32-i386-system option):
http://aros.sourceforge.net/download.php

This guide to Amiga programming is work-in-progress, but worth a look:
http://code.google.com/p/guidetoamigacompatibleprogramming/source/browse/#svn%2Ftrunk%2Fenglish

As for tools for assisting in creation of GUIs, some exist, some are in development, though to be honest, like Piru said, they're not used that much. MUIBuilder was recently updated on AROS, worth a try:
http://aros-exec.org/modules/news/article.php?storyid=437
Title: Re: Experienced Developer, but new to Amiga
Post by: Templario on March 30, 2011, 10:24:06 PM
Hollywood without any doubt, it is language of high level as C, easy, fast and you can compilate your projects to several systems of Amiga, besides of Windows and MAC OS.
Title: Re: Experienced Developer, but new to Amiga
Post by: NovaCoder on March 30, 2011, 11:22:28 PM
Quote from: plbyrd;626036
Hello!


I have already found, downloaded and played with AmiDevCpp.  It seems like a capable IDE, but I couldn't figure out how to execute its compiler from Cygwin (probably due to lack of good documentation for the software).  I was wondering if anyone else bothers with using it or if I should just got the VS/gcc route?

Thanks for any help as I'm really looking forward to getting my hands dirty pretty quickly.


Hiya,

Yep I used AmiDevCpp, install it to your WinBox, write some code, hit the compile button.....done ;)

I've also had a play with CubicIDE (68k native GUI/compiler) but found that it was quicker to develop using AmiDevCpp.

The real pain-in-the-ass thing about developing 68k C/C++ code (GCC) is the lack of debugging tools.   I've had bugs that have taken me weeks to fix using loads of silly debug messages that would have taken me about 10 mins to fix with a modern step-through IDE intergrated debugger.
Title: Re: Experienced Developer, but new to Amiga
Post by: CSixx on March 30, 2011, 11:33:03 PM
Quote from: Templario;626088
Hollywood without any doubt, it is language of high level as C, easy, fast and you can compilate your projects to several systems of Amiga, besides of Windows and MAC OS.


Hollywood is good, but nothing like C in speed, syntax or efficiency. And while it may run fast on ghz level machines, it's painfully slow on classics so it depends on what platform he is targetting.

He did mention MUI and Intuition, neither of which can be used in Hollywood (correct me if I'm wrong). As far as I know Scui is the only usable GUI toolkit.
Title: Re: Experienced Developer, but new to Amiga
Post by: commodorejohn on March 31, 2011, 12:06:07 AM
Quote from: CSixx;626111
Hollywood is good, but nothing like C in speed, syntax or efficiency. And while it may run fast on ghz level machines, it's painfully slow on classics so it depends on what platform he is targetting.
He was asking about 3.x and 020, so I'm guessing A1200. In which case, for the love of God, don't use "multimedia" languages! Actually, I'd just go with 68k assembler, as insanely high-level as it is, but C would definitely be a better choice than library-oriented scripting languages.
Title: Re: Experienced Developer, but new to Amiga
Post by: HenryCase on March 31, 2011, 12:30:48 AM
Quote from: NovaCoder;626106

The real pain-in-the-ass thing about developing 68k C/C++ code (GCC) is the lack of debugging tools.   I've had bugs that have taken me weeks to fix using loads of silly debug messages that would have taken me about 10 mins to fix with a modern step-through IDE intergrated debugger.


Here's something you might find interesting NovaCoder, wonder if you could do something similar with your debugger of choice:
http://agreppin.livejournal.com/2946.html
Title: Re: Experienced Developer, but new to Amiga
Post by: amigadave on March 31, 2011, 03:58:51 AM
Quote from: commodorejohn;626120
He was asking about 3.x and 020, so I'm guessing A1200. In which case, for the love of God, don't use "multimedia" languages! Actually, I'd just go with 68k assembler, as insanely high-level as it is, but C would definitely be a better choice than library-oriented scripting languages.

Read his posts again, he wants to work from his Windows machine.
Title: Re: Experienced Developer, but new to Amiga
Post by: Trev on March 31, 2011, 04:10:39 AM
@plbyrd

I use a combination of Visual Studio makefile projects and my own builds of GCC. If you don't want to build GCC yourself, take Piru's advice and download zerohero's packages for Cygwin. Someone has gone through the effort of providing tighter integration between GCC, the Amiga includes, and Visual Studio, but I don't recall who.
Title: Re: Experienced Developer, but new to Amiga
Post by: HenryCase on March 31, 2011, 10:18:53 AM
@plbyrd
Here's a useful guide to getting an Amiga cross-compiler running in Windows:
http://utilitybase.com/article/show/2008/05/12/240/Cross+Compiling+for+OS4+or+OS3+using+MS+Visual+Studio+2005

The whole UtilityBase website is useful for Amiga coders, that's who it's aimed at. Amiga Coding should be useful too:
http://www.amigacoding.com/index.php/Main_Page
Title: Re: Experienced Developer, but new to Amiga
Post by: plbyrd on March 31, 2011, 06:30:16 PM
I've pieced together the underlying development environment of Cygwin and GCC used by AmiDevCpp and now am compiling from BASH without a problem.  I've found a good generic makefile that doesn't require putting each source file in the makefile, so I don't have to manage the project in AmiDevCpp any longer.  Now I've just got to solve one riddle and I'll have Visual Studio 2010 doing builds using the make file.
Title: Re: Experienced Developer, but new to Amiga
Post by: HenryCase on March 31, 2011, 07:43:55 PM
Quote from: plbyrd;626317
I've pieced together the underlying development environment of Cygwin and GCC used by AmiDevCpp and now am compiling from BASH without a problem.  I've found a good generic makefile that doesn't require putting each source file in the makefile, so I don't have to manage the project in AmiDevCpp any longer.  Now I've just got to solve one riddle and I'll have Visual Studio 2010 doing builds using the make file.


Nice one plbyrd. :-) Have you got any ideas for projects you'd like to try out first?
Title: Re: Experienced Developer, but new to Amiga
Post by: plbyrd on April 01, 2011, 02:28:26 AM
Quote from: HenryCase;626332
Nice one plbyrd. :-) Have you got any ideas for projects you'd like to try out first?


Yes.  I have a game written down on paper to do.  I'm going to write it for the C64 first using CONIO and then port it to NCurses and then release it on the Amiga.  I know people prefer graphics for games, but this one will fit well in text, I do believe.
Title: Re: Experienced Developer, but new to Amiga
Post by: EDanaII on April 01, 2011, 02:50:51 PM
The makefile generated by AmiDevCpp can be used in VS. Whenever I need a new makefile, that's exactly what I do: start the project in AmiDevCpp and then copy the makefile over to VS.

Two cents...
Title: Re: Experienced Developer, but new to Amiga
Post by: HenryCase on April 01, 2011, 08:37:39 PM
Quote from: plbyrd;626422
Yes.  I have a game written down on paper to do.  I'm going to write it for the C64 first using CONIO and then port it to NCurses and then release it on the Amiga.  I know people prefer graphics for games, but this one will fit well in text, I do believe.


Sounds good, keep us posted. :-)