Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: cpfuture on December 12, 2007, 09:11:16 PM

Title: Suggestions on where to start programming needed
Post by: cpfuture on December 12, 2007, 09:11:16 PM
Hi,

I would like to get 'into' Amiga (system) programming. I have all the Amiga Reference Manuals and I've got the Amiga Programmer's Handbook Volumes I and II from Sybex, but all these books seem to be primarily reference books and I really don't know where to begin.

What I'd really like is a hands on book (or online tutorial) that gradually introduces me to programming for the Amiga. I can find my way around C, but what I'd really like to try is 68000 assembler programming.

I have no specific project in mind or anything and just want to do this for the fun of it. I want to experience what makes this wonderful machine of my youth tick. All the programming I did on the Amiga when I was a teenager was in AMOS. I'd really like to get down 'n dirty with the Amiga now...   ;-)

Thanks in advance for any book or URL suggestions!


Title: Re: Suggestions on where to start programming needed
Post by: 4pLaY on December 12, 2007, 09:28:52 PM
This might help you some? http://amiga.sourceforge.net/amigadevhelp/
Title: Re: Suggestions on where to start programming needed
Post by: AMC258 on December 14, 2007, 01:22:05 AM
I seriously recommend reading the Libraries and Devices book beginning to end.  I got my big Amiga start reading that book for OS1.3.  I couldn't have done without it.  Every now and then I pull that book out to read the first portion just to keep from forgetting anything.  There are a lot of basic fundamentals that are VERY important and should not be skipped.  You need to be *very* familiar with Exec and Intuition.  Then you can go on to DOS if need be.  But, I don't know of a good source for information on that other than the DOS Autodocs.  And those can leave you scratching your head.
If you have programmed on other platforms, clear your head of anything you learned before you start learning Amiga.  Don't try and make AmigaOS work like MS-DOS or Windows.  Amiga is a different animal and it works really good if you work it the way it was designed.
Title: Re: Suggestions on where to start programming needed
Post by: dfreniche on December 14, 2007, 09:49:15 AM
Thanks for the link!
Very good, and lots of info!

I really want to start coding anything in C (tired of Java, EJBs, etc.). I will use GNU GCC compiler, I think. But I don't have any book. Anyone knows where can I buy / download / obtain info to program in C?

BTW: don't want to hijack this thread, sorry !
Title: Re: Suggestions on where to start programming needed
Post by: Homer on December 14, 2007, 10:10:20 AM
Oh, this ones easy ! Its all 0's & 1's, so you just need lots of them  :lol:
Title: Re: Suggestions on where to start programming needed
Post by: Hans_ on December 14, 2007, 08:02:55 PM
There were some good tutorials at http://www.liquido2.com/tutorial/intro.html (http://www.liquido2.com/tutorial/intro.html), but the link is dead. Use archive.org to get and download them.

Hans
Title: Re: Suggestions on where to start programming needed
Post by: cpfuture on December 14, 2007, 08:32:35 PM
Thanks for all the suggestions and links everyone. @Hans: I just checked the link you gave in archive.org and it looks like a nice introduction! @AMC258: Thanks, I'll start digging into the big Libraries and Device book come X-Mas time.

I think I'll start off in C to get a little acquainted with the Amiga API. Then when I feel comfortable enough with that I'll dig into ASM. Should be fun!

@dfreniche: No need to apologize. The more the merrier! ;-) There are really tons of tutorials that'll get you started in C. The one Hans gave should be a very good starting point though because it gets into Amiga programming in C with a GCC compiler. Good luck!

Title: Re: Suggestions on where to start programming needed
Post by: Rob on December 14, 2007, 08:54:14 PM
@cpfuture

Assembler

Amiga Assember Insider Guide by Paul Overaa

ISBN: 1-873308-27-2

Mastering  Amiga Assembler by Paul Overaa

ISBN: 1-873308-11-6

C

Mastering Amiga System by Paul Overaa

ISBN: 1873308-06-X

Mastering Amiga C by Paul Overaa

ISBN: 1-873308-04-6

I'm not sure how likely you are to find these books but hopefully having the ISBN numbers will help.
Title: Re: Suggestions on where to start programming needed
Post by: AMC258 on December 14, 2007, 11:33:47 PM
Way back when I got my first Amiga and decided to start programming it and stop programming my peecee, I fully intended to learn 68k ASM, as I was well versed in x86 ASM (of which I've forgotten already!), and 65xx ASM (self-taught by TRIAL AND ERROR).  But, even back then when '060 boards weren't quite available, there was this talk of getting away from 68k and moving Amiga to some alternate CPU.

I recommend sticking to C (as much as I despise that language) for the sake of compatibility and portability.  If tomorrow someone develops some CPU that obsoletes all CPUs on the market and we start running AmigaOS 6.0 on it, there will still be a C compiler for that.
Title: Re: Suggestions on where to start programming needed
Post by: da9000 on December 14, 2007, 11:49:20 PM
Hi cp,

here are my recommendations:

http://product.half.ebay.com/Amiga-Machine-Language_W0QQtgZinfoQQprZ1183610

This one is a very short book, but it'll get your hands dirty with assembly and the Amiga hardware very quickly! You'll be playing sounds and doing graphics stuff by working directly with the hardware or AmigaOS libraries. It was a fun read, although it has a few typographical errors (I think because the author is German and the translator didn't do such a good job).

http://product.half.ebay.com/Amiga-Assembly-Language-Programming_W0QQprZ814212QQtgZinfo

This one you have to read, not only because the author's name is Commander :) hahahaha, love it, but because it also teaches some proper computer science methodologies (like the software lifecycle, etc). It was a fun read as well and not too big a book either. Not so good as far as hands-on stuff, in other words the programs it gives you aren't anywhere close to as fun as the other book, but it will teach you the basics of 68k assembly pretty well.

Cheers
Title: Re: Suggestions on where to start programming needed
Post by: pjhutch on December 20, 2007, 12:57:39 PM
I have an Amiga C tutorial on my website:

http://www.pcguru.plus.com/programming.html

Its got links for C references, a Amiga C tutorial, and links for other resources.
Title: Re: Suggestions on where to start programming needed
Post by: countzero on December 20, 2007, 01:31:25 PM
A couple of beginner level tutorials for ASM

http://www.algonet.se/~chaozer/asmtut.shtml (this one has basic instructions how to use an assembler (asm-one or pro))

http://www.algonet.se/~davsjo/amigaasm.html (this one has downloadable sources that you can see how stuff works)

http://amigacoding.gamecult.eu/index.php/Main_Page (amiga coding wiki, lots of good links)
Title: Re: Suggestions on where to start programming needed
Post by: bloodline on December 20, 2007, 06:53:46 PM
Blitz Basic 2 it should be simple learning curve from AMOS, it allows system legal programing, supports real data structures and also allows inline assembler.

Ideal for your needs IMHO :-)
Title: Re: Suggestions on where to start programming needed
Post by: motorollin on December 20, 2007, 06:57:35 PM
Quote
Homer wrote:
Oh, this ones easy ! Its all 0's & 1's, so you just need lots of them  :lol:

You also have to put them in the right order :-)

--
moto
Title: Re: Suggestions on where to start programming needed
Post by: cpfuture on December 20, 2007, 07:12:47 PM
Thanks for the extra suggestions, everyone. I got 2 books on 68000 programming in the mail that I bought second hand recently and am now reading up on the 68000. Sure is nice to at least be able to read 68000 assembly properly and to learn about the CPU itself.

I'm also reading some relevant chapters in the 'Amiga ROM Kernel Reference: Libraries' book, which will be followed by 'Devices' of the same series.

I think I have some original SAS/C disks somewhere that came with an A3000 I bought last year and a cutdown version of DevPac2 on an Amiga Format coverdisk, which should get me started soon. Hope to get some more spare time during the holidays and actually try some 'classic' coding.


Title: Re: Suggestions on where to start programming needed
Post by: A1260 on December 20, 2007, 07:23:29 PM
good there is people intressted in programing for a change :)
Title: Re: Suggestions on where to start programming needed
Post by: Speelgoedmannetje on December 20, 2007, 07:29:23 PM
-edit- didn't read it good enough :oops:
Title: Re: Suggestions on where to start programming needed
Post by: Speelgoedmannetje on December 20, 2007, 07:38:45 PM
Btw. aren't there datasheets of the Amiga available (or for each of the custom chips)?
There sure are datasheets of the Motorola cpu's available
Title: Re: Suggestions on where to start programming needed
Post by: amigaksi on December 29, 2007, 05:46:14 AM
>What I'd really like is a hands on book (or online tutorial) that gradually introduces me to programming for the Amiga. I can find my way around C, but what I'd really like to try is 68000 assembler programming.

If you have not found an Assembler yet, you can try the MPDOS Pro which has a built-in 68K Assembler and you can save it to floppy disk and read it into Amiga via PC file transfer programs or cross-compile and "cross-execute" it with the floppy simulator & cable.  

Easy to start off with a simple working program like:

BCHG #1,$BFE001
RTS

and then build on it.

Title: Re: Suggestions on where to start programming needed
Post by: amigaksi on January 09, 2008, 06:25:50 AM
I should have mentioned that the MPDOS Pro w/68K ASM compiler is included with the floppy simulation cable if you really want to program real-time or low-level stuff by taking complete control over the amiga machine:

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=320205396780

It includes some sample source code as well for making boot block image disks directly from your 68K ASM instructions(image disks that are 1024 bytes long).  You can then also write the boot blocks to your real (physical) floppy drive if you daisy chain it with the simulated drive (assuming you have some sector copier).