To add rendering of a sprite to the rendering of the raycast is possible but not easy - not much time left. But it is possible, it was done in the final demo (including handling of a mask - to simulate going in front or behind a wall...). Sprite takes 8 bytes more RAM to be handled properly.
Agree with AkashicRecord, it is heavy on RAM - and most interestingly, not fixed RAM size - depends on what is displayed. So, all the game logic variables which are actually const should definitely not be coded in RAM. And correct number of bits should be used, too.
In the demo version, 24 bytes of RAM are reserved for multiplication table pointers, to avoid having to set any of them to the same value, more than once. It was a try to write fastest possible raycast implementation. However, holding some of these pointers represent very little gain of time (a few scanlines) and finally more waste of RAM than anything else, so I guess their space could be reused for something else.
Also, there is not enough time to compute that at 50Hz, maintaining the display. One new frame is computed on an average of 3 or 4 frames per second.