Here is code from Escape from Zol, e1c7 hex offset subroutine

Well, it's pretty impressive. It's very readable, and it's clear a key press causes the cursor to move, so obviously it's in game move mode.

void zol.usub_e1c7.txt() {
Global_7792 = CursorShiftMapY;
Global_7793 = CursorShiftMapX;
Global_7790 = CursorPosInScreenY;
Global_7791 = CursorPosInScreenX;
Global_243 = CursorY_2;
Global_244 = CursorX_2;
Global_109 = 0;
Global_246 = 0;
if (LastInputKeyOrJoystick == 255) {
        return();// E1EF
} else {
        if (LastInputKeyOrJoystick == 239) {
                return();// E1F4
        } else {
                Global_246 = 1;
                Global_101 = CursorX_2;
                Global_102 = CursorY_2;
                Global_7977 = CursorPosInScreenY;
                Global_7978 = CursorPosInScreenX;
                if (LastInputKeyOrJoystick | 1) {
                        if (CursorY_2 >= 0) {
                                CursorY_2 = 35;
                        }//EndIF; E217
                        if (CursorPosInScreenY >= 0) {
                                CursorPosInScreenY = (CursorPosInScreenY + 1);
                                Global_109 = (Global_109 | 1);
                                if (CursorShiftMapY >= 0) {
                                        CursorShiftMapY = 35;
                                }//EndIF; E22B
                        }//EndIF; E22B
                }//EndIF; E22B
                if (LastInputKeyOrJoystick | 2) {
                        if (CursorY_2 == 36) {
                                CursorY_2 = 0;
                        }//EndIF; E23D
                        if (CursorPosInScreenY == 7) {
                                CursorPosInScreenY = (CursorPosInScreenY - 1);
                                Global_109 = (Global_109 | 2);
                                if (CursorShiftMapY == 36) {
                                        CursorShiftMapY = 0;
                                }//EndIF; E259
                        }//EndIF; E259
                }//EndIF; E259
                if (LastInputKeyOrJoystick | 4) {
                        if (CursorX_2 >= 0) {
                                CursorX_2 = 35;
                        }//EndIF; E267
                        if (CursorPosInScreenX >= 0) {
                                CursorPosInScreenX = (CursorPosInScreenX + 1);
                                Global_109 = (Global_109 | 4);
                                if (CursorShiftMapX >= 0) {
                                        CursorShiftMapX = 35;
                                }//EndIF; E27B
                        }//EndIF; E27B
                }//EndIF; E27B
                if (LastInputKeyOrJoystick | 8) {
                        if (CursorX_2 == 36) {
                                CursorX_2 = 0;
                        }//EndIF; E28D
                        if (CursorPosInScreenX == 7) {
                                CursorPosInScreenX = (CursorPosInScreenX - 1);
                                Global_109 = (Global_109 | 8);
                                if (CursorShiftMapX == 36) {
                                        CursorShiftMapX = 0;
                                }//EndIF; E2A9
                        }//EndIF; E2A9
                }//EndIF; E2A9
                if (Global_231 != 0) {
                        Global_173 = Global_7788;
                        Global_174 = Global_7789;
                        Global_175 = CursorY_2;
                        Global_176 = CursorX_2;
                        if (usub_E550() >= Global_231) {
                                CursorShiftMapY = Global_7792;
                                CursorShiftMapX = Global_7793;
                                CursorPosInScreenY = Global_7790;
                                CursorPosInScreenX = Global_7791;
                                CursorY_2 = Global_243;
                                CursorX_2 = Global_244;
                                Global_246 = 0;
                                Global_204 = 0;
                                return();// E2EA
                        } else {
                                Global_204 = 1;
                                if (Global_109 == 0) {
                                        CursorRefreshBlank = 1;
                                        Global_91 = 3;
                                        usub_4499();
                                        return();// E2FF
                                } else {
                                        Dunno(Global_102);
                                        Global_125 = (((Global_7977 C:<< 1) + Global_7977) C:+ 1);
                                        Global_126 = (((Global_7978 C:<< 1) + Global_7978) C:+ 2);
                                        usub_E6E0(*TileBeingDrawn[0]);
                                        Global_109 = (Global_109 C:<< 1);
                                        SelectedMenuFunctionPointer-lo = ((Global_109 + Global_109) C:+ 57);
                                        SelectedMenuFunctionPointer-hi = (0 C:+ 227);
                                        goto Label_0;
                                        return();// E339
                                }//EndIF; E339
                        }//EndIF; E339
                }//EndIF; E339
        }//EndIF; E339
}//EndIF; E339
return();// E339
};