public

Learning Assembler on Amiga #1 -Emulator Setup

Want to learn how to code for Commodore Amiga in Assembler. Then you are in luck because I am documenting my journey and you may make yours following mine.

5 years ago

Latest Post The Great Escape Tunnel by Mario Esposito public

During the time that Amiga was popular both in the EU and US, you had one of those gorgeous devices.

You had a passion for building your own game, utilities, or what else. You went as far as understanding the surroundings of developing for the platform, maybe you even did something cool with AMOS, but you never made it write something meaningful in assembler. It was mystical and appealing but there was no Internet and information was hard to come by. You let it go and that grudge stayed in the back of your mind since then.

Nowadays, you know a lot more than back in those times. You have the Internet, you can even emulate all the Commodore platforms but you don’t know where to start. There’s too much to parse and put together, and back then you didn’t have a mortgage, kids, and plenty of distractions beyond yourself.

The vibrant desire of getting your “revenge” over your lame inner self is still there and that desire of winning over the machine is flaming in you.

You are in luck, my man or woman. I am one of those too, and I recently made the Amiga world my hobby.

I am going to embark on the journey of learning everything that back then I couldn’t understand because it was not available in any of the languages I was capable of speaking or simply because I was the only one in a very large radius of miles having one of this beautiful Amiga machines.

If you have never programmed, then let me be frank:

you can make it, but your road is gonna be so full of shit and apparently non-sense that you will win only if you are absolutely stubborn and persistent.

If you understand the basics of programming, then you are in luck because I intend to start from scratch and intentionally stay away from hyper geekiness.

Most lessons will have roughly the following structure:

  1. Theory
  2. Walk-thru
  3. Code
  4. Multimedia support as it applies
  5. Fun somewhere in the mix

In all cases, remember that IDKWID philosophy applies.

Emulator and Platform

I use macOS and FS-UAE as my configuration for retro experiences. If you happen to use a different platform, as long as you stick to using the same type of emulator you should have any particular trouble. Win-UAE has a zillion of tutorials, I am sure that if you happen to use that emulator on Windows, you will find the equivalent settings.

What’s out there?

There’s a ton of content out there, and that’s a bit of an issue because some authors assume you are on their same knowledge level or at least experience and that makes your ramp up harder. In all cases, there are a few very popular resources that no matter what, you want to visit and process a bit. Here are the tops ones:

  1. Copper Shade, Henrik has a well-known video channel that you want definitely to explore the least.
  2. Classic Workbench (WB) is a great guide that can configure your system in a way that you would have never been able to do with a real Amiga back then.
  3. AmigaDOS commands sites.
  4. Great blogs to learn how to run programs and games from hard drives instead of disks.
  5. Access to all sorts of manuals from hardware to games.
  6. The huge Aminet. A repository of software that will come really useful during these lessons.
  7. Great companies like Cloanto continue to feed the ecosystem that doesn’t want to die.
  8. And finally plenty of history about the rise and commercial end of the Amiga

Setup

If you mimic what I have the chances are that you are not going to run into troubles of not working scenarios. If you do, drop me a comment, and we might figure it out together.

Create a new configuration and call it Development. The following is a screen-by-screen configuration for development.

You can’t configure the screen above any wrong. The most important part is the Accuracy level (top right) as it represents the highest fidelity possible for the CPU cycles/ticks that affect your code behaviors.

The screen below tells the emulator where to find your emulated hard drive and a folder (amigaHD) that the system sees as a real Amiga hard drive. If you need to transfer files to/from the host system (macOS) or the emulated system you can use that folder.

You can create your own hard drive file, using HDF Creator.

image

The procedure is rather simple but fuzzily documented on the net. Here is what I did and worked like a charm after hitting every possible wall along the way. If there wasn’t a wall, I built one, ran into it, and then kept going.

  1. Create an HD file big enough to hold all your future, don’t be stingy, resizing it isn’t as simple as with a Linux partition.
  2. On the floppy tab of FS-UAE add to the Media Swap List all the 6 installations disk for Workbench 3.1. If you don’t have them, I trust that you know how to use Google and ADFs (floppy disk images). AmigaForever doesn’t have a version for macOS, I bought it there and figure out manually how to extract the files for macOS. There are other questionable ways of doing it, but I have no desire of breaking the laws of any country or contributing to piracy. So figure it out.
  3. Boot and when you see the Kickstarter screen swap in the first disk and proceed to install as necessary.

You will end up with a full installation and with everything that you need to boot without floppies.

If you get stuck, this video does an exceptional job of explaining everything you need to know.

Memory and Graphics card

The emulator mimics greatly even the sound used to make to detect the floppy disk in the floppy drive. It is neat, however, pretty much everyone agrees that after a while drives you insane. So I dropped the volume and just for this configuration, to zero.

Lastly, I beefed up memory and cards just to have speedy emulation, not really necessary for what we’re going to do but it does make your retro life fancier.

Leave every other screen as is and save the configuration you just created.

If you have done everything as I described it, you should be able to boot the WB.

Closing

The most important step that you can do now is to shut down the emulator and make a backup of your configuration file (under the documents folder) and created a hard drive. There is no time machine in the retro world and you will, guaranteed, screw up somewhere at some point. A nice restore using a previous backup will save you time without redoing those steps described above.

Disclaimer

I am not an expert on this matter. I will learn as I go and share my experience, hoping of helping someone in the same boat and with the same desire as an old fart like me. If it all fails, at least I will have some notes for myself in the distant future.

If you see or know a better way of doing what I share, don’t be afraid and comment away. I learn really fast, and I welcome feedback even faster than that. I hope to serve all of you well enough.

Amiga Forever, for every missed developer out there.

My nickname on Amiga was A99 because when I was signing my record in some stupid ass games that only accepted 3 letters, that was the quickest way I had muscles memorized the sequence.

A99 out, see you at the next chapter of this interesting retro quest.

Mario Esposito

Published 5 years ago