Crash course: Amiga assembly programming

Tuomas Järvensivu and Harri Salokorpi:

The 30th anniversary of Amiga inspired me to dig into Amiga programming. Back in Amiga’s golden era (late ’80s and early ’90s) I never had the chance to try this out since despite my relentless whining my parents wouldn’t get me one. Luckily later when I was studying at the uni, I managed to bargain one fine Amiga 500 specimen from the flea market at an affordable price of 20 euros.

Although Amiga as such is not that useful a platform to know these days, learning how to write programs for it can be very educational. Amiga as an environment is much simpler than (for instance) modern PCs. This makes learning low-level programming on it faster than on more complex environments. Although the hardware architecture is quite simple, it has some computer system design features that are still in use in modern environments as well such as DMA and interrupts. On top of being plain fun, writing assembly on Amiga teaches programming concepts that are usually hidden by higher-level languages and modern operating systems.

I’ve written this blog post together with Harri Salokorpi. We’ll walk you through an example that creates graphics on the display with a simple animation. We both hope this blog post provides a quick start to those who want to try out programming on this legendary device. However, we’re mostly going to use an emulator as a development environment, so the real device is not mandatory.

Fascinating article for those of us who can actually program.

34 Comments

  1. 2017-05-12 11:31 am
  2. 2017-05-12 1:04 pm
  3. 2017-05-12 1:53 pm
    • 2017-05-12 2:36 pm
      • 2017-05-12 3:00 pm
        • 2017-05-13 3:52 pm
          • 2017-05-14 6:25 pm
      • 2017-05-12 4:34 pm
        • 2017-05-12 8:12 pm
          • 2017-05-12 9:41 pm
          • 2017-05-13 1:43 pm
        • 2017-05-12 11:34 pm
          • 2017-05-13 6:25 am
    • 2017-05-12 6:55 pm
  4. 2017-05-12 4:11 pm
    • 2017-05-12 4:17 pm
    • 2017-05-12 4:21 pm
      • 2017-05-12 8:13 pm
    • 2017-05-12 7:06 pm
    • 2017-05-13 1:39 pm
      • 2017-05-13 6:57 pm
      • 2017-05-15 5:04 pm
  5. 2017-05-14 5:44 am
  6. 2017-05-14 5:54 am
    • 2017-05-14 3:03 pm
    • 2017-05-14 6:23 pm
      • 2017-05-15 12:53 am
        • 2017-05-15 11:30 am
          • 2017-05-16 10:21 am
          • 2017-05-16 1:03 pm
          • 2017-05-17 11:01 am
      • 2017-05-15 2:15 am
  7. 2017-05-15 3:45 am