Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Global I-Variables 164
In addition, I4904 contains the status of the eight locking bits that an application can use with the LOCK
and UNLOCK commands to make sure that tasks of different priorities do not overwrite each other. The
following table shows how the eight locking bits are stored. Each bit is a 0 if unlocked; it is a 1 if locked.
I4904 Bit #
Bit Value
Locking Bit #
4
$10
0
5
$20
1
6
$40
2
7
$80
3
8
$100
4
9
$200
5
10
$400
6
11
$800
7
I4908 End of Open Memory
Range: $006000 $040000
Units: none (individual bits)
Default: --
I4908 is a read-only status I-variable that reports the end of the open active memory that can be used for
most programs and buffers. It returns the address of the register one number higher than the last register
than can be used for these programs and buffers.
The value returned for I4908 is a function of two things: the size of the user data memory, and the
declared size of the UBUFFER user buffer. If no UBUFFER has been declared, I4908 will return
$010800 for the standard user data memory (Option 5x0 or 5x2). Starting in V1.937, Turbo PMACs with
the extended user data memory (Option 5x1 or 5x3) by default have a 65,536-word ($10000) UBUFFER
declared, occupying addresses $030000 - $03FFFF. In these systems, I4908 will return a value of
$030000. It is possible to declare a smaller or non-existent UBUFFER in these systems with an explicit
DEFINE UBUFFER command. With no UBUFFER, a Turbo PMAC with the extended user data
memory option will report an I4908 value of $040000.
If a UBUFFER has been declared, the value returned for I4908 will be reduced by an amount equivalent
to the size of the UBUFFER.
Example:
$$$*** ; Re-initialize card, clearing all buffers
I4908 ; Request value of I4908
$010800 ; Value for standard data memory, no UBUFFER
DEF UBUF 512 ; Reserve 512 ($200) words for user buffer
I4908 ; Request value of I4908
$010600 ; Value reduced by 512 ($200)
I4909 Turbo CPU ID Configuration
Range: $000000000 $FFFFFFFFF
Units: none (individual bits)
Default: --
I4909 is a read-only status I-variable that reports configuration information for the Turbo PMAC CPU
section. I4909 is a 36-bit value that contains vendor ID, option data, CPU type, and card ID. All of it is
reported if I39 is set to 0; individual parts are reported if I39>0.