;****************************************************************************** ;*** T6963C CONTROLLER ;****************************************************************************** .SYMBOLS ;****************************************************************************** ; DEFINE OUTPUT PORORT ;****************************************************************************** CD REG P3.0 FS REG P3.1 MD2 REG P3.2 RESET REG P3.3 CE REG P3.4 WR REG P3.6 RD REG P3.7 STP REG P2.0 S_S REG P2.1 BCD EQU 01H HIGH_8BIT EQU 7FH LOW_8BIT EQU 7EH CHAR_START EQU 7DH MaxColumn EQU 128 MaxRow EQU 128 ;-------------------------------------------------------------------* ORG 0H LJMP START ORG 50H START: CLR RESET ;Reset siganl on NOP SETB RESET ;Reset signal off SETB MD2 ;Set Max Column*8 CLR FS ;Set 8*8 Font INITIAL: ;Text home address MOV LOW_8BIT,#00H ;Set text address Low bit MOV HIGH_8BIT,#00H ;Set text address Hihg bit LCALL WRITE_DATA2 ;Write text home address=0000H MOV A,#40H ;Text home address control set LCALL WRITE_COMMAND ;Graphic home address MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#42H ;Graphic home address control set LCALL WRITE_COMMAND ;Text area column set MOV LOW_8BIT,#MaxColumn/8 ;Set Low bit= MaxColumn/8 MOV HIGH_8BIT,#00H ;Set Hihg bit LCALL WRITE_DATA2 ;Write text area address=001FH MOV A,#41H ;Text area control set LCALL WRITE_COMMAND ;Graphics area column set MOV LOW_8BIT,#MaxColumn/8 ;Set Low bit= MaxColumn/8 MOV HIGH_8BIT,#00H ;Set Hihg bit LCALL WRITE_DATA2 ;Write graphic area address=001FH MOV A,#43H ;Graphic area control set LCALL WRITE_COMMAND ;Mode set MOV A,#80H LCALL WRITE_COMMAND ;set display mode ;Display mode set (Graphic only enable) MOV A,#98H LCALL WRITE_COMMAND ;Graphic display enable ;***************************************************************************** ; FULL ON ;***************************************************************************** FULLON: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write LCALL WRITE_COMMAND MOV R4,#MaxRow ;Row loop count = 64 LINE FLLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 128/8 FLLOOP2: MOV A,#FFH ;Set full dot on LCALL WRITE_DATA ;Auto data write DJNZ R5,FLLOOP2 DJNZ R4,FLLOOP1 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC SJMP SHOWM ;Continue to test ;***************************************************************************** ; SHOW MODEL NUMBER ;***************************************************************************** SHOWM: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write LCALL WRITE_COMMAND MOV DPTR,#SHOW_FIX MOV R4,#MaxRow ;Row loop count = 64 SMLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 240/8 SMLOOP2: CLR A MOVC A,@A+DPTR LCALL WRITE_DATA ;Auto data write INC DPTR DJNZ R5,SMLOOP2 DJNZ R4,SMLOOP1 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC SJMP VLINE ;***************************************************************************** ; VERTIAL LINE ;***************************************************************************** VLINE: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write LCALL WRITE_COMMAND MOV R4,#MaxRow ;Row loop count = 64 VLLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 240/8 VLLOOP2: MOV A,#AAH LCALL WRITE_DATA ;Auto data write DJNZ R5,VLLOOP2 DJNZ R4,VLLOOP1 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC SJMP HLINE ;***************************************************************************** ; HORIZONTAL LINE ;***************************************************************************** HLINE: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write LCALL WRITE_COMMAND MOV R4,#MaxRow/2 ;Row loop count = 32 HLLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 240/8 HLLOOP2: MOV A,#FFH LCALL WRITE_DATA ;Auto data write DJNZ R5,HLLOOP2 MOV R5,#MaxColumn/8 ;Col loop count = 240/8 HLLOOP3: MOV A,#00H LCALL WRITE_DATA ;Auto data write DJNZ R5,HLLOOP3 DJNZ R4,HLLOOP1 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC SJMP CROSS_DOT ;***************************************************************************** ; CROSS DOT ;***************************************************************************** CROSS_DOT: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit LCALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write LCALL WRITE_COMMAND MOV R4,#MaxRow/2 ;Row loop count = 32 CDLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 240/8 CDLOOP2: MOV A,#AAH LCALL WRITE_DATA ;Auto data write DJNZ R5,CDLOOP2 MOV R5,#MaxColumn/8 ;Col loop count = 240/8 CDLOOP3: MOV A,#55H LCALL WRITE_DATA ;Auto data write DJNZ R5,CDLOOP3 DJNZ R4,CDLOOP1 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC SJMP SHOWCHAR ;Continue to test ;***************************************************************************** ; 8*8 Character pattern test (Text) ;***************************************************************************** SHOWCHAR: MOV A,#94H LCALL WRITE_COMMAND ;Text display only MOV LOW_8BIT,#00H ;Set text address Low bit MOV HIGH_8BIT,#00H ;Set text address Hihg bit LCALL WRITE_DATA2 ;Write text home address=0000H MOV A,#24H ;Address pointer set LCALL WRITE_COMMAND ;Set address pinter = Text home MOV A,#B0H LCALL WRITE_COMMAND ;Set auto-write mode on MOV R3,#2 SCLOOP3: MOV CHAR_START,#00H ;Display from 00 MOV R4,#MaxRow/16 ;Row loop count = 4 SCLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 30 SCLOOP2: MOV A,CHAR_START LCALL WRITE_DATA ;Auto data write INC CHAR_START DJNZ R5,SCLOOP2 DJNZ R4,SCLOOP1 DJNZ R3,SCLOOP3 MOV A,#B2H LCALL WRITE_COMMAND ;Auto-write mode reset LCALL DELAY ;Wait CALL STP_SC LJMP START ;Continue test ;***************************************************************************** ; Subroutine ;***************************************************************************** S_DATA_WRITE: LCALL WRITE_DATA2 ;Write graphic home address MOV A,#24H ;Set address pointer LCALL WRITE_COMMAND ;Write to external RAM from CLR A MOVC A,@A+DPTR LCALL WRITE_DATA ;Data write MOV A,#C4H ;Data write & inc ADP LCALL WRITE_COMMAND RET ;***************************************************************************** WRITE_DATA2: MOV A,LOW_8BIT CALL WRITE_DATA ;Write first data MOV A,HIGH_8BIT CALL WRITE_DATA ;Write second data RET ;***************************************************************************** ; 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 ;***************************************************************************** WRITE_COMMAND: SETB CD CLR CE CLR WR MOV P1,A SETB CE SETB WR RET ;***************************************************************************** WRITE_DATA: CLR CD CLR CE CLR WR MOV P1,A SETB CE SETB WR RET ;***************************************************************************** READ_STATUS: SETB CD CLR CE CLR RD MOV P1,A SETB CE SETB WR RET ;***************************************************************************** READ_DATA: CLR CD CLR CE CLR RD MOV P1,A SETB CE SETB RD 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_FIX: 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