Learning Amiga Assembler

Back in the day the Amiga was at the cutting edge of technology, constantly pushing the boundaries more than any other machine. It had integrated Stereo sound, rendered real-time hardware graphics with ease but most remarkable of all was its multitasking capabilities. Revealed during its launch at CES back in the early 80’s the audience were captivated due to the smooth dragging and scrolling of the desktop whilst running multiple programs, a huge step forward for the time but the big reveal was yet to come though there was a clue, a sound like something was rebounding off walls? Dragging down a second desktop revealed yet another treat running at the same time but this time a demo of a bouncing ball rendered in different resolution to that of the desktop using hardware graphics and complete with sound. All this with no glitches or no slow down!. It took windows 10 years to even catch up with the Amiga! I can’t but help wonder were we would be if Commodore were still around today.

The Past

Though I came quite late to the scene I absorbed myself in the technology first buying the A500 and then the A1200 I become the local tech guy that everybody bought their machines to. I had written my first games on her, had converted the IDE to take a PC hard-drive and had homed her in a nice PC Tower. I was planning to making a living with her professionally after completing my A Level in Computer Science, everything was starting to fall into place.

That all ended after a family after I picked up my A Level results. As a family we had decide to up and move 500 miles away. I didn’t know where I was going not many people had heard of the machine let alone had an interest in it. I was left with no Amiga buddies, no machines to repair and no customers. I still used her everyday even though it was after the final death throws of Commodore. I felt that the end of my Amiga days were forced upon me when my only connection to the Amiga world, a magazine called Amiga Format released its final addition and closed its doors. I had to start a fresh, box up my soul mate and move on, my late teenage self had just started an apprenticeship as a programmer in the Microsoft world of the PC so looks like I wont be seeing her anymore.

The Present

Almost 20 years on, older and wiser and advancing through the ranks in my professional career in Software Engineering I didn’t think there would be a time where I would find the need or desire to dust off the Amiga. But there has been a re-discovery of all things retro and a generation of people who haven’t even touch a floppy disk let alone played a game from one. With all the retro machines bought back to life in the form of emulation along with a huge collection of dumped Roms, games, software you name it are readily available via the internet. Everyone has easy access to relive and rediscover these machines. The second hand market has rocketed with people paying silly money to own a piece of history along with a new but growing market for new games has emerged.

But making a game for a 30 plus year old platform doesn’t mean the complexity that programmer of the age had to manage have gone away. It is now come a time that later generations may not of even heard of let alone have experienced. Requiring a lower level of interaction ‘banging the metal’ is still the way to go for best results with these systems and requires a knowledge of hardware and a less verbose language talk converse. Sorry if you solely rely upon npm install ‘add you library here’, or a framework or drag and drop game creator to do most of the heavy lifting. If you do then your going to have a hard lesson on what it’s like to program at this level along with getting you hands dirty under the hood! All this tooling is nice, saves time and makes our jobs easier (well, sometimes. I recently spent 2 hours trying to get a node library to work where I was able to compile and link an old Amiga Assembler program on windows to run on an emulated environment within 5 minutes).

Going back to the day simple tools like code-completion didn’t exists, the internet was replaced with reference manuals and code sharing was done face-to-face via a disk in the post. You hear people say that it was easy during the the day to become successful and earn a large amount of cash from bedroom creations. But people forget what is now just accessible at your finger tips. Believe you me it wasn’t as easy as you think! And if you was like me it is possible that you would only know gamer’s not programmers or creative artists, or not able get the necessary documentation and reference manual as I you had no money to buy them. I couldn’t jump on the internet and look up the information I needed because I didn’t have the privilege. I was like many, on my own!

Fortunately with the age of the internet most of that knowledge is readily available for free these days, though as I have experience somewhat painful when you start to find a good source. I begun programming using the Amiga by using the only resource I had, the free software available from magazine cover disks of which I explored and learned from the examples finally gaining enough skills and knowledge to program and release two games myself; a breakout clone called Cosmic Ball and a Columns puzzle clone, I heard nothing back from the publisher only that they were accepted into the public. But it gave me a starting point.

Why Do I Want To Do This?

During my time programming on the Amiga I never had a chance to program with Assembler. Today with the hardware manuals and necessary material available and free it would be rude not to. I have played lately a little with building FPGA’s and found the programming / engineering style challenging and interesting so I think doing the same with the 68000 CPU would interest me. So let’s get started with the first thing, a emulated Amiga as mines gone missing, thanks sis!

Be the first to comment

Leave a Reply

Your email address will not be published.