For sine and cosine tables, you can define arrays with 360 elements.

And then you can include math.h, and use the sin() and cos() functions to calculate the tables.

Or you can use a different language to calculate the tables for you and save the data to text files, which you can simply include in your code.

cpctelera lets you print a character at any byte horizontally (so there are 80 possibilities), and on any raster line (200 possibilities).

However for TAG(), you'd need to print at pixel-level horizontally, which cpctelera doesn't have a function for.