Setting Mailbox and DPRAM base addresses:

I90 to I99 I-variables define: Mailbox addresses as 0x7FA000-0x7FA1FF and DPRAM addresses as 0x700000-0x703FFF at the VME A24 address space, interrupt level 2, and interrupt vectors 0xA0, 0xA1, and 0xA2.

Description I-variable Value Comment
VME Address Modifier I90 $39 24-bit addressing
VME Address Modifier Don't Care Bits I91 $4 permits both "non-privileged" and "supervisory" data access
VME Base Address Bits A31-A24 I92 $0  
VME Mailbox Base Address Bits A23-A16 I93 $7F  
VME Mailbox Base Address Bits A15-A08 I94 $A0  
VME Interrupt Level I95 $2  
VME Interrupt Vector I96 $A1  
VME DPRAM Base Address Bits A23-A20 I97 $70  
VME DPRAM Enable I98 $E0 enables DPRAM
VME Address Width Control I99 $90 DPRAM 24-bit addressing

NOTE: The above VME settings must correspond to the driver configuration parameters in the IOC startup script st_pmac.cmd (see examples in the iocBoot directories):

### Configure PMAC-VME Hardware
#	args:	(1) EPICS VME Card #
#		(2) PMAC Base Address
#		(3) PMAC DPRAM Address (0=none)
#		(4) PMAC IRQ Vectors (v must be odd) (uses v-1,v,v+1)
#		(5) IRQ Level
pmacVmeDebug
devPmacMbxDebug
devPmacRamDebug
drvPmacDebug

# For 24-bit PMAC settings:
# DPRAM address range is A24 0xF0700000 - 0xF0703FFF
# MBOX  address range is A24 0xF07FA000 - 0xF07FA1FF
  pmacVmeConfig (1, 0x7FA000, 0x700000, 0xa1, 2)

Some additional PMAC settings to allow proper EPICS communications with PMAC mailbox and DPRAM:

i47=20			// update period for motor data
i48=1			// enable copying motor data
i49=1			// enable copying C.S. data
i50=40			// update period for C.S. data
i55=1			// enable variable read buffer
i56=1			// DPRAM ASCII Communications Interrupt Enable
M100->X:$000000,0,24,S	// servo clock M-variable