Nice!! This is really impressive on the GB, it's been fun to follow your progress.
Wolfenstein Maze 3D Release 1.15
A new release Wolfenstein Maze 3D version 1.15.
The SS guard is no long invulnerable. This was caused by a bad peep-hole optimisation.
I updated the enemy hit rate and hit amount a bit. They will hit more often and hurt slightly more. He also moves at 45 degree to the player so to avoid coming straight at you. Since the weapon angle is quite large, it doesn't usually effect the outcome.
I've optimised it a bit more, mostly in the enemy rendering code. This was done partly with peep-hole optimisations and partly by re-arranging the c code a bit. I added an unsigned 16 absolute value which stopped sdcc trying to do signed math with the default signed abs. I have some 16 bit subtraction overflow checks when I calculate objects screen position, those were moved till after the object was determined to be visible. I also used more static variables to keep calculations off the stack (which is slower). I sacrificed a bit of memory to store the object positions as a 16bit x,y instead of keeping them as 8bit then scaling back to the player scale.
I reworked the larger levels slightly to have less items, particularly floor 3. This brought the frame rate up slightly by half a frame. Most of the game generally runs at about 6 fps. I removed the frame rate counter.
I added a pause dialog for GB/SMS which have pause buttons.
The door can be opened from a step away, so you don't have to be right up to it to open it.
The score has been fixed. I use a 32bit int instead of 16. A rendering function was passing the score as 8bit and was getting rounded.