Petit Computer Wiki
Advertisement

Read a tile from a background layer.

Syntax[]

BGREAD(layer, x, y), chr, pal, h, v
BGREAD(layer, x, y), tile
BGREAD(layer, x, y), tile$
Input Description
layer Layer to write tile to. 0 is the foreground, 1 is the background.
x x-coordinate of tile to write
y y-coordinate of tile to write
Output Description
chr Character id of tile
pal Color palette of tile
h Tile flipped horizontally
v Tile flipped vertically
tile Combined tile data as number
tile$ Combined tile data as hex string

Reads a tile from the background layer and stores the tile data into one or more variables. The tile data can be read as components or as combined data - see the overview for more info.

Examples[]

'Place tile
BGPUT 0,3,6,123,4,0,1
'Read tile data into component vars
BGREAD(0,3,6),CHR,PAL,H,V
PRINT CHR,PAL,H,V
'123 4   0   1
'Place tile
BGPUT 0,3,6,123,4,0,1
'Read combined tile data
BGREAD(0,3,6),TILE
PRINT TILE 
'18555
'Place tile
BGPUT 0,3,6,123,4,0,1
'Read combined tile data
BGREAD(0,3,6),TILE$
PRINT TILE$
'487B

Notes[]

All arguments are rounded down. If x or y exceed the range of [0,63], only the lower six bits are used. This is equivalent to x AND &H3F and y AND &H3F.

BGREAD(0,-1,65),TILE
'equivalent to BGREAD(0,63,1),TILE

You can specify the same output variable more than once - it will hold the last value stored.

BGREAD(0,X,Y),A,A,B,B
'A will contain the 'pal' value of the tile at (X,Y)
'B will contain the 'v' value of the tile at (X,Y)

The output string tile$ will always consist of four hex digits.

Errors[]

Action Error
Two or less input arguments are specified Syntax error
Four or more input arguments are specified Missing operand
A string is specified for an input argument Syntax error
A string is specified for an output argument Type Mismatch
Zero, two, or three output arguments are specified Missing operand
Five or more output arguments are specified Missing operand
A value not 0 or 1 is passed for layer Out of range

See Also[]

Advertisement