@includeonce "io.prn" 7 "b_nblocks" store 15 23 71 51 54 99 114 b_nblocks mkarrayp "b_blocks" store 6 3 4 7 2 1 5 b_nblocks mkarrayp "b_blockclrs" store @defun "b_getblock" { #arg: block idx [1..7] "b_blocks" swapoutvar swap arridx swap "b_blocks" gstore } @defun "b_drawblock" { #args: x y blockidx b_getblock "blockbits" store "y" store "x" store blockbits 16 % "row1" store blockbits 16 / "row2" store x "xx" store row1 while row1 2 % if xx y io_gsquare end xx 1 + "xx" store row1 2 / "row1" store row1 end y 1 + "y" store x "xx" store row2 while row2 2 % if xx y io_gsquare end xx 1 + "xx" store row2 2 / "row2" store row2 end }