API docs / Open libraries / card.resource
API · Resourcescard.resource jump table
Our open card.resource: 17 calls with the same LVOs and registers as AmigaOS 3.2's, checked against the NDK 3.2 .fd file.
card.resource's jump table, as OpenCard builds it: LVO, call, registers, and after the # the call's core class (OPEN_LIBRARIES.md section 5). build-amiga.sh (with ../../libraries/common/check_fd.py) checks this against the NDK 3.2 card_lib.fd (##bias 6) in the stove and stops on any difference; opencard_res.c's res_vectors[] follows it line for line. A resource has no Open, Close, Expunge or Null: its own calls start at -6. The slot is one, with its owner and queue in the resource's base, changed with interrupts off: anchored, but for the four that only read.
| LVO | Call | Registers | Notes |
|---|---|---|---|
| -6 | OwnCard | a1 | anchored: the queue |
| -12 | ReleaseCard | a1, d0 | anchored: the queue and the Gayle |
| -18 | GetCardMap | none | pure: a constant map |
| -24 | BeginCardAccess | a1 | anchored: the owner |
| -30 | EndCardAccess | a1 | anchored: the owner |
| -36 | ReadCardStatus | none | anchored: the Gayle's status |
| -42 | CardResetRemove | a1, d0 | anchored: the owner's flags |
| -48 | CardMiscControl | a1, d1 | anchored: the Gayle |
| -54 | CardAccessSpeed | a1, d0 | anchored: the Gayle |
| -60 | CardProgramVoltage | a1, d0 | anchored: the Gayle |
| -66 | CardResetCard | a1 | anchored: the card's reset line |
| -72 | CopyTuple | a1, a0, d1, d0 | anchored: the card's memory |
| -78 | DeviceTuple | a0, a1 | pure: parses a caller's tuple |
| -84 | IfAmigaXIP | a2 | anchored: the card's memory |
| -90 | CardForceChange | none | anchored: the queue |
| -96 | CardChangeCount | none | anchored: the count |
| -102 | CardInterface | none | pure: CARD_INTERFACE_AMIGA_0 |