Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Talking to Turbo PMAC 
45 
• 
DPRAM Coordinate System and Global Background Data Reporting: I49 and I50 
• 
DPRAM Background Variable Buffers: I55 
• 
DPRAM Binary Rotary Buffer Foreground Transfer: I45 
It is possible to have multiple DPRAM ICs in some Turbo PMAC systems, especially in UMAC systems.  
However, only one of these ICs can be used at any given time with any of the automatic data structures.  
Turbo PMAC variable I24 determines which of the DPRAM ICs will support these automatic functions 
by specifying the base address of this IC in Turbo PMAC’s own address space.  On re-initialization of the 
Turbo PMAC, I24 is set to the address of the first DPRAM IC found (the one with the lowest base 
address).  I4904 shows which DPRAM ICs have been found by the Turbo PMAC CPU. 
The DPRAM IC associated with the main bus communications port has a base address of $060000 in 
Turbo PMAC’s memory map.  DPRAM ICs that are accessed by the Turbo PMAC CPU over the JEXP or 
UBUS expansion port, such as those on the Acc-54E USB/Ethernet communications card for the UMAC, 
can have base addresses of $06C000, $06D000, $06E000, $06F000, $074000, $075000, $076000, or 
$077000. 
Giving Commands to Turbo PMAC 
Turbo PMAC is fundamentally a command-driven device, unlike other controllers that are register driven.  
Turbo PMAC can do things if ASCII command text strings are issued and generally Turbo PMAC 
provides information to the host in ASCII text strings. 
Note: 
If the Option 2 dual-ported RAM is present, Turbo PMAC can be commanded by 
writing values to specific registers in the DPRAM and Turbo PMAC can provide 
information by placing binary values in these registers, but the ASCII commands 
must be sent to Turbo PMAC that cause it to take the proper action when these 
values are received and to place the values in these registers. 
Turbo PMAC Processing of Commands 
When Turbo PMAC receives an alphanumeric text character over one of its ports, it does nothing but 
place the character in its command queue.  It requires a control character (ASCII value 1 to 31) to cause it 
to take some actual action.  The most common control character used is the carriage return (<CR>; ASCII 
value 13), which tells Turbo PMAC to interpret the preceding set of alphanumeric characters as a 
command and to take the appropriate action. 
Other control characters cause Turbo PMAC to take an action independent of the alphanumeric characters 
sent before it.  These control characters can be sent in the middle of a line of alphanumeric command 
characters without disturbing the flow of the command.  Turbo PMAC will respond first to the control-
character command, storing the text string until the <CR> character is received. 
Command Acknowledgement 
The exact nature of Turbo PMAC’s acknowledgement of commands and its data response is controlled by 
I-variables I3, I4, and I9, with I3 as the most important.  If I3 is 1, PMAC acknowledges a valid 
alphanumeric command by sending the line-feed (<LF>; ASCII value 10) character back to the host.  If 
I3 is 2 or 3, it uses the <ACK> character (ASCII value 6) instead.  If I3 is 0, it does not provide any 
acknowledging character.  Regardless of the setting of I3, Turbo PMAC responds to an invalid command 
by returning the <BELL> character (ASCII value 7). 
When working interactively with Turbo PMAC in a dumb terminal mode, it is often nice to use the <LF> 
as acknowledgement because it spaces commands and responses on the terminal screen automatically.  
Data Response 
When the command received requires a data response, Turbo PMAC will precede each line of the data 
response with a line feed character if I3 is set to 1 or 3.  It will not do so if I3 is set to 0 or 2.  Turbo 
PMAC will terminate each line of the data response with a carriage-return character regardless of the