;****************************************************************************** ; 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 HLT REG P3.5 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 160 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 CALL WRITE_DATA2 ;Write text home address=0000H MOV A,#40H ;Text home address control set CALL WRITE_COMMAND ;Text area column set MOV LOW_8BIT,#MaxColumn/8 ;Set Low bit= MaxColumn/8 MOV HIGH_8BIT,#00H ;Set Hihg bit CALL WRITE_DATA2 ;Write text area address=001FH MOV A,#41H ;Text area control set CALL WRITE_COMMAND MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#42H ;Graphic home address control set CALL WRITE_COMMAND ;Graphics area column set MOV LOW_8BIT,#MaxColumn/8 ;Set Low bit= MaxColumn/8 MOV HIGH_8BIT,#00H ;Set Hihg bit CALL WRITE_DATA2 ;Write graphic area address=001FH MOV A,#43H ;Graphic area control set CALL WRITE_COMMAND ;Mode set MOV A,#80H CALL WRITE_COMMAND ;set display mode ;Display mode set (Graphic only enable) MOV A,#98H CALL WRITE_COMMAND ;Graphic display enable MAIN: CALL FULLON CALL DELAY ;Wait CALL STP_SC CALL SHOWM CALL DELAY ;Wait CALL STP_SC CALL VLINE CALL DELAY ;Wait CALL STP_SC CALL HLINE CALL DELAY ;Wait CALL STP_SC CALL CROSS_DOT CALL DELAY ;Wait CALL STP_SC CALL SHOWCHAR CALL DELAY ;Wait CALL STP_SC JMP START ;***************************************************************************** ; FULL ON ;***************************************************************************** FULLON: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write CALL WRITE_COMMAND MOV R4,#MaxRow ;Row loop count = 128 LINE FLLOOP1: MOV R5,#MaxColumn/8 ;Col loop count = 160/8 FLLOOP2: MOV A,#FFH ;Set full dot on CALL WRITE_DATA ;Auto data write DJNZ R5,FLLOOP2 DJNZ R4,FLLOOP1 MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; SHOW MODEL NUMBER ;***************************************************************************** SHOWM: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write CALL WRITE_COMMAND MOV DPTR,#SHOW_WG MOV R4,#MaxRow ;4.設定印整個畫面的迴圈 SMLOOP1: MOV R5,#MaxColumn/8 ;2.設定一次印一行的迴圈 SMLOOP2: CLR A MOVC A,@A+DPTR CALL WRITE_DATA ;Auto data write INC DPTR DJNZ R5,SMLOOP2 ;1.一次印一行 DJNZ R4,SMLOOP1 ;3.印整個畫面 MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; VERTIAL LINE ;***************************************************************************** VLINE: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write CALL WRITE_COMMAND MOV R4,#MaxRow ;6.設定10101010變成整個畫面的迴圈數 VLLOOP1: MOV R5,#MaxColumn/8 ;4.設定10101010變成一行的迴圈數 VLLOOP2: MOV A,#AAH ;1.印出10101010 CALL WRITE_DATA ;2.寫入10101010 DJNZ R5,VLLOOP2 ;3.將10101010變成一行 DJNZ R4,VLLOOP1 ;5.將10101010變成整個畫面 MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; HORIZONTAL LINE ;***************************************************************************** HLINE: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write CALL WRITE_COMMAND MOV R4,#MaxRow/2 ;10.設定兩行變成整個畫面的迴圈數量 HLLOOP_0.5: MOV R5,#MaxColumn/8 ;4.設定迴圈數量 HLLOOP_H: MOV A,#FFH ;1.印11111111 CALL WRITE_DATA ;2.寫入11111111 DJNZ R5,HLLOOP_H ;3.將11111111用迴圈變成一行 ; MOV R5,#MaxColumn/8 ;8.設定迴圈數量 HLLOOP_E: MOV A,#00H ;5.印00000000 CALL WRITE_DATA ;6.寫入00000000 DJNZ R5,HLLOOP_E ;7.將00000000用迴圈變成一行 DJNZ R4,HLLOOP_0.5 ;9.將兩行利用迴圈變成整個畫面 MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; DOUBLR CROSS DOT ;***************************************************************************** CROSS_DOT: MOV LOW_8BIT,#00H ;Set graphic address Low bit MOV HIGH_8BIT,#40H ;Set graphic address Hihg bit CALL WRITE_DATA2 ;Write graphic home address=4000H MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from 4000H MOV A,#B0H ;Set auto write CALL WRITE_COMMAND MOV R7,#MaxRow/4 ;14.設定一次印4行的話,多少迴圈才可印整個畫面 CROSS_FULL: MOV R6,#2 ;6.設定11001100變成兩行的迴圈數量 CROSS_1100X2L: MOV R5,#MaxColumn/8 ;4.設定將11001100變成一行的迴圈數量 CROSS_1100: MOV A,#CCH ;1.設定11001100 CALL WRITE_DATA ;2.印出11001100 DJNZ R5,CROSS_1100 ;3.將11001100變成一行 DJNZ R6,CROSS_1100X2L ;5.將11001100變成兩行 MOV R6,#2 ;12.設定00110011變成兩行的迴圈數量 CROSS_0011X2L: MOV R5,#MaxColumn/8 ;10.設定將00110011變成一行的迴圈數量 CROSS_0011: MOV A,#33H ;7.設定00110011 CALL WRITE_DATA ;8.印出00110011 DJNZ R5,CROSS_0011 ;9.將00110011變成一行 DJNZ R6,CROSS_0011X2L ;11.將00110011變成兩行 DJNZ R7,CROSS_FULL ;13.將整個畫面印滿,上面的迴圈已經印4行了 MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; 8*8 Character pattern test (Text) ;***************************************************************************** SHOWCHAR: MOV A,#94H CALL WRITE_COMMAND ;Text display only MOV LOW_8BIT,#00H ;Set text address Low bit MOV HIGH_8BIT,#00H ;Set text address Hihg bit CALL WRITE_DATA2 ;Write text home address=0000H MOV A,#24H ;Address pointer set CALL WRITE_COMMAND ;Set address pinter = Text home MOV A,#B0H CALL WRITE_COMMAND ;Set auto-write mode on MOV R4,#4 LOP4ROW: MOV R3,#MaxColumn/2 MOV CHAR_START,#00H LOPHMWO1C: MOV A,CHAR_START CALL WRITE_DATA INC CHAR_START DJNZ R3,LOPHMWO1C DJNZ R4,LOP4ROW MOV A,#B2H CALL WRITE_COMMAND ;Auto-write mode reset RET ;***************************************************************************** ; Subroutine ;***************************************************************************** S_DATA_WRITE: CALL WRITE_DATA2 ;Write graphic home address MOV A,#24H ;Set address pointer CALL WRITE_COMMAND ;Write to external RAM from CLR A MOVC A,@A+DPTR CALL WRITE_DATA ;Data write MOV A,#C4H ;Data write & inc ADP CALL 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 RD 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_WG: DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh DB 0FFh,0FFh,0FFh,0FFh,088h,042h,010h,084h DB 021h,008h,042h,010h,084h,021h,008h,042h DB 010h,084h,021h,008h,042h,010h,084h,021h DB 080h,040h,010h,004h,001h,000h,040h,010h DB 004h,001h,000h,040h,010h,004h,001h,000h DB 040h,010h,004h,001h,080h,040h,010h,004h DB 001h,000h,040h,010h,004h,001h,000h,040h DB 010h,004h,001h,000h,040h,010h,004h,001h DB 0C0h,000h,000h,000h,000h,000h,000h,000h DB 000h,000h,000h,000h,000h,000h,000h,000h DB 000h,000h,000h,001h,080h,000h,000h,000h DB 000h,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,0AAh DB 0AAh,0AAh,000h,003h,081h,055h,055h,055h DB 055h,043h,0B8h,055h,055h,055h,055h,050h DB 0BBh,085h,055h,055h,055h,054h,02Eh,0E1h DB 082h,0AAh,0AAh,0AAh,0AAh,0A2h,028h,0AAh DB 0AAh,0AAh,0AAh,0A8h,0AAh,08Ah,0AAh,0AAh DB 0AAh,0AAh,028h,0A3h,0F1h,055h,055h,055h DB 055h,043h,0A8h,055h,055h,055h,055h,050h DB 0AAh,085h,055h,055h,055h,054h,02Eh,0A1h DB 082h,0AAh,0AAh,0AAh,0AAh,0A0h,0A8h,0AAh DB 0AAh,0AAh,0AAh,0A8h,0AAh,08Ah,0AAh,0AAh DB 0AAh,0AAh,022h,0A3h,081h,055h,055h,055h DB 055h,043h,0B8h,055h,055h,055h,055h,050h DB 0BBh,085h,055h,055h,055h,054h,02Eh,0E1h DB 082h,0AAh,0AAh,0AAh,0AAh,0A0h,000h,0AAh DB 0AAh,0AAh,0AAh,0A8h,000h,00Ah,0AAh,0AAh DB 0AAh,0AAh,000h,003h,081h,055h,055h,055h DB 055h,040h,000h,055h,055h,055h,055h,050h DB 000h,005h,055h,055h,055h,054h,000h,001h DB 0C2h,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh DB 0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,000h,005h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,01Dh,0C5h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F0h,01Dh,045h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,01Dh,0C5h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,000h,005h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,000h,005h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,05Dh,0C5h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F0h,055h,045h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,05Dh,0C5h,055h DB 055h,055h,055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,080h,000h,005h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0F1h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,081h,055h,055h,055h DB 055h,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,0AAh DB 0AAh,0AAh,0AAh,0ABh,0FFh,0FFh,0FFh,0FFh DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh END