;K.Y. TAM & STANLEY LEUNG
;DATE: 31 AUG 94

;PROJECT NO: OPRJ1
;FILES NO.OPRJ1.ASM
;FOR SOLOMON LCD 64 X 128 DOTS FULL GRAPHICES
;HARDWARE 87C51

;<PIN NO:>   <SYMBOL>  <LEVEL>  <FUNCTION>
;[1]           VSS        -        GND
;[2]           VDD        -        +5V
;[3]           V0       INPUT      >6.5V
;[4]           D/I      H/L        H: DATA INPUT
;                                  L: INSTRUCTION CODE INPUT
;[5]           R/W      H/L        H: DATA READ (LCD MODULE -> MPU)
;                                  L: DATA WRITE (LCD MODULE <- MPU)
;[6]           E        H,H->L     ENABLE SINGLE
;[7]           DB7      H/L
;[8]           DB6      H/L
;[9]           DB5      H/L
;[10]          DB4      H/L
;[11]          DB3      H/L
;[12]          DB2      H/L
;[13]          DB1      H/L
;[14]          DB0      H/L
;[15]          CS1      H          CHIP SELECTION FOR IC1
;[16]          CS2      H          CHIP SELECTION FOR IC2
;[17]          RST      L          RESET
;[18]          NC
;[19]          NC
;[20]          NC

;***************************************
VAR:            EQU     30H
VAR1:           EQU     31H
VAR2:           EQU     32H
VAR3:           EQU     33H
VAR4:           EQU     34H
X_CO:           EQU     35H
AY_CO:          EQU     36H
REG0:           EQU     37H
REG1:           EQU     38H
REG2:           EQU     39H
REG3:           EQU     3AH
REG4:           EQU     3BH
REG5:           EQU     3CH
REG6:           EQU     3DH
REG7:           EQU     3EH
REG_T:          EQU     3FH

                ORG     00H
                JMP     HELLO

                ORG     30H
HELLO:          MOV     SP,#70H
                MOV     P1,#0FFH                ;8031 INIT.
                MOV     P3,#00100100B
                CALL    DELAY
;****************************************
START:          MOV     P0,#00H
                CALL    RESET                   ;MODULE INIT.
                MOV     VAR,#3FH                ;DISPLAY ON.
                CALL    WC
                MOV     P0,#FFH
                MOV     VAR1,#55H
                MOV     VAR2,#55H
                MOV     VAR3,#55H
                MOV     VAR4,#55H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     P0,#FFH
                MOV     VAR1,#AAH
                MOV     VAR2,#AAH
                MOV     VAR3,#AAH
                MOV     VAR4,#AAH
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     P0,#00H
                MOV     VAR1,#55H
                MOV     VAR2,#55H
                MOV     VAR3,#55H
                MOV     VAR4,#55H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#AAH
                MOV     VAR2,#AAH
                MOV     VAR3,#AAH
                MOV     VAR4,#AAH
                CALL    Y_AXIS
                CALL    DELAYA
;****************************************
                MOV     VAR1,#FFH
                MOV     VAR2,#00H
                MOV     VAR3,#FFH
                MOV     VAR4,#00H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#00H
                MOV     VAR2,#FFH
                MOV     VAR3,#00H
                MOV     VAR4,#FFH
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#FFH
                MOV     VAR2,#00H
                MOV     VAR3,#FFH
                MOV     VAR4,#00H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     P0,#FFH
                MOV     VAR1,#00H
                MOV     VAR2,#FFH
                MOV     VAR3,#00H
                MOV     VAR4,#FFH
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#AAH
                MOV     VAR2,#55H
                MOV     VAR3,#AAH
                MOV     VAR4,#55H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     P0,#00H
                MOV     VAR1,#55H
                MOV     VAR2,#AAH
                MOV     VAR3,#55H
                MOV     VAR4,#AAH
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#AAH
                MOV     VAR2,#55H
                MOV     VAR3,#AAH
                MOV     VAR4,#55H
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     VAR1,#55H
                MOV     VAR2,#AAH
                MOV     VAR3,#55H
                MOV     VAR4,#AAH
                CALL    Y_AXIS
                CALL    DELAYA
                MOV     P0,#FFH
                CALL    PAGE1
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                MOV     P0,#FFH
                CALL    PAGE2
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                MOV     P0,#FFH
                CALL    PAGE3
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                JMP     START
;****************************************
Y_AXIS:         MOV     VAR,#C0H                ;SPECIFIES A RAM LINE DISPLAY
                CALL    WC                      ;AT THE TOP OF SCREEN.
                MOV     VAR,#B8H                ;SETS X ADDRESS.
                CALL    WC
                MOV     VAR,#40H                ;SETS THE Y ADDRESS.
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#B9H
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BAH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BBH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BCH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BDH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BEH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#BFH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
                RET

ICON_S:         MOV     R0,#32
ICON_S1:        MOV     A,VAR1
                MOV     VAR,A
                CALL    WD1
                MOV     A,VAR2
                MOV     VAR,A
                CALL    WD1
                DJNZ    R0,ICON_S1

                MOV     VAR,#40H                ;SETS THE Y ADDRESS=0
                CALL    WC

                MOV     R0,#32
ICON_S12:       MOV     A,VAR3
                MOV     VAR,A
                CALL    WD2
                MOV     A,VAR4
                MOV     VAR,A
                CALL    WD2
                DJNZ    R0,ICON_S12
                RET

;****************************************
PAGE1:          MOV     AY_CO,#C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#64
PAGE_UP:        MOV     DPTR,#PAGER_1
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_UP
                MOV     AY_CO,#C0H
                MOV     REG_T,#REG0
                MOV     DPTR,#PAGER_1
                CALL    PAGES
                CALL    DELAYA
                RET
;****************************************
PAGE2:          MOV     AY_CO,#C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#60
PAGE_2_UP:      MOV     DPTR,#PAGER_2
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_2_UP
                CALL    DELAYA
                RET
;****************************************
PAGE3:          MOV     AY_CO,#C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#64
PAGE_3_UP:      MOV     DPTR,#PAGER_3
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_3_UP
                CALL    DELAYA
                RET

PAGES:          MOV     A,AY_CO
                MOV     VAR,A                   ;SPECIFIES A RAM LINE DISPLAY
                CALL    WC                      ;AT THE TOP OF SCREEN.
                MOV     X_CO,#B8H

                MOV     R7,#08H
PAGE_LOOP:      MOV     A,X_CO
                MOV     VAR,A                   ;SETS X ADDRESS.
                CALL    WC
                INC     X_CO
                MOV     VAR,#40H                ;SETS THE Y ADDRESS.
                CALL    WC
                CALL    PAGER
                DJNZ    R7,PAGE_LOOP
                RET

PAGER:          MOV     R0,#64
PAGE_ST:        CLR     A
                MOVC    A,@A+DPTR
                MOV     R1,REG_T
                ANL     A,@R1
                MOV     VAR,A
                CALL    WD1
                INC     DPTR
                DJNZ    R0,PAGE_ST

                MOV     VAR,#40H                ;SETS THE Y ADDRESS=0
                CALL    WC

                MOV     R0,#64

PAGE_END:       CLR     A
                MOVC    A,@A+DPTR
                MOV     R1,REG_T
                ANL     A,@R1
                MOV     VAR,A
                CALL    WD2
                INC     DPTR
                DJNZ    R0,PAGE_END
                INC     REG_T
                RET
;**********************************************

WC:             MOV     A,VAR
                MOV     P1,A
                CLR     P3.7            ;SET INSTRUCTION MODE
                CLR     P3.6            ;SET WRITE MODE
                SETB    P3.4            ;SELECT CS1
                SETB    P3.3            ;SELECT CS2
                SETB    P3.5            ;ENABLE
                NOP
                CLR     P3.5            ;DISABLE
                NOP
                RET

WD:             MOV     A,VAR
                MOV     P1,A
                SETB    P3.7            ;SET DATA MODE
                CLR     P3.6            ;SET WRITE MODE
                SETB    P3.4            ;SELECT CS1
                SETB    P3.3            ;SELECT CS2
                SETB    P3.5            ;ENABLE
                NOP
                CLR     P3.5            ;DISABLE
                NOP
                RET

WD1:            MOV     A,VAR
                MOV     P1,A
                SETB    P3.7            ;SET DATA MODE
                CLR     P3.6            ;SET WRITE MODE
                SETB    P3.4            ;SELECT CS1
                CLR     P3.3            ;CANCEL CS2
                SETB    P3.5            ;ENABLE
                NOP
                CLR     P3.5            ;DISABLE
                NOP
                RET

WD2:            MOV     A,VAR
                MOV     P1,A
                SETB    P3.7            ;SET DATA MODE
                CLR     P3.6            ;SET WRITE MODE
                CLR     P3.4            ;CANCEL CS1
                SETB    P3.3            ;SELECT CS2
                SETB    P3.5            ;ENABLE
                NOP
                CLR     P3.5            ;DISABLE
                NOP
                RET

RESET:          CLR     P3.2            ;SET RST GO HIGH
                CALL    DELAY
                SETB    P3.2
                CALL    DELAY
                RET

PAUSE:          JMP     PAUSE


;*************************************
;*         DELAY TIMER               *
;*************************************
DELAY:
                MOV     R1,#0FFH
DELAY1:         MOV     R2,#0FFH
DELAY2:         NOP
                DJNZ    R2,DELAY2
                DJNZ    R1,DELAY1
                RET

DELAYA:         MOV     R3,#02H
DELAYA1:        CALL    DELAY
                DJNZ    R3,DELAYA1
                RET
DELAYB:         MOV     R1,#01H
DELAYB1:        MOV     R2,#1FH
DELAYB2:        DJNZ    R2,DELAYB2
                DJNZ    R3,DELAYB1
                RET

PAGER_1:
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,C0H,E0H,30H,10H,10H,30H,60H
        DB  00H,80H,C0H,60H,30H,60H,C0H,80H,00H,C0H,E0H,30H,10H,10H,30H,60H
        DB  00H,F0H,F0H,00H,00H,00H,F0H,F0H,00H,10H,F0H,F0H,10H,90H,30H,70H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,C0H,E0H,30H,10H,10H,30H,60H
        DB  00H,C0H,E0H,30H,10H,30H,E0H,C0H,00H,F0H,F0H,60H,C0H,60H,F0H,F0H
        DB  00H,10H,F0H,F0H,10H,10H,F0H,E0H,00H,F0H,F0H,00H,00H,00H,F0H,F0H
        DB  30H,10H,10H,F0H,F0H,10H,10H,30H,00H,10H,F0H,F0H,10H,90H,30H,70H
        DB  00H,10H,F0H,F0H,10H,10H,F0H,E0H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,07H,0FH,18H,10H,10H,18H,0CH
        DB  00H,1FH,1FH,02H,02H,02H,1FH,1FH,00H,07H,0FH,18H,10H,10H,18H,0CH
        DB  00H,1FH,1FH,01H,01H,01H,1FH,1FH,00H,10H,1FH,1FH,11H,13H,18H,1CH
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,07H,0FH,18H,10H,10H,18H,0CH
        DB  00H,07H,0FH,18H,10H,18H,0FH,07H,00H,1FH,1FH,00H,00H,00H,1FH,1FH
        DB  00H,10H,1FH,1FH,11H,01H,01H,00H,00H,0FH,1FH,10H,10H,10H,1FH,0FH
        DB  00H,80H,90H,1FH,1FH,10H,00H,00H,00H,10H,1FH,1FH,11H,13H,18H,1CH
        DB  00H,10H,1FH,1FH,01H,03H,1FH,1CH,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,02H,FEH,FEH,E0H,00H,00H,00H,00H
        DB  E0H,FEH,FEH,02H,00H,00H,00H,02H,02H,02H,FEH,FEH,02H,02H,02H,00H
        DB  02H,FEH,FEH,02H,00H,C0H,F2H,3EH,0EH,02H,02H,00H,02H,FEH,FEH,02H
        DB  02H,02H,02H,82H,06H,0EH,3EH,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,30H,30H,33H,FEH,FEH,90H,90H
        DB  F8H,FFH,8FH,8CH,8CH,88H,C0H,C0H,C0H,C0H,80H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,FFH,FFH,03H,1EH,F0H,F0H,1EH
        DB  03H,FFH,FFH,00H,00H,00H,00H,00H,00H,00H,FFH,FFH,00H,00H,00H,00H
        DB  00H,FFH,FFH,3CH,0FH,3FH,F0H,C0H,00H,00H,00H,00H,00H,FFH,FFH,04H
        DB  04H,04H,0EH,3FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,01H,03H,03H,03H,19H,F9H,09H,49H,4DH,FFH,7FH
        DB  2CH,24H,86H,FEH,1CH,08H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,40H,C0H,C0H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,10H,1FH,1FH,10H,00H,00H,00H,00H
        DB  10H,1FH,1FH,10H,00H,00H,00H,10H,10H,10H,1FH,1FH,10H,10H,10H,00H
        DB  10H,9FH,9FH,10H,00H,00H,00H,13H,1FH,1CH,10H,10H,10H,1FH,1FH,10H
        DB  10H,10H,10H,10H,18H,1CH,1FH,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,40H,40H,60H,33H,1BH,1EH,0EH,03H,01H
        DB  01H,05H,0FH,19H,38H,70H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80H
        DB  80H,00H,00H,00H,00H,00H,C0H,80H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,10H,F0H,D2H,12H,52H,FFH,FFH,2AH
        DB  2BH,8BH,FBH,78H,18H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,40H,40H,60H,64H,2CH,2CH,20H,FFH,BFH,20H
        DB  30H,BFH,F7H,70H,14H,17H,13H,12H,10H,10H,30H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,80H,C0H,70H,1EH,8EH,F2H,70H,20H
        DB  00H,E0H,CCH,0CH,CCH,ECH,64H,04H,C4H,74H,20H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0CH,98H,78H
        DB  3FH,64H,C6H,06H,98H,60H,3FH,3FH,24H,66H,46H,02H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,40H,40H,40H,40H,48H,28H,ABH,A9H,2DH,27H,27H,FDH
        DB  FDH,27H,37H,34H,30H,30H,30H,30H,20H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,40H,40H,42H,4AH,4AH,CBH,FFH
        DB  FFH,E9H,A9H,2DH,29H,21H,20H,20H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,01H,33H,39H,BDH,17H,19H,CCH,98H,00H
        DB  47H,4DH,58H,42H,E7H,ECH,60H,61H,23H,26H,06H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,10H,3EH,1FH,02H,03H,02H,1AH
        DB  7AH,4AH,CAH,CBH,4AH,69H,79H,39H,09H,01H,0DH,07H,07H,06H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,01H,03H,01H,18H,30H,3FH
        DB  3FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,10H,08H,0CH,06H,06H,03H,01H,3FH
        DB  3FH,00H,01H,03H,06H,0CH,1CH,18H,18H,18H,10H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,01H,07H,0EH,00H,01H,03H,00H,00H,09H,08H
        DB  0CH,04H,04H,04H,07H,07H,04H,04H,06H,06H,06H,06H,04H,04H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,02H,1EH
        DB  3EH,12H,11H,11H,11H,11H,19H,1FH,1FH,02H,00H,00H,00H,00H,00H,00H

PAGER_2:
        DB  00H,00H,00H,00H,00H,00H,00H,00H,22H,1AH,0AH,5AH,2AH,0AH,0AH,FEH
        DB  0AH,0AH,2AH,5AH,0AH,2AH,1AH,00H,00H,FCH,24H,24H,FEH,04H,88H,D4H
        DB  A2H,88H,94H,A2H,88H,94H,A2H,00H,00H,00H,00H,00H,00H,00H,00H,80H
        DB  80H,00H,00H,00H,00H,00H,00H,00H,00H,0EH,EAH,AAH,AAH,AEH,A0H,E0H
        DB  A0H,AEH,AAH,AAH,EAH,0EH,00H,00H,10H,10H,D0H,FEH,90H,10H,00H,FCH
        DB  A4H,24H,24H,24H,24H,E6H,04H,00H,22H,1AH,0AH,5AH,2AH,0AH,0AH,FEH
        DB  0AH,0AH,2AH,5AH,0AH,2AH,1AH,00H,00H,FCH,24H,24H,FEH,04H,88H,D4H
        DB  A2H,88H,94H,A2H,88H,94H,A2H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,1FH,15H,15H,15H,15H,3FH
        DB  55H,55H,55H,55H,5FH,40H,00H,00H,20H,1FH,41H,41H,3FH,00H,7FH,20H
        DB  31H,2AH,24H,2AH,31H,20H,7FH,00H,00H,00H,00H,00H,00H,20H,13H,0FH
        DB  07H,03H,00H,00H,00H,00H,00H,00H,08H,08H,0BH,0AH,0AH,0AH,0AH,7FH
        DB  0AH,0AH,0AH,0AH,0BH,08H,08H,00H,04H,03H,00H,7FH,20H,11H,48H,47H
        DB  20H,17H,08H,14H,23H,60H,20H,00H,00H,00H,1FH,15H,15H,15H,15H,3FH
        DB  55H,55H,55H,55H,5FH,40H,00H,00H,20H,1FH,41H,41H,3FH,00H,7FH,20H
        DB  31H,2AH,24H,2AH,31H,20H,7FH,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,40H,C0H,C0H,40H,40H,C0H,C0H,00H,40H,C0H,C0H,40H,40H,C0H,80H
        DB  00H,40H,C0H,C0H,40H,40H,C0H,80H,00H,00H,80H,C0H,40H,C0H,80H,00H
        DB  00H,C0H,C0H,80H,00H,80H,C0H,C0H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  20H,20H,A0H,F8H,20H,00H,10H,D0H,78H,50H,50H,50H,78H,D0H,10H,00H
        DB  40H,40H,F8H,40H,40H,80H,78H,50H,50H,50H,80H,88H,98H,A8H,D8H,00H
        DB  00H,00H,78H,48H,48H,48H,78H,80H,78H,48H,C8H,48H,78H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,40H,7FH,7FH,44H,4EH,60H,71H,00H,40H,7FH,7FH,44H,04H,07H,03H
        DB  00H,40H,7FH,7FH,04H,0CH,7FH,73H,00H,1FH,3FH,60H,40H,60H,3FH,1FH
        DB  00H,7FH,7FH,01H,03H,01H,7FH,7FH,00H,00H,00H,00H,00H,00H,00H,00H
        DB  08H,06H,01H,FFH,11H,02H,10H,97H,55H,3DH,15H,35H,55H,97H,90H,00H
        DB  90H,08H,FFH,04H,02H,89H,49H,3FH,49H,89H,70H,20H,7FH,88H,09H,00H
        DB  22H,22H,F2H,32H,2AH,2AH,E6H,03H,E6H,2AH,2AH,33H,F2H,22H,22H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,40H,40H,40H,C0H,40H,40H,40H
        DB  40H,40H,E0H,40H,00H,00H,00H,00H,00H,00H,00H,00H,80H,40H,60H,40H
        DB  40H,40H,C0H,40H,00H,00H,00H,00H,80H,80H,80H,C0H,60H,40H,00H,40H
        DB  40H,40H,C0H,40H,20H,00H,00H,00H,20H,A0H,A0H,A0H,A0H,A0H,A0H,E0H
        DB  A0H,A0H,A0H,A1H,A0H,A1H,A1H,00H,00H,00H,40H,40H,40H,40H,41H,40H
        DB  40H,41H,C0H,60H,41H,00H,00H,00H,00H,40H,41H,40H,C0H,40H,41H,60H
        DB  40H,40H,C1H,41H,41H,41H,01H,00H,01H,01H,01H,01H,E1H,20H,20H,20H
        DB  20H,20H,E0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,C0H,38H,07H,0CH,14H,24H
        DB  C4H,87H,44H,34H,0CH,00H,00H,00H,00H,10H,92H,91H,49H,4AH,A4H,12H
        DB  1EH,11H,90H,50H,38H,10H,00H,00H,42H,22H,1AH,FFH,12H,22H,01H,7DH
        DB  55H,55H,FFH,55H,55H,7DH,01H,00H,02H,01H,F0H,55H,52H,50H,50H,FFH
        DB  50H,50H,52H,55H,F0H,02H,01H,00H,08H,08H,08H,08H,08H,08H,08H,FEH
        DB  0AH,09H,08H,08H,08H,0CH,08H,00H,00H,FEH,42H,22H,9EH,93H,92H,92H
        DB  FEH,93H,92H,D2H,92H,03H,02H,00H,00H,F0H,10H,10H,17H,12H,F2H,02H
        DB  F2H,12H,17H,10H,10H,F0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,02H,01H,00H,04H,04H,02H,02H,01H
        DB  00H,00H,01H,01H,02H,06H,02H,00H,00H,04H,04H,04H,02H,02H,02H,01H
        DB  01H,01H,00H,00H,00H,00H,00H,00H,00H,00H,00H,07H,00H,00H,04H,05H
        DB  05H,05H,07H,05H,05H,05H,04H,00H,00H,00H,01H,01H,01H,01H,01H,03H
        DB  05H,05H,05H,05H,05H,04H,00H,00H,00H,00H,00H,00H,00H,02H,04H,03H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,02H,01H,04H,04H,04H,04H,04H,04H
        DB  07H,04H,04H,04H,04H,06H,04H,00H,00H,07H,02H,02H,02H,02H,07H,00H
        DB  07H,02H,02H,02H,02H,07H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

PAGER_3:
        DB  06H,82H,FEH,FEH,82H,06H,00H,00H,82H,FEH,FEH,10H,08H,F8H,F0H,00H
        DB  70H,F8H,A8H,A8H,B8H,30H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  F8H,F8H,30H,70H,38H,F8H,F0H,00H,70H,F8H,88H,88H,F8H,70H,00H,00H
        DB  78H,F8H,80H,80H,78H,F8H,80H,00H,F8H,F8H,08H,08H,F8H,F0H,00H,00H
        DB  00H,08H,7CH,FEH,88H,48H,00H,00H,40H,E8H,A8H,A8H,78H,F0H,80H,00H
        DB  00H,88H,FAH,FAH,80H,00H,00H,00H,F8H,F8H,08H,08H,F8H,F0H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,88H,FAH,FAH,80H,00H,00H,00H
        DB  90H,B8H,A8H,A8H,E8H,48H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  90H,B8H,A8H,A8H,E8H,48H,00H,00H,00H,08H,7CH,FEH,88H,48H,00H,00H
        DB  00H,88H,FAH,FAH,80H,00H,00H,00H,00H,82H,FEH,FEH,80H,00H,00H,00H
        DB  00H,82H,FEH,FEH,80H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,C0H,C0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  06H,82H,FEH,FEH,82H,06H,00H,00H,82H,FEH,FEH,10H,08H,F8H,F0H,00H
        DB  70H,F8H,A8H,A8H,B8H,30H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  78H,F8H,E0H,70H,E0H,F8H,78H,00H,40H,E8H,A8H,A8H,78H,F0H,80H,00H
        DB  00H,08H,7CH,FEH,88H,48H,00H,00H,70H,F8H,A8H,A8H,B8H,30H,00H,00H
        DB  88H,F8H,F0H,98H,08H,38H,30H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,88H,FAH,FAH,80H,00H,00H,00H,90H,B8H,A8H,A8H,E8H,48H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,88H,FAH,FAH,80H,00H,00H,00H
        DB  F8H,F8H,08H,08H,F8H,F0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  F8H,F8H,30H,70H,38H,F8H,F0H,00H,70H,F8H,88H,88H,F8H,70H,00H,00H
        DB  00H,08H,7CH,FEH,88H,48H,00H,00H,00H,88H,FAH,FAH,80H,00H,00H,00H
        DB  70H,F8H,88H,88H,F8H,70H,00H,00H,F8H,F8H,08H,08H,F8H,F0H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,C0H,C0H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  82H,FEH,FEH,92H,92H,FEH,6CH,00H,78H,F8H,80H,80H,78H,F8H,80H,00H
        DB  00H,08H,7CH,FEH,88H,48H,00H,00H,00H,00H,C0H,C0H,00H,00H,00H,00H
        DB  06H,82H,FEH,FEH,82H,06H,00H,00H,82H,FEH,FEH,10H,08H,F8H,F0H,00H
        DB  70H,F8H,A8H,A8H,B8H,30H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  70H,F8H,88H,88H,D8H,50H,00H,00H,70H,F8H,88H,88H,F8H,70H,00H,00H
        DB  F8H,F8H,30H,70H,38H,F8H,F0H,00H,08H,F8H,F0H,48H,48H,78H,30H,00H
        DB  78H,F8H,80H,80H,78H,F8H,80H,00H,00H,08H,7CH,FEH,88H,48H,00H,00H
        DB  70H,F8H,A8H,A8H,B8H,30H,00H,00H,88H,F8H,F0H,98H,08H,38H,30H,00H
        DB  00H,88H,FAH,FAH,80H,00H,00H,00H,90H,B8H,A8H,A8H,E8H,48H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,70H,F9H,89H,88H,D8H,50H,00H,00H
        DB  40H,E8H,A8H,A8H,78H,F0H,80H,00H,70H,F8H,88H,88H,D8H,50H,00H,00H
        DB  82H,FEH,FEH,10H,08H,F8H,F0H,00H,00H,88H,FAH,FAH,80H,00H,00H,00H
        DB  F8H,F8H,08H,08H,F8H,F0H,00H,00H,30H,78H,48H,48H,F0H,F8H,08H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,01H,01H,C1H,C1H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,01H,01H,01H,01H,01H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB  00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

                END