;****************************************************************************** ; 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