Welcome, Guest. Please login or register.

Author Topic: Learning how to Program the Amiga  (Read 7681 times)

Description:

0 Members and 1 Guest are viewing this topic.

guest7146

  • Guest
Re: Learning how to Program the Amiga
« Reply #14 on: May 02, 2010, 06:52:34 PM »
Quote from: Arkhan;556362
I recently got one called "Programming the 68000" by Steve Williams.

It's pretty solid.

I've never seen that book, I'll have to check it out!  The book I offered has the advantage that it includes the entire 680xx series, but I think it's quite expensive so not so good on that front.

If I'm honest, I probably wouldn't recommend the Assembly language to a new starter these days.  C Compilers have improved over the years to the point where Assembly is now rarely needed.  Even in Embedded applications (which is my forte), Assembly is rarely used.  C is the language of choice for embedded systems these days.  Assembly is only used in very specific situations.

Assembly can be a useful skill, no doubt about that, but it's a lot of effort for little gain these days I reckon.  If you learn C you can apply your skill in lots of areas and on lots of platforms.  You might even get yourself a job doing it if you're good.  But not many people would employ an Assembly programmer these days if that was his/her only skill?

It depends what the op wants to do with Assembly I guess.
 

Offline Super TWiTTopic starter

  • Full Member
  • ***
  • Join Date: Aug 2009
  • Posts: 222
    • Show only replies by Super TWiT
Re: Learning how to Program the Amiga
« Reply #15 on: May 02, 2010, 07:02:26 PM »
I have Motorola MC68000 Family Programmer's Reference Manual provided by freescale. Is that enough. I don't have assembly experience, although I heard that if you want to learn assembly, the 68000 is the chip to learn it for (syntax much cleaner)
Once there was a man and a boy in the woods.
 
Boy: I\'m scared...
 
Man: Hah! What have you got to be afraid of? I\'m the one that\'s going to be coming back alone!
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Learning how to Program the Amiga
« Reply #16 on: May 02, 2010, 07:05:08 PM »
@SuperTwit

If you'd care for some free advice, I'd suggest you actually start with C, if you want to do a bit of Amiga development. The reason for this is that the NDK examples focus on C.

Once you are familiar with the basics of opening screens, handling input etc, you can then start looking at doing the same sort of stuff in assembly language. Even then, I'd say for non time-critical stuff, it isn't really worth it.

In the end, I favour writing in high level languages and only reimplementing those things in assembler which are either impossible (or impractical) to do in C, or where I feel that the compiler hasn't done a decent job optimising some critical piece of code. Integrating C and assembler is pretty straightforward, you just have to know what calling convention C is using, or failing that, write your own register-specific argument list when defining a C callable assembler routine.

Writing entire applications from the ground up in assembler is comparatively time consuming and can be very frustrating. Although, I have to admit, when you get an executable down to a few hundred bytes, there is an undeniable feeling of satisfaction :D
int p; // A
 

Offline Super TWiTTopic starter

  • Full Member
  • ***
  • Join Date: Aug 2009
  • Posts: 222
    • Show only replies by Super TWiT
Re: Learning how to Program the Amiga
« Reply #17 on: May 02, 2010, 07:12:03 PM »
Is the rkm information pertinent to c? What compiler is included on the Devcd?
Once there was a man and a boy in the woods.
 
Boy: I\'m scared...
 
Man: Hah! What have you got to be afraid of? I\'m the one that\'s going to be coming back alone!
 

guest7146

  • Guest
Re: Learning how to Program the Amiga
« Reply #18 on: May 02, 2010, 07:15:07 PM »
Quote from: Super TWiT;556368
I have Motorola MC68000 Family Programmer's Reference Manual provided by freescale. Is that enough. I don't have assembly experience, although I heard that if you want to learn assembly, the 68000 is the chip to learn it for (syntax much cleaner)

I'm not familiar with that manual but I just had a very quick scan through it and it seems to be more reference biased than learning biased.  For this reason I would not recommend using it as a learning manual, especially if you've no previous experience of Assembly programming.

What you really need is a book that teaches you Assembly language and gives you examples / exercises to work through and stuff like that.   The book you've quoted seems to be a reference for someone who is already experienced in Assembly.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Learning how to Program the Amiga
« Reply #19 on: May 02, 2010, 07:15:49 PM »
Quote from: Super TWiT;556370
Is the rkm information pertinent to c? What compiler is included on the Devcd?


The RKM tends to focus on C for it's examples but the information about the OS is obviously language independent. The DevCD comes with StormC/C++ 3, which provides a complete IDE. You can actually write assembler with it too. On the whole, it's very easy to write applications with both C/asm sources with the included software.
int p; // A
 

guest7146

  • Guest
Re: Learning how to Program the Amiga
« Reply #20 on: May 02, 2010, 07:20:13 PM »
If you're looking for the DevCD, you can try AmigaKit but when I was looking to buy it a couple of months ago I don't think they had stock of it.  I certainly couldn't find it anyway.  I got mine from Vesalia.

It's also a good idea to try and get hold of the RKM manuals if you're serious about this.  It's not absolutely essential if you've got the DevCD but it's just a lot nicer to have a decent book to look at in my opinion.  Just keep an eye out on Ebay or something, just in case they come up.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Learning how to Program the Amiga
« Reply #21 on: May 02, 2010, 07:25:19 PM »
Guys!!!! I think AmiBlitz is the right way to go here. :)

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Learning how to Program the Amiga
« Reply #22 on: May 02, 2010, 07:50:03 PM »
AmiBlitz doesn't support Kickstart 1.3.  AmosPro does but you'll be hard pressed to find a second floppy drive to get that up and running unless you have a hard drive.

-edit-
http://aminet.net/dev/asm/A68kGibbs.lha should work on a flat A500.  It's Charlie Gibbs' A68k assembler.  It doesn't do any optimizations though.

For more Assembly and AmosPro info see http://www.amigacoding.com/index.php/Main_Page .
« Last Edit: May 02, 2010, 07:59:51 PM by SamuraiCrow »
 

Offline Arkhan

  • Sr. Member
  • ****
  • Join Date: Aug 2007
  • Posts: 490
    • Show only replies by Arkhan
    • http://www.aetherbyte.com
Re: Learning how to Program the Amiga
« Reply #23 on: May 03, 2010, 12:43:20 AM »
right, ASM is not for the feint of heart.

Thankfully, 68000 ASM is pretty easy and approaches a higher level language almost.


also, 68000's are C-Friendly, unlike the 6502 and z80 for example, where using C really does put the brakes on things.


Are there any good C game programming libraries for the Amiga?
I am a negative, rude, prick.  


"Aetherbyte: My fledgling game studio!":  << Probably not coming to an Amiga near you because you all suck! :roflmao:
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Learning how to Program the Amiga
« Reply #24 on: May 03, 2010, 01:04:12 AM »
Re:C game programming libraries

Game Smith used to be really C friendly for SAS/C and DICE.  It also worked with Assembly.  It's a pity you can't really buy it any more.  All you can do is find pirated keyfiles for it.  :-(

Now what would be nice is if somebody would start making a modern replacement for some of those old libraries.  Especially if they were shared libraries.  I think Sidewinder is in the process of making a shared library out of scrolling trick.  That should help out a lot!
 

Offline scuzzb494

Re: Learning how to Program the Amiga
« Reply #25 on: May 03, 2010, 01:30:43 AM »
Quote from: SamuraiCrow;556397
Re:C game programming libraries

Game Smith used to be really C friendly for SAS/C and DICE.  It also worked with Assembly.  It's a pity you can't really buy it any more.  All you can do is find pirated keyfiles for it.  :-(

Now what would be nice is if somebody would start making a modern replacement for some of those old libraries.  Especially if they were shared libraries.  I think Sidewinder is in the process of making a shared library out of scrolling trick.  That should help out a lot!


Just out of interest what's on these disks... They were in a batch of disks given to me. I know the last are DICE cus I have used them...

Amiga Developers Update Disks 1985-93
Amiga Developers Disk 01
Amiga Developers Disk 02
Amiga Developers Disk 03
Amiga Developers Disk 04
Amiga Developers Disk 05
CDGS Support Disks 40.60
CDGS Disk 01
CDXL Tool Kit 5th March 1992
CDXL Tool Kit Disk 01
CDXL Tool Kit Disk 02
ISO 9660 Tools v1.04x
ISO 9660 01
SASC 6.50
SASC DISK 01
SASC DISK 02
SASC DISK 03
SASC DISK 04
SASC DISK 05
SASC DISK 06
SASC 6.55 Patch
SASC 6.55 DISK 01
SASC 6.55 DISK 02
DICE Amiga C Programming Disks
xdcc1
xdcc2
xdcc3
xdcc4

They all look pretty official with the Commodore Logo on them... Seems to be a set and there is stuff about CD support on them.

scuzz

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Learning how to Program the Amiga
« Reply #26 on: May 03, 2010, 01:46:04 AM »
@scuzzb494

The SASC disks are probably SAS/C.  It's a better C compiler than DICE because it has an excellent debugger.  The ISO tools are probably the software used to make CDTV and CD32 disks.  The CDXL toolkit is for mastering video using the CDXL video codec that Commodore developed for use with the CDTV and other Amigas.

I'm sure that Cammy and RebelCD32 would be interested in most of those disks because they want to make games with CDXL cut scenes on CD-ROM for the CDTV and CD32!

-edit-
I'm not sure what the CDGS support disks are.  Maybe they involve the optional video decoder in the CD32.
 

Offline gazgod

  • Sr. Member
  • ****
  • Join Date: Sep 2005
  • Posts: 282
    • Show only replies by gazgod
    • http://www.lincsamiga.org.uk
Re: Learning how to Program the Amiga
« Reply #27 on: May 03, 2010, 02:11:56 AM »
Quote from: SamuraiCrow;556399
@scuzzb494
I'm not sure what the CDGS support disks are.  Maybe they involve the optional video decoder in the CD32.


This is a guess, but the CDGS disc may be support for CDG which the CDTV supported. CDG is still widely used today for karaoke systems.

Gaz

Offline Arkhan

  • Sr. Member
  • ****
  • Join Date: Aug 2007
  • Posts: 490
    • Show only replies by Arkhan
    • http://www.aetherbyte.com
Re: Learning how to Program the Amiga
« Reply #28 on: May 03, 2010, 06:00:58 AM »
id be interested in a streamlined game-programming library, if thats floatin around.
I am a negative, rude, prick.  


"Aetherbyte: My fledgling game studio!":  << Probably not coming to an Amiga near you because you all suck! :roflmao:
 

Offline ElPolloDiabl

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show only replies by ElPolloDiabl
Re: Learning how to Program the Amiga
« Reply #29 from previous page: May 05, 2010, 01:57:58 AM »
Here's a link to Hello world for 68k Amiga:

http://www.helloworldexample.net/cisc-amiga-workbench-20-motorola-68000-hello-world-example.html

Here is some learning guides:

http://eab.abime.net/archive/index.php/t-21516.html

I think you should try some examples and see which one feels right to you. Once you get use to accessing the hardware you could probably switch over to C later.
Go Go Gadget Signature!