#ifndef COMPILE_H
#include "COMPILE.H"
#endif
#ifdef MEDIA678_F31E_F31J_X31J_P31J_SU1E_AU1E_AU2E_AU3E
void F7277_SetPixelColor(
#ifdef MEDIA772_SU1E
unsigned char* P4050_puc_Bitmap, int16_t P4051_i_X, int16_t P4052_i_Y, int16_t P4053_i_PixelColor, unsigned int16_t P4054_ui_Width)
#endif
#ifdef MEDIA764_AU1E_AU2E_AU3E
unsigned char* P4050_puc_Bitmap, int16_t P4051_i_X, int16_t P4052_i_Y, int16_t P4053_i_PixelColor, unsigned int16_t P4054_ui_Width, unsigned int16_t P4055_ui_Height)
#endif
#ifdef MEDIA671_F31E_F31J_P31J
unsigned char* P4050_puc_Bitmap, int16_t P4051_i_X, int16_t P4052_i_Y, int16_t P4053_i_PixelColor, unsigned int16_t P4054_ui_Width, unsigned int16_t P4055_ui_Height)
#endif
#ifdef MEDIA692_X31J
register unsigned char* P4050_puc_Bitmap, int16_t P4051_i_X, int16_t P4052_i_Y, int16_t P4053_i_PixelColor, register unsigned int16_t P4054_ui_Width, unsigned int16_t P4055_ui_Height)
#endif
{
#ifdef MEDIA772_SU1E
        asm {
                        move.w  P4051_i_X(a6),d1
                        moveq   #0xF,d2
                        and.w   d1,d2
                        movea.l P4050_puc_Bitmap(a6),a0
                        move.w  P4052_i_Y(a6),d0
                        mulu.w  P4054_ui_Width(a6),d0
                        lsr.w   #1,d1
                        andi.w  #0xF8,d1
                        add.w   d1,d0
                        adda.w  d0,a0
                        moveq   #0xF,d1
                        sub.w   d2,d1
                        clr.w   d2
                        bset    d1,d2
                        move.w  d2,d3
                        not.w   d3
                        move.w  P4053_i_PixelColor(a6),d0
                        add.w   d0,d0
                        move.w  d0,d1
                        add.w   d0,d0
                        add.w   d0,d0
                        add.w   d1,d0
                        lea     @Tloc_688E,a1
                        jmp     @Tloc_67F0(pc,d0.w)
                @Tloc_67F0:
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        and.w   d3,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)
                        jmp     (a1)
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)+
                        or.w    d2,(a0)
                @Tloc_688E:
        }
#endif
#ifdef MEDIA764_AU1E_AU2E_AU3E
        asm {
                        move.l  d3,-(sp)
                        move.w  d7,-(sp)
                        move.w  P4052_i_Y(a6),d1
                        move.w  P4051_i_X(a6),d0
                        move.w  P4054_ui_Width(a6),d2
                        move.w  P4055_ui_Height(a6),d3
                        move.w  P4053_i_PixelColor(a6),d7
                        movea.l P4050_puc_Bitmap(a6),a0
#ifdef MEDIA762_AU1E
                        lsr.w   #2,d2
#endif
#ifdef MEDIA768_AU2E_AU3E
                        lsr.w   #3,d2
#endif
                        mulu.w  d2,d1
                        mulu.w  d2,d3
                        move.w  d0,d2
                        lsr.w   #3,d2
                        add.w   d2,d1
                        adda.w  d1,a0
                        andi.w  #7,d0
                        subq.w  #7,d0
                        neg.w   d0
                        bclr    d0,(a0)
                        btst    #0,d7
                        beq.s   @Tloc_6EA6
                        bset    d0,(a0)
                @Tloc_6EA6:
                        adda.w  d3,a0
                        bclr    d0,(a0)
                        btst    #1,d7
                        beq.s   @Tloc_6EB2
                        bset    d0,(a0)
                @Tloc_6EB2:
                        adda.w  d3,a0
                        bclr    d0,(a0)
                        btst    #2,d7
                        beq.s   @Tloc_6EBE
                        bset    d0,(a0)
                @Tloc_6EBE:
                        adda.w  d3,a0
                        bclr    d0,(a0)
                        btst    #3,d7
                        beq.s   @Tloc_6ECA
                        bset    d0,(a0)
                @Tloc_6ECA:
                        move.w  (sp)+,d7
                        move.l  (sp)+,d3
        }
#endif
#ifdef MEDIA692_X31J
        P4053_i_PixelColor &= 0xF;
        P4054_ui_Width++;
        P4054_ui_Width >>= 1;
        P4050_puc_Bitmap += (P4054_ui_Width * P4052_i_Y) + (P4051_i_X >> 1);
        if (P4051_i_X & 1) {
                *P4050_puc_Bitmap = (*P4050_puc_Bitmap & 0xF0) | P4053_i_PixelColor;
        } else {
                *P4050_puc_Bitmap = (*P4050_puc_Bitmap & 0x0F) | (P4053_i_PixelColor << 4);
        }
#endif
#ifdef MEDIA671_F31E_F31J_P31J
        unsigned int16_t L4113_ui_;


#ifdef MEDIA667_P31J
        L4113_ui_ = P4051_i_X >> 1;
        L4113_ui_ += (((P4054_ui_Width + 1) & 0xFFFE) >> 1) * P4052_i_Y;
        if (P4051_i_X & 1) {
                P4050_puc_Bitmap[L4113_ui_] = (P4050_puc_Bitmap[L4113_ui_] & 0xF0) | P4053_i_PixelColor;
        } else {
                P4050_puc_Bitmap[L4113_ui_] = (P4050_puc_Bitmap[L4113_ui_] & 0x0F) | (P4053_i_PixelColor << 4);
        }
#endif
#ifdef MEDIA670_F31E_F31J
        L4113_ui_ = (P4051_i_X >> 1) + (((int)((P4054_ui_Width + 31) & 0xFFFFFFE0) >> 1) * P4052_i_Y);
        if (P4051_i_X & 1) {
                P4050_puc_Bitmap[L4113_ui_] = (P4050_puc_Bitmap[L4113_ui_] & 0x0F) | (P4053_i_PixelColor << 4);
        } else {
                P4050_puc_Bitmap[L4113_ui_] = (P4050_puc_Bitmap[L4113_ui_] & 0xF0) | P4053_i_PixelColor;
        }
#endif
#endif
}
#endif
