1 - its not rotating the whole buffer. This is the same way in which OpenGL works. It is an optimized way of performing rotations, since all you have to do is calculate a rotation matrix once when calling this, and then all drawing commands afterwards are affected by the matrix. This does not mean the stuff that was there before is affected.
2 - Functions are the same. Gosub shouldnt be used even if it was there.
3 - Its probably possible, with a few opengl commands, though you'll have to do it yourself. Since, in opengl all you would have to do is have a scaling matrix on the matrix stack so that everything is scaled when drawn.
5 - Similar. Since it is no longer using a commercial library, they are probably worse quality.
2 - Functions are the same. Gosub shouldnt be used even if it was there.
3 - Its probably possible, with a few opengl commands, though you'll have to do it yourself. Since, in opengl all you would have to do is have a scaling matrix on the matrix stack so that everything is scaled when drawn.
5 - Similar. Since it is no longer using a commercial library, they are probably worse quality.