#define ANOMALY_CEDT030_CEDT017
#define ANOMALY_CEDT017_CEDTTXT
#ifndef COMPILE_H
#include "COMPILE.H"
#endif
#ifdef MEDIA678_F31E_F31J_X31J_P31J_SU1E_AU1E_AU2E_AU3E
#ifdef MEDIA773_SU1E_AU1E
char G3777_[128];
#endif
#ifdef MEDIA689_F31J_X31J_P31J
static BOOLEAN F0818_IsJapaneseText(unsigned char* P3625_pc_);
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
extern unsigned char G1103_auc_InterfaceAndScrollsFont[420];
#endif

#ifdef MEDIA700_X31J_SU1E_AU1E_AU2E_AU3E
unsigned char G1103_auc_InterfaceAndScrollsFont[420] = {
        0x00, 0x06, 0x1B, 0x0A,
        0x0F, 0x19, 0x0C, 0x06, 0x06, 0x0C, 0x09, 0x04, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x02, 0x1E, 0x1E, 0x06, 0x1E, 0x0E, 0x1F, 0x0E, 0x0E, 0x06, 0x06, 0x03, 0x00, 0x0C, 0x0E, 0x0E, 0x0E, 0x1E, 0x0F,
        0x1E, 0x1F, 0x1F, 0x0F, 0x11, 0x1F, 0x01, 0x09, 0x08, 0x11, 0x11, 0x0E, 0x1E, 0x0E, 0x1E, 0x0F, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x0F, 0x18, 0x0F, 0x04, 0x00, 0x04, 0x1F, 0x00, 0x04,
        0x18, 0x01, 0x00, 0x06, 0x1B, 0x1F, 0x14, 0x1A, 0x1A, 0x06, 0x0C, 0x06, 0x06, 0x04, 0x00, 0x00, 0x00, 0x06, 0x13, 0x06, 0x01, 0x01, 0x0A, 0x10, 0x10, 0x01, 0x11, 0x11, 0x06, 0x06, 0x06, 0x0F,
        0x06, 0x13, 0x11, 0x11, 0x11, 0x10, 0x11, 0x10, 0x10, 0x10, 0x11, 0x04, 0x01, 0x0A, 0x08, 0x1B, 0x19, 0x11, 0x11, 0x11, 0x11, 0x10, 0x04, 0x11, 0x11, 0x11, 0x0A, 0x11, 0x02, 0x0C, 0x0C, 0x03,
        0x0E, 0x00, 0x09, 0x11, 0x1F, 0x0A, 0x04, 0x03, 0x00, 0x06, 0x12, 0x0A, 0x0E, 0x04, 0x0C, 0x0C, 0x0C, 0x06, 0x0F, 0x1F, 0x00, 0x0F, 0x00, 0x0C, 0x15, 0x02, 0x0E, 0x0E, 0x12, 0x1E, 0x1E, 0x02,
        0x0E, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x03, 0x06, 0x17, 0x1F, 0x1E, 0x10, 0x11, 0x1E, 0x1E, 0x13, 0x1F, 0x04, 0x01, 0x0C, 0x08, 0x15, 0x15, 0x11, 0x1E, 0x11, 0x1E, 0x0E, 0x04, 0x11, 0x11, 0x15,
        0x04, 0x0A, 0x04, 0x0C, 0x06, 0x03, 0x1B, 0x00, 0x12, 0x11, 0x00, 0x11, 0x07, 0x05, 0x00, 0x06, 0x00, 0x1F, 0x05, 0x0B, 0x1D, 0x00, 0x0C, 0x06, 0x06, 0x04, 0x06, 0x00, 0x06, 0x18, 0x19, 0x02,
        0x10, 0x01, 0x1F, 0x01, 0x11, 0x04, 0x11, 0x01, 0x06, 0x06, 0x06, 0x0F, 0x06, 0x06, 0x16, 0x11, 0x11, 0x10, 0x11, 0x10, 0x10, 0x11, 0x11, 0x04, 0x11, 0x0A, 0x08, 0x11, 0x13, 0x11, 0x10, 0x11,
        0x14, 0x01, 0x04, 0x11, 0x0A, 0x1B, 0x0A, 0x04, 0x08, 0x0C, 0x03, 0x03, 0x00, 0x00, 0x09, 0x11, 0x1F, 0x0A, 0x04, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x1E, 0x13, 0x1A, 0x00, 0x06, 0x0C, 0x09, 0x04,
        0x06, 0x00, 0x06, 0x10, 0x0E, 0x02, 0x1F, 0x1E, 0x02, 0x1E, 0x0E, 0x04, 0x0E, 0x0E, 0x06, 0x02, 0x03, 0x00, 0x0C, 0x00, 0x10, 0x11, 0x1E, 0x0F, 0x1E, 0x1F, 0x10, 0x0F, 0x11, 0x1F, 0x0E, 0x09,
        0x0F, 0x11, 0x11, 0x0E, 0x10, 0x0E, 0x13, 0x1E, 0x04, 0x0F, 0x04, 0x11, 0x11, 0x04, 0x1F, 0x0F, 0x01, 0x0F, 0x00, 0x00, 0x04, 0x1F, 0x00, 0x04, 0x18, 0x1F, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00,
        0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#endif
#ifdef MEDIA699_X31J_AU2E_AU3E
unsigned char* G2148_puc_InterfaceAndScrollsFontCustomColors;
#endif
#ifdef MEDIA667_P31J
int16_t G7091_ = 1;
#endif
#ifdef MEDIA695_X31J_P31J_AU2E_AU3E
int16_t G7092_ = 5;
int16_t G7093_ = 6;
#endif
#ifdef MEDIA699_X31J_AU2E_AU3E
char G3897_[4] = { 0, 1, 0, 1 };
int16_t G7091_ = 1;
#endif
#ifdef MEDIA695_X31J_P31J_AU2E_AU3E
int16_t G7094_ = 6;
#endif
#ifdef MEDIA699_X31J_AU2E_AU3E
int16_t G3904_ = 7;
#endif
#ifdef MEDIA692_X31J
char G3898_[14] = { 0, 16, 0, 16, 0, 0, 0, 1, 0, 0, 0, 16, 0, 17 };
#endif
#ifdef MEDIA667_P31J
unsigned char* G2148_puc_InterfaceAndScrollsFontCustomColors = M774_CAST_PUC(G7170_);
#endif
#ifdef MEDIA775_SU1E_AU1E_AU2E_AU3E
long G0064_al_Graphic562_PrintTextMasks2[4] = { 0xFFF0FFF0, 0xFFF8FFF8, 0xFFFCFFFC, 0xFFFEFFFE };
long G0065_al_Graphic562_PrintTextMasks1[4] = { 0x7FFF7FFF, 0x3FFF3FFF, 0x1FFF1FFF, 0x0FFF0FFF };
#endif
#ifdef MEDIA693_X31J_P31J
int16_t G2104_i_InterfaceAndScrollsFontCurrentTextColor = -1;
int16_t G2105_i_InterfaceAndScrollsFontCurrentBackgroundColor = -1;
#endif
#ifdef MEDIA699_X31J_AU2E_AU3E
char G3899_[258];
#endif


/* #ifdef MEDIA762_AU1E */
/* #include "CEDTINCP.C" */
/* #include "CEDTINCO.C" */
/* #endif */

#ifdef MEDIA768_AU2E_AU3E
void F2127_(char* P6009_, int16_t P6010_, int16_t P6011_, int16_t P6012_, int16_t P6013_, int16_t P6014_) {
        asm {
                        movem.l d3-d7/a2-a3,-(sp)
                        move.w  P6011_(a6),d1
                        move.w  P6010_(a6),d0
                        move.w  P6013_(a6),d2
                        move.w  P6014_(a6),d3
                        move.w  P6012_(a6),d7
                        movea.l P6009_(a6),a1
                        lsr.w   #3,d2
                        movea.l a1,a2
                        adda.w  d2,a2
                        movea.l a2,a3
                        adda.w  d2,a3
                        mulu.w  d2,d1
                        mulu.w  d2,d3
                        move.w  d3,d4
                        add.w   d3,d4
                        move.w  d4,d5
                        add.w   d3,d5
                        move.w  d0,d2
                        lsr.w   #3,d2
                        add.w   d2,d1
                        adda.w  d1,a1
                        adda.w  d1,a2
                        adda.w  d1,a3
                        andi.w  #1,d2
                        bne.w   @Tloc_7B9C
                        andi.w  #7,d0
                        add.w   d0,d0
                        lea     @Tword_7D0A,a0
                        move.w  (a0,d0.w),d1
                        move.w  d1,d2
                        not.w   d2
                        btst    #0,d7
                        beq.s   @Tloc_7B30
                        or.w    d1,(a1)
                        or.w    d1,(a2)
                        or.w    d1,(a3)
                        bra.s   @Tloc_7B36
                @Tloc_7B30:
                        and.w   d2,(a1)
                        and.w   d2,(a2)
                        and.w   d2,(a3)
                @Tloc_7B36:
                        btst    #1,d7
                        beq.s   @Tloc_7B4A
                        or.w    d1,(a1,d3.w)
                        or.w    d1,(a2,d3.w)
                        or.w    d1,(a3,d3.w)
                        bra.s   @Tloc_7B56
                @Tloc_7B4A:
                        and.w   d2,(a1,d3.w)
                        and.w   d2,(a2,d3.w)
                        and.w   d2,(a3,d3.w)
                @Tloc_7B56:
                        btst    #2,d7
                        beq.s   @Tloc_7B6A
                        or.w    d1,(a1,d4.w)
                        or.w    d1,(a2,d4.w)
                        or.w    d1,(a3,d4.w)
                        bra.s   @Tloc_7B76
                @Tloc_7B6A:
                        and.w   d2,(a1,d4.w)
                        and.w   d2,(a2,d4.w)
                        and.w   d2,(a3,d4.w)
                @Tloc_7B76:
                        btst    #3,d7
                        beq.s   @Tloc_7B8C
                        or.w    d1,(a1,d5.w)
                        or.w    d1,(a2,d5.w)
                        or.w    d1,(a3,d5.w)
                        bra.w   @Tloc_7D1A
                @Tloc_7B8C:
                        and.w   d2,(a1,d5.w)
                        and.w   d2,(a2,d5.w)
                        and.w   d2,(a3,d5.w)
                        bra.w   @Tloc_7D1A
                @Tloc_7B9C:
                        andi.w  #7,d0
                        add.w   d0,d0
                        lea     @Tword_7D0A,a0
                        move.b  (a0,d0.w),d1
                        move.b  d1,d2
                        not.b   d2
                        move.b  1(a0,d0.w),d0
                        bne.w   @Tloc_7C30
                        btst    #0,d7
                        beq.s   @Tloc_7BC4
                        or.b    d1,(a1)
                        or.b    d1,(a2)
                        or.b    d1,(a3)
                        bra.s   @Tloc_7BCA
                @Tloc_7BC4:
                        and.b   d2,(a1)
                        and.b   d2,(a2)
                        and.b   d2,(a3)
                @Tloc_7BCA:
                        btst    #1,d7
                        beq.s   @Tloc_7BDE
                        or.b    d1,(a1,d3.w)
                        or.b    d1,(a2,d3.w)
                        or.b    d1,(a3,d3.w)
                        bra.s   @Tloc_7BEA
                @Tloc_7BDE:
                        and.b   d2,(a1,d3.w)
                        and.b   d2,(a2,d3.w)
                        and.b   d2,(a3,d3.w)
                @Tloc_7BEA:
                        btst    #2,d7
                        beq.s   @Tloc_7BFE
                        or.b    d1,(a1,d4.w)
                        or.b    d1,(a2,d4.w)
                        or.b    d1,(a3,d4.w)
                        bra.s   @Tloc_7C0A
                @Tloc_7BFE:
                        and.b   d2,(a1,d4.w)
                        and.b   d2,(a2,d4.w)
                        and.b   d2,(a3,d4.w)
                @Tloc_7C0A:
                        btst    #3,d7
                        beq.s   @Tloc_7C20
                        or.b    d1,(a1,d5.w)
                        or.b    d1,(a2,d5.w)
                        or.b    d1,(a3,d5.w)
                        bra.w   @Tloc_7D1A
                @Tloc_7C20:
                        and.b   d2,(a1,d5.w)
                        and.b   d2,(a2,d5.w)
                        and.b   d2,(a3,d5.w)
                        bra.w   @Tloc_7D1A
                @Tloc_7C30:
                        move.b  d0,d6
                        not.b   d6
                        btst    #0,d7
                        beq.s   @Tloc_7C4E
                        or.b    d1,(a1)
                        or.b    d1,(a2)
                        or.b    d1,(a3)
                        or.b    d0,1(a1)
                        or.b    d0,1(a2)
                        or.b    d0,1(a3)
                        bra.s   @Tloc_7C60
                @Tloc_7C4E:
                        and.b   d2,(a1)
                        and.b   d2,(a2)
                        and.b   d2,(a3)
                        and.b   d6,1(a1)
                        and.b   d6,1(a2)
                        and.b   d6,1(a3)
                @Tloc_7C60:
                        btst    #1,d7
                        beq.s   @Tloc_7C80
                        or.b    d1,(a1,d3.w)
                        or.b    d1,(a2,d3.w)
                        or.b    d1,(a3,d3.w)
                        or.b    d0,1(a1,d3.w)
                        or.b    d0,1(a2,d3.w)
                        or.b    d0,1(a3,d3.w)
                        bra.s   @Tloc_7C98
                @Tloc_7C80:
                        and.b   d2,(a1,d3.w)
                        and.b   d2,(a2,d3.w)
                        and.b   d2,(a3,d3.w)
                        and.b   d6,1(a1,d3.w)
                        and.b   d6,1(a2,d3.w)
                        and.b   d6,1(a3,d3.w)
                @Tloc_7C98:
                        btst    #2,d7
                        beq.s   @Tloc_7CB8
                        or.b    d1,(a1,d4.w)
                        or.b    d1,(a2,d4.w)
                        or.b    d1,(a3,d4.w)
                        or.b    d0,1(a1,d4.w)
                        or.b    d0,1(a2,d4.w)
                        or.b    d0,1(a3,d4.w)
                        bra.s   @Tloc_7CD0
                @Tloc_7CB8:
                        and.b   d2,(a1,d4.w)
                        and.b   d2,(a2,d4.w)
                        and.b   d2,(a3,d4.w)
                        and.b   d6,1(a1,d4.w)
                        and.b   d6,1(a2,d4.w)
                        and.b   d6,1(a3,d4.w)
                @Tloc_7CD0:
                        btst    #3,d7
                        beq.s   @Tloc_7CF0
                        or.b    d1,(a1,d5.w)
                        or.b    d1,(a2,d5.w)
                        or.b    d1,(a3,d5.w)
                        or.b    d0,1(a1,d5.w)
                        or.b    d0,1(a2,d5.w)
                        or.b    d0,1(a3,d5.w)
                        bra.s   @Tloc_7D1A
                @Tloc_7CF0:
                        and.b   d2,(a1,d5.w)
                        and.b   d2,(a2,d5.w)
                        and.b   d2,(a3,d5.w)
                        and.b   d6,1(a1,d5.w)
                        and.b   d6,1(a2,d5.w)
                        and.b   d6,1(a3,d5.w)
                        bra.s   @Tloc_7D1A
                @Tword_7D0A:
                        dc.w 0xE000
                        dc.w 0x7000
                        dc.w 0x3800
                        dc.w 0x1C00
                        dc.w 0xE00
                        dc.w 0x700
                        dc.w 0x380
                        dc.w 0x1C0
                @Tloc_7D1A:
                        movem.l (sp)+,d3-d7/a2-a3
        }
}
#endif

#ifdef MEDIA693_X31J_P31J
#include "CEDTFNT.C"
#include "CEDTTXT.C"
#endif

#ifdef MEDIA691_F31J_X31J_AU2E_AU3E
#include "CEDTINCK.C"
#endif
#ifdef MEDIA677_F31E_F31J_X31J_P31J_AU2E_AU3E
#include "CEDTINC3.C"
#endif

void F7341_DrawText( /* Similar to F0040_ */
unsigned char* P3639_puc_Bitmap_Destination,
unsigned int16_t P3640_ui_ByteWidth,
#ifdef MEDIA775_SU1E_AU1E_AU2E_AU3E
int16_t P3641_i_X,
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
REGISTER int16_t P3641_i_X,
#endif
int16_t P3642_i_Y,
int16_t P3643_i_TextColor,
int16_t P3644_i_BackgroundColor,
#ifdef MEDIA772_SU1E
unsigned char* P3645_puc_String
#endif
#ifdef MEDIA764_AU1E_AU2E_AU3E
unsigned char* P3645_puc_String,
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
REGISTER unsigned char* P3645_puc_String,
#endif
#ifdef MEDIA676_F31E_F31J_X31J_P31J_AU1E_AU2E_AU3E
unsigned int16_t P3646_ui_
#endif
)
{
#ifdef MEDIA772_SU1E
        asm {
                        movem.l d4-d7/a3-a4,-(sp)
                        movea.l P3639_puc_Bitmap_Destination(a6),a4
                        move.w  P3641_i_X(a6),d7
                        move.w  P3642_i_Y(a6),d6
                        move.w  P3643_i_TextColor(a6),d5
                        move.w  P3644_i_BackgroundColor(a6),d4
                        movea.l P3645_puc_String(a6),a0
                        tst.b   (a0)
                        beq.w   @Tloc_4E02
                        move.w  d6,d0
                        subq.w  #4,d0
                        mulu.w  P3640_ui_ByteWidth(a6),d0
                        adda.w  d0,a4
                        move.w  d7,d0
                        andi.w  #0xFFF0,d0
                        lsr.w   #1,d0
                        adda.w  d0,a4
                        moveq   #0xF,d3
                        and.w   d7,d3
                        move.w  d5,d1
                        add.w   d5,d5
                        add.w   d1,d5
                        add.w   d5,d5
                        jmp     @Tloc_4C06(pc,d5.w)
                @Tloc_4C06:
                        lea     @Tloc_4DAE,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D80,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D98,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D8C,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D86,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D7E,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D84,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D8A,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D92,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D90,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D96,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4D9C,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4DAC,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4DA2,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4DA6,a0
                        bra.s   @Tloc_4C64
                        lea     @Tloc_4DAA,a0
                @Tloc_4C64:
                        move.w  d4,d1
                        add.w   d4,d4
                        add.w   d1,d4
                        add.w   d4,d4
                        jmp     @Tloc_4C70(pc,d4.w)
                @Tloc_4C70:
                        lea     @Tloc_4DEA,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DBC,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DD4,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DC8,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DC2,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DBA,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DC0,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DC6,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DCE,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DCC,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DD2,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DD8,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DE8,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DDE,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DE2,a1
                        bra.s   @Tloc_4CCE
                        lea     @Tloc_4DE6,a1
                @Tloc_4CCE:
                        moveq   #0,d2
                        movea.l P3645_puc_String(a6),a2
                        move.b  (a2),d2
                        beq.w   @Tloc_4E02
                        addq.l  #1,P3645_puc_String(a6)
                        subi.w  #0x20,d2
                        lea     G1103_auc_InterfaceAndScrollsFont(a5),a2
                        lea     (a2,d2.w),a2
                        cmpi.w  #0xB,d3
                        bhi.s   @Tloc_4D12
                        moveq   #6,d4
                        move.l  #0x7FF07FF,d2
                        ror.l   d3,d2
                        moveq   #0,d5
                        move.l  a4,-(sp)
                        bsr.s   @Tloc_4D4A
                        movea.l (sp)+,a4
                        addq.w  #6,d3
                        cmpi.w  #0x10,d3
                        bcs.s   @Tloc_4CCE
                        andi.w  #1,d3
                        addq.l  #8,a4
                        bra.s   @Tloc_4CCE
                @Tloc_4D12:
                        moveq   #6,d4
                        move.l  a4,-(sp)
                        addq.l  #8,(sp)
                        move.l  a2,-(sp)
                        lsl.w   #2,d3
                        lea     G0064_al_Graphic562_PrintTextMasks2-48(a5),a2
                        move.l  (a2,d3.w),d2
                        lea     G0065_al_Graphic562_PrintTextMasks1-48(a5),a2
                        move.l  (a2,d3.w),-(sp)
                        lsr.w   #2,d3
                        movea.l 4(sp),a2
                        moveq   #8,d5
                        bsr.s   @Tloc_4D4A
                        move.l  (sp)+,d2
                        movea.l (sp)+,a2
                        movea.l (sp),a4
                        moveq   #6,d4
                        moveq   #0x12,d5
                        bsr.s   @Tloc_4D4A
                        movea.l (sp)+,a4
                        subi.w  #0xA,d3
                        bra.s   @Tloc_4CCE
                @Tloc_4D4A:
                        and.l   d2,(a4)
                        and.l   d2,4(a4)
                        moveq   #0,d0
                        move.b  (a2),d0
                        jmp     @Tloc_4D58(pc,d5.w)
                @Tloc_4D58:
                        moveq   #0xB,d1
                        sub.w   d3,d1
                        lsl.w   d1,d0
                        bra.s   @Tloc_4D70
                        move.w  d3,d1
                        subi.w  #0xB,d1
                        lsr.w   d1,d0
                        bra.s   @Tloc_4D70
                        moveq   #0x1B,d1
                        sub.w   d3,d1
                        lsl.w   d1,d0
                @Tloc_4D70:
                        move.w  d0,d1
                        swap    d1
                        move.w  d0,d1
                        swap    d0
                        moveq   #0,d6
                        moveq   #0,d7
                        jmp     (a0)
                @Tloc_4D7E:
                        move.l  d0,d7
                @Tloc_4D80:
                        move.l  d0,d6
                        bra.s   @Tloc_4DAE
                @Tloc_4D84:
                        move.w  d1,d6
                @Tloc_4D86:
                        move.l  d0,d7
                        bra.s   @Tloc_4DAE
                @Tloc_4D8A:
                        move.l  d0,d7
                @Tloc_4D8C:
                        move.l  d1,d6
                        bra.s   @Tloc_4DAE
                @Tloc_4D90:
                        move.l  d0,d6
                @Tloc_4D92:
                        move.w  d1,d7
                        bra.s   @Tloc_4DAE
                @Tloc_4D96:
                        move.w  d1,d7
                @Tloc_4D98:
                        move.w  d1,d6
                        bra.s   @Tloc_4DAE
                @Tloc_4D9C:
                        move.l  d1,d6
                        move.w  d1,d7
                        bra.s   @Tloc_4DAE
                @Tloc_4DA2:
                        move.l  d0,d6
                        bra.s   @Tloc_4DAC
                @Tloc_4DA6:
                        move.w  d1,d6
                        bra.s   @Tloc_4DAC
                @Tloc_4DAA:
                        move.l  d1,d6
                @Tloc_4DAC:
                        move.l  d1,d7
                @Tloc_4DAE:
                        or.l    d2,d0
                        not.l   d0
                        clr.w   d0
                        or.l    d2,d1
                        not.l   d1
                        jmp     (a1)
                @Tloc_4DBA:
                        or.l    d0,d7
                @Tloc_4DBC:
                        or.l    d0,d6
                        bra.s   @Tloc_4DEA
                @Tloc_4DC0:
                        or.w    d1,d6
                @Tloc_4DC2:
                        or.l    d0,d7
                        bra.s   @Tloc_4DEA
                @Tloc_4DC6:
                        or.l    d0,d7
                @Tloc_4DC8:
                        or.l    d1,d6
                        bra.s   @Tloc_4DEA
                @Tloc_4DCC:
                        or.l    d0,d6
                @Tloc_4DCE:
                        or.w    d1,d7
                        bra.s   @Tloc_4DEA
                @Tloc_4DD2:
                        or.w    d1,d7
                @Tloc_4DD4:
                        or.w    d1,d6
                        bra.s   @Tloc_4DEA
                @Tloc_4DD8:
                        or.l    d1,d6
                        or.w    d1,d7
                        bra.s   @Tloc_4DEA
                @Tloc_4DDE:
                        or.l    d0,d6
                        bra.s   @Tloc_4DE8
                @Tloc_4DE2:
                        or.w    d1,d6
                        bra.s   @Tloc_4DE8
                @Tloc_4DE6:
                        or.l    d1,d6
                @Tloc_4DE8:
                        or.l    d1,d7
                @Tloc_4DEA:
                        or.l    d6,(a4)
                        or.l    d7,4(a4)
                        subq.w  #1,d4
                        bne.s   @Tloc_4DF6
                        rts
                @Tloc_4DF6:
                        adda.w  #70,a2
                        adda.w  P3640_ui_ByteWidth(a6),a4
                        bra.w   @Tloc_4D4A
                @Tloc_4E02:
                        movem.l (sp)+,d4-d7/a3-a4
        }
#endif
#ifdef MEDIA764_AU1E_AU2E_AU3E
        if (!*P3645_puc_String) {
                return;
        }
#ifdef MEDIA768_AU2E_AU3E
        P3640_ui_ByteWidth = (P3640_ui_ByteWidth + 15) & 0xFFF0;
#endif
        asm {
                        movem.l d3-d7/a2-a6,-(sp)
                        movea.l P3639_puc_Bitmap_Destination(a6),a3
                        move.w  P3641_i_X(a6),d7
                        move.w  P3642_i_Y(a6),d6
                        move.w  P3643_i_TextColor(a6),d5
                        move.w  P3644_i_BackgroundColor(a6),d4
                        moveq   #0,d1
                        move.w  P3640_ui_ByteWidth(a6),d1
#ifdef MEDIA762_AU1E
                        lsr.w   #2,d1
#endif
#ifdef MEDIA768_AU2E_AU3E
                        lsr.w   #3,d1
#endif
                        move.w  d1,P3640_ui_ByteWidth(a6)
                        move.w  d6,d0
                        subq.w  #4,d0
                        mulu.w  d1,d0
                        adda.w  d0,a3
                        move.w  d7,d0
                        andi.w  #0xFFF0,d0
                        lsr.w   #3,d0
                        adda.w  d0,a3
                        move.w  d7,d3
                        andi.w  #0xF,d3
                        mulu.w  P3646_ui_(a6),d1
                        movea.w d1,a4
                        move.w  d5,d1
                        add.w   d5,d5
                        add.w   d1,d5
                        add.w   d5,d5
                        addq.w  #2,d5
                        jmp     (pc,d5.w)
                        lea     @Tloc_8014,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FC8,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FCC,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FD0,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FD4,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FD8,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FDE,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FE4,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FEA,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FEE,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FF4,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_7FFA,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_8000,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_8004,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_800A,a0
                        bra.s   @Tloc_7E8E
                        lea     @Tloc_8010,a0
                @Tloc_7E8E:
                        move.w  d4,d1
                        add.w   d4,d4
                        add.w   d1,d4
                        add.w   d4,d4
                        addq.w  #2,d4
                        jmp     (pc,d4.w)
                        lea     @Tloc_806C,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8020,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8024,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8028,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_802C,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8030,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8036,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_803C,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8042,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8046,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_804C,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8052,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8058,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_805C,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8062,a1
                        bra.s   @Tloc_7EFA
                        lea     @Tloc_8068,a1
                @Tloc_7EFA:
                        moveq   #0,d2
                        movea.l P3645_puc_String(a6),a2
                        move.b  (a2),d2
                        beq.w   @Tloc_8098
                        addq.l  #1,P3645_puc_String(a6)
                        subi.w  #0x20,d2
                        lea     G1103_auc_InterfaceAndScrollsFont(a5),a2
                        lea     (a2,d2.w),a2
                        cmpi.w  #0xB,d3
                        bhi.s   @Tloc_7F40
                        moveq   #6,d4
                        move.l  #0x7FF07FF,d2
                        ror.l   d3,d2
                        moveq   #0,d5
                        move.l  a3,-(sp)
                        bsr.w   @Tloc_7F84
                        movea.l (sp)+,a3
                        addq.w  #6,d3
                        cmpi.w  #0x10,d3
                        bcs.s   @Tloc_7EFA
                        andi.w  #1,d3
                        addq.l  #2,a3
                        bra.s   @Tloc_7EFA
                @Tloc_7F40:
                        moveq   #6,d4
                        move.l  a3,-(sp)
                        addq.l  #2,(sp)
                        move.l  a2,-(sp)
                        move.l  d3,-(sp)
                        subi.w  #0xC,d3
                        lsl.w   #2,d3
                        lea     G0064_al_Graphic562_PrintTextMasks2(a5),a2
                        move.l  (a2,d3.w),d2
                        lea     G0065_al_Graphic562_PrintTextMasks1(a5),a2
                        move.l  (a2,d3.w),d5
                        move.l  (sp)+,d3
                        movea.l (sp),a2
                        move.l  d5,-(sp)
                        moveq   #8,d5
                        bsr.w   @Tloc_7F84
                        move.l  (sp)+,d2
                        movea.l (sp)+,a2
                        movea.l (sp),a3
                        moveq   #6,d4
                        moveq   #0x12,d5
                        bsr.w   @Tloc_7F84
                        movea.l (sp)+,a3
                        subi.w  #0xA,d3
                        bra.w   @Tloc_7EFA
                @Tloc_7F84:
                        move.l  a3,-(sp)
                        and.w   d2,(a3)
                        adda.l  a4,a3
                        and.w   d2,(a3)
                        adda.l  a4,a3
                        and.w   d2,(a3)
                        adda.l  a4,a3
                        and.w   d2,(a3)
                        movea.l (sp)+,a3
                        moveq   #0,d0
                        move.b  (a2),d0
                        addq.w  #2,d5
                        jmp     (pc,d5.w)
                        moveq   #0xB,d1
                        sub.w   d3,d1
                        lsl.w   d1,d0
                        bra.s   @Tloc_7FB8
                        move.w  d3,d1
                        subi.w  #0xB,d1
                        lsr.w   d1,d0
                        bra.s   @Tloc_7FB8
                        moveq   #0x1B,d1
                        sub.w   d3,d1
                        lsl.w   d1,d0
                @Tloc_7FB8:
                        subq.w  #2,d5
                        move.w  d0,d1
                        swap    d1
                        move.w  d0,d1
                        swap    d0
                        moveq   #0,d6
                        moveq   #0,d7
                        jmp     (a0)
                @Tloc_7FC8:
                        move.l  d0,d6
                        bra.s   @Tloc_8014
                @Tloc_7FCC:
                        move.w  d1,d6
                        bra.s   @Tloc_8014
                @Tloc_7FD0:
                        move.l  d1,d6
                        bra.s   @Tloc_8014
                @Tloc_7FD4:
                        move.l  d0,d7
                        bra.s   @Tloc_8014
                @Tloc_7FD8:
                        move.l  d0,d6
                        move.l  d0,d7
                        bra.s   @Tloc_8014
                @Tloc_7FDE:
                        move.w  d1,d6
                        move.l  d0,d7
                        bra.s   @Tloc_8014
                @Tloc_7FE4:
                        move.l  d1,d6
                        move.l  d0,d7
                        bra.s   @Tloc_8014
                @Tloc_7FEA:
                        move.w  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_7FEE:
                        move.l  d0,d6
                        move.w  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_7FF4:
                        move.w  d1,d6
                        move.w  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_7FFA:
                        move.l  d1,d6
                        move.w  d1,d7
                @Tloc_7FFE:
                        bra.s   @Tloc_8014
                @Tloc_8000:
                        move.l  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_8004:
                        move.l  d0,d6
                        move.l  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_800A:
                        move.w  d1,d6
                        move.l  d1,d7
                        bra.s   @Tloc_8014
                @Tloc_8010:
                        move.l  d1,d6
                        move.l  d1,d7
                @Tloc_8014:
                        or.l    d2,d0
                        not.l   d0
                        clr.w   d0
                        or.l    d2,d1
                        not.l   d1
                        jmp     (a1)
                @Tloc_8020:
                        or.l    d0,d6
                        bra.s   @Tloc_806C
                @Tloc_8024:
                        or.w    d1,d6
                        bra.s   @Tloc_806C
                @Tloc_8028:
                        or.l    d1,d6
                        bra.s   @Tloc_806C
                @Tloc_802C:
                        or.l    d0,d7
                        bra.s   @Tloc_806C
                @Tloc_8030:
                        or.l    d0,d6
                        or.l    d0,d7
                        bra.s   @Tloc_806C
                @Tloc_8036:
                        or.w    d1,d6
                        or.l    d0,d7
                        bra.s   @Tloc_806C
                @Tloc_803C:
                        or.l    d1,d6
                        or.l    d0,d7
                        bra.s   @Tloc_806C
                @Tloc_8042:
                        or.w    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_8046:
                        or.l    d0,d6
                        or.w    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_804C:
                        or.w    d1,d6
                        or.w    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_8052:
                        or.l    d1,d6
                        or.w    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_8058:
                        or.l    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_805C:
                        or.l    d0,d6
                        or.l    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_8062:
                        or.w    d1,d6
                        or.l    d1,d7
                        bra.s   @Tloc_806C
                @Tloc_8068:
                        or.l    d1,d6
                        or.l    d1,d7
                @Tloc_806C:
                        move.l  a3,-(sp)
                        swap    d6
                        or.w    d6,(a3)
                        swap    d6
                        adda.l  a4,a3
                        or.w    d6,(a3)
                        swap    d7
                        adda.l  a4,a3
                        or.w    d7,(a3)
                        swap    d7
                        adda.l  a4,a3
                        or.w    d7,(a3)
                        movea.l (sp)+,a3
                        subq.w  #1,d4
                        bne.s   @Tloc_808C
                        rts
                @Tloc_808C:
                        lea     0x46(a2),a2
                        adda.w  P3640_ui_ByteWidth(a6),a3
                        bra.w   @Tloc_7F84
                @Tloc_8098:
                        movem.l (sp)+,d3-d7/a2-a6
        }
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
        int16_t L4141_i_;
        int16_t L4142_ai_Box[4];
        int16_t L4143_i_Width;
        int16_t L4144_i_Height;
        UDSTRUCT3 L4145_s_;
        REGISTER unsigned int16_t L4146_i_;


        L4145_s_.pc_10_Bitmap = NULL;
        if (*P3645_puc_String) {
                L4141_i_ = -1;
                F7342_BuildUDSTRUCT3(M772_CAST_PC(P3645_puc_String), &L4145_s_);
                if (L4145_s_.i_0 == 1) {
                        F7338_(M772_CAST_PC(P3639_puc_Bitmap_Destination), P3640_ui_ByteWidth, P3641_i_X, P3642_i_Y, P3643_i_TextColor, P3644_i_BackgroundColor, P3645_puc_String, P3646_ui_);
#ifdef MEDIA689_F31J_X31J_P31J
                } else {
                        L4145_s_.pc_10_Bitmap = (char*)F7023_Alloc(L4145_s_.l_18_BitmapSize, MASK0x0008_MEMREQ);
                        M770_BOX_TOP(L4142_ai_Box) = P3642_i_Y - L4145_s_.i_C;
                        M771_BOX_BOTTOM(L4142_ai_Box) = M770_BOX_TOP(L4142_ai_Box) + L4145_s_.i_4 - 1;
                        L4146_i_ = 0;
                        while (P3645_puc_String[L4146_i_]) {
#ifdef MEDIA692_X31J
                                L4146_i_ = F0952_JAPANESE_Print(P3645_puc_String, L4146_i_, &L4143_i_Width, &L4144_i_Height, P3643_i_TextColor, P3644_i_BackgroundColor, &L4145_s_);
#endif
#ifdef MEDIA687_F31J_P31J
                                L4146_i_ = F0952_JAPANESE_Print(P3645_puc_String, L4146_i_, L4145_s_.pc_10_Bitmap, &L4143_i_Width, &L4144_i_Height, P3643_i_TextColor, P3644_i_BackgroundColor);
#endif
                                if (L4143_i_Width) {
                                        M768_BOX_LEFT(L4142_ai_Box) = P3641_i_X;
                                        M769_BOX_RIGHT(L4142_ai_Box) = P3641_i_X + L4143_i_Width - 1;
#ifdef MEDIA692_X31J
                                        F7330_DrawBitmap(L4145_s_.pc_10_Bitmap, P3639_puc_Bitmap_Destination, L4142_ai_Box, 0, 0, L4145_s_.i_14_Width, P3640_ui_ByteWidth, L4141_i_, L4145_s_.i_16_Height, P3646_ui_);
#endif
#ifdef MEDIA687_F31J_P31J
                                        F7330_DrawBitmap(M774_CAST_PUC(L4145_s_.pc_10_Bitmap), P3639_puc_Bitmap_Destination, L4142_ai_Box, 0, 0, L4145_s_.i_14_Width, P3640_ui_ByteWidth, CM2_COLOR_, L4145_s_.i_16_Height, P3646_ui_);
#endif
                                        P3641_i_X += L4143_i_Width + L4145_s_.i_6;
                                }
                        }
#endif
                }
        }
        if (L4145_s_.pc_10_Bitmap) {
                F7024_Free(L4145_s_.pc_10_Bitmap);
                L4145_s_.pc_10_Bitmap = NULL;
        }
#endif
}

#ifdef MEDIA692_X31J
int16_t F0952_JAPANESE_Print(
unsigned char*    P2422_puc_String        SEPARATOR
unsigned int16_t  P2423_i_ByteIndex       SEPARATOR
unsigned int16_t* P2425_pi_Width          SEPARATOR
int16_t*          P2426_pi_Height         SEPARATOR
int16_t           P2427_i_Textcolor       SEPARATOR
int16_t           P2428_i_BackgroundColor SEPARATOR
UDSTRUCT3*        P5992_                  FINAL_SEPARATOR
{
        register unsigned char L2961_uc_;
        register int16_t L2962_i_BytesPerCharacter;
        register unsigned char L2963_uc_;
        register unsigned char* L2964_puc_;
        register unsigned char* L5977_;
        int16_t L2965_i_;
        int16_t L5976_;
        long L2966_l_SupervisorStack;
        char L5979_[2];
        unsigned int16_t L5980_;
        int16_t L5981_;


        L5977_ = P5992_->pc_10_Bitmap;
        L5980_ = P5992_->i_14_Width;
        L5981_ = P5992_->i_16_Height;
        L2961_uc_ = P2422_puc_String[P2423_i_ByteIndex];
        if ((L2961_uc_ == 27) || (L2961_uc_ == 124)) { /* 0x1B  0x7C */
                *P2425_pi_Width = *P2426_pi_Height = 0;
                L5976_ = P2423_i_ByteIndex + 1;
        } else {
                if (P5992_->i_0 == 2) {
                        if (((L2961_uc_ >= 129) && (L2961_uc_ <= 159)) || ((L2961_uc_ >= 224) && (L2961_uc_ <= 252))) {
                                L2962_i_BytesPerCharacter = 2;
                                *P2425_pi_Width = 16;
                        } else {
                                L2962_i_BytesPerCharacter = 1;
                                *P2425_pi_Width = 8;
                        }
                        *P2426_pi_Height = 16;
                } else {
                        L2962_i_BytesPerCharacter = 1;
                        *P2425_pi_Width = 5;
                        *P2426_pi_Height = 6;
                }
                L5976_ = P2423_i_ByteIndex + L2962_i_BytesPerCharacter;
                if (L5977_ != 0) {
                        if (P5992_->i_0 == 2) {
                                if (L2962_i_BytesPerCharacter == 1) {
                                        L2964_puc_ = (unsigned char*)0xF3A800 + ((long)L2961_uc_ << 4);
                                } else {
                                        L2963_uc_ = P2422_puc_String[P2423_i_ByteIndex + 1];
                                        asm {
                                                moveq   #0x16,d0        /* FNTADR */
                                                move.b  d7,d1
                                                lsl.w   #8,d1
                                                move.b  d5,d1           /* Kanji code (Shift-JIS / JIS) */
                                                moveq   #8,d2           /* Size (6: 6x12,12x12, 8: 8X16,16x16, 12: 12X24,24x24) */
                                                trap    #0xF            /* TRAP 15 (IOCS CALL) */
                                                movea.l d0,L2964_puc_
                                        }
                                }
                                L2965_i_ = (L5980_ >> 1) - (*P2425_pi_Width >> 1);
                                L2966_l_SupervisorStack = F1027_Supervisor(0L);
                                asm {
                                                movem.l d3-d5,-(sp)
                                                move.w  P2428_i_BackgroundColor(a6),d0
                                                move.w  P2427_i_Textcolor(a6),d1
                                                moveq   #0x10,d2
                                        @Tloc_1EC34:
                                                move.w  d6,d5
                                        @Tloc_1EC36:
                                                move.b  (L2964_puc_)+,d3
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC40
                                                move.w  d1,d4
                                                bra.s   @Tloc_1EC42
                                        @Tloc_1EC40:
                                                move.w  d0,d4
                                        @Tloc_1EC42:
                                                lsl.w   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC4C
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC4E
                                        @Tloc_1EC4C:
                                                or.w    d0,d4
                                        @Tloc_1EC4E:
                                                lsl.w   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC58
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC5A
                                        @Tloc_1EC58:
                                                or.w    d0,d4
                                        @Tloc_1EC5A:
                                                lsl.w   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC64
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC66
                                        @Tloc_1EC64:
                                                or.w    d0,d4
                                        @Tloc_1EC66:
                                                lsl.l   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC70
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC72
                                        @Tloc_1EC70:
                                                or.w    d0,d4
                                        @Tloc_1EC72:
                                                lsl.l   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC7C
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC7E
                                        @Tloc_1EC7C:
                                                or.w    d0,d4
                                        @Tloc_1EC7E:
                                                lsl.l   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC88
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC8A
                                        @Tloc_1EC88:
                                                or.w    d0,d4
                                        @Tloc_1EC8A:
                                                lsl.l   #4,d4
                                                lsl.b   #1,d3
                                                bcc.s   @Tloc_1EC94
                                                or.w    d1,d4
                                                bra.s   @Tloc_1EC96
                                        @Tloc_1EC94:
                                                or.w    d0,d4
                                        @Tloc_1EC96:
                                                move.l  d4,(L5977_)+
                                                subq.w  #1,d5
                                                bne.s   @Tloc_1EC36
                                                adda.w  L2965_i_(a6),L5977_
                                                subq.w  #1,d2
                                                bne.s   @Tloc_1EC34
                                                movem.l (sp)+,d3-d5
                                }
                                F1027_Supervisor(L2966_l_SupervisorStack);
                        } else {
                                L5979_[0] = L2961_uc_;
                                L5979_[1] = 0;
                                F7338_(L5977_, L5980_, P5992_->i_A, P5992_->i_C, P2427_i_Textcolor, P2428_i_BackgroundColor, &L5979_, L5981_);
                        }
                }
        }
        return L5976_;
}
#endif

#ifdef MEDIA677_F31E_F31J_X31J_P31J_AU2E_AU3E
void F7342_BuildUDSTRUCT3(char* P3647_pc_, UDSTRUCT3* P3648_ps_)
{
        unsigned int16_t L4149_i_;
        int16_t L4147_i_Width;
        int16_t L4148_i_Height;
        int16_t L4150_i_;


#ifdef MEDIA689_F31J_X31J_P31J
        if (F0818_IsJapaneseText(M774_CAST_PUC(P3647_pc_))) {
                P3648_ps_->i_0 = 2;
                P3648_ps_->i_2 = 16;
                P3648_ps_->i_4 = 16;
                P3648_ps_->i_6 = 0;
                P3648_ps_->i_8 = 18;
                P3648_ps_->i_A = 0;
                P3648_ps_->i_C = 14;
        } else {
#endif
                P3648_ps_->i_0 = 1;
                P3648_ps_->i_2 = 5;
                P3648_ps_->i_4 = 6;
                P3648_ps_->i_6 = 1;
                P3648_ps_->i_8 = 13;
                P3648_ps_->i_A = 0;
                P3648_ps_->i_C = 4;
#ifdef MEDIA689_F31J_X31J_P31J
        }
#endif
        P3648_ps_->i_14_Width = 64;
        P3648_ps_->i_16_Height = 32;
        P3648_ps_->pc_10_Bitmap = NULL;
        L4149_i_ = 0;
#ifdef MEDIA674_F31E_F31J_X31J_P31J
        L4150_i_ = 0;
#endif
        while (P3647_pc_[L4149_i_]) {
#ifdef MEDIA692_X31J
                L4149_i_ = F0952_JAPANESE_Print(P3647_pc_, L4149_i_, &L4147_i_Width, &L4148_i_Height, C00_COLOR_BLACK, C00_COLOR_BLACK, P3648_ps_);
#endif
#ifdef MEDIA687_F31J_P31J
                L4149_i_ = F0952_JAPANESE_Print(M774_CAST_PUC(P3647_pc_), L4149_i_, NULL, &L4147_i_Width, &L4148_i_Height, C00_COLOR_BLACK, C00_COLOR_BLACK);
#endif
#ifdef MEDIA669_F31E
                L4147_i_Width = 5;
                L4149_i_++;
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
                if (L4147_i_Width) {
                        L4150_i_ += L4147_i_Width + P3648_ps_->i_6;
                }
        }
        P3648_ps_->i_E = L4150_i_;
#endif
#ifdef MEDIA768_AU2E_AU3E
                L4149_i_++;
        }
        P3648_ps_->i_E = (P3648_ps_->i_2 + P3648_ps_->i_6) * L4149_i_;
#endif
        P3648_ps_->l_18_BitmapSize = F7249_GetBitmapByteCount(P3648_ps_->i_14_Width, P3648_ps_->i_16_Height);
}
#endif

#ifdef MEDIA689_F31J_X31J_P31J
BOOLEAN F0818_IsJapaneseText(REGISTER unsigned char* P2189_pc_String)
{ /* Identical to F7352_ */
        REGISTER unsigned char L3445_uc_;


        if (*P2189_pc_String == (int16_t)0x1B) {
                return C1_TRUE;
        }
        while (L3445_uc_ = *P2189_pc_String++) {
                if (L3445_uc_ & 0x80) {
                        return C1_TRUE;
                }
        }
        return C0_FALSE;
}
#endif

#ifdef MEDIA773_SU1E_AU1E
#include "CEDTINCK.C" /* Must be included otherwise not linked because unreferenced */
#include "CEDTINC3.C"
#endif
#endif
