Amiga library reference
Every AmigaOS library, device, resource and BOOPSI class function from the 3.2 NDK — its LVO, registers, C prototype, and the Kickstart version that added it — with a decoder that names the jsr -nnn(a6) calls in a disassembly and generators for LVO includes, FD files and SAS/C pragmas.
Added
How to use it
-
Functions — search by name (
AllocMem), by words from the description (top of the next video frame), or by offset (-198,$C6,0xc6). Pick a library to browse it in LVO order, and limit the list to what a given Kickstart has (Up to 1.3hides every V36+ call). Selecting a function shows which register carries each argument, the C prototype, a ready-to-paste assembler call, the_LVOequate, the SAS/C pragma, and the FD line. -
Decode calls — paste a disassembly or assembler source. Every
jsr -nnn(a6),jsr (-$nn,a6), orjsr $FFxx(a6)(positive word offsets, as some disassemblers print them) gets a comment naming the function. The library in a6 followsmove.l 4.w,a6(exec) and moves from base variables like_DOSBaseorGfxBase; otherwise the library you pick is assumed. Unknown offsets list which other libraries have a function there. -
Include files — the whole library as
_LVOequates for an assembler, an FD file, SAS/C#pragma libcalllines, C `#define`s, or JSON. Download or copy. -
Libraries — all 76 libraries, devices, resources and classes with their function counts, and the table of library versions against Kickstart releases.
Calling convention
The library base goes in a6 and the call is jsr _LVOName(a6): the LVO is a negative
offset from the base to a six-byte jump instruction. Arguments go in the registers listed;
the result comes back in d0. Calls may change d0, d1, a0 and a1, and preserve everything
else. exec’s base is always at address 4 (move.l 4.w,a6); other bases come from
OpenLibrary(), which should be given the lowest version you need.
Data
Offsets, registers, prototypes and versions are generated from the SFD files of the AmigaOS 3.2 NDK, and the one-line summaries come from the NAME line of each autodoc. The SAS/C pragmas generated here were checked against all 516 pragmas the NDK ships for exec, dos, graphics and intuition. Private functions (reserved vectors used inside the OS) are hidden unless you tick Private. Functions added after 3.1 (V40) exist only on AmigaOS 3.1.4 and 3.2 — check the Since column before using them on older systems.
Sharing
Share link copies a link to the open tab with its settings. Searches can be written by hand: ?q= (name, words, or offset), ?lib=, ?ver= (highest library version), ?priv=true, and ?sel=library/Function to pick the detail shown — for example /tools/amiga-lvo/?q=OpenLibrary. Decoded listings and include-file settings travel packed in ?s=.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.