Login

Subversion Repositories NedoOS

Rev

Rev 508 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

        if EGA
VARIABLES = #4000
        else
VARIABLES = #C000
        endif
VAR0000 = VARIABLES+#0000
VAR0002 = VARIABLES+#0002
VAR0004 = VARIABLES+#0004
VAR0005 = VARIABLES+#0005
VAR0007 = VARIABLES+#0007
VAR0009 = VARIABLES+#0009
VAR000B = VARIABLES+#000B
VAR000C = VARIABLES+#000C
VAR000D = VARIABLES+#000D
VAR000E = VARIABLES+#000E
VAR000F = VARIABLES+#000F
VAR0011 = VARIABLES+#0011 ;erics
VAR0012 = VARIABLES+#0012
VAR0013 = VARIABLES+#0013
VAR0014 = VARIABLES+#0014
VAR0015 = VARIABLES+#0015
VAR0016 = VARIABLES+#0016
VAR0017 = VARIABLES+#0017
VAR0018 = VARIABLES+#0018
VAR0019 = VARIABLES+#0019
VAR001A = VARIABLES+#001A
VAR001B = VARIABLES+#001B
VAR001C = VARIABLES+#001C
VAR001D = VARIABLES+#001D
VAR001E = VARIABLES+#001E
VAR005A = VARIABLES+#005A
VAR005B = VARIABLES+#005B
VAR0070 = VARIABLES+#0070
VAR0071 = VARIABLES+#0071
VAR0073 = VARIABLES+#0073
VAR0075 = VARIABLES+#0075
VAR0077 = VARIABLES+#0077
VAR0079 = VARIABLES+#0079
VAR007B = VARIABLES+#007B
VAR007D = VARIABLES+#007D ;1=dec erics
VAR007E = VARIABLES+#007E
VAR007F = VARIABLES+#007F
VAR0080 = VARIABLES+#0080
VAR0081 = VARIABLES+#0081
VAR0082 = VARIABLES+#0082
VAR0083 = VARIABLES+#0083
VAR0084 = VARIABLES+#0084
VAR0085 = VARIABLES+#0085
VAR0086 = VARIABLES+#0086
VAR0088 = VARIABLES+#0088
VAR008A = VARIABLES+#008A
VAR008C = VARIABLES+#008C
VAR008D = VARIABLES+#008D
VAR038C = VARIABLES+#038C
VAR038D = VARIABLES+#038D
VAR03AB = VARIABLES+#03AB
VAR03EF = VARIABLES+#03EF
VAR046C = VARIABLES+#046C
VAR047C = VARIABLES+#047C
VAR0484 = VARIABLES+#0484
VAR066C = VARIABLES+#066C
VAR066D = VARIABLES+#066D
VAR068C = VARIABLES+#068C
VAR068D = VARIABLES+#068D
VAR098C = VARIABLES+#098C

;       ORG     #9000
;
L_8000 ;        LD      SP,#6fff
        CALL    L_906A
        CALL    L_90FD
        LD      HL,#0000
        LD      (VAR0002),HL
        LD      (VAR0000),HL
        JP      L_82A4
;
L_8015  LD      IY,VAR0005
        CALL    L_8027
        LD      IY,VAR0007
        CALL    L_8027
        LD      IY,VAR0009
L_8027  LD      L,(IY+#00)
        LD      H,(IY+#01)
        LD      A,(HL)
        OR      A
        RET     Z
L_8030  LD      E,(HL)
        INC     HL
        LD      D,(HL)
        INC     HL
        LD      C,(HL)
        INC     HL
        LD      B,(HL)
        INC     HL
        CALL    L_92A6 ;sound
        LD      A,(HL)
        OR      A
        JR      NZ,L_8030
        INC     HL
        LD      (IY+#00),L
        LD      (IY+#01),H
        RET
;
L_8047  LD      HL,#0000
        LD      (VAR0000),HL
        LD      A,#01
        LD      (VAR0012),A
        LD      A,#03
        LD      (VAR0011),A ;erics
        CALL    L_9140
        CALL    DrawScreen
        LD      HL,L_9BC6
        CALL    L_9114
        LD      HL,L_9C28
        CALL    L_9114
L_8069
;retry
        LD      HL,#03E8
        LD      (VAR000F),HL
        XOR     A
        LD      (VAR001B),A
        LD      (VAR001A),A
        LD      (VAR0082),A
        LD      (VAR0085),A
        LD      (VAR0014),A
        LD      (VAR0013),A
        LD      (VAR0016),A
        LD      (VAR0017),A
        LD      (VAR0018),A
        LD      (VAR007D),A
        LD      A,#01
        LD      (VAR000D),A

        CALL    L_81E7
        CALL    L_8603
        CALL    L_8617
        CALL    L_89E5
        CALL    L_9140
        CALL    DrawScreen
        CALL    L_8FEE
        CALL    L_8E5F
        CALL    L_8EC8
        XOR     A
        LD      (VAR0082),A
        LD      (VAR0085),A
MAINLOOP;L_80B5
        ;YIELDGETKEY
        halt
curkey=$+1
        ld a,0
        cp key_esc
        jp z,quiter ;Alone Coder
        cp key_redraw
        call z,redraw

        CALL    L_8746
        CALL    L_8FFC
        CALL    L_8E5F
        CALL    L_89F9
        CALL    L_8ADC
        CALL    L_897F
        CALL    L_8CDD
        CALL    L_8764
        CALL    L_8674
        CALL    L_86FF
        CALL    L_88AD
        CALL    L_864C
        CALL    L_86D8
        CALL    L_8C6D
        CALL    L_85B5
        CALL    L_8559
        CALL    L_8520
        CALL    L_8D9B ;╨┐╨╡╤З╨░╤В╨░╨╡╤В ╤Б╤З╤С╤В
        CALL    L_8E0F
        LD      A,(VAR007D)
        OR      A
        JP      NZ,L_81D7 ;dec erics
        LD      A,(VAR0018)
        OR      A
        JP      NZ,L_81A1
        LD      A,(VAR001A)
        OR      A
        JR      Z,MAINLOOP;L_80B5
        LD      BC,#0014
L_8105  PUSH    BC
        CALL    L_821D
        POP     BC
        DEC     BC
        LD      A,B
        OR      C
        JP      NZ,L_8105
        LD      HL,(VAR000F)
        LD      A,H
        OR      L
        JR      Z,L_813F
L_8117  PUSH    HL
        CALL    L_823C
        LD      HL,L_8173
        LD      (VAR0007),HL
        POP     HL
        LD      BC,#000A
        OR      A
        SBC     HL,BC
        LD      (VAR000F),HL
        LD      DE,(VAR0000)
        INC     DE
        LD      (VAR0000),DE
        LD      A,H
        OR      L
        JP      NZ,L_8117
        CALL    L_823C
        CALL    L_823C
L_813F  LD      A,(VAR0012)
        INC     A
        LD      (VAR0012),A
        PUSH    AF
        AND     #03
        LD      HL,L_8181
        CALL    Z,L_816F
        POP     AF
        AND     #FC
        JP      Z,L_8069 ;retry
        AND     #0C
        LD      C,A
        LD      B,#00
        ADD     HL,BC
        LD      E,(HL)
        INC     HL
        LD      D,(HL)
        INC     HL
        PUSH    HL
        EX      DE,HL
        CALL    L_9114
        POP     HL
        LD      E,(HL)
        INC     HL
        LD      D,(HL)
        EX      DE,HL
        CALL    L_9114
        JP      L_8069 ;retry
;
L_816F  LD      HL,L_8191
        RET
;
L_8173 DB #2C,#01,#05,#00,#DC,#05,#01,#00
 DB #C8,#00,#05,#00,#00,#00
;
L_8181 DW L_9F78
 DW L_9F8E
 DW L_9F4C
 DW L_9F62
 DW L_9FA4
 DW L_9FBA
 DW L_9EC8
 DW L_9EDE
L_8191 DW L_9E9C
 DW L_9EB2
 DW L_9EF4
 DW L_9F0A
 DW L_9E70
 DW L_9E86
 DW L_9F20
 DW L_9F36
;
L_81A1  LD      B,#0A
        LD      HL,L_81B3
        LD      (VAR0009),HL
L_81A9  PUSH    BC
        CALL    L_821D
        POP     BC
        DJNZ    L_81A9
        JP      L_8069 ;retry
;
L_81B3 DB #EE,#00,#14,#00,#00,#D4,#00,#14
 DB #00,#00,#BD,#00,#14,#00,#00,#B2
 DB #00,#14,#00,#00,#9F,#00,#14,#00
 DB #00,#8E,#00,#14,#00,#00,#7E,#00
 DB #14,#00,#00,#00
;
L_81D7  CALL    L_9014 ;pause
        LD      A,(VAR0011) ;erics
        DEC     A
        OR      A
        LD      (VAR0011),A ;erics
        JR      Z,L_820D ;game over
        JP      L_8069 ;retry
;
L_81E7  LD      A,(VAR0012)
        CP      #06
        JR      C,L_81F0
        LD      A,#05
L_81F0  DEC     A
        ADD     A,A
        LD      HL,L_8203
        LD      C,A
        LD      B,#00
        ADD     HL,BC
        LD      A,(HL)
        LD      (VAR0015),A
        INC     HL
        LD      A,(HL)
        LD      (VAR0019),A
        RET
;
L_8203 DB #01,#10,#02,#15,#03,#1A,#02,#1F
 DB #04,#24
;
L_820D
;game over
        LD      BC,#0005
L_8210  PUSH    BC
        CALL    L_821D
        POP     BC
        DEC     BC
        LD      A,B
        OR      C
        JR      NZ,L_8210
        JP      L_82A4
;
L_821D  CALL    L_8746
        CALL    L_8FFC
        CALL    L_8E5F
        CALL    L_8ADC
        CALL    L_8674
        CALL    L_86FF
        CALL    L_88AD
        CALL    L_8C6D
        CALL    L_89F9
        CALL    L_8D9B
        RET
;
L_823C  CALL    L_8746
        CALL    L_8FFC
        CALL    L_8E5F
        CALL    L_8674
        CALL    L_86FF
        CALL    L_8C6D
        CALL    L_8D9B
        RET
;
L_8252
        ;jr $
        LD      (HL),A
        OR      A
        RET     Z
        CALL    L_9285
        OR      A
        JR      NZ,L_8252
        POP     HL
L_825C  CALL    L_9285
        OR      A
        JR      NZ,L_825C
        CALL    L_9140
L_8265  CALL    DrawScreen
        CALL    L_850A
;
 DB #05,#0C
 DB "SELECT"
 DB #00
 DB #07,#07
 DB "KEYBOARD OR JOYSTICK"
 DB #00
 DB #09,#0A
 DB "PRESS K OR J"
 DB #00,#FF
;
        CALL    L_9285
        OR      A
        JR      Z,L_8265
        JP      L_8047
;
L_82A4  CALL    L_9140
        CALL    DrawScreen
        LD      HL,L_92C2
        CALL    L_9114
        CALL    L_84F2
        CALL    L_84DE
        LD      A,#FF
        LD      (VAR0004),A
L_82BB  CALL    L_9285
        LD      HL,VAR0004
        CP      (HL)
        CALL    NZ,L_8252
        CALL    L_8746
        LD      BC,VAR038C
        LD      D,#C0
        LD      E,#89
L_82CF  LD      A,E
        LD      (BC),A
        INC     BC
        DEC     D
        JR      NZ,L_82CF
        LD      BC,#5A52
        CALL    L_8FBC
        DB #78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#00
        LD      BC,#5A72
        CALL    L_8FBC
        DB #78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#00
        LD      BC,#5A92
        CALL    L_8FBC
        DB #78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#78,#00
        CALL    L_850A
 DB #01,#0C
 DB "        ",#00
 DB #02,#0C
 DB "  ERIC  ",#00
 DB #03,#06
 DB "                    ",#00
 DB #04,#06
 DB "  AND THE FLOATERS  ",#00
 DB #0B,#0E
 DB "BOMB",#00
 DB #12,#13
 DB "PRESS SPACE",#00
 DB #13,#13
 DB "  KEY TO   ",#00
 DB #14,#13
 DB "START GAME ",#00
 DB #0A,#07
 DB "UP",#00
 DB #0B,#05
 DB #10,#14,#14,#14,#11,#00
 DB #0C,#05
 DB #15,"W",#19,"I",#16,#00
 DB #0D,#05
 DB #12,#14,#14,#14,#13,#00
 DB #12,#0B
 DB "BOMB",#00
 DB #13,#0A,#10,#14,#14,#14,#14,#14,#11,#00
 DB #14,#0A
 DB #15,"SPACE",#16,#00
 DB #15,#0A
 DB #12,#14,#14,#14,#14,#14,#13,#00
 DB #0D,#01
 DB "LEFT",#00
 DB #0E,#00
 DB #10,#14,#14,#14,#11,#00
 DB #0F,#00
 DB #15,"A",#19,"J",#16,#00
 DB #10,#00
 DB #12,#14,#14,#14,#13,#00
 DB #0D,#0A
 DB "RIGHT",#00
 DB #0E,#0A
 DB #10,#14,#14,#14,#11,#00
 DB #0F,#0A
 DB #15,"D",#19,"L",#16,#00
 DB #10,#0A
 DB #12,#14,#14,#14,#13,#00
 DB #0E,#14
 DB "HIGH",#00
 DB #0F,#14
 DB "SCORE!",#00
 DB #FF
        LD      HL,(VAR0002)
        CALL    Pr12345
        CALL    L_850A
 DB #11,#05
 DB "DOWN",#00
 DB #12,#05
 DB #10,#14,#14,#14,#11,#00
 DB #13,#05
 DB #15,"X",#19,"M",#16,#00
 DB #14,#05
 DB #12,#14,#14,#14,#13,#00
 DB #0B,#14
 DB "LAST",#00
 DB #0C,#14
 DB "SCORE!",#00
 DB #FF

        LD      HL,(VAR0000)
        CALL    Pr12345
        CALL    L_850A

 DB #17,#05
 DB #5B," HUDSON  SOFT    ",#01,#09,#08,#03,#00
 DB #07,#02
 DB "ERIC   FLOATER  BONUS   EXIT",#00
 DB #08,#12
 DB "POINTS  PORTAL",#00
 DB #FF
;
        LD      BC,VAR046C
        LD      A,#8C
        CALL    L_8C4F
        CALL    L_8ADC
        CALL    L_88AD
        LD      A,(VAR0071)
        OR      A
        JR      NZ,L_84CB
        LD      A,(VAR0070)
        XOR     #02
        LD      (VAR0070),A
        LD      A,(VAR005A)
        XOR     #02
        LD      (VAR005A),A
L_84CB  LD      BC,VAR047C
        LD      A,#0A
        CALL    L_8C4F
        LD      BC,VAR0484
        LD      A,#0E
        CALL    L_8C4F
        JP      L_82BB
;
L_84DE  CALL    L_89E5
        LD      IX,VAR005B
        LD      (IX+#00),#01
        LD      (IX+#01),#0C
        LD      (IX+#02),#0A
        RET
;
L_84F2  CALL    L_8603
        LD      IX,VAR001E
        LD      (IX+#00),#01
        LD      (IX+#01),#07
        LD      (IX+#02),#07
        LD      (IX+#03),#01
        RET
;
L_850A  EX      (SP),HL
        CALL    L_8511
        INC     HL
        EX      (SP),HL
        RET
;
L_8511  LD      A,(HL)
        INC     A
        RET     Z
        LD      B,(HL)
        INC     HL
        LD      C,(HL)
        INC     HL
        CALL    L_9126
        CALL    L_9138
        JR      L_8511
;
L_8520  LD      A,(VAR007B)
        OR      A
        RET     NZ
        LD      HL,(VAR000F)
        LD      A,H
        OR      L
        JR      Z,L_8535
        LD      BC,#000A
        SBC     HL,BC
        LD      (VAR000F),HL
        RET
;
L_8535  LD      A,(VAR001B)
        OR      A
        RET     NZ
        CALL    L_8FEE
        LD      A,#01
        LD      (VAR001B),A
        XOR     A
        LD      (VAR0085),A
        LD      (VAR0082),A
        LD      A,#01
        LD      (VAR0016),A
        LD      (VAR0017),A
        XOR     A
        LD      (VAR0081),A
        LD      (VAR0083),A
        RET
;
L_8559  LD      BC,(VAR000B)
        LD      A,(VAR0085)
        OR      A
        JR      Z,L_8579
        LD      A,(VAR0084)
        CP      B
        JR      NZ,L_8579
        LD      A,(VAR0083)
        CP      C
        JR      NZ,L_8579
        XOR     A
        LD      (VAR0085),A
        LD      A,#01
        LD      (VAR0018),A
        RET
;
L_8579  LD      A,(VAR0082)
        OR      A
        RET     Z
        LD      A,(VAR0081)
        CP      B
        RET     NZ
        LD      A,(VAR0080)
        CP      C
        RET     NZ
        XOR     A
        LD      (VAR0082),A
        CALL    L_8F8C
        AND     #3F
        ADD     A,A
        SET     4,A
        LD      C,A
        LD      B,#00
        LD      HL,(VAR0000)
        ADD     HL,BC
        LD      (VAR0000),HL
        LD      HL,L_85A5
        LD      (VAR0005),HL
        RET
;
L_85A5 DB #D4,#00,#14,#00,#00,#B2,#00,#14
 DB #00,#00,#8E,#00,#14,#00
L_85B3
 DB #00,#00
;
L_85B5  LD      A,(VAR0013)
        OR      A
        RET     Z
        LD      A,(VAR0014)
        OR      A
        RET     NZ
        LD      BC,(VAR001C)
        CALL    L_9008
        CALL    L_8726
        CP      #20
        RET     NZ
        LD      A,(VAR0015)
        ADD     A,#04
        LD      (VAR0015),A
        LD      IX,VAR001E
        LD      D,#04
L_85DA  LD      A,(IX+#00)
        INC     A
        JR      Z,L_85FD
        DEC     A
        JR      NZ,L_85F6
        LD      (IX+#00),#01
        LD      A,(VAR001C)
        LD      (IX+#01),A
        LD      A,(VAR001D)
        LD      (IX+#02),A
        DEC     D
        JR      Z,L_85FD
L_85F6  LD      BC,#0007
        ADD     IX,BC
        JR      L_85DA
;
L_85FD  LD      A,#01
        LD      (VAR0014),A
        RET
;
L_8603  LD      IX,VAR001E
L_8607  LD      A,(IX+#00)
        INC     A
        RET     Z
        LD      (IX+#00),#00
        LD      BC,#0007
        ADD     IX,BC
        JR      L_8607
;
L_8617  LD      A,(VAR0015)
        LD      B,A
        LD      IX,VAR001E
L_861F  LD      HL,L_8644
        CALL    L_8F8C
        AND     #03
        ADD     A,A
        ADD     A,L
        LD      L,A
        LD      A,#00
        ADC     A,H
        LD      H,A
        LD      A,(HL)
        LD      (IX+#01),A
        INC     HL
        LD      A,(HL)
        LD      (IX+#02),A
        LD      (IX+#00),#01
        LD      DE,#0007
        ADD     IX,DE
        DEC     B
        JR      NZ,L_861F
        RET
;
L_8644 DB #01,#01,#1D,#01,#01,#13,#1D,#13
;
L_864C  LD      A,(VAR0016)
        OR      A
        RET     NZ
        LD      BC,(VAR0080)
        LD      D,B
        LD      E,C
        CALL    L_9008
        CALL    L_8726
        CP      #20
        RET     NZ
        LD      B,D
        LD      C,E
        CALL    L_9126
        CALL    L_8726
        CP      #20
        RET     NZ
        LD      A,#01
        LD      (VAR0082),A
        LD      (VAR0016),A
        RET
;
L_8674  LD      A,(VAR0082)
        OR      A
        RET     Z
        LD      DE,(VAR0080)
        LD      B,D
        LD      C,E
        CALL    L_9126
        LD      A,#0A
        CALL    L_869C
        INC     BC
        INC     A
        CALL    L_869C
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        ADD     A,#0F
        CALL    L_869C
        INC     BC
        INC     A
        JP      L_869C
;
L_869C  PUSH    AF
        LD      A,(BC)
        CP      #E0
        JR      C,L_86B7
        XOR     A
        LD      (VAR0082),A
        LD      A,(VAR0080)
        LD      (VAR001C),A
        LD      A,(VAR0081)
        LD      (VAR001D),A
        LD      A,#01
        LD      (VAR0013),A
L_86B7  POP     AF
        LD      (BC),A
        RET
;
L_86BA  PUSH    AF
        LD      A,(BC)
        CP      #E0
        JR      C,L_86D5
        XOR     A
        LD      (VAR0085),A
        LD      A,(VAR0083)
        LD      (VAR001C),A
        LD      A,(VAR0084)
        LD      (VAR001D),A
        LD      A,#01
        LD      (VAR0013),A
L_86D5  POP     AF
        LD      (BC),A
        RET
;
L_86D8  LD      A,(VAR0017)
        OR      A
        RET     NZ
        LD      BC,(VAR0083)
        LD      D,B
        LD      E,C
        CALL    L_9008
        CALL    L_8726
        CP      #20
        RET     NZ
        LD      B,D
        LD      C,E
        CALL    L_9126
        CALL    L_8726
        CP      #20
        RET     NZ
        LD      A,#01
        LD      (VAR0085),A
        LD      (VAR0017),A
L_86FF  LD      A,(VAR0085)
        OR      A
        RET     Z
        LD      BC,(VAR0083)
        CALL    L_9126
        LD      A,#0E
        CALL    L_86BA
        INC     BC
        INC     A
        CALL    L_86BA
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        ADD     A,#0F
        CALL    L_86BA
        INC     BC
        INC     A
        CALL    L_86BA
        RET
;
L_8726  LD      A,(BC)
        CP      #20
        RET     NZ
        INC     BC
        LD      A,(BC)
        CP      #20
        RET     NZ
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        LD      A,(BC)
        CP      #20
        RET     NZ
        INC     BC
        LD      A,(BC)
        RET
;
L_873C
;increase (hl) mod (hl+1)
        LD      A,(HL)
        INC     A
        INC     HL
        CP      (HL)
        JR      C,L_8743
        XOR     A
L_8743  DEC     HL
        LD      (HL),A
        RET
;
L_8746  LD      HL,VAR0071
        CALL    L_873C ;increase (hl) mod (hl+1)
        LD      HL,VAR0077
        CALL    L_873C ;increase (hl) mod (hl+1)
        LD      HL,VAR007B
        CALL    L_873C ;increase (hl) mod (hl+1)
        LD      HL,VAR0079
        CALL    L_873C ;increase (hl) mod (hl+1)
        CALL    DrawScreen
        JP      L_8015
;
L_8764  LD      A,(VAR0077)
        OR      A
        RET     NZ
        LD      A,(VAR005A)
        XOR     #02
        LD      (VAR005A),A
        LD      IX,VAR001E
L_8775  LD      A,(IX+#00)
        INC     A
        RET     Z
        DEC     A
        CP      #01
        JP      NZ,L_8831
        LD      A,(IX+#04)
        DEC     A
        LD      D,A
        CP      #FF
        JR      NZ,L_879A
        LD      A,(IX+#03)
        DEC     A
        CP      #FF
        JR      NZ,L_8793
        LD      A,#03
L_8793  LD      (IX+#03),A
        LD      A,(VAR0019)
        LD      D,A
L_879A  LD      A,D
        LD      (IX+#04),A
        LD      A,(IX+#03)
        OR      A
        JR      Z,L_87AC
        LD      A,(VAR0077)
        AND     #03
        JP      NZ,L_8831
L_87AC  LD      A,(IX+#03)
        OR      A
        JR      Z,L_87F3
        LD      A,(IX+#04)
        AND     #0F
        OR      A
        JR      Z,L_87F3
        AND     #03
        OR      A
        JR      Z,L_87DF
        CALL    L_8854
        CP      #80
        JR      NC,L_87CB
        CALL    L_8839
        JR      L_8831
;
L_87CB  CALL    L_8F8C
        AND     #03
        LD      (IX+#05),A
        CALL    L_8854
        CP      #80
        JR      NC,L_8831
        CALL    L_8839
        JR      L_8831
;
L_87DF  CALL    L_8F8C
        AND     #03
        LD      (IX+#05),A
        CALL    L_8854
        CP      #80
        JR      NC,L_8831
        CALL    L_8839
        JR      L_8831
;
L_87F3  LD      A,(VAR000B)
        LD      B,A
        LD      A,(IX+#01)
        CP      B
        JR      Z,L_8810
        JR      NC,L_8805
        LD      (IX+#05),#01
        JR      L_8809
;
L_8805  LD      (IX+#05),#00
L_8809  CALL    L_8854
        CP      #80
        JR      C,L_882E
L_8810  LD      A,(VAR000C)
        LD      B,A
        LD      A,(IX+#02)
        CP      B
        JR      Z,L_8831
        JR      NC,L_8822
        LD      (IX+#05),#03
        JR      L_8826
;
L_8822  LD      (IX+#05),#02
L_8826  CALL    L_8854
        CP      #80
        JP      NC,L_8831
L_882E  CALL    L_8839
L_8831  LD      BC,#0007
        ADD     IX,BC
        JP      L_8775
;
L_8839  LD      A,(IX+#05)
        ADD     A,A
        LD      HL,L_88A5
        LD      B,#00
        LD      C,A
        ADD     HL,BC
        LD      A,(IX+#02)
        ADD     A,(HL)
        LD      (IX+#02),A
        INC     HL
        LD      A,(IX+#01)
        ADD     A,(HL)
        LD      (IX+#01),A
        RET
;
L_8854  LD      HL,L_8895
        LD      A,(IX+#05)
        ADD     A,A
        ADD     A,A
        LD      C,A
        LD      B,#00
        ADD     HL,BC
        LD      A,(IX+#02)
        ADD     A,(HL)
        LD      B,A
        INC     HL
        LD      A,(IX+#01)
        ADD     A,(HL)
        LD      C,A
        PUSH    BC
        CALL    L_9126
        LD      A,(BC)
        POP     BC
        CP      #80
        RET     NC
        CALL    L_9008
        LD      A,(BC)
        CP      #80
        RET     NC
        INC     HL
        LD      A,(IX+#02)
        ADD     A,(HL)
        LD      B,A
        INC     HL
        LD      A,(IX+#01)
        ADD     A,(HL)
        LD      C,A
        PUSH    BC
        CALL    L_9126
        LD      A,(BC)
        POP     BC
        CP      #80
        RET     NC
        CALL    L_9008
        LD      A,(BC)
        RET
;
L_8895 DB #00,#FF,#01,#FF,#00,#02,#01,#02
 DB #FF,#00,#FF,#01,#02,#00,#02,#01
L_88A5 DB #00,#FF,#00,#01,#FF,#00,#01,#00
;
L_88AD  LD      IX,VAR001E
L_88B1  LD      A,(IX+#00)
        INC     A
        RET     Z
        DEC     A
        JP      Z,L_896A
        CP      #01
        JP      Z,L_893E
        LD      C,(IX+#01)
        LD      B,(IX+#02)
        CALL    L_9126
        LD      A,(IX+#00)
        ADD     A,A
        ADD     A,#1E
        CP      #30
        JR      C,L_88D9
        LD      A,#20
        CALL    L_8C60
        JR      L_88DC
;
L_88D9  CALL    L_8C4F
L_88DC  PUSH    HL
        LD      HL,VAR0075
        CALL    L_873C
        POP     HL
        LD      A,(VAR0075)
        OR      A
        JP      NZ,L_896A
        LD      A,(IX+#00)
        INC     A
        CP      #0A
        JR      Z,L_8908
        LD      (IX+#00),A
        ADD     A,A
        ADD     A,A
        ADD     A,A
        ADD     A,A
        LD      E,A
        LD      D,#00
        PUSH    BC
        LD      BC,#000F
        CALL    L_92A6 ;sound
        POP     BC
        JP      L_896A
;
L_8908  XOR     A
        LD      (IX+#00),A
        LD      A,(IX+#03)
        ADD     A,A
        ADD     A,A
        INC     A
        INC     A
        LD      B,A
        CALL    L_8F8C
        AND     #03
        INC     A
        ADD     A,B
        LD      C,A
        LD      B,#00
        LD      HL,(VAR0000)
        ADD     HL,BC
        LD      (VAR0000),HL
        LD      A,(VAR000D)
        CP      #06
        JR      NC,L_896A
        LD      A,(VAR0015)
        DEC     A
        LD      (VAR0015),A
        JR      NZ,L_896A
        LD      A,(VAR001A)
        INC     A
        LD      (VAR001A),A
        JR      L_896A
;
L_893E  LD      C,(IX+#01)
        LD      B,(IX+#02)
        CALL    L_9126
        LD      A,(IX+#03)
        ADD     A,A
        ADD     A,A
        ADD     A,#C0
        LD      HL,VAR005A
        ADD     A,(HL)
        CALL    L_8972
        INC     A
        INC     BC
        CALL    L_8972
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        ADD     A,#0F
        CALL    L_8972
        INC     BC
        INC     A
        CALL    L_8972
L_896A  LD      BC,#0007
        ADD     IX,BC
        JP      L_88B1
;
L_8972  PUSH    AF
        LD      A,(BC)
        CP      #E0
        JR      C,L_897C
        LD      (IX+#00),#02
L_897C  POP     AF
        LD      (BC),A
        RET
;
L_897F  LD      A,(VAR000D)
        CP      #06
        RET     NC
        LD      A,(VAR0012)
        AND     #03
        JR      Z,L_8991
        CALL    L_91B3 ;a=0:0/break pressed, -1:not pressed
        INC     A
        RET     NZ ;pressed
L_8991  LD      IX,VAR005B
L_8995  LD      A,(IX+#00)
        INC     A
        RET     Z
        DEC     A
        OR      A
        JR      NZ,L_89D9
        LD      BC,(VAR000B)
        LD      (IX+#01),C
        LD      (IX+#02),B
        CALL    L_9008
        LD      D,B
        LD      E,C
        CALL    L_89E1
        RET     NZ
        INC     BC
        CALL    L_89E1
        RET     NZ
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        CALL    L_89E1
        RET     NZ
        INC     BC
        CALL    L_89E1
        RET     NZ
        LD      B,D
        LD      C,E
        LD      A,#60
        CALL    L_8C4F
        LD      A,#01
        LD      (IX+#00),A
        XOR     A
        LD      (IX+#03),A
        LD      (VAR000D),A
        RET
;
L_89D9  LD      BC,#0004
        ADD     IX,BC
        JP      L_8995
;
L_89E1  LD      A,(BC)
        CP      #20
        RET
;
L_89E5  LD      IX,VAR005B
L_89E9  LD      A,(IX+#00)
        INC     A
        RET     Z
        LD      (IX+#00),#00
        LD      BC,#0004
        ADD     IX,BC
        JR      L_89E9
;
L_89F9  LD      A,(VAR0070)
        XOR     #02
        LD      (VAR0070),A
        LD      IX,VAR005B
L_8A05  LD      A,(IX+#00)
        INC     A
        RET     Z
        DEC     A
        JR      Z,L_8A46
        CP      #05
        JR      NC,L_8A1C
        LD      A,(IX+#03)
        INC     A
        LD      (IX+#03),A
        CP      #07
        JR      NZ,L_8A46
L_8A1C  XOR     A
        LD      (IX+#03),A
        LD      A,(VAR0079)
        OR      A
        JR      NZ,L_8A46
        LD      A,(IX+#00)
        INC     A
        CP      #0E
        JR      Z,L_8A42
        LD      (IX+#00),A
        CP      #05
        JR      C,L_8A46
        CP      #06
        JR      Z,L_8A4D
        LD      A,(VAR000D)
        CP      #06
        JR      NC,L_8A46
        JR      L_8A46
;
L_8A42  XOR     A
        LD      (IX+#00),A
L_8A46  LD      BC,#0004
        ADD     IX,BC
        JR      L_8A05
;
L_8A4D  LD      HL,L_8A55
        LD      (VAR0007),HL
        JR      L_8A46
;
L_8A55 DB #50,#00,#08,#00,#A0,#00,#08,#00
 DB #40,#01,#08,#00,#80,#02,#08,#00
 DB #00,#C6,#02,#04,#00,#2A,#03,#04
 DB #00,#00,#D0,#02,#03,#00,#34,#03
 DB #03,#00,#00,#DA,#02,#03,#00,#3E
 DB #03,#03,#00,#00,#E4,#02,#03,#00
 DB #48,#03,#03,#00,#00,#EE,#02,#02
 DB #00,#52,#03,#02,#00,#00,#F8,#02
 DB #02,#00,#5C,#03,#02,#00,#00,#02
 DB #03,#02,#00,#66,#03,#02,#00,#00
 DB #0C,#03,#02,#00,#70,#03,#02,#00
 DB #00,#16,#03,#02,#00,#7A,#03,#02
 DB #00,#00,#20,#03,#01,#00,#84,#03
 DB #01,#00,#00,#2A,#03,#01,#00,#8E
 DB #03,#01,#00,#00,#34,#03,#01,#00
 DB #98,#03,#01,#00,#00,#3E,#03,#01
 DB #00,#A2,#03,#01,#00,#00,#00
;
L_8ADC  LD      IX,VAR005B
L_8AE0  LD      A,(IX+#00)
        INC     A
        RET     Z
        DEC     A
        JR      Z,L_8B3A
        CP      #0D
        JR      Z,L_8B4E
        CP      #05
        JR      C,L_8AF8
        ADD     A,A
        ADD     A,#D6
        EXX
        LD      D,A
        EXX
        JR      L_8B60
;
L_8AF8  DEC     A
        ADD     A,A
        ADD     A,A
        LD      D,A
        LD      A,(VAR0070)
        ADD     A,D
        ADD     A,#60
        LD      D,A
        EXX
        LD      D,A
        EXX
        LD      A,(IX+#01)
        LD      C,A
        EXX
        LD      C,A
        EXX
        LD      A,(IX+#02)
        LD      B,A
        EXX
        LD      B,A
        EXX
        CALL    L_9008
        CALL    L_8B41
        INC     BC
        INC     D
        CALL    L_8B41
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        LD      A,#0F
        ADD     A,D
        LD      D,A
        CALL    L_8B41
        INC     BC
        INC     D
        CALL    L_8B41
        EXX
        CALL    L_9126
        LD      A,D
        CALL    L_8C4F
        EXX
L_8B3A  LD      BC,#0004
        ADD     IX,BC
        JR      L_8AE0
;
L_8B41  LD      A,(BC)
        CP      #E0
        RET     C
        LD      (IX+#00),#04
        LD      (IX+#03),#06
        RET
;
L_8B4E  LD      A,(IX+#01)
        LD      C,A
        LD      A,(IX+#02)
        LD      B,A
        CALL    L_9008
        LD      A,#20
        CALL    L_8C60
        JR      L_8B3A
;
L_8B60  LD      C,(IX+#01)
        LD      B,(IX+#02)
        CALL    L_9008
        EXX
        LD      A,D
        EXX
        CALL    L_8C4F
        EXX
        LD      A,D
        EXX
        INC     A
        INC     A
        CP      #F0
        JR      C,L_8B7A
        LD      A,#20
L_8B7A  EXX
        LD      E,A
        EXX
        LD      HL,L_9026
L_8B80  LD      A,(HL)
        OR      A
        JR      Z,L_8B88
        ADD     A,A
        OR      A
        JR      Z,L_8B3A
L_8B88  LD      A,(HL)
        INC     HL
        ADD     A,(IX+#02)
        LD      B,A
        LD      A,(HL)
        INC     HL
        ADD     A,(IX+#01)
        LD      C,A
        CALL    L_8BF5
        CP      #88
        JR      NZ,L_8BA9
        JR      L_8BA1
;
        CP      #89
        JR      NZ,L_8BA9
L_8BA1  INC     HL
        INC     HL
        INC     HL
        INC     HL
        INC     HL
        INC     HL
        JR      L_8B80
;
L_8BA9  LD      A,(HL)
        INC     HL
        ADD     A,(IX+#02)
        LD      B,A
        LD      A,(HL)
        INC     HL
        ADD     A,(IX+#01)
        LD      C,A
        CALL    L_8BF5
        CP      #80
        JR      C,L_8BC6
        CP      #8A
        JR      NC,L_8BC6
        INC     HL
        INC     HL
        INC     HL
        INC     HL
        JR      L_8B80
;
L_8BC6  LD      A,(HL)
        INC     HL
        ADD     A,(IX+#02)
        LD      B,A
        LD      A,(HL)
        INC     HL
        ADD     A,(IX+#01)
        LD      C,A
        CALL    L_8C2E
        EX      AF,AF'
        CP      #80
        JR      C,L_8BE3
        CP      #8A
        JR      NC,L_8BE3
        EX      AF,AF'

        INC     HL
        INC     HL
        JR      L_8B80
;
L_8BE3  EX      AF,AF'
        LD      A,(HL)
        INC     HL
        ADD     A,(IX+#02)
        LD      B,A
        LD      A,(HL)
        INC     HL
        ADD     A,(IX+#01)
        LD      C,A
        CALL    L_8C2E
        JR      L_8B80
;
L_8BF5  PUSH    BC
        CALL    L_9126
        LD      A,(BC)
        POP     BC
        CP      #88
        RET     Z
        CP      #89
        RET     Z
        CALL    L_9008
        LD      A,(BC)
        CP      #88
        RET     Z
        CP      #80
        JR      C,L_8C12
        CP      #8A
        JR      NC,L_8C12
        JR      L_8C17
;
L_8C12  EXX
        LD      A,E
        EXX
        JR      L_8C20
;
L_8C17  CALL    L_8C22
        CP      #88
        JR      NZ,L_8C20
        LD      A,#20
L_8C20  LD      (BC),A
        RET
;
L_8C22  PUSH    AF
        EX      (SP),HL
        LD      A,(VAR0079)
        OR      A
        JR      NZ,L_8C2B
        INC     H
L_8C2B  EX      (SP),HL
        POP     AF
        RET
;
L_8C2E  PUSH    BC
        CALL    L_9126
        LD      A,(BC)
        EX      AF,AF'

        LD      A,(BC)
        EX      AF,AF'
        POP     BC
        CP      #88
        RET     Z
        CP      #89
        RET     Z
        CALL    L_9008
        LD      A,(BC)
        CP      #8A
        JR      NC,L_8C4A
        CP      #80
        JR      C,L_8C4A
        RET
;
L_8C4A  EXX
        LD      A,E
        EXX
        LD      (BC),A
        RET
;
L_8C4F  LD      (BC),A
        INC     BC
        INC     A
        LD      (BC),A
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        ADD     A,#0F
        LD      (BC),A
        INC     BC
        INC     A
        LD      (BC),A
        RET
;
L_8C60  LD      (BC),A
        INC     BC
        LD      (BC),A
        LD      HL,#001F
        ADD     HL,BC
        LD      B,H
        LD      C,L
        LD      (BC),A
        INC     BC
        LD      (BC),A
        RET
;
L_8C6D  LD      A,(VAR000D)
        CP      #06
        JR      NC,L_8C95
        CP      #02
        JR      NC,L_8C87
        OR      A
        JR      NZ,L_8C83
        INC     A
        LD      (VAR000D),A
        LD      E,#8A
        JR      L_8C9D
;
L_8C83  LD      E,#8C
        JR      L_8C9D
;
L_8C87  DEC     A
        DEC     A
        ADD     A,A
        ADD     A,A
        ADD     A,#A0
        LD      E,A
        LD      A,(VAR000E)
        ADD     A,E
        LD      E,A
        JR      L_8C9D
;
L_8C95  SUB     #06
        ADD     A,A
        ;LD     E,A
        ;LD     A,#4E ;last die sprite
        ;SUB    E
         add a,0x60 ;die sprites (8 ╤И╤В. 16x16) - ╤А╨╡╨░╨╗╤М╨╜╨╛ ╤В╨░╨╝ ╨╜╨░╤А╨╕╤Б╨╛╨▓╨░╨╜╨░ ╨▒╨╛╨╝╨▒╨░
        LD      E,A
L_8C9D  LD      A,(VAR000C)
        LD      B,A
        LD      A,(VAR000B)
        LD      C,A
        CALL    L_9126
        CALL    L_8CBF
        CALL    L_8CBF
        LD      HL,#001E
        ADD     HL,BC
        LD      B,H
        LD      C,L
        LD      A,E
        ADD     A,#0E
        LD      E,A
        CALL    L_8CBF
        CALL    L_8CBF
        RET
;
L_8CBF  LD      A,(BC)
        LD      D,A
        LD      A,E
        LD      (BC),A
        INC     BC
        INC     E
        LD      A,D
        CP      #C0
        RET     C
        LD      A,(VAR000D)
        CP      #06
        RET     NC
        LD      A,#06
        LD      (VAR000D),A
        RET
;
L_8CD5 DB #00,#01,#FF,#00,#01,#00,#00,#FF
;
L_8CDD  LD      A,(VAR0071)
        OR      A
        RET     NZ
        LD      A,(VAR000D)
        CP      #06
        JR      C,L_8D12
        CP      #0D
        JR      Z,L_8D0C ;set die flag
        LD      HL,VAR0073
        CALL    L_873C
        LD      A,(VAR0073)
        OR      A
        RET     NZ
        LD      A,(VAR000D)
        INC     A
        LD      (VAR000D),A
        ADD     A,A
        ADD     A,A
        ADD     A,A
        LD      E,A
        LD      D,#00
        LD      BC,#000F
        CALL    L_92A6 ;sound
        RET
;
L_8D0C  LD      A,#01
        LD      (VAR007D),A ;1=dec erics
        RET
;
L_8D12  LD      B,#02
        CALL    L_91D9 ;out: a=0 ╨╕╨╗╨╕ ╨║╨╛╨┤ ╨╜╨░╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (1=up, 2=up-right, 3=right, 4=down-right, 5=down, 6=down-left, 7=left, 8=up-left)
        CP      #05
        JR      Z,L_8D29
        INC     B
        CP      #07
        JR      Z,L_8D29
        INC     B
        CP      #03
        JR      Z,L_8D29
        INC     B
        CP      #01
        RET     NZ
L_8D29  LD      A,(VAR000E)
        XOR     #02
        LD      (VAR000E),A
        LD      HL,L_8CD5
        LD      A,B
        LD      E,A
        DEC     A
        DEC     A
        ADD     A,A
        LD      B,#00
        LD      C,A
        ADD     HL,BC
        LD      A,(VAR000B)
        ADD     A,(HL)
        LD      C,A
        LD      A,(VAR000C)
        INC     HL
        ADD     A,(HL)
        LD      B,A
        PUSH    BC
        CALL    L_9126
        LD      D,#00
        CALL    L_8D8A
        CALL    L_8D8A
        LD      HL,#001E
        ADD     HL,BC
        LD      B,H
        LD      C,L
        CALL    L_8D8A
        CALL    L_8D8A
        LD      A,D
        OR      A
        POP     BC
        RET     NZ
        LD      A,B
        LD      (VAR000C),A
        LD      A,C
        LD      (VAR000B),A
        LD      A,E
        LD      (VAR000D),A
        LD      B,#08
        LD      A,(VAR000E)
        SLA     A
        SLA     A
        SLA     A
        OR      #40
        LD      E,A
        LD      D,#00
        PUSH    BC
        LD      BC,#0005
        CALL    L_92A6 ;sound
        POP     BC
        RET

L_8D8A  LD      A,(BC)
        INC     BC
        CP      #88
        JR      NZ,L_8D91
        INC     D
L_8D91  CP      #89
        JR      NZ,L_8D96
        INC     D
L_8D96  CP      #80
        RET     NZ
        INC     D
        RET
;
L_8D9B  LD      BC,(VAR0000)
        LD      HL,(VAR0002)
        SBC     HL,BC
        JR      NC,L_8DAA
        LD      (VAR0002),BC
L_8DAA  LD      BC,VAR038D
        CALL    L_8FBC
;
 DB #20
 db "SCORE";#10,#11,#12,#13,#14
 db #21
 db #20
 DB #00
;
        LD      HL,(VAR0000)
        CALL    Pr12345
        CALL    L_8FBC
;
 DB #20,#20,#20
 db "BONUS";#15,#16,#17,#18,#19
 DB #21
 db #20,#00
;
        LD      HL,(VAR000F)
        CALL    Pr12345
        DEC     BC
        CALL    L_8FBC
;
 DB #20,#00
;
        LD      BC,VAR066D
        CALL    L_8FBC
;
 DB #20,#20,#20,#20,#20
 db "STAGE";#10,#30,#95,#31,#14
 db #21
 db #20,#00
;
        LD      A,(VAR0012)
        LD      (BC),A
        INC     BC
        CALL    L_8FBC
;
 DB #20,#20,#20,#20
 db "ERICS";#14,#13,#97,#11,#10
 db #21
 db #20,#00
;
        LD      A,(VAR0011)
        LD      (BC),A
        INC     BC
        CALL    L_8FBC
;
 DB #20,#20,#20,#20,#20,#00
;
        RET
;
L_8E0F  LD      A,(VAR0012)
        AND     #03
        RET     NZ
        LD      BC,VAR066D
        LD      A,(VAR0088)
        OR      A
        JR      Z,L_8E2A
        LD      HL,VAR0088
        CALL    L_873C
        LD      HL,L_8E44
        JP      L_9138
;
L_8E2A  LD      H,B
        LD      L,C
        LD      B,#1A
L_8E2E  LD      (HL),#20
        INC     HL
        DJNZ    L_8E2E
        LD      HL,VAR008A
        CALL    L_873C
        LD      A,(VAR008A)
        OR      A
        RET     NZ
        LD      HL,VAR0088
        JP      L_873C
;
L_8E44 DB #20,#20,#15,#16,#96,#15,#20,#95
 DB #18,#30,#16,#20,#10,#14,#30,#30
 DB #97,#17,#31,#20,#10,#30,#95,#31
 DB #14,#20,#00
;
L_8E5F  LD      A,#88
        LD      B,#20
        LD      HL,VAR038C
L_8E66  LD      (HL),A
        INC     HL
        DJNZ    L_8E66
        LD      B,#20
        LD      HL,VAR066C
L_8E6F  LD      (HL),A
        INC     HL
        DJNZ    L_8E6F
        LD      B,#17
        LD      HL,VAR03AB
        LD      DE,#001F
L_8E7B  LD      (HL),A
        INC     HL
        LD      (HL),A
        ADD     HL,DE
        DJNZ    L_8E7B
        LD      HL,VAR03EF
        LD      C,#05
        LD      A,#89
L_8E88  LD      B,#07
L_8E8A  CALL    L_8E9D
        OR      A
        LD      DE,#001D
        SBC     HL,DE
        DJNZ    L_8E8A
        LD      DE,#0064
        ADD     HL,DE
        DEC     C
        JR      NZ,L_8E88
        RET
;
L_8E9D  LD      (HL),A
        INC     HL
        LD      (HL),A
        LD      DE,#001F
        ADD     HL,DE
        LD      (HL),A
        INC     HL
        LD      (HL),A
        RET
;
L_8EA8  CALL    L_8F8C
        AND     #1F
        CP      #0F
        JR      NC,L_8EA8
        LD      C,A
L_8EB2  CALL    L_8F8C
        AND     #1F
        CP      #0B
        JR      NC,L_8EB2
        LD      B,A
        RET
;
L_8EBD  LD      A,B
        ADD     A,A
        ADD     A,#01
        LD      B,A
        LD      A,C
        ADD     A,A
        ADD     A,#01
        LD      C,A
        RET
;
L_8EC8  CALL    L_8EA8
        LD      A,C
        LD      (VAR007E),A
        CP      #02
        JR      C,L_8EC8
        CP      #0D
        JR      NC,L_8EC8
        LD      A,B
        LD      (VAR007F),A
        CP      #02
        JR      C,L_8EC8
        CP      #09
        JR      NC,L_8EC8
        CALL    L_8EBD
        PUSH    BC
        CALL    L_9126
        LD      A,(BC)
        CP      #20
        POP     BC
        JR      NZ,L_8EC8
        LD      A,C
        LD      (VAR000B),A
        LD      A,B
        LD      (VAR000C),A
        LD      A,#23
L_8EFA  EX      AF,AF'

L_8EFB  CALL    L_8EA8
        LD      D,B
        LD      E,C
        LD      A,(VAR007E)
        SUB     E
        JR      NC,L_8F08
        NEG
L_8F08  CP      #02
        JR      NC,L_8F1A
        LD      A,(VAR007F)
        SUB     D
        JR      NC,L_8F14
        NEG
L_8F14  CP      #02
        JR      NC,L_8F1A
        JR      L_8EFB
;
L_8F1A  LD      A,C
        BIT     0,A
        JR      Z,L_8F26
        LD      A,B
        BIT     0,A
        JR      NZ,L_8EFB
        JR      L_8F2B
;
L_8F26  LD      A,B
        BIT     0,A
        JR      Z,L_8EFB
L_8F2B  CALL    L_8EBD
        LD      HL,L_8F72
L_8F31  LD      A,(HL)
        INC     A
        JR      Z,L_8F44
        DEC     A
        CP      B
        JR      NZ,L_8F40
        INC     HL
        LD      A,(HL)
        CP      C
        JR      Z,L_8EFB
        JR      L_8F41
;
L_8F40  INC     HL
L_8F41  INC     HL
        JR      L_8F31
;
L_8F44  LD      A,(VAR0082)
        OR      A
        JR      NZ,L_8F57
        LD      A,B
        LD      (VAR0081),A
        LD      A,C
        LD      (VAR0080),A
        LD      A,#01
        LD      (VAR0082),A
L_8F57  LD      A,B
        LD      (VAR0084),A
        LD      A,C
        LD      (VAR0083),A
        LD      A,#01
        LD      (VAR0085),A
        CALL    L_9008
        LD      A,#80
        CALL    L_8C60
        EX      AF,AF'
        DEC     A
        JP      NZ,L_8EFA
        RET

L_8F72 DB #01,#03,#03,#01,#13,#01,#15,#03
 DB #01,#1B,#03,#1D,#15,#1B,#13,#1D
 DB #FF
;
L_8F8C  PUSH    HL
        PUSH    DE
        PUSH    BC
        LD      HL,(VAR0086)
        LD      A,H
        RLA
        RLA
        XOR     L
        RRA
        PUSH    AF
        LD      A,H
        XOR     L
        LD      H,A
        LD      A,R
        XOR     L
        LD      L,A
        POP     AF
        RL      L
        RL      H
        LD      (VAR0086),HL
        LD      A,L
        POP     BC
        POP     DE
        POP     HL
        RET
;
L_8FBC  EX      (SP),HL
        CALL    L_9138
        EX      (SP),HL
        RET
;
Pr12345
        LD      DE,#2710
        CALL    L_8FE1
        LD      DE,#03E8
        CALL    L_8FE1
        LD      DE,#0064
        CALL    L_8FE1
        LD      DE,#000A
        CALL    L_8FE1
        LD      A,L
        LD      (BC),A
        INC     BC
        XOR     A
        LD      (BC),A
        INC     BC
        RET
;
L_8FE1  XOR     A
L_8FE2  OR      A
        SBC     HL,DE
        JR      C,L_8FEA
        INC     A
        JR      L_8FE2
;
L_8FEA  ADD     HL,DE
        LD      (BC),A
        INC     BC
        RET
;
L_8FEE  LD      HL,VAR008C
        LD      DE,VAR008D
        LD      BC,#02FF
        LD      (HL),#20
        LDIR
        RET
;
L_8FFC  LD      DE,VAR038C
        LD      HL,VAR008C
        LD      BC,#0300
        LDIR
        RET
;
L_9008  PUSH    HL
        CALL    L_9126
        LD      HL,#FD00
        ADD     HL,BC
        LD      B,H
        LD      C,L
        POP     HL
        RET
;
L_9014  LD      HL,#5000
L_9017  DEC     HL
        LD      A,H
        OR      L
        JR      NZ,L_9017
        RET

L_9026 DB #00,#FF,#00,#FE,#00,#FD,#00,#FC
 DB #01,#FF,#01,#FE,#01,#FD,#01,#FC
 DB #00,#02,#00,#03,#00,#04,#00,#05
 DB #01,#02,#01,#03,#01,#04,#01,#05
 DB #FF,#00,#FE,#00,#FD,#00,#FC,#00
 DB #FF,#01,#FE,#01,#FD,#01,#FC,#01
 DB #02,#00,#03,#00,#04,#00,#05,#00
 DB #02,#01,#03,#01,#04,#01,#05,#01
 DB #80,#80,#80,#80
;
L_906A  LD      HL,L_9076
        LD      DE,VAR0005
        LD      BC,#0092
        LDIR
        RET
;
L_9076 DW L_85B3
 DW L_85B3
 DW L_85B3
;
 DB #01,#01,#02,#00,#00,#00,#05,#01
 DB #00,#02,#01,#00,#00,#00,#1F,#00
 DB #00,#00,#00,#00,#03,#01,#03,#05
 DB #00,#00,#00,#01,#0B,#02,#09,#00
 DB #00,#01,#01,#01,#01,#09,#00,#00
 DB #00,#07,#01,#03,#05,#00,#00,#00
 DB #00,#00,#02,#09,#00,#00,#00,#00
 DB #00,#01,#09,#00,#00,#00,#00,#00
 DB #03,#05,#00,#00,#00,#00,#00,#02
 DB #03,#00,#00,#FF,#FF,#FF,#FF,#00
 DB #00,#00,#00,#00,#00,#00,#00,#00
 DB #00,#00,#00,#00,#00,#00,#00,#00
 DB #00,#00,#00,#00,#FF,#00,#00,#04
 DB #00,#04,#00,#07,#00,#05,#00,#03
 DB #00,#32,#00,#00,#00,#01,#01,#00
 DB #01,#01,#00,#FF,#FF,#00,#10,#00
 DB #08
;
L_90FD  IM      1
        EI
        CALL    L_9140
        LD      A,#00
        OUT     (#FE),A
        LD      IY,#0000
        LD      HL,L_92C2
        CALL    L_9114
        JP      DrawScreen
;
L_9114  LD      E,(HL)
        INC     HL
        LD      D,(HL)
        INC     HL
        LD      C,(HL)
        INC     HL
        LD      B,(HL)
        INC     HL
        PUSH    HL
        LD      HL,VAR098C
        ADD     HL,DE
        EX      DE,HL
        POP     HL
        LDIR
        RET
;
L_9126  PUSH    HL
        LD      L,B
        LD      H,#00
        LD      B,H
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,BC
        LD      BC,VAR038C
        ADD     HL,BC
        EX      (SP),HL
        POP     BC
        RET
;
L_9138  LD      A,(HL)
        INC     HL
        OR      A
        RET     Z
        LD      (BC),A
        INC     BC
        JR      L_9138
;
L_9140  LD      HL,VAR038C
        LD      DE,VAR038D
        LD      BC,#02FF
        LD      A,#20
        LD      (HL),A
        LDIR
        LD      HL,VAR068C
        LD      DE,VAR068D
        LD      BC,#02FF
        CPL
        LD      (HL),A
        LDIR
        RET
;

setpgs_scr
        ld a,(user_scr0_low) ;ok
        SETPG32KLOW
        ld a,(user_scr0_high) ;ok
        SETPG32KHIGH
        ret

redraw
        ld e,0
        OS_CLS

        ld hl,VAR038C
        ld de,VAR068C ;╤З╤В╨╛ ╤Б╨╡╨╣╤З╨░╤Б ╨╛╤В╤А╨╕╤Б╨╛╨▓╨░╨╜╨╛
        ld bc,768
redraw0
        ld a,(hl)
        inc a
        ld (de),a
        inc de
        cpi
        jp pe,redraw0

DrawScreen
;draw screen
        call setpgs_scr

        LD      DE,VAR038C
        LD      HL,VAR068C
       
        if EGA
       
        exx
        ld hl,0x8000+4
        ld lx,24
drawscreen0
        ld hx,32
drawscreen00
        exx
        ld a,(de)
        cp (hl)
        ld (hl),a
        call nz,L_9182
        ld a,#20
        ld (de),a
        inc de
        inc hl
        exx
        inc hl
        dec hx
        jp nz,drawscreen00
        ld bc,8*40 - 32
        add hl,bc
        dec lx
        jp nz,drawscreen0
        ret
       
        else ;6912
       
        EXX
        LD      D,#40
        LD      BC,#5800
L_9168  EXX
        LD      A,(DE)
        CP      (HL)
        LD      (HL),A
        CALL    NZ,L_9182
        LD      A,#20
        LD      (DE),A
        INC     DE
        INC     HL
        EXX
        INC     C
        JR      NZ,L_9168
        INC     B
        LD      A,D
        ADD     A,#08
        LD      D,A
        CP      #58
        JR      C,L_9168
        RET
       
        endif
;
L_9182
;draw tile
        if EGA
        exx
;hl=scr (0x8000+)
        push hl
        ld e,a
        ld d,egagfx/256
       
;de=tilegfx
        ld bc,40
        push hl
        push hl
        dup 8
        ld a,(de) ;font
        ld (hl),a ;scr
        inc d
        add hl,bc
        edup
        pop hl
        set 6,h
        ;ld d,font/256
        dup 8
        ld a,(de) ;font
        ld (hl),a ;scr
        inc d
        add hl,bc
        edup
        pop hl
        set 5,h
        push hl
        ;ld d,font/256
        dup 8
        ld a,(de) ;font
        ld (hl),a ;scr
        inc d
        add hl,bc
        edup
        pop hl
        set 6,h
        ;ld d,font/256
        dup 7
        ld a,(de) ;font
        ld (hl),a ;scr
        inc d
        add hl,bc
        edup
        ld a,(de) ;font
        ld (hl),a ;scr
        pop hl
        exx
        ret
       
        else ;6912
       
        EXX
        PUSH    DE
        LD      E,A
        LD      D,#00
        LD      L,E
        LD      H,D
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,DE
        LD      DE,VAR098C
        ADD     HL,DE
        POP     DE
        LD      E,C
        PUSH    BC
        LD      C,D
        LD      B,#08
L_9197  LD      A,(HL)
        LD      (DE),A
        INC     HL
        INC     D
        DJNZ    L_9197
        LD      D,C
        POP     BC
        LD      A,(HL)
        LD      (BC),A
        EXX
        RET
       
        endif
       
;actionkeycodes
L_91A3 DB #57,#49,#45,#4F,#44,#4C,#43,#0E
 DB #58,#4D,#5A,#4E,#41,#4A,#51,#55
;
L_91B3  LD      A,(L_9284);keyboard/joystick?
        OR      A
        JR      NZ,L_91CB ;out: a=0: 0 pressed, -1: not pressed
L_91B9
;out: a=0: break pressed
        LD      A,#FE
        IN      A,(#FE)
        AND     #01
        CPL
        RET     Z
        LD      A,#7F
        IN      A,(#FE)
        AND     #01
        CPL
        RET     Z
        XOR     A
        RET
;
L_91CB
;out: a=0: 0 pressed, -1: not pressed
        PUSH    BC
        LD      BC,#EFFE;sinclair joystick
        IN      A,(C)
        POP     BC
        AND     #01
        LD      A,#FF
        RET     Z
        XOR     A
        RET
;
L_91D9
;out: a=0 ╨╕╨╗╨╕ ╨║╨╛╨┤ ╨╜╨░╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (1=up, 2=up-right, 3=right, 4=down-right, 5=down, 6=down-left, 7=left, 8=up-left)
        LD      A,(L_9284);keyboard/joystick?
        OR      A
        JR      Z,L_9208;readactionkey
        PUSH    BC
        LD      BC,#EFFE;sinclair joystick
        IN      A,(C)
        CPL
        RRCA
        AND     #0F
        POP     BC
        RET     Z
        PUSH    HL
        PUSH    BC
        LD      C,A
        LD      B,#00
        LD      HL,L_91F8
        ADD     HL,BC
        LD      A,(HL)
        POP     BC
        POP     HL
        RET
;
L_91F8 DB #00,#01,#05,#00,#03,#02,#04,#00
 DB #07,#08,#06,#00,#00,#01,#05,#00
;readactionkey
L_9208  CALL    L_9223;readkey
        PUSH    HL
        PUSH    BC
        LD      HL,L_91A3;actionkeycodes
        LD      B,#10
L_9212  CP      (HL)
        JR      Z,L_921A
        INC     HL
        DJNZ    L_9212
        LD      B,#12
L_921A  LD      A,#12
        SUB     B
        RRCA
        AND     #7F
        POP     BC
        POP     HL
        RET
;readkey
L_9223  PUSH    BC
        PUSH    HL
        PUSH    DE
        LD      HL,L_925C
        LD      BC,#FEFE
L_922C  IN      A,(C)
        CPL
        AND     #1F
        JR      Z,L_9239
L_9233  RRCA
        JR      C,L_9247
L_9236  INC     HL
        JR      L_9233
;
L_9239  INC     HL
        INC     HL
        INC     HL
        INC     HL
        INC     HL
        RLC     B
        JR      C,L_922C
        XOR     A
        POP     DE
        POP     HL
        POP     BC
        RET
;
L_9247  LD      D,A
        LD      A,(HL)
        CP      #20
        JR      Z,L_9255
        CP      #E3
        JR      Z,L_9255
        POP     DE
        POP     HL
        POP     BC
        RET
;
L_9255  LD      A,D
        AND     #7F
        JR      Z,L_9239
        JR      L_9236
;╨║╨╛╨┤╤Л ╨║╨╜╨╛╨┐╨╛╨║
L_925C DB #E3,#5A,#58,#43,#56,#41,#53,#44
 DB #46,#47,#51,#57,#45,#52,#54,#31
 DB #32,#33,#34,#35,#30,#39,#38,#37
 DB #36,#50,#4F,#49,#55,#59,#0D,#4C
 DB #4B,#4A,#48,#20,#0E,#4D,#4E,#42
;
L_9284 DB #00
;
L_9285
;keep hl!!!
        ;push hl
        ;GET_KEY ;rasmer
        ;pop hl
        ld a,(curkey)
        cp key_esc
        jp z,quiter
        cp key_redraw
        call z,redraw

        CALL    L_9223;readkey
        CP      "K"
        JR      Z,L_92A3
        CP      "J"
        JR      Z,L_929B
        CALL    L_91B9 ;out: a=0: break pressed
        OR      A
        JR      NZ,L_92A3
        CALL    L_91CB ;out: a=0: 0 pressed
        OR      A
        RET     Z
L_929B  LD      A,#01
L_929D  LD      (L_9284),A
        LD      A,#FF
        RET
;
L_92A3  XOR     A
        JR      L_929D
;
L_92A6
;sound
        PUSH    HL
L_92A7  LD      A,#10
        CALL    L_92B8
        LD      A,#00
        CALL    L_92B8
        DEC     BC
        LD      A,C
        OR      B
        JR      NZ,L_92A7
        POP     HL
        RET
;
L_92B8  OUT     (#FE),A
        LD      H,D
        LD      L,E
L_92BC  DEC     HL
        LD      A,H
        OR      L
        JR      NZ,L_92BC
        RET
;
L_92C2 DW #0000
 DW #0900
;
 DB #3C,#42,#46,#5A,#62,#42,#3C,#00
 DB #47,#10,#30,#50,#10,#10,#10,#7C
 DB #00,#47,#3C,#42,#02,#0C,#30,#40
 DB #7E,#00,#47,#3C,#42,#02,#1C,#02
 DB #42,#3C,#00,#47,#04,#0C,#14,#24
 DB #7E,#04,#04,#00,#47,#7E,#40,#78
 DB #04,#02,#44,#38,#00,#47,#1C,#20
 DB #40,#7C,#42,#42,#3C,#00,#47,#7E
 DB #42,#04,#08,#10,#10,#10,#00,#47
 DB #3C,#42,#42,#3C,#42,#42,#3C,#00
 DB #47,#3C,#42,#42,#3E,#02,#04,#38
 DB #00,#47,#3F,#FF,#40,#2F,#10,#0F
 DB #55,#31,#46,#FC,#F2,#09,#F5,#03
 DB #FE,#6B,#15,#46,#08,#1C,#3E,#49
 DB #08,#08,#08,#08,#47,#08,#04,#06
 DB #FF,#06,#04,#08,#00,#47,#00,#00
 DB #75,#45,#72,#45,#75,#00,#47,#00
 DB #00,#77,#22,#22,#22,#72,#00,#47
 DB #00,#00,#00,#0F,#08,#08,#08,#08
 DB #47,#00,#00,#00,#F0,#10,#10,#10
 DB #10,#47,#08,#08,#08,#0F,#00,#00
 DB #00,#00,#47,#10,#10,#10,#F0,#00
 DB #00,#00,#00,#47,#00,#00,#00,#FF
 DB #00,#00,#00,#00,#47,#08,#08,#08
 DB #08,#08,#08,#08,#08,#47,#10,#10
 DB #10,#10,#10,#10,#10,#10,#47,#04
 DB #08,#10,#10,#10,#08,#04,#00,#47
 DB #20,#10,#08,#08,#08,#10,#20,#00
 DB #47,#00,#00,#00,#00,#30,#30,#00
 DB #00,#47,#44,#FF,#80,#BF,#B6,#BF
 DB #80,#FF,#46,#A9,#F5,#15,#D5,#D2
 DB #D4,#18,#F0,#46,#08,#08,#08,#08
 DB #49,#3E,#1C,#08,#47,#10,#20,#60
 DB #FF,#60,#20,#10,#00,#47,#7F,#7F
 DB #7F,#7F,#79,#79,#7F,#7F,#44,#7F
 DB #7F,#7F,#7F,#4F,#4F,#7F,#7F,#44
 DB #00,#00,#00,#00,#00,#00,#00,#00
 DB #40,#18,#18,#18,#00,#18,#18,#18
 DB #00,#47,#00,#7F,#7F,#60,#60,#60
 DB #60,#7F,#43,#00,#F8,#F8,#06,#06
 DB #06,#06,#F8,#43,#00,#1F,#1F,#60
 DB #60,#60,#60,#60,#43,#00,#F8,#F8
 DB #06,#06,#06,#06,#06,#43,#00,#60
 DB #60,#78,#78,#66,#66,#61,#43,#00
 DB #06,#06,#1E,#1E,#66,#66,#86,#43
 DB #00,#7F,#7F,#60,#60,#60,#60,#7F
 DB #43,#00,#FE,#FE,#00,#00,#00,#00
 DB #F8,#43,#00,#7F,#7F,#60,#60,#60
 DB #60,#7F,#43,#00,#F8,#F8,#06,#06
 DB #06,#06,#F8,#43,#00,#07,#07,#18
 DB #18,#60,#60,#7F,#43,#00,#E0,#E0
 DB #18,#18,#06,#06,#FE,#43,#00,#60
 DB #60,#78,#78,#66,#66,#61,#43,#00
 DB #06,#06,#06,#06,#06,#06,#86,#43
 DB #3C,#42,#46,#5A,#62,#42,#3C,#00
 DB #47,#3C,#42,#02,#0C,#10,#00,#10
 DB #00,#47,#7F,#60,#60,#60,#60,#7F
 DB #7F,#00,#43,#F8,#06,#06,#06,#06
 DB #F8,#F8,#00,#43,#60,#60,#60,#60
 DB #60,#1F,#1F,#00,#43,#06,#06,#06
 DB #06,#06,#F8,#F8,#00,#43,#61,#60
 DB #60,#60,#60,#60,#60,#00,#43,#86
 DB #06,#06,#06,#06,#06,#06,#00,#43
 DB #7F,#60,#60,#60,#60,#7F,#7F,#00
 DB #43,#F8,#00,#00,#00,#00,#FE,#FE
 DB #00,#43,#7F,#60,#60,#60,#60,#60
 DB #60,#00,#43,#F8,#60,#60,#18,#18
 DB #06,#06,#00,#43,#7F,#60,#60,#60
 DB #60,#60,#60,#00,#43,#FE,#06,#06
 DB #06,#06,#06,#06,#00,#43,#61,#60
 DB #60,#60,#60,#60,#60,#00,#43,#86
 DB #66,#66,#1E,#1E,#06,#06,#00,#43
 DB #00,#00,#00,#7C,#00,#00,#00,#00
 DB #47,#18,#24,#42,#7E,#42,#42,#42
 DB #00,#47,#7C,#42,#42,#7C,#42,#42
 DB #7C,#00,#47,#1C,#22,#40,#40,#40
 DB #22,#1C,#00,#47,#78,#44,#42,#42
 DB #42,#44,#78,#00,#47,#7E,#40,#40
 DB #78,#40,#40,#7E,#00,#47,#7E,#40
 DB #40,#78,#40,#40,#40,#00,#47,#1C
 DB #22,#40,#4E,#42,#22,#1C,#00,#47
 DB #42,#42,#42,#7E,#42,#42,#42,#00
 DB #47,#1C,#08,#08,#08,#08,#08,#1C
 DB #00,#47,#0E,#04,#04,#04,#04,#44
 DB #38,#00,#47,#42,#44,#48,#70,#48
 DB #44,#42,#00,#47,#40,#40,#40,#40
 DB #40,#40,#7E,#00,#47,#42,#66,#5A
 DB #5A,#42,#42,#42,#00,#47,#42,#62
 DB #52,#4A,#46,#42,#42,#00,#47,#3C
 DB #42,#42,#42,#42,#42,#3C,#00,#47
 DB #7C,#42,#42,#7C,#40,#40,#40,#00
 DB #47,#3C,#42,#42,#42,#5A,#64,#3A
 DB #00,#47,#7C,#42,#42,#7C,#48,#44
 DB #42,#00,#47,#3C,#42,#40,#3C,#02
 DB #42,#3C,#00,#47,#3E,#08,#08,#08
 DB #08,#08,#08,#00,#47,#42,#42,#42
 DB #42,#42,#42,#3C,#00,#47,#41,#41
 DB #41,#41,#22,#14,#08,#00,#47,#42
 DB #42,#42,#5A,#5A,#66,#42,#00,#47
 DB #42,#42,#24,#18,#24,#42,#42,#00
 DB #47,#22,#22,#22,#1C,#08,#08,#08
 DB #00,#47,#7F,#02,#04,#08,#10,#20
 DB #7F,#00,#47,#1C,#22,#49,#4F,#49
 DB #22,#1C,#00,#47,#04,#08,#10,#10
 DB #10,#08,#04,#00,#47,#20,#10,#08
 DB #08,#08,#10,#20,#00,#47,#00,#00
 DB #00,#00,#30,#30,#00,#00,#47,#3C
 DB #42,#02,#0C,#10,#00,#10,#00,#47
 DB #00,#00,#01,#01,#07,#1F,#3F,#7F
 DB #45,#50,#E0,#50,#00,#C0,#F0,#F8
 DB #FC,#45,#00,#00,#01,#01,#07,#1F
 DB #3F,#7F,#45,#20,#E0,#20,#00,#C0
 DB #F0,#F8,#FC,#45,#01,#00,#01,#01
 DB #07,#1F,#3F,#7F,#45,#40,#80,#40
 DB #00,#C0,#F0,#F8,#FC,#45,#00,#01
 DB #00,#01,#07,#1F,#3F,#7F,#45,#80
 DB #40,#80,#00,#C0,#F0,#F8,#FC,#45
 DB #00,#00,#01,#03,#07,#1F,#3F,#7F
 DB #45,#00,#00,#00,#80,#C0,#F0,#F8
 DB #FC,#45,#00,#00,#00,#01,#02,#07
 DB #1F,#3F,#45,#00,#00,#00,#00,#80
 DB #C0,#F0,#F8,#45,#00,#00,#01,#03
 DB #07,#1F,#3F,#7F,#45,#00,#00,#00
 DB #80,#C0,#F0,#F8,#FC,#45,#00,#00
 DB #00,#00,#01,#03,#07,#1F,#45,#00
 DB #00,#00,#00,#00,#80,#C0,#F0,#45
 DB #FF,#FF,#FF,#FF,#7F,#3F,#1F,#07
 DB #45,#FE,#FE,#FE,#FE,#FC,#F8,#F0
 DB #C0,#45,#FF,#FF,#FF,#FF,#7F,#3F
 DB #1F,#07,#45,#FE,#FE,#FE,#FE,#FC
 DB #F8,#F0,#C0,#45,#FF,#FF,#FF,#FF
 DB #7F,#3F,#1F,#07,#45,#FE,#FE,#FE
 DB #FE,#FC,#F8,#F0,#C0,#45,#FF,#FF
 DB #FF,#FF,#7F,#3F,#1F,#07,#45,#FE
 DB #FE,#FE,#FE,#FC,#F8,#F0,#C0,#45
 DB #FF,#FF,#FF,#FF,#7F,#3F,#1F,#07
 DB #45,#FE,#FE,#FE,#FE,#FC,#F8,#F0
 DB #C0,#45,#7F,#7F,#7F,#7F,#3F,#1F
 DB #07,#00,#45,#FC,#FC,#FC,#FC,#F8
 DB #F0,#C0,#00,#45,#FF,#FF,#FF,#FF
 DB #7F,#3F,#1F,#07,#45,#FE,#FE,#FE
 DB #FE,#FC,#F8,#F0,#C0,#45,#3F,#3F
 DB #3F,#3F,#1F,#07,#00,#00,#45,#F8
 DB #F8,#F8,#F8,#F0,#C0,#00,#00,#45
 DB #FD,#05,#FD,#00,#DF,#50,#DF,#00
 DB #42,#DD,#05,#FD,#00,#DF,#50,#DB
 DB #00,#42,#DC,#05,#FD,#00,#DF,#50
 DB #5B,#00,#42,#DC,#05,#7D,#00,#DE
 DB #50,#5B,#00,#42,#D8,#05,#5D,#00
 DB #9E,#50,#4B,#00,#42,#50,#05,#50
 DB #00,#8A,#50,#08,#00,#42,#10,#05
 DB #50,#00,#02,#50,#08,#00,#42,#00
 DB #01,#40,#00,#02,#40,#08,#00,#42
 DB #FD,#FD,#FD,#00,#DF,#DF,#DF,#00
 DB #43,#FD,#FD,#FD,#00,#DF,#DF,#DF
 DB #00,#42,#0F,#3F,#0F,#1E,#1F,#0E
 DB #07,#0E,#47,#80,#E0,#80,#C0,#C0
 DB #80,#0E,#10,#47,#07,#07,#1F,#07
 DB #0D,#0F,#04,#03,#47,#C0,#C0,#F0
 DB #C0,#60,#E0,#40,#80,#47,#07,#07
 DB #1F,#07,#0D,#0F,#04,#03,#47,#C0
 DB #C0,#F0,#C0,#60,#E0,#40,#80,#47
 DB #18,#3C,#18,#3C,#5A,#3C,#66,#00
 DB #44,#38,#54,#7C,#6C,#38,#10,#0C
 DB #00,#42,#42,#42,#42,#7E,#42,#42
 DB #42,#00,#47,#78,#44,#42,#42,#42
 DB #44,#78,#00,#47,#7E,#40,#40,#78
 DB #40,#40,#40,#00,#47,#18,#24,#42
 DB #7E,#42,#42,#42,#00,#47,#42,#66
 DB #5A,#5A,#42,#42,#42,#00,#47,#1C
 DB #08,#08,#08,#08,#08,#1C,#00,#47
 DB #7F,#49,#0A,#0B,#0A,#0A,#0B,#1C
 DB #47,#7F,#48,#28,#28,#A8,#68,#28
 DB #1C,#47,#3E,#7F,#79,#78,#70,#70
 DB #38,#3C,#44,#38,#7C,#FE,#FE,#FE
 DB #7C,#38,#00,#45,#1B,#3B,#6B,#4B
 DB #0F,#0E,#0C,#1C,#44,#B0,#B8,#AC
 DB #A4,#E0,#E0,#60,#70,#44,#0B,#1B
 DB #3B,#33,#1B,#0F,#0E,#1C,#44,#A0
 DB #B0,#B8,#98,#B0,#E0,#E0,#70,#44
 DB #03,#03,#0F,#03,#06,#07,#02,#01
 DB #47,#E0,#E0,#F8,#E0,#B0,#F0,#20
 DB #C0,#47,#07,#07,#1F,#07,#0D,#0F
 DB #04,#03,#47,#C0,#C0,#F0,#C0,#60
 DB #E0,#40,#80,#47,#03,#03,#0F,#03
 DB #06,#07,#02,#01,#47,#E0,#E0,#F8
 DB #E0,#F0,#F0,#E0,#C0,#47,#03,#03
 DB #0F,#03,#06,#07,#02,#01,#47,#E0
 DB #E0,#F8,#E0,#F0,#F0,#E0,#C0,#47
 DB #07,#07,#1F,#07,#0F,#0F,#07,#03
 DB #47,#C0,#C0,#F0,#C0,#60,#E0,#40
 DB #80,#47,#07,#07,#1F,#07,#0F,#0F
 DB #07,#03,#47,#C0,#C0,#F0,#C0,#60
 DB #E0,#40,#80,#47,#07,#07,#1F,#00
 DB #08,#08,#00,#03,#47,#C0,#C0,#F0
 DB #00,#20,#20,#00,#80,#47,#03,#03
 DB #0F,#00,#04,#04,#00,#01,#47,#E0
 DB #E0,#F8,#00,#10,#10,#00,#C0,#47
 DB #0D,#1D,#35,#25,#07,#06,#0E,#00
 DB #44,#D0,#D8,#C8,#D0,#F0,#70,#30
 DB #38,#44,#0B,#1B,#13,#0B,#0F,#0E
 DB #0C,#1C,#44,#B0,#B8,#AC,#A4,#E0
 DB #60,#70,#00,#44,#07,#0D,#1B,#03
 DB #03,#01,#02,#06,#44,#F0,#E8,#E8
 DB #E0,#E0,#E0,#E0,#E0,#44,#07,#0B
 DB #0B,#03,#01,#01,#03,#07,#44,#B0
 DB #D8,#EC,#E0,#E0,#D0,#90,#B0,#44
 DB #0F,#17,#17,#07,#07,#07,#07,#07
 DB #44,#E0,#B0,#D8,#C0,#C0,#80,#40
 DB #60,#44,#0D,#1B,#37,#07,#07,#0B
 DB #09,#0D,#44,#E0,#D0,#D0,#C0,#80
 DB #80,#C0,#E0,#44,#0D,#1E,#1F,#0F
 DB #0F,#0E,#0C,#1C,#44,#60,#D8,#D8
 DB #D8,#E0,#60,#70,#00,#44,#06,#1B
 DB #1B,#1B,#07,#06,#0E,#00,#44,#B0
 DB #78,#F8,#F0,#F0,#70,#30,#38,#44
 DB #00,#00,#07,#1F,#3F,#3F,#7F,#7F
 DB #42,#00,#00,#C0,#F0,#F8,#F8,#FC
 DB #FC,#42,#00,#03,#0F,#1F,#1F,#3F
 DB #3F,#3F,#42,#00,#80,#E0,#F0,#F0
 DB #F8,#F8,#F8,#42,#00,#00,#07,#1F
 DB #3F,#3F,#7F,#7F,#43,#00,#00,#C0
 DB #F0,#F8,#F8,#FC,#FC,#43,#00,#03
 DB #0F,#1F,#1F,#3F,#3F,#3F,#43,#00
 DB #80,#E0,#F0,#F0,#F8,#F8,#F8,#43
 DB #00,#00,#07,#1F,#3F,#3F,#7F,#7F
 DB #43,#00,#00,#C0,#F0,#F8,#F8,#FC
 DB #FC,#43,#00,#03,#0F,#1F,#1F,#3F
 DB #3F,#3F,#43,#00,#80,#E0,#F0,#F0
 DB #F8,#F8,#F8,#43,#00,#00,#07,#1F
 DB #3F,#3F,#7F,#7F,#43,#00,#00,#C0
 DB #F0,#F8,#F8,#FC,#FC,#43,#00,#03
 DB #0F,#1F,#1F,#3F,#3F,#3F,#43,#00
 DB #80,#E0,#F0,#F0,#F8,#F8,#F8,#43
 DB #7F,#7F,#3F,#3F,#1F,#07,#01,#00
 DB #42,#FC,#FC,#F8,#F8,#F0,#C0,#10
 DB #E0,#42,#3F,#3F,#3F,#1F,#1F,#07
 DB #01,#00,#42,#F8,#F8,#F8,#F0,#F0
 DB #C0,#10,#E0,#42,#7F,#7F,#3F,#3F
 DB #1F,#07,#01,#00,#43,#FC,#FC,#F8
 DB #F8,#F0,#C0,#10,#E0,#43,#3F,#3F
 DB #3F,#1F,#1F,#07,#01,#00,#43,#F8
 DB #F8,#F8,#F0,#F0,#C0,#10,#E0,#43
 DB #7F,#7F,#3F,#3F,#1F,#07,#01,#00
 DB #43,#FC,#FC,#F8,#F8,#F0,#C0,#10
 DB #E0,#43,#3F,#3F,#3F,#1F,#1F,#07
 DB #01,#00,#43,#F8,#F8,#F8,#F0,#F0
 DB #C0,#10,#E0,#43,#7F,#7F,#3F,#3F
 DB #1F,#07,#01,#00,#43,#FC,#FC,#F8
 DB #F8,#F0,#C0,#10,#E0,#43,#3F,#3F
 DB #3F,#1F,#1F,#07,#01,#00,#43,#F8
 DB #F8,#F8,#F0,#F0,#C0,#10,#E0,#43
 DB #EF,#7F,#FF,#FB,#FE,#ED,#FA,#F5
 DB #47,#FD,#FF,#FF,#DE,#7F,#B7,#5F
 DB #AF,#47,#7D,#EF,#BB,#FF,#DD,#77
 DB #FE,#DB,#47,#EF,#7D,#D7,#7D,#EF
 DB #BB,#FE,#EF,#47,#55,#EF,#BA,#6D
 DB #D5,#77,#AA,#DB,#47,#AB,#3D,#D7
 DB #5D,#E6,#B9,#D6,#6B,#47,#55,#A5
 DB #90,#4D,#51,#55,#A8,#8A,#47,#AB
 DB #28,#45,#09,#A2,#28,#56,#69,#47
 DB #44,#A4,#80,#45,#41,#14,#A8,#82
 DB #47,#AA,#20,#45,#01,#00,#28,#42
 DB #41,#47,#44,#A0,#00,#45,#41,#10
 DB #A8,#82,#47,#A2,#20,#45,#01,#00
 DB #28,#42,#00,#47,#40,#A0,#00,#41
 DB #00,#00,#88,#82,#47,#20,#00,#00
 DB #01,#00,#20,#40,#00,#47,#00,#80
 DB #00,#41,#00,#00,#08,#02,#47,#20
 DB #00,#00,#01,#00,#20,#00,#00,#47
 DB #F5,#FA,#ED,#FE,#7B,#FF,#FF,#BF
 DB #47,#AF,#5F,#B7,#7F,#DF,#FF,#FE
 DB #F7,#47,#7E,#D7,#FD,#B7,#FD,#EF
 DB #BB,#EE,#47,#BF,#FA,#DF,#F5,#BF
 DB #ED,#BF,#FB,#47,#2A,#D7,#6D,#92
 DB #BD,#4A,#B9,#6E,#47,#B5,#6A,#5B
 DB #B5,#9A,#ED,#B7,#EA,#47,#08,#D5
 DB #45,#12,#99,#0A,#B9,#66,#47,#95
 DB #48,#53,#35,#8A,#A9,#B3,#62,#47
 DB #08,#C5,#44,#10,#19,#02,#A9,#46
 DB #47,#00,#08,#11,#14,#02,#29,#01
 DB #22,#47,#08,#80,#44,#10,#09,#02
 DB #29,#04,#47,#00,#08,#10,#04,#00
 DB #09,#01,#22,#47,#08,#80,#04,#00
 DB #09,#02,#20,#04,#47,#00,#08,#10
 DB #04,#00,#09,#00,#22,#47,#00,#80
 DB #04,#00,#01,#00,#20,#04,#47,#00
 DB #08,#00,#00,#00,#09,#00,#20,#47
;
L_9BC6 DW #0090
 DW #005A
;
 DB #3C,#42,#40,#3C,#02,#42,#3C,#00
 DB #47,#3C,#42,#40,#40,#40,#42,#3C
 DB #00,#47,#3C,#42,#42,#42,#42,#42
 DB #3C,#00,#47,#7C,#42,#42,#7C,#48
 DB #44,#42,#00,#47,#7E,#40,#40,#78
 DB #40,#40,#7E,#00,#47,#7C,#42,#42
 DB #7C,#42,#42,#7C,#00,#47,#3C,#42
 DB #42,#42,#42,#42,#3C,#00,#47,#42
 DB #62,#52,#4A,#46,#42,#42,#00,#47
 DB #42,#42,#42,#42,#42,#42,#3C,#00
 DB #47,#3C,#42,#40,#3C,#02,#42,#3C
 DB #00,#47,#00,#00,#09,#00
;
L_9C28 DW #0120
 DW #0240
;
 DB #00,#00,#00,#00,#00,#00,#00,#00
 DB #40,#18,#18,#18,#00,#18,#18,#18
 DB #00,#47,#00,#00,#07,#1F,#3F,#3F
 DB #7F,#7F,#42,#00,#00,#C0,#F0,#F8
 DB #F8,#FC,#FC,#42,#00,#00,#07,#1F
 DB #3F,#3F,#7F,#40,#42,#00,#00,#C0
 DB #F0,#F8,#B8,#3C,#3C,#42,#00,#00
 DB #07,#1F,#3F,#3F,#00,#40,#42,#00
 DB #00,#C0,#D0,#98,#18,#1C,#1C,#42
 DB #00,#00,#07,#1F,#3E,#00,#00,#00
 DB #42,#00,#00,#80,#00,#08,#08,#0C
 DB #0C,#42,#00,#00,#00,#07,#1E,#3C
 DB #00,#00,#42,#00,#00,#00,#00,#00
 DB #08,#08,#0C,#42,#00,#00,#00,#00
 DB #00,#00,#00,#00,#40,#00,#00,#00
 DB #00,#00,#00,#00,#00,#40,#00,#00
 DB #00,#00,#00,#00,#00,#00,#40,#00
 DB #00,#00,#00,#00,#00,#00,#00,#40
 DB #3E,#08,#08,#08,#08,#08,#08,#00
 DB #47,#1C,#22,#40,#4E,#42,#22,#1C
 DB #00,#47,#7F,#78,#3C,#3C,#1D,#07
 DB #01,#00,#42,#7C,#7C,#78,#38,#F0
 DB #C0,#10,#E0,#42,#60,#78,#38,#38
 DB #19,#01,#01,#00,#42,#3C,#3C,#00
 DB #00,#F0,#C0,#10,#E0,#42,#60,#70
 DB #30,#30,#10,#03,#01,#00,#42,#1C
 DB #1C,#00,#00,#00,#C0,#10,#E0,#42
 DB #40,#60,#20,#20,#00,#00,#01,#00
 DB #42,#0C,#0C,#08,#00,#00,#00,#10
 DB #E0,#42,#00,#00,#40,#20,#20,#03
 DB #01,#00,#42,#0C,#0C,#0C,#00,#00
 DB #C0,#10,#E0,#42,#07,#1E,#3C,#00
 DB #00,#60,#79,#00,#42,#00,#00,#08
 DB #08,#0C,#0C,#00,#F0,#42,#00,#00
 DB #00,#03,#0F,#15,#6C,#57,#42,#00
 DB #00,#00,#80,#80,#1C,#1E,#E0,#42
 DB #00,#00,#7B,#6B,#6B,#6B,#7B,#00
 DB #44,#00,#00,#5E,#4C,#4C,#4C,#CC
 DB #00,#44,#00,#00,#00,#00,#00,#00
 DB #01,#03,#45,#00,#00,#00,#00,#00
 DB #00,#C0,#18,#45,#00,#00,#00,#00
 DB #00,#08,#18,#18,#45,#00,#00,#00
 DB #00,#00,#7C,#B4,#DC,#45,#00,#00
 DB #00,#00,#00,#00,#40,#60,#45,#00
 DB #00,#00,#00,#7C,#B4,#DC,#B4,#45
 DB #00,#00,#00,#01,#02,#07,#04,#06
 DB #45,#00,#00,#00,#80,#C0,#E0,#A0
 DB #C0,#45,#00,#00,#01,#02,#07,#04
 DB #04,#03,#46,#00,#00,#80,#C0,#E0
 DB #A0,#C0,#80,#46,#00,#00,#00,#07
 DB #0D,#0F,#06,#04,#46,#00,#00,#00
 DB #C0,#60,#E0,#C0,#40,#46,#00,#00
 DB #07,#0D,#0F,#06,#04,#03,#46,#00
 DB #00,#C0,#60,#E0,#C0,#40,#80,#46
 DB #00,#00,#F0,#E0,#60,#3F,#3F,#1E
 DB #45,#00,#00,#1C,#3E,#22,#7F,#6B
 DB #3E,#45,#06,#0F,#0B,#0B,#0B,#0B
 DB #1E,#78,#45,#2C,#5E,#7A,#6C,#38
 DB #80,#F0,#3C,#45,#18,#1B,#0B,#0B
 DB #0B,#0B,#1E,#78,#45,#B4,#7C,#BE
 DB #BC,#A0,#A0,#F0,#3C,#45,#30,#1B
 DB #0B,#0B,#0B,#0E,#1C,#38,#45,#7C
 DB #BE,#BC,#A0,#A0,#E0,#70,#38,#45
 DB #03,#FB,#7B,#0B,#0B,#0E,#1C,#38
 DB #45,#80,#BE,#BC,#A0,#A0,#E0,#70
 DB #38,#45,#1B,#3B,#6B,#4B,#0F,#0E
 DB #0C,#1C,#45,#B0,#B8,#AC,#A4,#E0
 DB #E0,#60,#70,#45,#FB,#FB,#0B,#0B
 DB #0F,#0E,#0C,#1C,#45,#BE,#BE,#A0
 DB #A0,#E0,#E0,#60,#70,#45,#1B,#3B
 DB #6B,#4B,#0F,#0E,#0C,#1C,#45,#B0
 DB #B8,#AC,#A4,#E0,#E0,#60,#70,#45
 DB #00,#00,#09,#00
;
L_9E70 DW #005A
 DW #0012
;
 DB #1E,#1D,#1E,#1F,#1C,#1F,#10,#1F
 DB #42,#D0,#50,#30,#F0,#D0,#30,#10
 DB #F0,#42
;
L_9E86 DW #00EA
 DW #0012
;
 DB #1F,#1E,#1F,#1F,#1B,#17,#17,#18
 DB #42,#30,#D0,#30,#F0,#B0,#D0,#D0
 DB #30,#42
;
L_9E9C DW #005A
 DW #0012
;
 DB #82,#22,#12,#12,#23,#00,#7F,#47
 DB #47,#00,#00,#10,#10,#90,#00,#F8
 DB #8F,#47
;
L_9EB2 DW #00EA
 DW #0012
;
 DB #6F,#6B,#79,#7A,#7B,#7F,#30,#1F
 DB #47,#D9,#59,#79,#7E,#78,#F8,#30
 DB #E0,#47
;
L_9EC8 DW #005A
 DW #0012
;
 DB #00,#00,#01,#07,#1F,#10,#10,#14
 DB #44,#00,#00,#FC,#FE,#FE,#04,#14
 DB #14,#44
;
L_9EDE DW #00EA
 DW #0012
;
 DB #16,#14,#78,#8F,#60,#90,#90,#60
 DB #44,#24,#E4,#E7,#F8,#06,#09,#09
 DB #06,#44
;
L_9EF4 DW #005A
 DW #0012
;
 DB #00,#00,#00,#00,#00,#01,#1E,#1D
 DB #47,#08,#14,#28,#50,#A0,#40,#80
 DB #80,#47
;
L_9F0A DW #00EA
 DW #0012
;
 DB #1B,#17,#1F,#1F,#1F,#0F,#06,#0F
 DB #47,#80,#80,#80,#80,#A4,#24,#24
 DB #18,#47
;
L_9F20 DW #005A
 DW #0012
;
 DB #20,#40,#28,#28,#14,#08,#30,#00
 DB #47,#00,#00,#00,#00,#00,#00,#00
 DB #0E,#43
;
L_9F36 DW #00EA
 DW #0012
;
 DB #FC,#FC,#78,#7F,#7E,#3C,#00,#00
 DB #43,#39,#60,#C0,#80,#00,#00,#00
 DB #00,#43
;
L_9F4C DW #005A
 DW #0012
;
 DB #0F,#7E,#1E,#0F,#0F,#1F,#3D,#78
 DB #46,#1E,#21,#D1,#0E,#80,#E0,#78
 DB #3C,#46
;
L_9F62 DW #00EA
 DW #0012
;
 DB #75,#75,#F8,#FD,#F5,#F8,#7D,#3F
 DB #46,#5C,#7C,#3E,#5E,#5E,#3E,#7C
 DB #F8,#46
;
L_9F78 DW #005A
 DW #0012
;
 DB #00,#00,#00,#0F,#E5,#FF,#FF,#E1
 DB #47,#00,#00,#00,#80,#02,#FE,#FC
 DB #80,#47
;
L_9F8E DW #00EA
 DW #0012
;
 DB #03,#07,#08,#08,#10,#10,#20,#20
 DB #42,#C0,#E0,#90,#90,#88,#48,#44
 DB #44,#42
;
L_9FA4 DW #005A
 DW #0012
;
 DB #0E,#08,#08,#04,#07,#04,#1F,#24
 DB #47,#00,#00,#00,#78,#F0,#30,#08
 DB #88,#47
;
L_9FBA DW #00EA
 DW #0012
;
 DB #44,#84,#84,#80,#80,#40,#20,#1F
 DB #47,#48,#24,#24,#24,#26,#49,#89
 DB #06,#47