User's Manual

PMAC User Manual
Writing a Host Communications Program 261
A simple write command followed by a save command to PMAC will put these values into their
appropriate registers and make them permanent:
WX$0783,$39,$4,$0,$7F,$A0,$02,$A1,$0,$60,$10
SAVE
Remember that these values must be saved and then the card reset (with the $$$ command, the INIT/
input line pulled low, or power cycled) before these new values will take effect. If using the PMAC
Executive Program, set up these registers using the Configure|VME Communications menu.
Setting up VME Dual-Ported RAM (Option 2V)
If Option 2V is installed on the PMAC VME, configure the starting address. This setup is done entirely
through software in a manner similar to that of setting up the PMAC VME mailbox registers. There is no
hardware setup or connections for the Option 2V DPRAM on the PMAC VME or PMAC2-VME. It is
factory installed on the PMAC board itself.
Starting Address
Before choosing the DPRAM starting address, determine what memory space is available in the VME
system (so that the PMAC DPRAM does not interfere with existing RAM or other devices on the VME
bus). Just like setting up the base address of PMAC VME, the starting address of DPRAM is done
through software, but in a somewhat different manner. The best way to describe how to setup DPRAM is
to give an example.
Most will use the Configure|VME Communications window in the PMAC Executive program to set the
address for DPRAM. The following section explains how to perform this setup without the Executive
program.
Example:
Suppose a starting address of $1FC000 has been selected for the DPRAM. Just like what was done for
the base address of PMAC, it is best to rewrite this address in binary and label the address bits, starting
with A0 as the rightmost bit:
Address Bit A31 A24 A23 A16 A15 A8 A7 A0
Binary
0000 0000 0001 1111 1100 0000 0000 0000
Hex
00 1F C0 00
There is a value of $00 for address bits A31 - A24, $1F for address bits A23 - A16, $C0 for bits A15 - A8
and $00 for bits A7 - A0. To tell PMAC where DPRAM should begin, break up this starting address into
two parts:
1. The first part will represent the value address bits A23 through A20.
2. The second part will represent the value address bits A19 through A14.
If using 32-bit addressing, address bits A31 through A24 for the dual-ported RAM are determined by the
PMAC memory location X:$0785, which is also used for the same address bits of the base address of the
mailbox registers.
First write the value of address bits A23 through A20 into bits 7 through 4 (high order nibble) of the
PMAC memory location X:$078A, i.e. the left hex digit (most significant bits) will be the value of
address bits A23 - A20, and the other digit (right digit & least significant bits) will always be $0. In this
example, the value for address bits A23 - A20 would be $1, therefore write a value of $10 into location
X:$078A. Now we have to write the value of address bits A19 through A14 into the PMAC base address
+ $121 (remember, from the previous examples, the PMAC base address is $7FA000). This needs to be
done every time PMAC is powered up or reset (either with the hardware reset line or use of the $$$
command). In this example, constructing a 6-bit hex number from bits A19 - A14 gives a value of $3F:
Address Bits A19 A18 A17 A16 A15 A14