Programming AmigaOS in C

Introduction

AmigaOS is a multi-tasking, shared library/device, even driven operating system for the Amiga family of computers based on the Motorola 680x0 or PowerPC processors. To write for AmigaOS you need to learn how to use Amiga's shared libraries. There are a number of shared libraries, some are located on the Kickstart ROM and some on disk in the LIBS: folder. Each library contains functions needed to perform particular functions such as disk i/o, graphics, sound, process management, memory management, keyboard/mouse and so on. More libraries are added as AmigaOS is updated, some some libraries will not exist on older versions of AmigaOS.

Shared libraries differ from linked libraries is that shared libraries are not added to the program executable code like linked libraries are and thus will make AmigaOS programs small in size. So using shared libraries is more efficient.

Library List

Library name Purpose AmigaOS
exec.library Process and memory management 1.3 (33)
dos.library Disk, file and folder management 1.3 (33)
graphics.library Graphics, sprites/bobs, pixel type graphics 1.3 (33)
intuition.library Screens, windows and gadgets processing 1.3 (33)
diskfont.library Bitmapor compugraphic font management 1.3 (33)
expansion.library Device expansion library 1.3 (33)
icon.library Workbench icon management 1.3 (33)
layers.library Graphic layer management 1.3 (33)
mathffp.library Mathematical Floating Point processing 1.3 (33)
mathieeesingtrans.library Mathematical Single Precision functions 1.3 (33)
mathieeedoubbas.library Mathematical IEEE double precision processing 1.3 (33)
mathieeedoubtrans.library Mathematical IEEE double precision trig functions 1.3 (33)
mathtrans.library Mathematical Single precision processing 1.3 (33)
translator.library Speech translator functions 1.3 (33)
asl.library Common file/font type dialog boxes 2.0
commodities.library Background commodity tool functions 2.0
gadtools.library New window and gadget functions 2.0
workbench.library Workbench functions 2.0
rexxsupport.library ARexx support functions 2.0
rexxsyslib.library ARexx system library functions 2.0
version.library Version information 2.0
iffparse.library IFF file parsing functions 2.0
utility.library Miscellaneous utility functions 2.0
keymap.library Keyboard mapping processing 1.3 (33)
datatypes.library File and data type processing 3.1
nonvolatile.library Non-volatile RAM managment (CD32) 3.1
realtime.library Realtime processing 3.1
lowlevel.library Low level keyboard/joystick/mouse functions 3.1
amigaguide.library AmigaGuide file library 3.1
aml.library Amiga Mail library 3.5
reaction.library Reaction window/gadgets functions 3.5
     

Link Libraries

The number and the name of the link libraries supplied with Amiga C/C++ compilers differ although one common one is the amiga.lib which contains some common and useful functions not found elsewhere. There may be others including small.lib, debug.lib and for AmigaOS 3.5 or later reaction.lib.

Linker libs are compiled with your Amiga program source code and may make your programs bigger if used.

Next Page