AmigaOS is a multi-tasking, shared library and 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 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. Details about the libraries can be found on the AmigaOS Wiki.
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 |
application.library | Development and use of applications functions | 4.1 |
camd.library | Functions for MIDI devices and data | 4.1 |
newlib.library | Newlib standard C library | 4.1 |
diskio.library | High level api for disk and partition I/O | 4.1 |
pthreads.library | Threading functions for C programs | 4.1 |
AmigaOS supports additional third party libraries, which are stored in Libs:, to expand the functionality of AmigaOS and provide access to more APIs.
Library name | Purpose | Minimum AmigaOS |
amissl.library | Amiga SSL/TLS library (see Aminet) | 3.0 |
asyncio.library | For double buffered asyncronus file access (see Aminet) | 3.0 |
bgui.library | Boopsi Graphical User Interface (see Aminet) | 2.0 |
boards.library | List of autoconfig boards supported on Amiga (see Aminet) | 1.2 |
bsdsocket.libray | TCP/IP network library (see Networks) | 3.0 |
cddb.library | Compact Disc Database library (see Aminet) | 3.5 |
codesets.library | Handle different codesets for different languages and countries (see Aminet) | 3.0 |
gtlayout.library | GadTools Layout library (see Aminet) | 3.9 |
ixemul.library | BSD Unix emulation (see Aminet) | 2.04 |
ixnet.library | BSD Network emulation (see Networks) | 2.04 |
MagicASL.library | MUIfied ASL library replacement (see Aminet) | 3.1 |
muimaster.library | Magic user interface (see MUI on Github or SASG) | 3.1 |
Picasso96API.library | Picasso96 Retargetable graphics library (see GitHub) | 3.1 |
SDL.library | Simple direct media library (see Aminet or SourceForge) | 3.0 |
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.