Learning to program the Amiga has been a bit more difficult
for me to learn than other machines/Operating Systems.
This, of course, means that I'm not talking about Windows programming.
I've recently only started programming for WindowsNT4, and now
that I have a chance to reflect, Amiga programming is a lot
simpler. On a side note, Windows programming is so confusing and
complicated that Visual Basic for Windows has seen unprecedented
growth as an alternate programming language for Windows over C/C++
coding.
I'm assuming you already have some programming experience. The first thing that a programmer new to the Amiga programming is how to use the built-in ROM Kernel OS calls. This has been summed up in the Amiga ROM Kernel Reference Manuals (RKRM's). They contain information on Function calls, explanations on how to use the pre-built libraries, using the Devices (ports, timers, input, etc), and some limited Hardware programming.
There is a bit of bad news though: The RKRM's seem to be some 'big secret thing', and commoners like you and me aren't allowed to see them. At least that's the way it seems. They've been out of print for a few years now, and whoever owns the copyright to them have been unwilling to make them available in html format on the internet. You can sometimes come across them for sale, but it is rare. It was believed that they came with the Amiga Developer's CD, but that was confusion with the CATS developer CD, which is also very rare these days.
But fear not, someone has put them up on a web page for download in
*.lzx compressed format. They're at the ASM ONE assembler homepage. In the top
frame, choose, 'Books and Docs', to find the RKRM's and other useful
amiga programming references.
Another wealth of Information on Amiga programming, with several tools,
and the include files (for Assembly language programmers) and header
files (for C/C++ programmers) for the latest OS version, is available
on the Amiga Developer's CD v1.1 which is available at most Amiga
Mail Order houses and can be
found for as little as $17. I purchased mine at
Software Hut.
There are plenty of stops on the World Wide Wait...uh..Web where you can
find out particulars of Amiga programming and example code, pitfalls,
tools, compilers, assemblers, editors, debuggers, dissassemblers,
code revision control, bug tracking, cross development, and even
entire development environments. Here are some places to start:
AWD's Programming Links
Aminet dev directory
Amiga Developer's Environment
The current version of the OS is at version 3.1 which, until just recently, was the most advanced OS of it's kind available anywhere. (I think there was a version 3.2, but it was only for a prototype machine called 'Walker' and that was just to get the changed hardware up and running). Don't get me wrong, it can still keep up with todays mega-resource hungry OS's like MacOS 7.6 and Windows95, but the constant legal wrangling from 2 major business liquidations have kept the Amiga from having a consistent owner, and consequently, has offset OS development.
There's been 3 major revisions of the Amiga hardware (some Cybergraphics users will claim they are using the illegitimate 4th revision): The OCS (Original ChipSet), the ECS (the Enhanced ChipSet), and the AGA (Advanced Graphics Architecture). I believe that it is safe to say that a majority of machines currently being used and expanded (not just sitting around in case someone gets the urge to play a 5 year old game) are using the AGA chipset, but CyberGraphics is slowly becoming more available,and will probably see a big increase once the PowerPC accelerators come with the AGA driver for CyberGraphics.
As a side note, all AGA machines shipped with OS3.0 or newer. If you are into very technical documents, the AGA document (originally called the Pandora ChipSet Documentation) is available on the Aminet under docs/misc. There are some more available on the ASM-ONE homepage listed above (the one that had the RKRM's posted).