An Introduction to AMIGA Programming Using C



This is an introduction to the purpose of this series of tutorials. It also serves as a starting point. Begin here if you are new to Amiga programming.

The topics include a general welcome message, a discussion of ANSI C, the rationale behind our choice of a compiler, and helpful links to a powerful development environment that is free for download.

Hello World

Lesson 1: Hello World

In this tutorial the classic introductory program "Hello World" is presented. A step-by-step procedure for entering the program into a text editor, evoking the compiler, and running the resulting executable is given. Finally a line-by-line dissection of the Hello World program is given explaining the various elements of a small C program.

This tutorial is intended for those who are absolutely new to Amiga programming.

Simple Window

Lesson 2: Simple Window

This tutorial introduces several new concepts in the C language including pointers, casts, structures, and conditional statements. It also introduces aspects of the AmigaOS API including libraries and intuition. Again, the program is broken down into its basic elements and each one is discussed in detail.

Close Window

Lesson 3: Close Window

This tutorial adds to the Simple Window tutorial by introducing the concept of messages, message ports, and signals. These concepts are used to create a window with a functioning close button. Additional C statements are discussed and more AmigaOS API topics are introduced.


Lesson 4: Draw

This tutorial discusses the concept of structured programming and the use of additional functions to make programming more understandable. Specific topics include function prototypes, function arguments and return values, as well as local and global variables. These ideas are presented while creating a very simple drawing application. AmigaOS API topics include raster ports, single pixel plotting, and mouse location and button IDCMP messages.

OS4 Libraries

Lesson 5: OS 4 Libraries

This tutorial covers some of the new features of AmigaOS 4. Since the developer pre-release first shipped, I've received several requests to cover the changes to the AmigaOS API that are unique to OS 4. Although I intend to continue this tutorial using the OS 3.x API, it seemed appropriate to give give a little thought to the future. The topics in this tutorial include a general overview of changes in OS 4, differences in how libraries are opened in OS 4 and prior versions of the OS, interfaces, and some helpful hints on how to port the tutorial programs to OS 4.

Simple Requester

Lesson 6: Simple Requester

This tutorial introduces simple requesters and dialog boxes. It shows how they are used to gather information from the user and use that information to change the behavior of the program. Topics include creating a simple requester with several options and reading the user's input. Also introduced are macros, memory allocation, raster ports, viewports, color maps, and waiting for Exec messages.

Introduction Introduction

To download all current tutorials in Lha/Lzh format click here.
For the Zip archive click here.

The author of this tutorial is Michael Ness.

The German translation is by Heinz-Raphael Reinke.


Last updated on Saturday, April 25, 2015