Sunday, 16 June 2013

It's 2013 man, why bother learning assembler for the Amiga?!

OK so I'm a little late to the party (over 20 years), but I've set myself the goal to learn assembly language for the Amiga (68000 processors) and wanted to share my experience with you.

At the age of 13 I was so excited to see a tutorial in Amiga Format called 'How to program your own games in assember', this was the stepping stone for me to become my dream, a games programmer.  Sadly as a kid, I struggled, I already knew BASIC and AMOS, but Assembler was something else.  The internet didn't exist, I was too young to realise there would be books on the topic, and didn't know anyone in the same boat I could share learning with.  I was alone.  I gave up, but it's always bugged me.

Now I'm an experienced programmer, I became professional in the late 90's and my dream of coding games came true, but I never did learn assembly language.  Of course I didn't need to, the industry moved on, easier and more productive languages are now used.  Games I write for clients these days use Unity3D or XNA/MonoGame and the teams I work with can produce sophisticated 3D worlds.

"Games ain't what they used to be"

Technology today is mind blowing, and the games produced today are masterpieces. However I still feel most games today miss the magic of the games made in the early 90's, especially on the Amiga.  Is it just my age or did Amiga games really have something different about them?  To prove I'm not wearing rose tinted glasses I've started to research some of the old classics.  Google and youtube are great, but I've also fired up my Amiga 500 and properly reliving the experience.  I wanted to understand more about the all round hero Amiga machine, and how the games were written.  Whilst hunting through my old stuff, I came across my Amiga Formats (issues 39-44) with the tutorials I struggled with as a kid, I found all the cover disks, including the full version of DevPac 2.

My Amiga 500 - awesome machine


I'm about to learn assembly language, how hard can it be? Right? Game ON!

Challenge accepted.  I'm aiming to blog about my experience with each tutorial, and then hopefully sum up the whole journey.  I have my Amiga 500 now set up on my desk, all issues of Amiga Format tutorial with all the cover disks (I hope they all still work).

Can't wait to get stuck in to the tutorial I really hope it can teach me everything I need to know.  Having new knowledge combined with my career experience, I would love to write a game for the Amiga!

I've bought this book on Amazon 'An introduction to 68000 Assembly Language', it's very brief, but it does give me the list of commands available.
Very brief book - but perfect for when I start delving deeper...

Do you still code in Assembler?!

Would love to hear from anyone who still codes in assembler, especially for the Amiga machines.  Or maybe if you used to?  Any hints or tips you could recommend?  Did you complete the tutorials?  Did it kick start your career?

Comment here or get involved on twitter: @rich_lloyd

7 comments:

  1. Man I really enjoyed your post.
    I used to program with AMOS on my A500, back when I was 13 also. Sadly, for the reasons you mention, I never learnt 68k assembly (there were probably books for the 68k, but not that many for the specific Amiga hardware, like the graphical processor). And somehow, now in 2013, some 20 years after great games like Superfrog, Cannon Fodder, etc., I really think it would be cool to learn to code in assembler on the Amiga... If I could only find time for it. Because yes, the games on the Amiga definitely had something "magic". Well, I'll come back and see how you're doing with your mission of writing a game.

    ReplyDelete
    Replies
    1. Thank you for your kind words! I've had to put the assembler coding on the back burner, because a few weeks ago my 2nd daughter come in to this world and life has been hectic. I have recently purchased better books and discovered some youtube videos which I will put in a new blog post.

      Delete
    2. First of all, congratulations for your daughter! Second, congratulations for the initiative :).
      I've bought an A600 a few years ago but still haven't had the time (aka money) to buy cf<->ide adapters or a flicker fixer, but, as soon as this is done, I'll enter the same adventure and try to assembly a little!
      I'll be watching your blog.
      Good luck!

      Delete
  2. Nice post! And amusingly, I too have decided to start learning 68k assembler for fun after 25 years. I never had an Amiga (my dad bought me an Atari ST back in 1988 since it was cheaper) but I have recently acquired an Amiga 1200. I am more interested into OS programming, in particular I'd like to write a port of Minix to the Amiga 1200+68030 accelerator board, so that the OS can use the MMU instead of process shadowing. But if I have fun programming in assembler I might give game writing a try :) And with life being hectic, with a small child, a wife and work, it will surely be a long term project. I am 41, I hope to finish by my retirement... ;)

    Cheers,
    Antonio

    ReplyDelete
  3. So cool, i'll be following closely.. i've struggled on repeated occasions now to learn how to properly code on amiga, and keep trying to learn Blitz Basic (or AmiBlitz) but am repeatedly hitting walls in terms of english documentation that's up to date or good examples. Perhaps I should just give up and go for assembly instead as it's well documented, and it's not like the hardware changes much these days! :) would very much like to become a learning buddy with someone too.

    i used to love Dpaint and am now finding GrafX2 great fun and bringing back fond memories and best of all it runs on windows, mac, linux AND Amiga 68k :D so i wont be short on sprite/bob and general graphics skills either :D

    good luck!

    ReplyDelete
  4. I shared the same story, love to see that I am not alone in this retro-game no pun intended :D

    ReplyDelete
  5. Ah, you mirror my thoughts. (Hence how I found your blog).

    ReplyDelete