AmigaChromeA new chapter for the Amiga

API docs / Open libraries / xpkmaster.library

API · Libraries

xpkmaster.library jump table

Our open xpkmaster.library: 14 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.

xpkmaster.library's jump table, as OpenXpkMaster builds it: LVO, call, registers, from XPK's public xpkmaster_lib.fd (the developer archive's; the NDK has none). build-amiga.sh (with ../common/check_fd.py) checks this against that fd (FD=) and stops on any difference; openxpkmaster_lib.c's lib_vectors[] follows it line for line. Core class (OPEN_LIBRARIES.md, section 5): every call is pure; the work is the caller's (per-call frames and the caller's own XpkOpen handle), files and sub-libraries are reached through dos.library and exec.

15 slots, 14 public
LVOCallRegistersNotes
-30privatenoneXPK's fd starts at bias 36 (lvo/xpkmaster_lib.i: XpkExamine EQU -36); answers 0
-36XpkExaminea0, a1
-42XpkPacka0
-48XpkUnpacka0
-54XpkOpena0, a1
-60XpkReada0, a1, d0
-66XpkWritea0, a1, d0
-72XpkSeeka0, d0, d1
-78XpkClosea0
-84XpkQuerya0
-90XpkAllocObjectd0, a0
-96XpkFreeObjectd0, a0
-102XpkPrintFaultd0, a0
-108XpkFaultd0, a0, a1, d1
-114XpkPassRequesta0