API docs / Open libraries / expansion.library
API · Librariesexpansion.library jump table
Our open expansion.library: 21 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
expansion.library's jump table, as OpenExpansion builds it: LVO, call, registers, then the core class (OPEN_LIBRARIES.md section 5) as a comment. build-amiga.sh (with ../common/check_fd.py) checks the first three columns against the NDK 3.2 expansion_lib.fd in the stove and stops on any difference; openexpansion_lib.c's lib_vectors[] follows it line for line. anchored: the config space is the 68k's own bus (or dos's list, or exec's memory list); locked: the base's own semaphores. No call has a native body: each is a few bus cycles or a list step, cheaper than a call out.
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -30 | AddConfigDev | a0 | locked |
| -36 | AddBootNode | d0, d1, a0, a1 | anchored |
| -42 | AllocBoardMem | d0 | locked |
| -48 | AllocConfigDev | none | locked |
| -54 | AllocExpansionMem | d0, d1 | locked |
| -60 | ConfigBoard | a0, a1 | anchored |
| -66 | ConfigChain | a0 | anchored |
| -72 | FindConfigDev | a0, d0, d1 | locked |
| -78 | FreeBoardMem | d0, d1 | locked |
| -84 | FreeConfigDev | a0 | locked |
| -90 | FreeExpansionMem | d0, d1 | locked |
| -96 | ReadExpansionByte | a0, d0 | anchored |
| -102 | ReadExpansionRom | a0, a1 | anchored |
| -108 | RemConfigDev | a0 | locked |
| -114 | WriteExpansionByte | a0, d0, d1 | anchored |
| -120 | ObtainConfigBinding | none | locked |
| -126 | ReleaseConfigBinding | none | locked |
| -132 | SetCurrentBinding | a0, d0 | locked |
| -138 | GetCurrentBinding | a0, d0 | locked |
| -144 | MakeDosNode | a0 | locked |
| -150 | AddDosNode | d0, d1, a0 | anchored |
| -156 | private | none | |
| -162 | private | none |