#ifndef COMPILE_H
#include "COMPILE.H"
#endif
#ifdef MEDIA774_SU1E_AU1E_AU2E
void F1894_ExitHintOracle(int16_t P5709_, int16_t P5710_) {
        int16_t L5575_i_Unreferenced;


#ifdef MEDIA773_SU1E_AU1E
        F1966_DebugEnter(12, P5710_);
#endif
        switch (P5710_) {
                case 18:
                case 2:
                case 31:
#ifdef MEDIA772_SU1E
                        F1889_Screen_CPSX(P5709_, 2);
                        asm {
                                move.w  #0x6160,(a5)
                                move.w  #0x5223,2(a5)
                                move.l  G3683_pc_NextFTLModuleToRun(a5),0x1C(a5) /* Next FTL module to run */
                        }
#endif
                        break;
                default:
                        F1956_EndProgram(P5709_, 18, 16L);
        }
#ifdef MEDIA773_SU1E_AU1E
        F1967_DebugExit(12, P5710_);
#endif
}

#ifdef MEDIA772_SU1E
void F0924_SetCriticalErrorHandler( /* Similar to F0924_SetCriticalErrorHandler */
)
{
        long L5002_l_SupervisorStack;


        L5002_l_SupervisorStack = Super(0L);
        asm {
                        lea     @Tloc_5DB6,a0
                        move.l  a0,(0x404).w    /* etv_critic : Critical Error Handoff Vector (GEMDOS) */
                        bra.s   @Tloc_5DBA
                @Tloc_5DB6:
                        moveq   #0xFFFFFFFF,d0
                        rts
                @Tloc_5DBA:
        }
        Super(L5002_l_SupervisorStack);
}
#endif

void F1896_(register int16_t* P5711_, register int16_t* P5712_, register int16_t P5713_, register int16_t P5714_) {
        *P5712_++ = *P5711_++ - P5714_;
        *P5712_++ = *P5711_++ + P5714_;
        *P5712_++ = *P5711_++ - P5713_;
        *P5712_ = *P5711_ + P5713_;
}
#endif
