#ifndef COMPILE_H
#include "COMPILE.H"
#endif
#ifdef MEDIA674_F31E_F31J_X31J_P31J
extern unsigned char G1103_auc_InterfaceAndScrollsFont[420];


#ifdef MEDIA670_F31E_F31J
int16_t G7091_ = 1;
int16_t G7092_ = 5;
int16_t G7093_ = 6;
int16_t G7094_ = 6;
char G7170_[1728];
unsigned char* G2148_puc_InterfaceAndScrollsFontCustomColors = M774_CAST_PUC(G7170_);
int16_t G2104_i_InterfaceAndScrollsFontCurrentTextColor = -1;
int16_t G2105_i_InterfaceAndScrollsFontCurrentBackgroundColor = -1;
char G4184_ac_Unreferenced[2048];
#endif


unsigned char* F7337_(register int16_t P3623_i_TextColor, register int16_t P3624_i_BackgroundColor)
{ /* Similar to F0643_BuildCustomColorsFont */
#ifdef MEDIA671_F31E_F31J_P31J
        register unsigned char* L4129_puc_;
#endif
        REGISTER unsigned char* L4130_puc_;
#ifdef MEDIA692_X31J
        register unsigned char* L4129_puc_;
#endif
#ifdef MEDIA671_F31E_F31J_P31J
        register int16_t L4135_i_;
#endif
        register int16_t L4134_i_;
        REGISTER int16_t L4131_i_;
        REGISTER int16_t L4132_i_;
#ifdef MEDIA671_F31E_F31J_P31J
        int16_t L4133_i_;
        unsigned int16_t L4136_i_;
        unsigned int16_t L4137_ui_;
#endif


        if ((G2104_i_InterfaceAndScrollsFontCurrentTextColor != P3623_i_TextColor) || (G2105_i_InterfaceAndScrollsFontCurrentBackgroundColor != P3624_i_BackgroundColor)) {
                L4129_puc_ = G1103_auc_InterfaceAndScrollsFont;
                L4130_puc_ = G2148_puc_InterfaceAndScrollsFontCustomColors;
                L4131_i_ = P3623_i_TextColor << 4;
                L4132_i_ = P3624_i_BackgroundColor << 4;
#ifdef MEDIA692_X31J
                for (L4134_i_ = 420; L4134_i_; L4134_i_--) {
                        asm {
                                        move.b  (a3)+,d0
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CC86
                                        move.b  d4,d1
                                        bra.s   @Tloc_CC88
                                @Tloc_CC86:
                                        move.b  d3,d1
                                @Tloc_CC88:
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CC90
                                        or.b    d7,d1
                                        bra.s   @Tloc_CC92
                                @Tloc_CC90:
                                        or.b    d6,d1
                                @Tloc_CC92:
                                        move.b  d1,(a4)+
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CC9C
                                        move.b  d4,d1
                                        bra.s   @Tloc_CC9E
                                @Tloc_CC9C:
                                        move.b  d3,d1
                                @Tloc_CC9E:
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CCA6
                                        or.b    d7,d1
                                        bra.s   @Tloc_CCA8
                                @Tloc_CCA6:
                                        or.b    d6,d1
                                @Tloc_CCA8:
                                        move.b  d1,(a4)+
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CCB2
                                        move.b  d4,d1
                                        bra.s   @Tloc_CCB4
                                @Tloc_CCB2:
                                        move.b  d3,d1
                                @Tloc_CCB4:
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CCBC
                                        or.b    d7,d1
                                        bra.s   @Tloc_CCBE
                                @Tloc_CCBC:
                                        or.b    d6,d1
                                @Tloc_CCBE:
                                        move.b  d1,(a4)+
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CCC8
                                        move.b  d4,d1
                                        bra.s   @Tloc_CCCA
                                @Tloc_CCC8:
                                        move.b  d3,d1
                                @Tloc_CCCA:
                                        lsl.b   #1,d0
                                        bcc.s   @Tloc_CCD2
                                        or.b    d7,d1
                                        bra.s   @Tloc_CCD4
                                @Tloc_CCD2:
                                        or.b    d6,d1
                                @Tloc_CCD4:
                                        move.b  d1,(a4)+
                        }
                }
#endif
#ifdef MEDIA671_F31E_F31J_P31J
                for (L4134_i_ = 0; L4134_i_ < 6; L4134_i_++) {
                        for (L4135_i_ = 0; L4135_i_ < 280; L4135_i_ += 4) {
                                L4136_i_ = *L4129_puc_++;
                                for (L4137_ui_ = 0; L4137_ui_ < 4; L4137_ui_++) {
                                        if (L4136_i_ & 0x80) {
#ifdef MEDIA667_P31J
                                                L4133_i_ = L4131_i_;
#endif
#ifdef MEDIA670_F31E_F31J
                                                L4133_i_ = P3623_i_TextColor;
#endif
                                        } else {
#ifdef MEDIA667_P31J
                                                L4133_i_ = L4132_i_;
#endif
#ifdef MEDIA670_F31E_F31J
                                                L4133_i_ = P3624_i_BackgroundColor;
#endif
                                        }
                                        if (L4136_i_ & 0x40) {
#ifdef MEDIA667_P31J
                                                L4130_puc_[L4135_i_ + L4137_ui_ + (L4134_i_ * 280)] = L4133_i_ | P3623_i_TextColor;
#endif
#ifdef MEDIA670_F31E_F31J
                                                L4130_puc_[L4135_i_ + L4137_ui_ + (L4134_i_ * 288)] = L4133_i_ | L4131_i_;
#endif
                                        } else {
#ifdef MEDIA667_P31J
                                                L4130_puc_[L4135_i_ + L4137_ui_ + (L4134_i_ * 280)] = L4133_i_ | P3624_i_BackgroundColor;
#endif
#ifdef MEDIA670_F31E_F31J
                                                L4130_puc_[L4135_i_ + L4137_ui_ + (L4134_i_ * 288)] = L4133_i_ | L4132_i_;
#endif
                                        }
                                        L4136_i_ = L4136_i_ << 2;
                                }
                        }
                }
#endif
                G2104_i_InterfaceAndScrollsFontCurrentTextColor = P3623_i_TextColor;
                G2105_i_InterfaceAndScrollsFontCurrentBackgroundColor = P3624_i_BackgroundColor;
        }
        return G2148_puc_InterfaceAndScrollsFontCustomColors;
}
#endif
