;******************************************************************************
;               LC7981 CONTROLLER
;******************************************************************************
                .SYMBOLS
;******************************************************************************
;          DEFINE  OUTPUT PORORT
;******************************************************************************
RS              REG     P3.0
CS              REG     P3.1
RES             REG     P3.2
E               REG     P3.4
R_W             REG     P3.7
STP             REG     P2.0
S_S             REG     P2.1

BCD             EQU     01H
COMM_REG        EQU     7FH
DATA_REG        EQU     7EH
CHAR_START      EQU     7DH
SP_DATA         EQU     7CH
TMP_DATA        EQU     7BH

MaxColumn       EQU     128
MaxRow          EQU     128
MaxColumn_1     EQU     127
MaxRow_1        EQU     127

;-------------------------------------------------------------------*
                ORG     0H
                LJMP    START
                ORG     50H
START:
                CLR     RES                     ;Reset siganl on
                SETB    RES                     ;Reset signal off
INITIAL:

                MOV     COMM_REG,#00H           ;Command code--Mode control
                MOV     DATA_REG,#32H           ;Set 00110010
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#01H           ;Character pitch setting
                MOV     DATA_REG,#77H           ;Set 10010111
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#02H           ;Character number setting
                MOV     DATA_REG,#MaxColumn / 8 - 1 ;128/8=30 Char in one line
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#03H           ;Display duty setting
                MOV     DATA_REG,#MaxRow_1      ;Set 1/160 duty
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#08H           ;Display low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#09H           ;Display high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

;*****************************************************************************
;               FULL ON
;*****************************************************************************
FULLON:
                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     R4,#MaxRow              ;Row loop count
FLLOOP1:
                MOV     R5,#MaxColumn/8         ;Col loop count
FLLOOP2:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#FFH           ;Set full dot on
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,FLLOOP2
                DJNZ    R4,FLLOOP1

                LCALL   DELAY                   ;Wait
                CALL    STP_SC
                SJMP    SHOWM
;*****************************************************************************
;               SHOW MODEL NUMBER
;*****************************************************************************
SHOWM:
                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     DPTR,#SHOW_WG
                MOV     R4,#MaxRow              ;Row loop count
SMLOOP1:
                MOV     R5,#MaxColumn/8         ;Col loop count
SMLOOP2:
                MOV     A,#00H
                MOVC    A,@A+DPTR
                LCALL   SWAP_DATA
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,TMP_DATA       ;Set full dot on
                LCALL   CP_COMMAND              ;Command complete
                INC     DPTR
                DJNZ    R5,SMLOOP2
                DJNZ    R4,SMLOOP1

                LCALL   DELAY                   ;Wait
                CALL    STP_SC
                SJMP    VLINE
;*****************************************************************************
;               VERTICAL LINE
;*****************************************************************************
VLINE:
                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     R4,#MaxRow              ;Row loop count
VLLOOP1:
                MOV     R5,#MaxColumn/8         ;Col loop count
VLLOOP2:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#55H           ;Set full dot on
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,VLLOOP2
                DJNZ    R4,VLLOOP1

                LCALL   DELAY                   ;Wait
                CALL    STP_SC
                SJMP    HLINE
;*****************************************************************************
;               HORIZONTAL LINE
;*****************************************************************************
HLINE:
                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     R4,#MaxRow/2            ;Row loop count
HLLOOP1:
                MOV     R5,#MaxColumn/8         ;Col loop count
HLLOOP2:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#FFH
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,HLLOOP2

                MOV     R5,#MaxColumn/8         ;Col loop count
HLLOOP3:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#00H
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,HLLOOP3

                DJNZ    R4,HLLOOP1

                LCALL   DELAY                   ;Wait
                CALL    STP_SC
                SJMP    CROSS_DOT
;*****************************************************************************
;               CROSS DOT
;*****************************************************************************
CROSS_DOT:
                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     A,#24H
                CALL    WRITE_COMMAND

                MOV     A,#B0H
                CALL    WRITE_COMMAND

                MOV     R4,#MaxRow/4            ;Row loop count
CDLOOP11:
                MOV     R5,#MaxColumn/4         ;Col loop count
CDLOOP22:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#CCH
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,CDLOOP22

                MOV     R5,#MaxColumn/4         ;Col loop count
CDLOOP33:
                MOV     COMM_REG,#0CH           ;Write data command
                MOV     DATA_REG,#33H
                LCALL   CP_COMMAND              ;Command complete
                DJNZ    R5,CDLOOP33

                DJNZ    R4,CDLOOP11

                MOV     A,#B2H
                CALL    WRITE_COMMAND

                LCALL   DELAY                   ;Wait
                CALL    STP_SC

                SJMP  SHOWCHAR


;*****************************************************************************
;               8*8 Character pattern test (Text)
;*****************************************************************************
SHOWCHAR:
                MOV     COMM_REG,#00H           ;Command code--Mode control
                MOV     DATA_REG,#30H           ;Set 00110010
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0AH           ;Cursor low address setting
                MOV     DATA_REG,#00H           ;Low address start from 00H
                LCALL   CP_COMMAND              ;Command complete

                MOV     COMM_REG,#0BH           ;Cursor high address setting
                MOV     DATA_REG,#00H           ;High address start from 00
                LCALL   CP_COMMAND              ;Command complete

                MOV     CHAR_START,#20H        ;Display from 20H
                MOV     R4,#MaxRow/8           ;Row loop count
SCLOOP1:
                MOV     R5,#MaxColumn/8        ;Col loop count
SCLOOP2:
                MOV     COMM_REG,#0CH          ;Write data command
                MOV     DATA_REG,CHAR_START
                LCALL   CP_COMMAND             ;Command complete
                INC     CHAR_START
                DJNZ    R5,SCLOOP2
                DJNZ    R4,SCLOOP1

                LCALL   DELAY                  ;Wait
                CALL    STP_SC

                LJMP    START                  ;Continue test
;*****************************************************************************
;               Subroutine
;*****************************************************************************
;*****************************************************************************
;       DELAY
;*****************************************************************************
DELAY:
                CALL    CBCD
                MOV     R4,BCD
LOPC:
                MOV     R5,#2FH
LOPB:
                MOV     R6,#0FFH
LOPA:
                DJNZ    R6,LOPA
                DJNZ    R5,LOPB
                DJNZ    R4,LOPC
                RET
;*****************************************************************************
CP_COMMAND:
                MOV     A,COMM_REG
                LCALL   WRITE_COMMAND

                MOV     A,DATA_REG
                LCALL   WRITE_DATA
                RET
;*****************************************************************************
WRITE_COMMAND:
                CLR     CS
                CLR     R_W
                SETB    RS
                SETB    E
                MOV     P1,A
                CLR     E
                RET
;*****************************************************************************
WRITE_DATA:
                CLR     CS
                CLR     R_W
                CLR     RS
                SETB    E
                MOV     P1,A
                CLR     E
                RET
;*****************************************************************************
;       Swap Data
;*****************************************************************************
SWAP_DATA:
                MOV     TMP_DATA,#00H
                SWAP    A                       ;Swap high4 and low4
                MOV     SP_DATA,A
                MOV     R0,#3
SP_DB7:
                RR      A                       ;Move bit7 and bit3
                DJNZ    R0,SP_DB7
                ANL     A,#00010001B
                ORL     A,TMP_DATA
                MOV     TMP_DATA,A

                MOV     A,SP_DATA
                RR      A
                ANL     A,#00100010B
                ORL     A,TMP_DATA
                MOV     TMP_DATA,A

                MOV     A,SP_DATA               ;Move bit5 and bit1
                RL      A
                ANL     A,#01000100B
                ORL     A,TMP_DATA
                MOV     TMP_DATA,A

                MOV     A,SP_DATA
                MOV     R0,#3
SP_DB4:
                RL      A                       ;Move bit4 and bit0
                DJNZ    R0,SP_DB4
                ANL     A,#10001000B
                ORL     A,TMP_DATA
                MOV     TMP_DATA,A

                RET
;*****************************************************************************
;       Procedure of step by step   and  scan
;*****************************************************************************
STP_SC:
                MOV     C,S_S
                JC      STEP
                RET

STEP:           MOV     C,STP
                MOV     R5,#0FH
LOPE:           MOV     R6,#0FFH
LOPH:           DJNZ    R6,LOPH
                DJNZ    R5,LOPE
                JNB     S_S,LOUT
                JNC     STEP
LOUT:
                RET
;*****************************************************************************
;       BCD DELAY TIME SELECT
;*****************************************************************************
CBCD:
                PUSH    A
                MOV     A,P0
                ANL     A,#0FH
                RL      A
                RL      A
                MOV     BCD,A
                POP     A
                RET

;*****************************************************************************
;       SHOW DISPLAY DATA AREA
;*****************************************************************************
SHOW_WG:
          DB      0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
          DB      0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
          DB      088h,042h,010h,084h,021h,008h,042h,010h
          DB      084h,021h,008h,042h,010h,084h,021h,009h
          DB      080h,040h,010h,004h,001h,000h,040h,010h
          DB      004h,001h,000h,040h,010h,004h,001h,001h
          DB      080h,040h,010h,004h,001h,000h,040h,010h
          DB      004h,001h,000h,040h,010h,004h,001h,001h
          DB      0C0h,000h,000h,000h,000h,000h,000h,000h
          DB      000h,000h,000h,000h,000h,000h,000h,001h
          DB      080h,000h,000h,000h,000h,000h,000h,000h
          DB      000h,000h,000h,000h,000h,000h,000h,001h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0A0h,000h,0AAh
          DB      0AAh,0AAh,0AAh,0A8h,000h,00Ah,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,043h,0B8h,055h
          DB      055h,055h,055h,050h,0BBh,085h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0A2h,028h,0AAh
          DB      0AAh,0AAh,0AAh,0A8h,0AAh,08Ah,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,043h,0A8h,055h
          DB      055h,055h,055h,050h,0AAh,085h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0A0h,0A8h,0AAh
          DB      0AAh,0AAh,0AAh,0A8h,0AAh,08Ah,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,043h,0B8h,055h
          DB      055h,055h,055h,050h,0BBh,085h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0A0h,000h,0AAh
          DB      0AAh,0AAh,0AAh,0A8h,000h,00Ah,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,040h,000h,055h
          DB      055h,055h,055h,050h,000h,005h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,000h,005h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,000h,00Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,01Dh,0C5h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,011h,04Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F0h,01Dh,045h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,005h,04Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,01Dh,0C5h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,000h,00Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,000h,005h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,000h,005h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,000h,00Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,05Dh,0C5h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,055h,04Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F0h,055h,045h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,055h,04Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,05Dh,0C5h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      080h,000h,00Ah,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      080h,000h,005h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0F1h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      081h,055h,055h,055h,055h,055h,055h,055h
          DB      055h,055h,055h,055h,055h,055h,055h,055h
          DB      082h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh
          DB      0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0ABh
          DB      0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
          DB      0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh

                END
