Pointer Functions This library contains functions for basic pointer access and manipulation. These functions are intended to allow sequential reading and writing of individual bytes to arbitrary locations in memory. A pointer consists of any two consecutive bytes in Zero Page and is referenced using the single byte zeto page address (0-254). Note: There is no concept of a null pointer in C02. A pointer containing the value 0 simply points to the first byte of memory. Usage: at the beginning of the program use the directives #include The following application functions are defined: ptr, msb, lsb = Pointer Set: Set the contents of the pointer at ptrset(zp, &addr); location zp to the address &addr. Returns the zsro-page pointer location, address high byte, and address low byte. ptr, msb, lsb = Pointer Address: Retrieves the contents of the ptradr(zp); pointer at location zp. Returns the zsro-page pointer location, address high byte, and address low byte. ptr, b = Pointer Put: Stores byte of b at the address ptrput(zp, b); pointed to by the pointer at location zp, then increments the pointer contents. Returns the zsro-page pointer location and value written to address. b = ptrget(zp); Pointer Get: Retrieves the contents of the byte at the address pointed to by the pointer at location zp, then increments the pointer contents. ptrinc(zp); Pointer Increment: Increases the contents of the pointer at location zp by one. ptrdec(zp); Pointer Decrement: Decreases the contents of the pointer at location zp by one. ptr, msb, lsb = Pointer Add: Adds the 16-bit value specified by &addr ptradd(zp, &addr); or msb, lsb to the contents of the pointer at ptradd(zp,msb,lsb); location zp. ptr, msb, lsb = Pointer Add: Subtracts the 16-bit value specified by ptrsub(zp, &addr); &addr or msb, lsb to the contents of the pointer at ptrsub(zp,msb,lsb); location zp. r = Pointer Compare: Compares the contents of the pointer ptrcmp(zp, &addr); at location zp to the address &addr. Returns 255 if the contents are less than the address (pointing to a byte lower in memory), 0 if the contents are equal to the address (pointing to the same byte), and 1 if the contents are greater than the address (pointing to a byte higher in memory). These results can be evaluated using the C02 unary comparator ! or the test-operators :+ or :-. Note: This library expects the following to be defined: the transient variables temp0, temp1, temp2 Temporary storage