A couple of other comments on the above:
- It doesn't really help out if Willy gets stuck somewhere upon room entry (e.g. if he jumps off the top of one room and ends up embedded in a solid wall in the room above) - but scenarios such as those should really be eliminated by careful design of the game layout;
- The choice of entry point into the 'routine'* at #90B6 - the JUMP from #8AB8 has a destination of #90B8 - is deliberately different to the usual entry points of #90B7 or #90B8. In this case, we are jumping straight from the Main Loop, not from a routine or subroutine, so there is no need to use any POP commands to clear the stack.
(* 'Routine' is in quotation marks here because it isn't technically a routine, since flow of execution never arrives there via a CALL.)
Edited by IRF, 02 January 2018 - 09:46 PM.