Int 1A Fn AF - Pcmcia V2 Card Services - Api [X]
AH = AFh
AL = function
00h close memory
01h copy memory
02h deregister client
03h get client information (see #0626)
04h get configuration information (see #0628)
05h get first partition
06h get first region
07h get first tuple (see #0635)
08h get next partition
09h get next region
0Ah get next tuple
0Bh get Card Services information (see #0624)
0Ch get status
0Dh get tuple data (see #0636)
0Eh get first client (see #0625)
0Fh get/register Erase Queue
10h register client (see #0637)
11h reset function
12h map logical socket
13h map logical window
14h map memory page
15h map physical socket
16h map physical window
17h modify window
18h open memory
19h read memory
1Ah register MTD
1Bh release I/O
1Ch release IRQ (see #0639)
1Dh release window
1Eh release configuration (see #0640)
1Fh request I/O (see #0641)
20h request IRQ (see #0642)
21h reqeust window (see #0644)
22h request socket mask
23h return SS entry
24h write memory
25h deregister Erase Queue
26h check Erase Queue
27h modify configuration
28h register timer
29h set region
2Ah get next client
2Bh validate CIS
2Ch request exclusive access (see #0647)
2Dh release exclusive access (see #0647)
2Eh get event mask
2Fh release socket mask
30h request configuration (see #0648)
31h set event mask
32h add Socket Service
33h replace Socket Service
34h vendor-specific
35h adjust resource information
36h access configuration register
37h get first window
38h get next window
39h get memory page
3Ah request DMA
3Bh release DMA
further details not yet available
Return: ??? = result code (see #0622)
See Also: AH=AEh
(Table 0622)
Values for PCMCIA Card Services result codes:
00h successful
01h invalid adapter number
02h bad value for attribute field
03h bad value for base system memory address
04h invalid EDC generator specified
05h (reserved for historical reasons)
06h invalid IRQ level specified
07h invalid PC Card memory array offset
08h invalid page number specified
09h unable to complete read request
0Ah invalid size specified
0Bh invalid socket number
0Ch (reserved for historical reasons)
0Dh invalid window or interface type
0Eh invalid Vcc power level specified
0Fh invalid Vpp1 or Vpp2 power level specified
10h (reserved for historical reasons)
11h invalid window number
12h unable to complete write request
13h (reserved for historical reasons)
14h no PC Card in socket
15h service not supported by implementation
16h unsupported processor mode
17h specified speed not available
18h busy -- retry later
19h undefined error (general failure)
1Ah storage medium write protected
1Bh argument length in (E)CX is invalid
1Ch bad value(s) in argument packet
1Dh configuration has already been locked
1Eh requested resource already in use
1Fh no more items of requested type available
20h out of resources
21h invalid client handle
22h unsupported client version
(Table 0623)
Values for Card Services Callback Event codes:
01h battery dead
02h battery low
03h card locked
04h card has become ready
05h card removed
06h card unlocked
07h motorized ejection complete
08h ejection requested
09h insertion complete
0Ah insertion requested
0Bh power management: resume
0Ch power management: suspend
0Dh exclusive access granted
0Eh exclusive access requested
0Fh perform physical reset
10h physical reset requested
11h card has been reset
12h MTD request (read/write/etc)
14h request for client info
15h timer has expired
16h Socket Service was modified
17h write-protected
18h attention requested
40h card insertion
80h reset complete
81h erase complete
82h registration complete
Format of Card Services Information:
Offset Size Description (Table 0624)
00h WORD length of information record in bytes
02h WORD signature
04h WORD number of sockets
06h WORD revision level
08h WORD Card Services level
0Ah WORD offset of vendor string
0Ch WORD length of vendor string
0Eh WORD number of functions
10h 255 BYTEs vendor string
See Also: #0626
Format of Card Services Client structure:
Offset Size Description (Table 0625)
00h WORD PCMCIA socket number
02h WORD client attributes
Format of Cards Services Client Information:
Offset Size Description (Table 0626)
00h WORD maximum length of data in bytes (180)
02h WORD (ret) length of returned data
04h WORD attributes (see #0627)
06h WORD revision level (BCD)
08h WORD Card Services level (BCD)
0Ah WORD revision date (DOS packed date format) (see #1352)
0Ch WORD offset to name
0Eh WORD length of name
10h WORD offset to vendor string
12h WORD length of vendor string
14h 80 BYTEs buffer for name
64h 80 BYTEs buffer for vendor string
See Also: #0624,#0628
Bitfields for Card Services client attributes:
Bit(s) Description (Table 0627)
0 memory client
1 MTD client
2 I/O client
3 all clients can share this card
4 only one client can use this card at a time
See Also: #0626
Format of Card Services configuration information:
Offset Size Description (Table 0628)
00h WORD socket (usually 0000h)
02h WORD attributes (see #0629)
04h BYTE Vcc value
05h BYTE Vpp1 value
06h BYTE Vpp2 value
07h BYTE interface type (see #0630)
08h DWORD base address of configuration registers
0Ch BYTE card's Status register setting (if present)
0Dh BYTE card's Pin register setting (if present)
0Eh BYTE card's Socket/Copy register setting (if present)
0Fh BYTE card's Option register setting (if present)
10h BYTE bitmap of present card configuration registers
11h BYTE first device type
12h BYTE function code
13h BYTE SysInit mask
14h WORD manufacturer code
16h WORD manufacturer information
18h BYTE valie card register values
19h BYTE IRQ number assigned to PC Card
1Ah WORD IRQ attributes (see #0632)
1Ch WORD base port address (for I/O range 1)
1Eh BYTE number of contiguous ports (for I/O range 1)
1Fh BYTE bitmap of port attributes (for I/O range 1) (see #0633)
20h WORD base port address (for I/O range 2)
22h BYTE number of contiguous ports (for I/O range 2)
23h BYTE bitmap of port attributes (for I/O range 2) (see #0633)
24h BYTE number of I/O address lines decoded (16-bit PC Card only)
25h BYTE extended status register setting (if present)
26h BYTE bitmap of DMA attributes (see #0634)
(note: value at call is used to set!)
27h BYTE assigned DMA channel
28h BYTE number of I/O windows in use on logical socket
29h BYTE number of memory windows in use on logical socket
See Also: #0627,#0648
Bitfields for Card Services Configuration attributes:
Bit(s) Description (Table 0629)
0 exclusive
1 IRQ active
2 CardBus card
3-5 reserved (0)
6 DMA channel is active
7 reserved (0)
8 valid client
9 overwrite voltage value
10-15 reserved (0)
See Also: #0628
Bitfields for Card Services Configuration interface type:
Bit(s) Description (Table 0630)
0 memory interface
1 I/O and memory interface
2 CardBus interface
3-7 reserved (0)
See Also: #0628
Bitfields for Card Services Configuration registers:
Bit(s) Description (Table 0631)
0 option value is value
1 status value
2 pin-replacement value
3 copy value
4 extended status value
5-7 reserved (0)
See Also: #0628
Bitfields for Card Services Configuration IRQ attributes:
Bit(s) Description (Table 0632)
1-0 sharing
00 no sharing
01 time-multiplex sharing
10 dynamic sharing
11 reserved
2 force pulse mode
3 first used together
4-7 reserved
8 pulse IRQ has been assigned
9-15 reserved
See Also: #0628,#0633,#0634,#0639,#0642
Bitfields for Card Services Configuration Port attributes:
Bit(s) Description (Table 0633)
0 shared I/O ports
1 "CS_FirstCommonUsedCard"
2 force alias access
3 =1 sixteen-bit I/O
=0 eight-bit I/O
7-4 reserved (0)
See Also: #0628,#0632,#0634,#0641
Bitfields for Card Services Configuration DMA attributes:
Bit(s) Description (Table 0634)
1-0 sharing mode
00 no sharing
01 time-multiplex sharing
10 dynamic sharing
11 reserved
3-2 DMA request signal
00 reserved
01 DMARQ uses pin SPKR#
10 DMARQ uses pin IOIS16#
11 DMARQ uses pin INPACK#
4 DMA size
0 eight bits
1 sixteen bits
7-5 reserved (0)
See Also: #0628,#0632,#0633
Format of Card Services Tuple information:
Offset Size Description (Table 0635)
00h WORD logical socket number
02h WORD attributes
bit 0: return Link tuples
04h BYTE code value of desired tuple
05h BYTE reserved (0)
06h WORD (ret) TupleFlags
08h DWORD (ret) -> Card Services Link State Information
0Ch DWORD (ret) -> Card Services CIS State Information
10h BYTE (ret) code for tuple
11h BYTE (ret) link value for tuple
See Also: #0636
Format of Card Services GetTupleData record:
Offset Size Description (Table 0636)
00h WORD logical socket
02h WORD attributes
04h BYTE code value of desired tuple
05h BYTE offset into tuple from link byte
06h WORD flags
08h DWORD -> Link
0Ch DWORD -> CIS
10h WORD (call) maximum amount of data to return (0004h)
12h WORD (ret) amount of data returned
14h DWORD (ret) tuple data
See Also: #0635
Format of Card Services Client Registration record:
Offset Size Description (Table 0637)
00h WORD attributes
02h WORD event mask
04h WORD client data (passed to client event handler in DI)
--- 16-bit code ---
06h WORD client data selector (passed to event handler in DS)
08h WORD client data offset (passed to event handler in SI)
0Ah WORD reserved
--- 32-bit code ---
06h WORD reserved
08h DWORD client data offset (passed to event handler in ESI)