;Last edition: 20.03.2001

;Старт
l0000   di
        jp l16ee
        nop
        nop
        nop
        nop
;RST#8
        jp l12c4
        nop
        nop
        nop
        nop
        nop
;RST#10
        jp l139e
        nop
        nop
        nop
        nop
        nop
;RST#18 - выбор банка памяти: LD A,banknumber; RST #18
        jp l16c9
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
;RST#38
        jp l17c3
;Таблица символов (размер символа 8х8 х256 символов = 
;= размер таблицы #800 байт
l003b   defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb "~",#81,#a5,#81
        defb #bd,#99,#81,"~<~"
        defb #db,#ff,#c3,"~<"
        defb #00,#00,#ee,#fe
        defb #fe,"|8",#10,#00
        defb #10,"8|",#fe,"|8"
        defb #10,#00,#00,"<"
        defb #18,#ff,#ff,#18
        defb #18,#00,#10,"8|"
        defb #fe,#fe,#10,"8"
        defb #00,#00,#00,#18
        defb "<",#18,#00,#00
        defb #00,#ff,#ff,#e7
        defb #c3,#e7,#ff,#ff
        defb #ff,#00,"<B",#81
        defb #81,"B<",#00,#ff
        defb #c3,#bd,"~~",#bd
        defb #c3,#ff,#1f,#07
        defb #0d,"|",#c6,#c6
        defb "|",#00,#00,"~"
        defb #c3,#c3,"~",#18
        defb "~",#18,#04,#06
        defb #07,#04,#04,#fc
        defb #f8,#00,#0c,#0a
        defb #0d,#0b,#f9,#f9
        defb #1f,#1f,#00,#92
        defb "|D",#c6,"|",#92
        defb #00,#00,#00,"`x~x`"
        defb #00,#00,#00,#06
        defb #1e,"~",#1e,#06
        defb #00,#10,"8|",#10
        defb #10,"|8",#10,"fffff"
        defb #00,"f",#00,#ff
        defb #b6,"v6666",#00
        defb ">A<BB<",#82,"|"
        defb #00,#00,#00,"~~"
        defb #00,#00,#00,#10
        defb "8",#10,#10,"8"
        defb #10,#00,#fe,#10
        defb "8|",#10,#10,#10
        defb #10,#00,#10,#10
        defb #10,#10,"|8",#10
        defb #00,#00,#04,#06
        defb #ff,#06,#04,#00
        defb #00,#00," `",#ff
        defb "` ",#00,#00,#00
        defb #00,#00,#c0,#c0
        defb #c0,#ff,#00,#00
        defb "$f",#ff,"f$",#00
        defb #00,#00,#00,#10
        defb "8|",#fe,#00,#00
        defb #00,#00,#00,#fe
        defb "|8",#10,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,"00000"
        defb #00,"0",#00,"ff"
        defb #cc,#00,#00,#00
        defb #00,#00,"ll",#fe
        defb "l",#fe,"ll",#00
        defb #10,"|",#d0,"|"
        defb #16,"|",#10,#00
        defb #f2,#96,#fc,"8~"
        defb #d2,#9e,#00,"0H0z"
        defb #cc,#ce,"z",#00
        defb #0c,#0c,#18,#00
        defb #00,#00,#00,#00
        defb "0`",#c0,#c0,#c0
        defb "`0",#00,#18,#0c
        defb #06,#06,#06,#0c
        defb #18,#00,#00,"T8"
        defb #fe,"8T",#00,#00
        defb #00,#18,#18,"~"
        defb #18,#18,#00,#00
        defb #00,#00,#00,#00
        defb #00,"00`",#00,#00
        defb #00,"~",#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#18
        defb #18,#00,#02,#06
        defb #0c,#18,"0`",#c0
        defb #00,"|",#c6,#ce
        defb #d6,#e6,#c6,"|"
        defb #00,#18,"8x",#18
        defb #18,#18,"~",#00
        defb "|",#c6,#06,#0c
        defb "0",#c0,#fe,#00
        defb "|",#c6,#06,"<"
        defb #06,#c6,"|",#00
        defb #0e,#1e,"6f",#fe
        defb #06,#06,#00,#fe
        defb #c0,#c0,#fc,#06
        defb #06,#fc,#00,"|"
        defb #c6,#c0,#fc,#c6
        defb #c6,"|",#00,#fe
        defb #06,#0c,#18,"0``"
        defb #00,"|",#c6,#c6
        defb "|",#c6,#c6,"|"
        defb #00,"|",#c6,#c6
        defb "~",#06,#c6,"|"
        defb #00,#00,"00",#00
        defb #00,"00",#00,#00
        defb "00",#00,#00,"00`"
        defb #0c,#18,"0`0",#18
        defb #0c,#00,#00,#00
        defb "~",#00,"~",#00
        defb #00,#00,"`0",#18
        defb #0c,#18,"0`",#00
        defb "|",#c6,#0c,#18
        defb "0",#00,"0",#00
        defb "|",#82,#9a,#aa
        defb #aa,#9e,"|",#00
        defb "|",#c6,#c6,#fe
        defb #c6,#c6,#c6,#00
        defb #fc,"ff|ff",#fc
        defb #00,"|",#c6,#c0
        defb #c0,#c0,#c6,"|"
        defb #00,#fc,"fffff"
        defb #fc,#00,#fe,"bhxhb"
        defb #fe,#00,#fe,"bhxh`"
        defb #f0,#00,"|",#c6
        defb #c0,#de,#c6,#c6
        defb "|",#00,#c6,#c6
        defb #c6,#fe,#c6,#c6
        defb #c6,#00,"<",#18
        defb #18,#18,#18,#18
        defb "<",#00,#1e,#0c
        defb #0c,#0c,#0c,#cc
        defb "x",#00,#c6,#cc
        defb #d8,#f0,#d8,#cc
        defb #c6,#00,#f0,"````b"
        defb #fe,#00,#c6,#ee
        defb #fe,#d6,#c6,#c6
        defb #c6,#00,#c6,#e6
        defb #f6,#de,#ce,#c6
        defb #c6,#00,"|",#c6
        defb #c6,#c6,#c6,#c6
        defb "|",#00,#fc,"ff|``"
        defb #f0,#00,"|",#c6
        defb #c6,#c6,#c6,#d6
        defb "|",#0c,#fc,"ff|lf"
        defb #e6,#00,"|",#c6
        defb #c0,"|",#06,#c6
        defb "|",#00,"~Z",#18
        defb #18,#18,#18,"<"
        defb #00,#c6,#c6,#c6
        defb #c6,#c6,#c6,"|"
        defb #00,#c6,#c6,#c6
        defb #c6,#c6,"l8",#00
        defb #c6,#c6,#c6,#d6
        defb #d6,#ee,#c6,#00
        defb #c6,"l888l",#c6
        defb #00,"fff<",#18
        defb #18,"<",#00,#fe
        defb #c6,#0c,#18,"0f"
        defb #fe,#00,#1c,#18
        defb #18,#18,#18,#18
        defb #1c,#00,#c0,"`0"
        defb #18,#0c,#06,#02
        defb #00,"p00000p",#00
        defb #10,"8l",#c6,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#ff,"00"
        defb #18,#00,#00,#00
        defb #00,#00,#00,#00
        defb "|",#06,"~",#c6
        defb "~",#00,#c0,#c0
        defb #fc,#c6,#c6,#c6
        defb #fc,#00,#00,#00
        defb "|",#c6,#c0,#c6
        defb "|",#00,#06,#06
        defb "~",#c6,#c6,#c6
        defb "~",#00,#00,#00
        defb "|",#c6,#fe,#c0
        defb "|",#00,"<f`",#f0
        defb "```",#00,#00,#00
        defb "~",#c6,#c6,"~"
        defb #06,"|",#c0,#c0
        defb #fc,#c6,#c6,#c6
        defb #c6,#00,#18,#00
        defb "8",#18,#18,#18
        defb "<",#00,#00,#0c
        defb #00,#1c,#0c,#0c
        defb #cc,"x",#c0,#c0
        defb #cc,#d8,#f0,#d8
        defb #c6,#00,"8",#18
        defb #18,#18,#18,#18
        defb "<",#00,#00,#00
        defb #ee,#fe,#d6,#c6
        defb #c6,#00,#00,#00
        defb #fc,#c6,#c6,#c6
        defb #c6,#00,#00,#00
        defb "|",#c6,#c6,#c6
        defb "|",#00,#00,#00
        defb #fc,#c6,#c6,#fc
        defb #c0,#c0,#00,#00
        defb "~",#c6,#c6,"~"
        defb #06,#06,#00,#00
        defb #de,"v```",#00
        defb #00,#00,"|",#c0
        defb "|",#06,"|",#00
        defb #18,#18,"~",#18
        defb #18,#18,#1e,#00
        defb #00,#00,#c6,#c6
        defb #c6,#c6,"~",#00
        defb #00,#00,#c6,#c6
        defb #c6,"l8",#00,#00
        defb #00,#c6,#c6,#d6
        defb #fe,#c6,#00,#00
        defb #00,#c6,"l8l",#c6
        defb #00,#00,#00,#c6
        defb #c6,#c6,"~",#06
        defb "|",#00,#00,#fe
        defb #0c,"8`",#fe,#00
        defb #0e,#18,#18,"p"
        defb #18,#18,#0e,#00
        defb #18,#18,#18,#00
        defb #18,#18,#18,#00
        defb #e0,"00",#1c,"00"
        defb #e0,#00,#00,#00
        defb "b",#92,#8c,#00
        defb #00,#00,#00,#00
        defb #18,"<f",#ff,#00
        defb #00,#aa,#aa,#aa
        defb #aa,#aa,#aa,#aa
        defb #aa,#aa,"U",#aa
        defb "U",#aa,"U",#aa
        defb "UD",#22,"D",#22
        defb "D",#22,"D",#22
        defb #18,#18,#18,#18
        defb #18,#18,#18,#18
        defb #18,#18,#18,#f8
        defb #18,#18,#18,#18
        defb #18,#18,#18,#f8
        defb #18,#f8,#18,#18
        defb "666",#f6,"6666"
        defb #00,#00,#00,#fe
        defb "6666",#00,#00
        defb #00,#f8,#18,#f8
        defb #18,#18,"666",#f6
        defb #06,#f6,"6666666666"
        defb #00,#00,#00,#fe
        defb #06,#f6,"66666"
        defb #f6,#06,#fe,#00
        defb #00,"666",#fe,#00
        defb #00,#00,#00,#18
        defb #18,#18,#f8,#18
        defb #f8,#00,#00,#00
        defb #00,#00,#f8,#18
        defb #18,#18,#18,#18
        defb #18,#18,#1f,#00
        defb #00,#00,#00,#18
        defb #18,#18,#ff,#00
        defb #00,#00,#00,#00
        defb #00,#00,#ff,#18
        defb #18,#18,#18,#18
        defb #18,#18,#1f,#18
        defb #18,#18,#18,#00
        defb #00,#00,#ff,#00
        defb #00,#00,#00,#18
        defb #18,#18,#ff,#18
        defb #18,#18,#18,#18
        defb #18,#18,#1f,#18
        defb #1f,#18,#18,"66676666"
        defb "66670?",#00,#00
        defb #00,#00,#00,"?0766666"
        defb #f7,#00,#ff,#00
        defb #00,#00,#00,#00
        defb #ff,#00,#f7,"66666707"
        defb "66",#00,#00,#00
        defb #ff,#00,#ff,#00
        defb #00,"666",#f7,#00
        defb #f7,"66",#18,#18
        defb #18,#ff,#00,#ff
        defb #00,#00,"666",#ff
        defb #00,#00,#00,#00
        defb #00,#00,#00,#ff
        defb #00,#ff,#18,#18
        defb #00,#00,#00,#ff
        defb "6666666?",#00
        defb #00,#00,#00,#18
        defb #18,#18,#1f,#18
        defb #1f,#00,#00,#00
        defb #00,#00,#1f,#18
        defb #1f,#18,#18,#00
        defb #00,#00,"?6666666"
        defb #ff,"6666",#18
        defb #18,#18,#ff,#18
        defb #ff,#18,#18,#18
        defb #18,#18,#f8,#00
        defb #00,#00,#00,#00
        defb #00,#00,#1f,#18
        defb #18,#18,#18,#ff
        defb #ff,#ff,#ff,#ff
        defb #ff,#ff,#ff,#00
        defb #00,#00,#00,#ff
        defb #ff,#ff,#ff,#f0
        defb #f0,#f0,#f0,#f0
        defb #f0,#f0,#f0,#0f
        defb #0f,#0f,#0f,#0f
        defb #0f,#0f,#0f,#ff
        defb #ff,#ff,#ff,#00
        defb #00,#00,#00,#fe
        defb #00,#00,#fe,#00
        defb #00,#fe,#00,"l"
        defb #00,"|",#c6,#fe
        defb #c0,"|",#00,"p"
        defb #18,#0c,#18,"p"
        defb #00,#fe,#00,#1c
        defb "0`0",#1c,#00,#fe
        defb #00,#00,#0e,#1b
        defb #18,#18,#18,#18
        defb #18,#18,#18,#18
        defb #18,#18,#d8,"p"
        defb #00,#00,#18,#00
        defb "~",#00,#18,#00
        defb #00,#00,"v",#dc
        defb #00,"v",#dc,#00
        defb #00,"<f<",#00,#00
        defb #00,#00,#00,#00
        defb #18,"<",#18,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#18
        defb #00,#00,#00,#0f
        defb #0c,#0c,#0c,#ec
        defb "l8",#10,#d8,#ec
        defb #cc,#cc,#00,#00
        defb #00,#00,#f0,"0"
        defb #c0,#f0,#00,#00
        defb #00,#00,#00,#00
        defb #00,"<<<<",#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #ce,#db,#db,#fb
        defb #db,#db,#ce,#00
        defb #0e,#1e,"6f",#fe
        defb #c6,#c6,#00,#fc
        defb #c0,#fc,#c6,#c6
        defb #c6,#fc,#00,#cc
        defb #cc,#cc,#cc,#cc
        defb #cc,#fe,#02,"~fffff"
        defb #ff,#81,#fe,#c0
        defb #c0,#f8,#c0,#c0
        defb #fe,#00,"~",#db
        defb #db,#db,"~",#18
        defb #18,#00,#fe,#c0
        defb #c0,#c0,#c0,#c0
        defb #c0,#00,#c3,"f<"
        defb #18,"<f",#c3,#00
        defb #c6,#c6,#ce,#de
        defb #f6,#e6,#c6,#00
        defb #d6,#c6,#ce,#de
        defb #f6,#e6,#c6,#00
        defb #c6,#cc,#d8,#f8
        defb #cc,#c6,#c6,#00
        defb #06,#0e,#1e,"6f"
        defb #c6,#c6,#00,#c6
        defb #ee,#fe,#fe,#d6
        defb #d6,#c6,#00,#c6
        defb #c6,#c6,#fe,#c6
        defb #c6,#c6,#00,"|"
        defb #c6,#c6,#c6,#c6
        defb #c6,"|",#00,#fe
        defb #c6,#c6,#c6,#c6
        defb #c6,#c6,#00,"~"
        defb #c6,#c6,"~6f",#c6
        defb #00,#fc,#c6,#c6
        defb #fc,#c0,#c0,#c0
        defb #00,"|",#c6,#c0
        defb #c0,#c0,#c6,"|"
        defb #00,#fc,"000000"
        defb #00,#c6,#c6,#c6
        defb "~",#06,#c6,"|"
        defb #00,#db,#db,"~<~"
        defb #db,#db,#00,#f8
        defb #cc,#cc,#fc,#c6
        defb #c6,#fc,#00,#c0
        defb #c0,#c0,#fc,#c6
        defb #c6,#fc,#00,#c2
        defb #c2,#c2,#f2,#da
        defb #da,#f2,#00,"|"
        defb #c6,#1c,#06,#06
        defb #c6,"|",#00,#d6
        defb #d6,#d6,#d6,#d6
        defb #d6,#fe,#00,"|"
        defb #c6,#06,#1e,#06
        defb #c6,"|",#00,#d6
        defb #d6,#d6,#d6,#d6
        defb #d6,#ff,#01,#c6
        defb #c6,#c6,#c6,"~"
        defb #06,#06,#00,#f0
        defb "00>33>",#00,#00
        defb #00,#ce,#db,#fb
        defb #db,#ce,#00,#00
        defb #00,"x",#0c,"|"
        defb #cc,"~",#00,#02
        defb "|",#c0,#fc,#c6
        defb #c6,"|",#00,#00
        defb #00,#cc,#cc,#cc
        defb #cc,#fe,#02,#00
        defb #00,"~fff",#ff
        defb #81,#00,#00,"x"
        defb #cc,#fc,#c0,"|"
        defb #00,#00,#18,"~"
        defb #db,#db,"~",#18
        defb #18,#00,#00,#fe
        defb #c0,#c0,#c0,#c0
        defb #00,#00,#00,#c6
        defb "l8l",#c6,#00,#00
        defb #00,#c6,#c6,#ce
        defb #d6,#e6,#00,#00
        defb #08,#d6,#c6,#ce
        defb #d6,#e6,#00,#00
        defb #00,#cc,#d8,#f0
        defb #d8,#cc,#00,#00
        defb #00,#0e,#1e,"6f"
        defb #c6,#00,#00,#00
        defb #c6,#ee,#d6,#d6
        defb #c6,#00,#00,#00
        defb #cc,#cc,#fc,#cc
        defb #cc,#00,#00,#00
        defb "|",#c6,#c6,#c6
        defb "|",#00,#00,#00
        defb #fc,#cc,#cc,#cc
        defb #cc,#00,#00,#00
        defb "~",#c6,"~f",#c6
        defb #00,#00,#00,#fc
        defb #c6,#c6,#fc,#c0
        defb #c0,#00,#00,"|"
        defb #c0,#c0,#c0,"|"
        defb #00,#00,#00,#fc
        defb "0000",#00,#00
        defb #00,#cc,#cc,"|"
        defb #0c,#cc,"x",#00
        defb #00,#db,"~<~",#db
        defb #00,#00,#00,#f8
        defb #cc,#fc,#c6,#fc
        defb #00,#00,#00,#c0
        defb #c0,#fc,#c6,#fc
        defb #00,#00,#00,#c2
        defb #f2,#da,#da,#f2
        defb #00,#00,#00,"|"
        defb #c6,#0c,#c6,"|"
        defb #00,#00,#00,#d6
        defb #d6,#d6,#d6,#fe
        defb #00,#00,#00,"|"
        defb #c6,#1e,#c6,"|"
        defb #00,#00,#00,#d6
        defb #d6,#d6,#d6,#ff
        defb #01,#00,#00,#cc
        defb #cc,"|",#0c,#0c
        defb #00,#00,#00,#f0
        defb "0>3>",#00
;- Этот блок перекидывается по адресу #DF40 -
l083b   jp l08e3
        jp l0912
        jp l0adc
        jp l0e76
        jp l0a6c
;--------------------------------------------
;- Этот блок тоже перекидывается по адресу #DF40 -
l084a   jp l08f4
        jp l0933
        jp l0aa9
        jp l0ec6
        jp l0a8d
;-------------------------------------------------
l0859   ld hl,(#5f4b)
        add hl,bc
        ld b,h
        ld c,l
l085f   or a
        ex af,af'
        ld a,(#5f4b)
        cp c
        jr z,l0869
        jr nc,l086f
l0869   ld a,(#5f4d)
        cp c
        jr nc,l0873
l086f   ld c,a
        ex af,af'
        scf
        ex af,af'
l0873   ld a,(#5f4c)
        cp b
        jr z,l087b
        jr nc,l0881
l087b   ld a,(#5f4e)
        cp b
        jr nc,l0884
l0881   ld b,a
        scf
        ret
l0884   ex af,af'
        ret
l0886   call l0859
l0889   ld (#5f42),bc
        call l09c3
        ld (#5f44),hl
        ret
l0894   di
        dec (ix+#07)
        ret nz
        ld a,(#5f48)
        ld (#5f47),a
        ld a,(#5f40)
        xor #02
        ld (#5f40),a
        ld a,(#5f51)
        or a
        ret nz
l08ac   ld hl,l090e
l08af   ld (#df50),hl
        ld hl,(#5f44)
        ld de,#df58
        jp #df40
l08bb   di
        dec (ix+#11)
        jr z,l08c7
        ret p
        ld (ix+#11),#00
        ret
l08c7   ld hl,l090b
        call l08af
        bit 1,(ix+#00)
        jr nz,l08ac
        ret
l08d4   di
        ld a,(#5f51)
        inc a
        ld (#5f51),a
        dec a
        ret nz
        ld hl,l0908
        jr l08af
l08e3   ld bc,(#5f49)
l08e7   dec c
        call m,#df4f
        ld a,#28
        call l12bf
        inc de
        djnz l08e7
        ret
l08f4   push hl
        call l08e3
        pop hl
        push hl
        ld a,#20
        add a,h
        ld h,a
        call l08e3
        pop hl
        ld a,#80
        add a,h
        ld h,a
        jr nc,l08f4
l0908   ld a,(de)
        ld (hl),a
        ret
l090b   ld a,(hl)
        ld (de),a
        ret
l090e   ld a,(hl)
        cpl
        ld (hl),a
        ret
l0912   ex af,af'
        ld a,(de)
        inc de
        bit 0,(ix+#01)
        jr z,l091c
        xor (hl)
l091c   ld (hl),a
        bit 1,(ix+#01)
        jr nz,l092d
        set 7,h
        ld a,(iy+#00)
        ld (hl),a
        res 7,h
        inc iy
l092d   add hl,bc
        ex af,af'
        dec a
        jr nz,l0912
        ret
l0933   ex af,af'
        ld a,(de)
        ld b,a
        inc de
        push de
        set 5,h
        call l095d
        set 7,h
        call l095d
        res 7,h
        res 5,h
        call l095d
        set 7,h
        call l095d
        res 7,h
        ld b,#00
        add hl,bc
        pop de
        inc iy
        inc iy
        ex af,af'
        dec a
        jr nz,l0933
        ret
l095d   rr b
        ld a,(iy+#01)
        jr nc,l0967
        ld a,(iy+#00)
l0967   rlca
        rlca
        rlca
        bit 2,a
        jr z,l096f
        ld a,(hl)
l096f   and #b8
        ld d,a
        rr b
        ld a,(iy+#01)
        jr nc,l097c
        ld a,(iy+#00)
l097c   bit 7,a
        jr z,l0981
        ld a,(hl)
l0981   and #47
        or d
        bit 0,(ix+#01)
        jr z,l098b
        xor (hl)
l098b   ld (hl),a
        ret
l098d   ld l,a
        ld h,#00
        ld b,h
        add hl,hl
        add hl,hl
        add hl,hl
        ld de,l003b
        add hl,de
        ex de,hl
l0999   ld c,#28
        ld iy,#df60
        ld hl,(#5f44)
        ld a,#08
        jp #df43
l09a7   ld b,a
        rlca
        rlca
        rlca
        and #07
        ld hl,#df70
        call l12bf
        ld a,(hl)
        bit 4,b
        jr z,l09bc
        rlca
        rlca
        rlca
        rlca
l09bc   and #f0
        xor b
        and #f0
        xor b
        ret
l09c3   or a
        bit 0,(ix+#00)
        jr z,l09cc
        rr c
l09cc   push af
        call l09d8
        ld b,#40
        add hl,bc
        pop af
        ret nc
        set 5,h
        ret
l09d8   ld l,b
        ld h,#00
        add hl,hl
        add hl,hl
        add hl,hl
        ld d,h
        ld e,l
        add hl,hl
        add hl,hl
        add hl,de
        add hl,hl
        add hl,hl
        add hl,hl
        ret
l09e7   ld hl,(#5f44)
        bit 0,(ix+#00)
        jr z,l09f7
l09f0   ld a,#20
        xor h
        ld h,a
        and #20
        ret nz
l09f7   inc hl
        ret
l09f9   ld bc,l3fff
        xor a
        ld h,a
        ld l,a
l09ff   add a,(hl)
        adc a,#00
        inc hl
        rrca
        xor #b9
        dec bc
        ld d,a
        ld a,b
        or c
        ld a,d
        jr nz,l09ff
        dec a
        ret z
        ld a,r
        ld l,a
        ld h,#dc
        inc (hl)
        and #7f
        ret nz
;Печать заксоренного блока. 
;При входе сюда A=0 - это видно из 2-х предыдущих команд
        ld hl,l0a39
l0a1b   xor (hl)
        inc hl
        call nz,l123e   
        jr nz,l0a1b
        ld a,#01
        rst #18
l0a25   ld hl,#df7c
        ld b,#10
l0a2a   inc (hl)
        inc hl
        djnz l0a2a
        call l1159
        ld b,#19
        ei
l0a34   halt
        djnz l0a34
        jr l0a25
;Заксоренная надпись:
;"I cracked. I halted. Press RESET to continue..."
l0a39   defb #0d,#16,#0a,"XiC"
        defb #11,#13,#02,#08
        defb #0e,#01,"J",#0e
        defb "iiH",#09,#0d,#18
        defb #11,#01,"J",#0e
        defb "p",#22,#17,#16
        defb #00,"Sr",#17,#16
        defb #16,#11,"tT",#1b
        defb "OC",#0c,#01,#1a
        defb #1d,#07,#1b,#10
        defb "K",#00,#00,"."
l0a6c   push iy
        push bc
        ld b,#08
l0a71   xor a
        call l11c3
        ld a,(iy+#00)
        set 7,h
        call l11c3
        res 7,h
        ld de,#0028
        add hl,de
        inc iy
        djnz l0a71
        pop bc
        pop iy
        djnz l0a6c
        ret
l0a8d   push hl
        ld hl,#0028
        ld (#5f4f),hl
        ld hl,l11c3
        ld (#df56),hl
        pop hl
l0a9b   push iy
        push bc
        ld b,#08
        call l0aa9
        pop bc
        pop iy
        djnz l0a9b
        ret
l0aa9   ld a,(iy+#01)
        ld d,a
        rla
        rla
        rla
        xor d
        and #b8
        xor d
        call #df55
        set 5,h
        call #df55
        bit 1,(ix+#01)
        jr nz,l0ace
        set 7,h
        call #df55
        res 5,h
        call #df55
        res 7,h
l0ace   res 5,h
        ld de,(#5f4f)
        add hl,de
        inc iy
        inc iy
        djnz l0aa9
        ret
l0adc   srl c
        ld a,c
        jr nc,l0ae2
        inc c
l0ae2   push hl
        exx
        ld c,a
        pop hl
        call l09f0
        ld b,#ff
        exx
l0aec   xor a
        call #df55
        ld a,(iy+#00)
        set 7,h
        call #df55
        res 7,h
        ld de,(#5f4f)
        add hl,de
        bit 7,b
        exx
        jr z,l0aec
        inc iy
        djnz l0aec
        ret
l0b09   inc c
        dec c
        ret z
        ld (hl),a
        push bc
        dec c
        jr z,l0b1a
        push hl
        ld d,h
        ld e,l
        inc de
l0b15   ld b,#00
        ldir
        pop hl
l0b1a   pop bc
        ret
l0b1c   inc c
        dec c
        ret z
        push bc
        push hl
        ex de,hl
        ld hl,(#5f4f)
        add hl,hl
        add hl,hl
        add hl,hl
        add hl,de
        jr l0b15
l0b2b   ld hl,#ffd8
        ld (#5f4f),hl
        ld c,(ix+#0b)
        ld b,(ix+#0e)
        call l09c3
        ld de,#0118
        add hl,de
        jr l0b52
l0b40   bit 4,(ix+#01)
        ret nz
l0b45   ld hl,#0028
        ld (#5f4f),hl
        ld bc,(#5f4b)
        call l09c3
l0b52   push hl
        ld hl,(#5f4d)
        ld bc,(#5f4b)
        or a
        sbc hl,bc
        inc l
        ld b,h
        ld c,l
        ld hl,l0b1c
        ld (#df56),hl
        pop hl
        bit 2,(ix+#01)
        jr z,l0b79
        ld a,#28
        bit 0,(ix+#00)
        jr z,l0b76
        add a,a
l0b76   cp c
        jr z,l0b86
l0b79   sla b
        sla b
        sla b
        push bc
        call nz,#df46
        pop bc
        jr l0bba
l0b86   push bc
        push hl
        call l09d8
        ld b,h
        ld c,l
        pop de
        ld hl,(#5f4f)
        add hl,hl
        add hl,hl
        add hl,hl
        add hl,de
        ld a,#20
        jr l0ba8
l0b99   pop de
        add a,d
        ld d,a
        ld a,b
        xor #40
        bit 1,(ix+#01)
        jr z,l0ba7
        xor #80
l0ba7   pop bc
l0ba8   push bc
        push de
        push hl
        ldir
        pop hl
        ld b,a
        add a,h
        ld h,a
        ld a,b
        jr nc,l0b99
        add a,d
        ld d,a
        ex de,hl
        pop bc
        pop bc
        pop bc
l0bba   push hl
        ld hl,l0b09
        ld (#df56),hl
        bit 7,(ix+#10)
        ld hl,#0028
        ld (#5f4f),hl
        pop hl
        jr z,l0c3e
        ld de,#fee8
        add hl,de
        jr l0c3e
l0bd4   call l125e
        ld b,#04
        ret c
        or a
        jp z,l0b45
        dec a
        jp z,l0b2b
        rra
        call c,l11d4
        ld c,(ix+#0b)
        jr c,l0bf1
        call l11db
        ld c,(ix+#0d)
l0bf1   ld b,(ix+#0c)
        call l09c3
        ld a,(#5f4e)
        sub (ix+#0c)
        ret c
        inc a
        ld b,a
        ld c,(ix+#0b)
l0c03   ld a,(#5f4d)
        sub c
        ret c
        inc a
        ld c,a
        ld iy,#df60
        jp #df4c
l0c11   call l11d4
        jr l0c1c
l0c16   call l11db
        ld c,(ix+#0d)
l0c1c   call l09c3
        ld c,(ix+#02)
        ld b,#01
        jr l0c03
l0c26   ld hl,#0028
        ld (#5f4f),hl
        ld hl,l0b09
        ld (#df56),hl
        ld hl,(#5f44)
        ld a,(#5f4d)
        sub (ix+#02)
        ret c
        inc a
        ld c,a
l0c3e   ld b,#08
        ld iy,#df60
        jp #df46
l0c47   call l09f9
l0c4a   ld bc,#0000
        jp l0886
l0c50   ld (ix+#0b),#00
        ld (ix+#0d),#4f
        ld (ix+#0c),#00
        ld (ix+#0e),#18
        bit 0,(ix+#00)
        jr nz,l0c6a
        ld (ix+#0d),#27
l0c6a   call l0c4a
l0c6d   call l0c26
        ld a,(#5f4e)
        sub (ix+#03)
        ret c
        ret z
        ld b,a
        ld a,(#5f4d)
        sub (ix+#0b)
        inc a
        ld c,a
        push bc
        ld b,(ix+#03)
        inc b
        ld c,(ix+#0b)
        call l09c3
        pop bc
l0c8d   push hl
        push bc
        call l0c3e
        pop bc
        pop hl
        ld de,#0140
        add hl,de
        djnz l0c8d
        ret
l0c9b   call l09a7
l0c9e   call l098d
l0ca1   ld a,(#5f42)
        cp (ix+#0d)
        jr nc,l0cb4
        inc a
        ld (#5f42),a
        call l09e7
        ld (#5f44),hl
        ret
l0cb4   ld b,(ix+#03)
        ld c,(ix+#0b)
l0cba   inc b
        call l085f
        push bc
        call c,l0b40
        pop bc
l0cc3   jp l0889
l0cc6   cp #20
        jp nc,l0c9b
        ld bc,(#5f42)
        call l1260
        ld b,b
        dec c
        ld a,(bc)
        ld c,#0f
        dec de
        rlca
        ex af,af'
        add hl,bc
        ret
        nop
        jr l0d12
        jr l0d1f
        jr l0d33
        jr l0d0b
        jr l0cf0
        jr l0d02
        jr l0cba
        ld c,(ix+#0b)
        jr l0cc3
l0cf0   set 5,(ix+#00)
        ld hl,#df74
l0cf7   ld de,#df70
        ld bc,#0004
        ldir
        jp l0fd7
l0d02   res 5,(ix+#00)
        ld hl,#df78
        jr l0cf7
l0d0b   ld hl,l0d49
l0d0e   ld (#df53),hl
        ret
l0d12   ld a,#20
        call l0c9e
        ld a,(#5f42)
        and #07
        jr nz,l0d12
        ret
l0d1f   dec c
        call l085f
        jr nc,l0cc3
        ld c,(ix+#0d)
        dec b
        call l085f
        jr nc,l0cc3
        ld b,(ix+#0e)
        jr l0cc3
l0d33   ld hl,(#5f52)
l0d36   ld a,(#5f55)
        ld c,(ix+#14)
        di
l0d3d   ld b,h
        out (c),a
l0d40   djnz l0d40
        xor #10
        dec l
        jr nz,l0d3d
        ei
        ret
l0d49   sub #40
        jr nc,l0d52
l0d4d   ld hl,l0cc6
        jr l0d0e
l0d52   cp #24
        jr nc,l0d4d
        inc a
        ld (#5f57),a
        dec a
        ld hl,l0da6
        call l12bf
        ld a,(hl)
        or a
        jr z,l0d87
l0d65   ld hl,#5f78
        ld (#5f58),a
        ld (#5f59),hl
        ld hl,l0d73
        jr l0d0e
l0d73   ld hl,(#5f59)
        sub #20
        jr nc,l0d7e
        ld (ix+#17),#ff
l0d7e   ld (hl),a
        inc hl
        ld (#5f59),hl
        dec (ix+#18)
        ret nz
l0d87   ld hl,l0cc6
        ld (#df53),hl
        ld b,#00
        ld c,(ix+#17)
        inc c
        ret z
        dec c
        ld hl,l0dca
        add hl,bc
        add hl,bc
        ld c,(hl)
        inc hl
        ld b,(hl)
        push bc
        ld bc,(#5f42)
        ld a,(#5f78)
        ret
l0da6   defb #01,#00,#00,#00
        defb #00,#00,#02,#00
        defb #00,#00,#00,#00
        defb #10,#01,#01,#01
        defb #00,#00,#09,#00
        defb #00,#02,#00,#04
        defb #01,#02,#01,#01
        defb #02,#02,#02,#00
        defb #10,#01,#02,#10
l0dca   defw l1125
        defw l0c9b
        defw l0e14
        defw l0e20
        defw l0e2b
        defw l0e36
        defw l0c6a
        defw l0e52
        defw l22b2
        defw l0c47
        defw l0e41
        defw l0c6d
        defw l0c26
        defw l0e71
        defw l0f74
        defw l10fb
        defw l22b2
        defw l0c11
        defw l0c16
        defw l10c4
        defw l1036
        defw l1049
        defw l0fbe
        defw l22b2
        defw l100c
        defw l0bd4
        defw l1005
        defw l104e
        defw l1068
        defw l107d
        defw l10aa
        defw l0f4a
        defw l0c50
        defw l1118
        defw l1071
        defw l1075
        defw l10e7
l0e14   dec b
        call l085f
        jr nc,l0e1d
        ld b,(ix+#0e)
l0e1d   jp l0889
l0e20   inc b
        call l085f
        jr nc,l0e1d
        ld b,(ix+#0c)
        jr l0e1d
l0e2b   inc c
        call l085f
        jr nc,l0e1d
        ld c,(ix+#0b)
        jr l0e1d
l0e36   dec c
        call l085f
        jr nc,l0e1d
        ld c,(ix+#0d)
        jr l0e1d
l0e41   inc b
        dec b
        scf
        jr z,l0e4a
        dec b
        call l085f
l0e4a   push bc
        call c,l0b2b
        pop bc
        jp l0889
l0e52   ld de,#0000
l0e55   ld b,#08
        push ix
        ld ix,#df60
        ld iy,#5f78
l0e61   push de
        push bc
        call #df49
        pop bc
        pop de
        jr c,l0e6e
        add iy,de
        djnz l0e61
l0e6e   pop ix
        ret
l0e71   ld de,#0002
        jr l0e55
l0e76   ld a,(ix+#00)
        call l0f1f
        srl (ix+#08)
        rr b
        srl (ix+#08)
        rr c
        ld a,(iy+#00)
        call l125e
        dec d
        ld c,(hl)
        ld c,c
        ret c
        nop
        ld b,a
        nop
        ld a,(iy+#01)
        call l125e
        dec d
        ld c,(hl)
        ld c,c
        ret c
        nop
        ld c,a
        nop
        bit 7,b
        jr z,l0eaf
        ld a,c
        call l120c
        ld b,a
        set 0,(ix+#08)
l0eaf   bit 7,c
        jr z,l0ebc
        ld a,b
        call l120c
        ld c,a
        set 1,(ix+#08)
l0ebc   call l0f37
        ld (ix+#00),a
        inc ix
        or a
        ret
l0ec6   ld b,#02
        ld a,(iy+#00)
l0ecb   call l125e
        dec e
        ld c,a
        ld c,(hl)
        ld c,c
        jr l0ee4
        jr l0ede
        jr l0eee
        set 7,(ix+#00)
        jr l0eee
l0ede   set 5,(ix+#00)
        jr l0eee
l0ee4   ret c
        add a,#f8
        xor #f8
        and #5f
        ld (ix+#00),a
l0eee   inc ix
        ld a,(iy+#01)
        djnz l0ecb
        bit 3,(ix+#fe)
        jr z,l0f0a
        ld a,(ix+#ff)
        call l120c
        add a,#f8
        and #5f
        xor #78
        ld (ix+#fe),a
l0f0a   bit 3,(ix+#ff)
        ret z
        ld a,(ix+#fe)
        call l120c
        add a,#f8
        and #5f
        xor #78
        ld a,(ix+#ff)
        ret
l0f1f   ld b,a
        rra
        rra
        rra
        ld c,a
        and #08
        xor b
        and #f8
        xor b
        add a,a
        ld b,a
        ld a,c
        rra
        and #08
        xor c
        and #f8
        xor c
        add a,a
        ld c,a
        ret
l0f37   ld a,b
        xor c
        and #f8
        xor c
        rl c
        xor c
        and #ef
        xor c
        rla
        rla
        rla
        xor b
        and #f8
        xor b
        ret
l0f4a   call l125e
        add hl,hl
        ld d,d
        ld b,d
        ld b,(hl)
        ld d,h
        ld c,a
        nop
        ret c
        and #7f
        ld b,a
        inc b
        xor a
        scf
l0f5b   rla
        djnz l0f5b
        ld c,a
        ld a,(#5f79)
        call l125e
        ld b,#02
        ret c
        rra
        sbc a,a
        ld b,(ix+#01)
        xor b
        and c
        xor b
        ld (#5f41),a
        ret
l0f74   bit 0,(ix+#38)
        ld hl,#df60
        jr z,l0fa7
        set 5,(ix+#14)
        set 0,(ix+#00)
        ld de,#df61
        ld bc,#0008
        ld (hl),#07
        ldir
        ld (hl),#00
        ld bc,#0007
        ldir
        ld hl,l083b
l0f99   ld de,#df40
        ld bc,#000f
        ldir
        call l0ffc
        jp l0c50
l0fa7   res 5,(ix+#14)
        res 0,(ix+#00)
        ld b,#08
l0fb1   ld (hl),#07
        inc hl
        ld (hl),#00
        inc hl
        djnz l0fb1
        ld hl,l084a
        jr l0f99
l0fbe   call l125e
        inc b
        ret c
        ld c,a
        ld a,(#5f79)
        call l125e
        inc b
        ret c
        rrca
        rrca
        rrca
        rrca
        xor c
        and #f0
        xor c
        ld (#5f5b),a
l0fd7   ld a,(#5f5b)
        bit 5,(ix+#00)
        jr nz,l0fe4
        rra
        rra
        rra
        rra
l0fe4   ld c,a
        xor (ix+#15)
        and #07
        xor (ix+#15)
        ld (#5f55),a
        ld a,(#5f54)
        xor c
        and #f7
        xor c
        xor #08
        ld (#5f54),a
l0ffc   ld c,(ix+#14)
        ld a,(#5f55)
        out (c),a
        ret
l1005   ld c,(ix+#39)
        ld b,a
        jp l0886
l100c   ld a,(#5f7a)
        cp (ix+#38)
        ret c
        ld l,a
        bit 0,(ix+#00)
        jr nz,l101c
        add a,a
        ret c
l101c   cp #50
        ret nc
        ld a,(#5f7b)
        cp (ix+#39)
        ret c
        cp #19
        ret nc
        ld h,a
        ld (#5f4d),hl
        ld hl,(#5f78)
        ld (#5f4b),hl
        jp l0c4a
l1036   ld hl,l0b2b
l1039   ld a,(#5f4c)
        push af
        ld (ix+#0c),b
        call l1048
        pop af
        ld (#5f4c),a
l1046   equ  $-#0001
        ret
l1048   jp (hl)
l1049   ld hl,l0b45
        jr l1039
l104e   call l125e
        ld b,#03
        ret c
        res 2,(ix+#00)
        dec a
        jp z,l08bb
l105b   equ  $-#0001
        inc a
        ex af,af'
        call l08d4
        ex af,af'
        ret z
        set 2,(ix+#00)
        ret
l1068   call l125e
l106a   equ  $-#0001
        rlca
        jr nz,l1046
        call l109b
l1071   ld (#5f48),a
        ret
l1075   ld (#5f68),a
        ld a,(#5f79)
        jr l1095
l107d   call l125e
        rlca
        jr nz,l105b
        call l109b
        ld (#5f68),a
        ld a,(#5f79)
        call l125e
        rlca
        jr nz,l106a
        call l109b
l1095   add a,a
        dec a
        ld (#5f67),a
        ret
l109b   inc a
        cp #10
        ret c
        sub #08
        cp #10
        jr c,l10a8
        sub #08
        add a,a
l10a8   add a,a
        ret
l10aa   call l125e
        ld b,#08
        ret c
        ld b,a
        ld a,(#5f79)
        call l125e
        ld b,#08
        ret c
        cp b
        ret c
        inc a
        ld (ix+#09),b
        ld (#5f4a),a
        ret
l10c4   call l125e
        ld b,#03
        ret c
        add a,a
        ld hl,#df70
        call l12be
        ld de,#5f79
        ld b,#08
l10d6   ld a,(de)
        inc de
        call l125e
        inc b
        ret c
        rld
        bit 0,b
        jr z,l10e4
        inc hl
l10e4   djnz l10d6
        ret          ;сюда указывает вектор прерываний #3DFF
l10e7   ld de,#5f78
        ld hl,#7f40
        ld b,#10
        call l10d6
        ld de,#7f40
        call l0999
        jp l0ca1
l10fb   call l125e
        dec d
        ld d,d
        ld d,h
        nop
        ret c
        cp #81
        jr z,l1113
        ld (#5f7b),a
        xor a
        ld (#5f57),a
l110e   ld a,#03
        jp l0d65
l1113   ld hl,l1f23
        jr l111b
l1118   ld hl,#5f78
l111b   ld de,#df7c
        ld bc,#0010
        ldir
        jr l1159
l1125   ld b,#03
        ld d,#00
        ld hl,#5f78
l112c   ld a,(hl)
        call l125e
        ld b,#04
        ret c
        cpl
        rra
        rra
        rl d
        rla
        sbc a,a
        and #08
        or d
        ld d,a
        inc hl
        djnz l112c
        ld hl,#df7c
        ld a,(#5f7b)
        and #7f
        call l12bf
        ld (hl),d
        inc (ix+#3b)
        jp p,l1159
        bit 4,(ix+#3b)
        jr z,l110e
l1159   di
        ld a,i
        push af
        ld a,#3d
        ld i,a
        im 2
        ld a,(#5f55)
        and #f8
        ld hl,#df7c
        ld bc,#7dfd
        ld d,#08
        exx
        ld c,(ix+#14)
        set 3,c
        exx
        ei
        halt
l1179   exx
        out (c),a
        exx
        outi
        inc b
        inc a
        dec d
        jr nz,l1179
        exx
        res 3,c
        exx
        sub #08
        ld d,#08
l118c   exx
        out (c),a
        exx
        outi
        inc b
        inc a
        dec d
        jr nz,l118c
        pop af
        ld i,a
        im 1
        ei
        ld bc,#1000
        ld de,#00ff
        ld hl,#df7c
l11a6   call l1224
        cp d
        jr c,l11b0
        ld d,a
        ld (ix+#2e),c
l11b0   cp e
        jr nc,l11b7
        ld e,a
        ld (ix+#2f),c
l11b7   inc c
        inc hl
        djnz l11a6
        ld a,d
        add a,e
        ld (#5f70),a
        jp l0fd7
l11c3   push bc
        ld b,c
        ld c,a
        ld d,a
        push hl
l11c8   ld a,(hl)
        ld (hl),c
        ld c,a
        call #7f40
        djnz l11c8
        pop hl
        pop bc
        ld a,d
        ret
l11d4   ld l,#23
        ld de,l09f0
        jr l11e0
l11db   ld l,#2b
        ld de,l1203
l11e0   bit 0,(ix+#00)
        jr z,l11f1
        ld a,#c3
        ld (#7f40),a
        ld (#7f41),de
        jr l11f6
l11f1   ld h,#c9
        ld (#7f40),hl
l11f6   ld hl,#0028
        ld (#5f4f),hl
        ld hl,l11c3
        ld (#df56),hl
        ret
l1203   ld a,#20
        xor h
        ld h,a
        and #20
        ret z
        dec hl
        ret
l120c   push hl
        ld hl,#df7c
        call l12bf
        call l1224
        add a,a
        ld hl,#5f70
        cp (hl)
        pop hl
        ld a,(#5f6f)
        ret nc
        ld a,(#5f6e)
        ret
l1224   push hl
        push bc
        ld c,(hl)
        ld hl,l1238
        ld b,#06
        xor a
l122d   rr c
        jr c,l1232
        add a,(hl)
l1232   inc hl
        djnz l122d
        pop bc
        pop hl
        ret
l1238   defb #02,#06,#0c,#01
        defb #03,#06
l123e   push bc
        push de
        push hl
        push iy
        push af
        ex af,af'
        ld a,#01
        rst #18
        push af
        call l08d4
        ei
        ex af,af'
        call #df52
        call l08bb
        pop af
        rst #18
        ei
        pop af
        pop iy
        pop hl
        pop de
        pop bc
        ret
l125e   add a,#20
l1260   ex (sp),hl
        push bc
        ld c,(hl)
        inc hl
        srl c
        jr nc,l1272
        cp #61
        jr c,l1272
        cp #7b
        jr nc,l1272
        sub #20
l1272   push bc
        srl c
        srl c
        jr z,l1283
        ld b,#00
        cpir
        add hl,bc
        jr nz,l1283
        ld a,c
        or #80
l1283   pop bc
        ld b,#30
        rr c
        rr c
        jp p,l1295
        ld c,#0a
        jr nc,l129d
        ld c,(hl)
        inc hl
        jr l129d
l1295   ld c,#10
        jr c,l129d
        ld c,#ff
        ld b,#00
l129d   or a
        jp m,l12b2
        sub b
        jr c,l12ba
        cp #0a
        jr c,l12ae
        sub #07
        cp #0a
        jr c,l12ba
l12ae   cp c
        ccf
        jr l12ba
l12b2   ld c,(hl)
        inc c
        dec c
        push af
        call nz,l12bd
        pop af
l12ba   pop bc
        ex (sp),hl
        ret
l12bd   inc a
l12be   add a,a
l12bf   add a,l
        ld l,a
        ret nc
        inc h
        ret

;Тоже, что и RST#08
l12c4   ex (sp),hl   ;HL указывает на следующий байт после RST#8
        ld a,(hl)    ;берем его
        inc hl       ;HL=HL+1
        inc a        ;A=#FF?
        jr z,l12ce
        dec a        ;если нет,то 
        ld (#5f77),a ;помещаем A в системную переменную
l12ce   ld a,(hl)    ;берем следующий байт
        inc hl       ;HL=HL+1
        inc a        ;A=#FF?
        jr z,l12d7
        dec a        ;если нет,то
        ld (#5f76),a ;помещаем A в системную переменную
l12d7   ex (sp),hl   ;записываем в стек адрес возврата и восстанавливаем HL
        push hl      ;т.е. после команды RST#8 всегда следуют 2 "левых" байта
        push de      
        push bc
        res 6,h
        res 7,h
        res 6,d
        res 7,d
        or a
        sbc hl,de
        add hl,de
        jr c,l12ea
        ex de,hl
l12ea   ld hl,#4000
        or a
        sbc hl,de
        ld (#5f4f),hl
        sbc hl,bc
        pop bc
        pop de
        jr nc,l130a
        ld bc,(#5f4f)
        ex (sp),hl
        call l130b
        pop bc
        push hl
        xor a
        ld h,a
        ld l,a
        sbc hl,bc
        ld b,h
        ld c,l
l130a   pop hl
l130b   push hl
        push de
        push bc
        call l131b
        pop bc
        pop hl
        add hl,bc
        ex de,hl
        pop hl
        add hl,bc
        ld bc,#0000
        ret
l131b   ld a,(#5f77)
        ex de,hl
        call l138c
        ld (#5f4f),a
        ex de,hl
        ld a,(#5f76)
        call l138c
        ld (#5f50),a
        ld a,h
        and d
        or #3f
        inc a
        di
        ld a,(#5f46)
        push af
        jr nz,l1343
        ld a,(#5f50)
        cp (ix+#0f)
        jr nz,l1359
l1343   ld a,h
        or #3f
        inc a
        ld a,(#5f50)
        jr z,l134f
        ld a,(#5f4f)
l134f   push bc
        rst #18
        pop bc
        ei
        ldir
l1355   pop af
        rst #18
        ei
        ret
l1359   rlc c
        srl c
        ld a,b
        rla
        jr nz,l1364
        ld c,#80
        dec a
l1364   inc a
        ld b,#00
l1367   ex af,af'
        exx
        ld a,(#5f50)
        rst #18
        ei
        exx
        ld a,c
        push de
        ld de,#7f40
        ldir
        pop de
        ld c,a
        exx
        ld a,(#5f4f)
        rst #18
        ei
        exx
        push hl
        ld hl,#7f40
        ldir
        pop hl
        ex af,af'
        dec a
        jr nz,l1367
        jr l1355
l138c   bit 5,a
        ret z
        bit 7,h
        ld a,#03
        ret nz
        inc a
        bit 6,h
        set 6,h
        set 7,h
        ret nz
        xor a
        ret
        
;Тоже, что и RST#10
;аналогично процедуре RST#8, только здесь 1 "левый" байт после RST#10
l139e   ex (sp),hl
        ld b,(hl)
        inc b
        jr nz,l13a7
        ld b,(ix+#36)
        inc b
l13a7   dec b
        inc hl
        ex (sp),hl
        push af
        push bc
        ld a,b
        call l138c
        rst #18
        push af
        ei
        pop af
        pop bc
        ld c,a
        pop af
        rl b
        jr c,l13bc
        ld (hl),a
l13bc   ld a,(hl)
        jp p,l13c1
        inc hl
l13c1   ex af,af'
        ld a,c
        rst #18
        ex af,af'
        ei
        ret
l13c7   xor a
        in a,(#fe)
        or #e0
        inc a
        ret z
        ld l,#f8
        ld de,#0000
        ld bc,#fefe
l13d6   in a,(c)
        cpl
        and #1f
        jr z,l13f9
        ld h,a
        ld a,l
l13df   add a,#08
        srl h        
        jr nc,l13df
        or a
        jr nz,l13ec
        set 7,e
        jr l13f5
l13ec   cp #0f
        jr nz,l13f4
        set 6,e
        jr l13f5
l13f4   ld d,a
l13f5   inc h
        dec h
        jr nz,l13df
l13f9   inc l
        rlc b
        jr c,l13d6
        ld a,d
        or e
        ret
l1401   defb "@",#80
l1403   defb #03,#04,#0b,#0c
        defb #13,#14,#1b,#1c
        defb "#$"
l140d   defb #04,#05,#08,#0c
        defb #0d,#0e,#10,#14
        defb #16,#17,#18,#1e
        defb #1f," &'"
l141d   dec (ix+#23)
        ret p
        ld (ix+#23),#00
        call l13c7
        cp (ix+#24)
        jr z,l148b
        ld b,(ix+#26)
        ld (ix+#26),#ff
        inc b
        ld d,a
        ld c,#3f
        jr z,l1450
        dec b
        and c
        jr z,l144c
        xor b
        and c
        jr z,l144c
        ld a,b
        and c
        jr z,l144c
        ld a,b
        and #c0
        or c
        jr l1461
l144c   ld a,b
        or d
        jr l1465
l1450   ld a,(#5f40)
        cpl
        or c
        and d
        ld hl,l1401
        ld bc,#001c
        cpir
        ld a,d
        jr nz,l1465
l1461   ld (#5f66),a
        ret
l1465   ld b,a
        ld a,(#5f67)
        ld (#5f65),a
        ld (ix+#23),#05
        ld a,b
        and #3f
        jr z,l147c
        xor (ix+#24)
        and #3f
        jr nz,l1486
l147c   ld a,(#5f40)
        xor b
        and #3f
        xor b
        ld (#5f40),a
l1486   ld (ix+#24),b
        jr l149a
l148b   bit 7,(ix+#25)
        ret nz
        dec (ix+#25)
        ret nz
        ld a,(#5f68)
        ld (#5f65),a
l149a   ld a,(#5f40)
        and #c0
        xor (ix+#24)
        jp p,l14ae
        ld hl,l1403
        ld c,#0a
        ld d,#28
        jr l14b9
l14ae   bit 6,a
        jr z,l14c3
        ld d,#32
        ld hl,l140d
        ld c,#10
l14b9   ld b,#00
        and #3f
        cpir
        jr nz,l14c3
        ld a,d
        add a,c
l14c3   or a
        ret z
        ld b,a
        cp #2f
        jr nz,l14d8
        ld (ix+#25),#80
        ld a,(#5f40)
        xor #10
        ld (#5f40),a
        xor a
        ret
l14d8   cp #2b
        jr nz,l14e2
        ld (ix+#25),#80
        jr l1500
l14e2   cp #07
        jr nz,l1500
        bit 3,(ix+#01)
        jr nz,l1500
        ld a,(#5f40)
        or #3e
        inc a
        jr nz,l1500
        ld a,#03
        rst #18
        ld hl,#ea03
        ld (#f86a),hl
        jp #f864
l1500   ld a,(#5f69)
        cp #10
        ld hl,(#5f6a)
        jp z,l0d36
        ld hl,#7fc0
        call l12bf
        inc (ix+#29)
        ld (hl),b
        push hl
        ld hl,(#5f6c)
        call l0d36
        pop hl
        ld a,(#5f74)
        bit 4,(ix+#35)
        jr z,l1528
        add a,#08
l1528   sub #e6
        cp #07
        ret c
        ld a,r
        and #78
        jr nz,l1536
        ld hl,(#5f5c)
l1536   cp #10
        ret nc
        inc (hl)
        ret
l153b   bit 2,(ix+#00)
        jr z,l1560
        call l1580
        jr nz,l1566
        ld a,#01
        rst #18
        push af
        call l08bb
        pop af
        rst #18
        ei
        call l1560
        push af
        ld a,#01
        rst #18
        push af
        call l08d4
        pop af
        rst #18
        ei
        pop af
        ret
l1560   call l1580
        or a
        jr z,l1560
l1566   call l156d
        call l15b4
        ret
l156d   ld hl,#7fc1
        ld de,#7fc0
        dec (ix+#29)
        ld a,(de)
        ld bc,#000f
        ldir
        ret
l157d   call l156d
l1580   ld a,(#5f69)
        or a
        ret z
        ld a,(#7fc0)
        call l15b4
        or a
        jr z,l157d
        ld a,#ff
        ret
l1591   ld a,(#5f69)
        or a
        ld a,#01
        jr z,l15a3
        call l156d
        push af
        call l15b4
        ld c,a
        pop hl
        xor a
l15a3   ld l,#00
        ld d,(ix+#00)
        ret
l15a9   ld a,(#5f69)
        or a
        ld a,#01
        jr z,l15a3
        xor a
        jr l15a3
l15b4   ld e,a
        ld hl,l1662
        call l12bf
        ld a,(hl)
        or a
        scf
        ret z
        cp #20
        ret z
        cp #0d
        jr nz,l15d2
        ld a,(#5f40)
        or #3e
        inc a
        ld a,#0d
        ret nz
        ld a,#0a
        ret
l15d2   ld d,#00
        ex af,af'
        ld a,e
        bit 5,(ix+#00)
        jr z,l15ec
        cp #3a
        jr c,l15ec
        sub #3a
        ld hl,l16a4
        call l12bf
        ld a,(hl)
        ex af,af'
        jr l15fa
l15ec   cp #28
        jr nc,l15f9
        dec a
        and #06
        cp #02
        jr nz,l15f8
        inc d
l15f8   inc d
l15f9   inc d
l15fa   ld a,(#5f40)
        and #c0
        rra
        rra
        rra
        rra
        add a,d
        ld hl,l1611
        call l12bf
        ld a,(hl)
        call l12bf
        ex af,af'
        or a
        jp (hl)
l1611   defb #15,"8",#13,#0f
        defb #0c,#0b,">",#19
        defb #0b,"&",#09,#15
        defb #04,#03,#0f,#01
l1621   xor a
        scf
        ret
        xor #20
        bit 4,(ix+#00)
        ret z
        xor #20
        ret
        and #1f
        ret
        sub #10
        cp #22
        jr z,l163d
        cp #20
        ret nz
        ld a,#5f
        ret
l163d   ld a,#40
        ret
        sub #28
        cp #02
        jr nc,l1621
        add a,a
        add a,#5b
        ret
        or a
        ret p
        ld a,#0e
        bit 5,(ix+#00)
        ret nz
        inc a
        ret
        sub #41
        ld hl,l16ac
        call l12bf
        ld a,(hl)
        or a
        ret nz
        scf
        ret
l1662   defb #00,"AQ10P",#0d
        defb " ZSW29OL",#00
        defb "XDE38IKMCFR47UJNVGT5"
        defb "6YHB",#18,#13
        defb #05,#80,#04,#09
        defb #00,#00,#08,#1b
        defb "*^/,-?.+(`=;):"
        defb #22,"_"
l16a4   defb "[_=;]^@\"
l16ac   defb "~*?\",#00,"{}^"
        defb #00,"-+=.,;",#22
        defb #00,"<|>]/",#00
        defb "`[:"
l16c6   add a,#06
        ret
;Сюда переходим по RST#18, ну тут явно переключение страниц верхней памяти
;Вход:  в A-номер страницы
;Выход: в A-старый номер страницы
l16c9   di
        ld b,(ix+#06)
        ld (#5f46),a
l16d0   push bc
        push af
        rra
        rra
        rra
        xor (ix+#16)
        and #03
        xor (ix+#16)
        ld bc,#fdfd
        out (c),a
        pop af
        and #07
        or #10
        ld bc,#7ffd
        out (c),a
        pop af
        ret
;Старт
l16ee   ld sp,#6000
        im 1
        jr l16f5
l16f5   ld a,#01
        call l1f33
        call l1f79
        ld a,#01
        call l1f33
        call l1f79
        ld sp,#b000
        ld hl,l176d
        ld de,#8000
        ld bc,#0018
        ldir
        xor a
        rst #18
        ld de,#c000
        ld bc,#3c10
        call #8000
        ld a,#03
        rst #18
        ld hl,#0000
        ld (#f86a),hl
        call #f864
        push af
        ld hl,l1f23
        call l111b
        pop af
        ld d,a
        or a
        jr z,l1747
        xor a
        out (#fe),a
        dec d
        jp z,#8008
        dec d
        jr z,l1755
        ld a,#03
        call l16d0
        jr l1761
l1747   ld a,#01
        ld sp,#6000
        call l1f33
        call l1fba
        jp l1785
l1755   ld a,#03
        call l16d0
        ld bc,#7ffd
        ld a,#03
        out (c),a
l1761   ld hl,#40ed
        ld (#fffe),hl
        ld bc,#ff7b
        jp #fffe
;- Этот блок кидается по адресу #8000 -
;*** Вызов TR-DOS из CPM ***
l176d   in a,(#7b)  ;выключаем CPM
        call #8014  ;вызываем TR-DOS
        in a,(#fb)  ;включаем CPM
        ret         ;возврат
        in a,(#7b)  ;выкл. CPM
        ld bc,#7ffd
        ld a,#30
        out (c),a   ;вкл. режим 48K
        ld bc,#0000 ;адрес возврата
        push bc      ;<-#8014
        jp #3d2d    ;переход в TR-DOS
;--------------------------------------
l1785   ld a,#01
        rst #18
        ei
        call l1792
        ld a,#03
        rst #18
        jp #f85c
l1792   ld hl,#ff40
        push hl
        ld b,#c0
        xor a
l1799   add a,(hl)
        adc a,#00
        djnz l1799
        dec a
        pop hl
        push af
        jr z,l17a6
        ld hl,l17bb
l17a6   ld c,(hl)
        inc c
        ld b,#00
        ld de,#d407
        rst #08
        cp #01
        pop af
        ret nz
l17b2   ld a,(hl)
        inc hl
        or a
        ret z
        call l123e
        jr l17b2
l17bb   defb #05,"B:XC /R"
l17c3   push af
        in a,(#ff)
        push af
        push bc
        push de
        push hl
        ex af,af'
        exx
        push af
        push bc
        push de
        push hl
        push ix
        ld ix,#5f40
        ld a,#01
        rst #18
        push af
        call #5f62
        ld hl,#5f5c
        ld b,#04
l17e2   inc (hl)
        inc hl
        jr nz,l17e8
        djnz l17e2
l17e8   call l0894
        pop af
        rst #18
        call l141d
        pop ix
        pop hl
        pop de
        pop bc
        pop af
        exx
        ex af,af'
        pop hl
        pop de
        pop bc
        pop af
        inc a
        call nz,l3dfd
        pop af
        ei
        ret
l1803   ei
        push hl
        push de
        push af
        ld a,#09
        cp c
        jr nc,l1812
        pop af
        ld a,#ff
        pop de
        pop hl
        ret
l1812   ld a,c
        ld hl,l181d
        call l1a9f
        pop af
        pop de
        ex (sp),hl
        ret
l181d   defw l1831
        defw l1836
        defw l183e
        defw l1591
        defw l15a9
        defw l1848
        defw l1851
        defw l1867
        defw l1872
        defw l1886
l1831   ld hl,#0103
        xor a
        ret
l1836   ld bc,#1600
        call l1fbd
        xor a
        ret
l183e   ld de,(#f86a)
        ld (#f86a),hl
        ex de,hl
        xor a
        ret
l1848   ld de,(#5f5c)
        ld hl,(#5f5e)
        xor a
        ret
l1851   ex af,af'
        ld a,(#5f55)
        ex af,af'
        ld c,(ix+#14)
        xor (ix+#15)
        and #f8
        xor (ix+#15)
        out (c),a
        set 7,c
        xor a
        ret
l1867   ld c,(ix+#14)
        ld a,(#5f55)
        ex af,af'
        set 7,c
        xor a
        ret
l1872   ld bc,#fdfd
        ex af,af'
        ld a,(#5f56)
        ex af,af'
        xor (ix+#16)
        and #f8
        xor (ix+#16)
        out (c),a
        xor a
        ret
l1886   ld bc,#fdfd
        ld a,(#5f56)
        ex af,af'
        xor a
        ret
l188f   ld (ix+#49),c
        ld hl,#5f8a
        inc de
        ld bc,#0008
        ex de,hl
        rst #08
        inc bc
        cp #fb
        push iy
        call l18bd
        pop iy
        ret
l18a6   ei
        ld (#5f8a),a
        ld (ix+#49),c
        push hl
        push de
        push iy
        ld (#5f90),de
        call l18bd
        pop iy
        pop de
        pop hl
        ret
l18bd   ld a,(#5f89)
        ld hl,#f970
        call l1a9f
        push hl
        pop iy
        ld a,(#5f8a)
        cp #07
        jp z,l1a6e
        ld a,(iy+#00)
        cp #ff
        ld a,#09
        ret nz
        ld a,(#5f8a)
        cp #08
        jp z,l1a8e
        cp #00
        jr z,l1916
        cp #03
        jr z,l1916
        dec (ix+#4e)
        ld de,(#5f8c)
        ld l,(iy+#12)
        ld h,(iy+#13)
        dec hl
        xor a
        sbc hl,de
        ld a,#08
        ret c
        ld a,(iy+#04)
        add a,(iy+#05)
        ld c,a
        ld b,#00
        call l1938
        ld (ix+#52),l
        ld l,(iy+#0c)
        ld h,(iy+#0d)
        add hl,de
        ld (#5f93),hl
l1916   ld a,#05
        ld (#5f9b),a
l191b   ld a,(#5f8a)
        push af
        call l1952
        ld e,a
        pop af
        ld (#5f8a),a
        ld a,e
        or a
        ret z
        ld (ix+#60),#ff
        and #80
        ld a,e
        ret z
        dec (ix+#5b)
        jr nz,l191b
        ret
l1938   ld hl,#0000
        ld a,#10
l193d   ex af,af'
        add hl,hl
        xor a
        sla e
        rl d
        adc a,l
        ld l,a
        sbc hl,bc
        inc de
        jr nc,l194d
        add hl,bc
        dec de
l194d   ex af,af'
        dec a
        jr nz,l193d
        ret
l1952   ld a,(#5f8a)
        ld h,a
        cp #07
        ld a,#52
        ret nc
        ld a,h
        ld hl,l1963
        call l1a9f
        jp (hl)
l1963   sub b
        add hl,de
        ld (hl),c
        add hl,de
        ld (hl),c
        add hl,de
        ld (hl),c
        add hl,de
        sub (hl)
        add hl,de
        ret c
        add hl,de
        or c
        add hl,de
l1971   push iy
        pop bc
        ld a,(iy+#01)
        cp #08
        jr c,l197e
        ld a,#50
        ret
l197e   ld hl,#f984
        call l1a9f
        ld a,l
        or h
        ld a,#51
        ret z
        ld a,(#5f8a)
        call l1a9f
        jp (hl)
        ld (ix+#60),#ff
        jr l1971
l1996   call l19dc
        jr z,l19ab
        ld (ix+#4a),#01
        call l1971
        ret nz
        ld (ix+#4a),#04
        call l1971
        ret nz
l19ab   call l1a3c
        jr nz,l1996
        ret
        ld (ix+#4a),#01
        call l1971
        ret nz
l19b9   call l19dc
        jr z,l19c6
        ld (ix+#4a),#04
        call l1971
        ret nz
l19c6   call l1a5d
        ld (ix+#4a),#06
        call l1971
        pop hl
        ret nz
        call l1a4e
        jr nz,l19b9
        ret
        ld a,#52
        or a
        ret
l19dc   push bc
        ld b,(iy+#1d)
        ld c,#ff
        ld a,(#5f8e)
        inc b
        jr l19ec
l19e8   srl a
        sla c
l19ec   djnz l19e8
        ld (#5f98),a
        ld a,(#5f8e)
        or c
        xor c
        ld c,#00
        srl a
        rr c
        ld b,a
        ld hl,#fb3c
        ld (#5f99),hl
        add hl,bc
        ld (#5f96),hl
        ld a,(#5f89)
        cp (ix+#60)
        jr nz,l1a25
        ld hl,(#5f8c)
        ld bc,(#5fa1)
        sbc hl,bc
        jr nz,l1a25
        ld a,(#5f98)
        cp (ix+#63)
        jr nz,l1a25
        xor a
        jr l1a3a
l1a25   ld a,(#5f89)
        ld (#5fa0),a
        ld hl,(#5f8c)
        ld (#5fa1),hl
        ld a,(#5f98)
        ld (#5fa3),a
        ld a,#ff
        and a
l1a3a   pop bc
        ret
l1a3c   push af
        push de
        ld bc,#0080
        ld de,(#5f90)
        ld hl,(#5f96)
        rst #08
        cp #03
        ex de,hl
        pop de
        pop af
l1a4e   ld (#5f90),hl
        ld l,#05
        ld (ix+#5b),l
        inc (ix+#4e)
        dec (ix+#4b)
        ret
l1a5d   push de
        ld bc,#0080
        ld de,(#5f96)
        ld hl,(#5f90)
        rst #08
        inc bc
        cp #d1
        ex (sp),hl
        jp (hl)
l1a6e   ld (iy+#00),#ff
        push iy
        pop de
        inc de
        ld hl,(#5f90)
        ld bc,#0022
        rst #08
        inc bc
        cp #fb
        ld (ix+#4a),#00
        call l18bd
        ld (ix+#4a),#03
        jp l18bd
l1a8e   push iy
        pop hl
        inc hl
        ld de,(#5f90)
        ld bc,#0022
        rst #08
        cp #03
        ei
        xor a
        ret
l1a9f   call l12be
        ld e,(hl)
        inc hl
        ld d,(hl)
        ex de,hl
        ret
l1aa7   defw l1af2
        defw l1b39
        defw l1dd6
        defw l1c89
        defw l1c0e
        defw l1af0
        defw l1c5b
l1ab5   ld hl,#5f9c
        ld a,(iy+#02)
        jp l12bf
l1abe   ld (#5f72),sp
l1ac2   call l3dfd
        ld c,(iy+#02)
        xor a
        sub (ix+#52)
        cpl
        and #10
        or c
        ld c,(iy+#1c)
        xor c
        and #bf
        xor c
        or #0c
        out (#ff),a
        call l1ca9
        call l1ab5
        ld a,(hl)
        inc a
        jr nz,l1aed
        call l1b18
        jp nz,l1bb8
        ld a,#01
l1aed   dec a
        out (#3f),a
l1af0   xor a
        ret
l1af2   call l1fff
        di
        call l3dfd
        ld a,#08
        out (#ff),a
        ld a,#0c
        out (#ff),a
        ld a,#d0
        out (#1f),a
        call l1b0d
l1b08   xor a
        ei
        jp #f833
l1b0d   push af
        call l1ab5
        ld (hl),#ff
        pop af
        ret
l1b15   ld a,(#5f93)
l1b18   ld c,(iy+#20)
        set 3,c
        or a
        ld (hl),a
        jr z,l1b30
        out (#7f),a
        set 4,c
        ld a,(#5f8a)
        cp #02
        jr z,l1b33
        set 2,c
        jr l1b33
l1b30   dec a
        out (#3f),a
l1b33   ld a,c
l1b34   out (#1f),a
        jp l1b8b
l1b39   call l1abe
        ld a,(#5f93)
        cp (hl)
        jr z,l1b08
l1b42   ex af,af'
        call l1b15
        jr z,l1b08
        ex af,af'
        or a
        jr z,l1bb8
        ld a,#c0
        ld hl,#7f40
        ld bc,#087f
        ld de,#0000
        di
        out (#1f),a
        call l1bf0
        ei
        in a,(#1f)
        and #1c
        jr nz,l1b6e
        ld a,(#7f40)
        out (#3f),a
        call l1b15
        jr z,l1b08
l1b6e   xor a
        call l1b18
        call l1b15
        jr nz,l1bb8
        jr l1b08
l1b79   ld a,(#5f75)
        ld b,#04
        and #10
        ret z
        sla b
        ret
l1b84   pop de
        pop bc
        in a,(#1f)
        bit 4,a
        ret
l1b8b   push bc
        push de
        call l1b79
        ld de,#0000
l1b93   in a,(#ff)
        and #80
        jr nz,l1b84
        dec de
        ld a,d
        or e
        jr nz,l1b93
        djnz l1b93
l1ba0   ld a,#59
        ld hl,#403e
l1ba3   equ  $-#0002
        ld hl,(#5f72)
        inc hl
        inc hl
        ld sp,hl
        ld h,a
        call l3dfd
        ld a,#d0
        out (#1f),a
        ld a,h
        or a
        jp #f833
l1bb8   call l1b0d
        jr l1ba3
l1bbd   ld (#5f72),sp
        call l1ac2
        in a,(#1f)
        and #20
        jr nz,l1bd7
        ld a,(hl)
        out (#7f),a
        ld a,(iy+#20)
        or #18
        call l1b34
        jr nz,l1bb8
l1bd7   ld a,(#5f98)
        inc a
        out (#5f),a
        call l1b79
        xor a
        sub (ix+#52)
        and #08
        ld hl,(#5f99)
        ld c,#7f
        ld de,#0000
        exx
        ret
l1bf0   in a,(#ff)
        and #c0
        jp m,l1c51
        jr nz,l1c0a
        dec de
        ld a,d
        or e
        jr nz,l1bf0
        djnz l1bf0
        jp l1ba0
;- Это явно чтение данных из ВГ'шки -
l1c03   in a,(#ff)
        and #c0
        jr z,l1c03
        ret m
l1c0a   ini
        jr l1c03
;------------------------------------
l1c0e   call l1bbd
        ld c,#1c
        exx
        or #80
        di
        out (#1f),a
        call l1bf0
l1c1c   in a,(#1f)
        exx
        and c
l1c20   ei
        jp z,#f833
        ld c,a
l1c25   bit 4,c
        jr nz,l1c44
        call #f833
        bit 3,c
        ld a,#84
        ret nz
        bit 2,c
        ld a,#83
        ret nz
        bit 5,c
        ld a,#53
        ret nz
        bit 6,c
        ld a,#54
        ret nz
        ld a,#56
        or a
        ret
l1c44   call l1ab5
        ld a,(#5f93)
        call l1b42
        ld a,#81
        or a
        ret
l1c51   in a,(#1f)
        exx
        and c
        jp z,l1ba3
        pop bc
        jr l1c20
l1c5b   call l1bbd
        ld c,#7c
        exx
        or #a0
        di
        out (#1f),a
        call l1c6b
        jr l1c1c
l1c6b   in a,(#ff)
        and #c0
        jp m,l1c51
        jr nz,l1c85
        dec de
        ld a,d
        or e
        jr nz,l1c6b
        djnz l1c6b
        jp l1ba0
;- А это запись на диск -
l1c7e   in a,(#ff)
        and #c0
        jr z,l1c7e
        ret m
l1c85   outi
        jr l1c7e
;------------------------
l1c89   call l1abe
        xor a
        call l1b18
        jp nz,l1ba3
        xor a
        jp #f833
l1c97   out (#7f),a
        ld b,a
        ld a,c
        or #18
        out (#1f),a
        call l1b8b
        ld e,a
        scf
        ret nz
        in a,(#3f)
        cp b
        ret
l1ca9   bit 7,(iy+#06)
        call nz,l1cb8
        bit 7,(iy+#20)
        call nz,l1ceb
        ret
l1cb8   ld a,#0f
        out (#1f),a
        call l1b8b
        jp nz,l1ba3
        ld d,#50
        ld c,#13
        ld a,#4f
        call l1c97
        jp c,l1bb8
        jr nz,l1cda
        ld a,#01
        call l1c97
        jp c,l1bb8
        jr z,l1cdc
l1cda   ld d,#28
l1cdc   bit 1,(iy+#05)
        ld (iy+#06),d
        ld a,d
        jr z,l1ce7
        add a,a
l1ce7   ld (iy+#12),a
        ret
l1ceb   ld c,#ff
l1ced   inc c
        bit 2,c
        jp nz,l1ba3
        ld a,c
        or #08
        out (#1f),a
        call l1b8b
        jr nz,l1ced
        ld a,#14
        call l1c97
        jr nz,l1ced
        ld a,#01
        call l1c97
        jr nz,l1ced
        bit 2,e
        jr nz,l1ced
        ld a,c
        or #38
        out (#1f),a
        call l1b8b
        jr nz,l1ced
        bit 2,a
        jp z,l1ced
        ld (iy+#20),c
        ret
l1d22   ld a,c
        jr l1d27
l1d25   ld b,#01
l1d27   ex af,af'
l1d28   in a,(#ff)
        and #c0
        jr z,l1d28
        ret m
        ex af,af'
        out (#7f),a
        djnz l1d27
        ret
l1d35   ld a,(iy+#1d)
        ld c,a
        or a
        jp po,l1d3e
        inc c
l1d3e   ld b,#00
        sub #01
        rr b
        push bc
        ld de,#7f40
        ld a,#f4
        di
        out (#1f),a
        ld a,#4e
        ld b,(iy+#1f)
        call l1d27
        ld bc,#0c00
        call l1d22
        ld bc,#03f6
        call l1d22
        ld a,#fc
        call l1d25
l1d66   ld bc,#324e
        call l1d22
        ld bc,#0c00
        call l1d22
        ld bc,#03f5
        call l1d22
        ld a,#fe
        call l1d25
        ld a,(#5f93)
        call l1d25
        ld a,(#5f92)
        call l1d25
        ld a,(de)
        inc de
        call l1d25
        ld a,(iy+#1d)
        call l1d25
        ld a,#f7
        call l1d25
        ld bc,#164e
        call l1d22
        ld bc,#0c00
        call l1d22
        ld bc,#03f5
        call l1d22
        ld a,#fb
        call l1d25
        ld a,(#5f8b)
        pop bc
        push bc
l1db5   call l1d27
        dec c
        jr nz,l1db5
        ld a,#f7
        call l1d25
        pop hl
        ret m
        push hl
        ld a,(de)
        or a
        jr nz,l1d66
        pop hl
        ld c,#05
l1dca   dec c
        ret m
        ld a,#4e
        call l1d27
        jp p,l1dca
        xor a
        ret
l1dd6   call l1abe
        call l1b15
        ld a,#40
        ret nz
        ld a,(#5f90)
        call l1e2c
        ld b,#08
        di
l1de8   push bc
        call l1d35
        pop bc
        in a,(#1f)
        ld c,a
        jp p,l1e05
        bit 0,c
        jr z,l1dfb
        ld a,#d0
        out (#1f),a
l1dfb   bit 6,c
        jp nz,l1c25
l1e00   djnz l1de8
        jp l1c25
l1e05   ld de,#7f41
l1e08   ld a,(de)
        or a
        jr nz,l1e0d
        inc a
l1e0d   out (#5f),a
        ld a,#80
        out (#1f),a
l1e13   in a,(#ff)
        and #c0
        jr z,l1e13
        in a,(#1f)
        and #18
        ld c,a
        ld a,#d0
        out (#1f),a
        jr nz,l1e00
        ld a,(de)
        inc de
        or a
        jr nz,l1e08
        jp l1b08
l1e2c   ld hl,#7f40
        ld de,#7f41
        ld c,(iy+#08)
        ld b,#00
        ld (hl),#00
        ldir
        ld hl,#7f40
        ld c,a
        ld b,(iy+#08)
        ld d,#01
        jr l1e4d
l1e46   push bc
        ld c,#01
        call l1e5b
        pop bc
l1e4d   ld a,(hl)
        or a
        jr nz,l1e46
        ld (hl),d
        inc d
        push bc
        call l1e5b
        pop bc
        djnz l1e4d
        ret
l1e5b   push de
        ld b,#00
        add hl,bc
        ld c,(iy+#08)
        ex de,hl
        ld hl,#7f40
        add hl,bc
        dec hl
        sbc hl,de
        ex de,hl
        jr nc,l1e70
        or a
        sbc hl,bc
l1e70   pop de
        ret
l1e72   defw l1e80
        defw l1e85
        defw l1ecc
        defw l1e80
        defw l1e9a
        defw l1e80
        defw l1eb3
l1e80   call l1fff
        xor a
        ret
l1e85   ld a,(#5f93)
        dec a
        ld (#5f71),a
        xor a
        ret
l1e8e   ld a,(#5f98)
        rra
        ld l,#00
        rr l
        or #c0
        ld h,a
        ret
l1e9a   call l1e8e
        ld a,(#5f71)
        call l16c6
        ld (#5f76),a
        ld bc,#0080
        ld de,(#5f99)
        rst #08
        inc bc
        rst #38
        ei
        xor a
        ret
l1eb3   call l1e8e
        ld a,(#5f71)
        call l16c6
        ld (#5f77),a
        ld bc,#0080
        ex de,hl
        ld hl,(#5f99)
        rst #08
        rst #38
        inc bc
        ei
        xor a
        ret
l1ecc   ld a,(#5f93)
        dec a
        call l16c6
        rst #18
        ex af,af'
        ld hl,#c000
        ld de,#c001
        ld bc,#3fff
        ld a,(#5f8b)
        ld (hl),a
        ldir
        ex af,af'
        rst #18
        ei
        xor a
        ret
;- Этот блок перекидывается по адресу #5F40 -
l1ee9   defb #00,#00,#00,#00
        defb #00,#00,#11,#01
        defb #0a,#07,#08,#00
        defb #00,"2",#18,#00
        defb #00,#01,#10,"?"
        defb #be,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #aa,"U",#c9,#00
        defb #00,#00,#ff,#0f
        defb #05,#00,#08,"`"
        defb #04,"?"
;--------------------------------------------
;- Этот блок перекидывается по адресу #DF70 -
l1f17   defb #01,"#Eg",#01
        defb "#",#cd,#ef,#01
        defb "#Eg"
;--------------------------------------------
;- Этот блок перекидывается по адресу #DF7C -
l1f23   defb #ff,#fe,#fd,#fc
        defb #fb,#fa,#f9,#f8
        defb #ff,#f6,#ed,#e4
        defb #db,#d2,#c9,#c0
;--------------------------------------------
l1f33   ld (#5f78),a
        ld a,#f9
        ld i,a
        ld ix,#5f40
        ld hl,l1ee9
        ld de,#5f40
        ld bc,#002e
        ldir
        ld a,#01
        rst #18
        ld a,#c3
        ld (#df4f),a
        ld (#df52),a
        ld (#df55),a
        ld hl,l0cc6
        ld (#df53),hl
        ld de,#df70
        ld hl,l1f17
        ld bc,#000c
        ldir
        call l0f74
        ld hl,l1f23
        call l111b
        call l08bb
        ld a,#03
        jp l16c9
l1f79   ld a,#03
        rst #18
        ld de,#f800
        ld hl,l208e
        ld bc,#0224
        ldir
        ld hl,#fa24
        ld de,#0023
        ld b,#08
l1f8f   ld (hl),#00
        add hl,de
        djnz l1f8f
        ld hl,#c000
        xor a
        rst #18
        ld d,(hl)
        ld (hl),#55
        ld a,#08
        rst #18
        ld e,(hl)
        ld (hl),#aa
        xor a
        rst #18
        ld a,#55
        cp (hl)
        ex af,af'
        ld (hl),d
        ld a,#08
        rst #18
        ld (hl),e
        ld a,#03
        rst #18
        ex af,af'
        ret z
        ld bc,#2070
        ld (#f972),bc
        ret
;- Блок процедур расксорки -
l1fba   ld bc,#1b0f
l1fbd   push bc
;Вызов последующих 2-х процедур в итоге приводит к возникновению
;неизвестного числа в HL
        call l1fff     ;вызов процедуры, формирующей неизвестное число в #5F74
        call l2035     ;вызов процедуры, формирующей неизвестное число в HL
        defb #2E,#03,#01,#01,#82,#00
        ld c,#00
        exx
        pop bc
        ld de,#d400    ;расксорка блока по адресу #22B3
        ld hl,l22b3    ;для того, чтобы его расксорить нужно всего-лишь
l1fd4   ld a,(hl)      ;знать код расксорки в HL, а это 65536 вариантов
        exx
        xor c
        xor l
        ld c,a
        add hl,hl
        jr nc,l1fdd
        inc hl
l1fdd   exx
        ld (de),a
        inc de
        cpi
        jp pe,l1fd4
        ret
;Процедура установки прерываний для расксорки
l1fe6   di             ;запрещение прерываний
        pop hl         ;берем адрес возврата в HL
        ld a,#03       ;вкл. 3-ю страницу
        rst #18
        push af        ;сохраняем номер предыдущей
        ld bc,(#f9ff)  ;берем старый вектор прерываний (I=#F9)
        push bc        ;сохраняем его
        ld bc,l201c    
        ld (#f9ff),bc  ;устанавливаем его на адрес #201C
        push hl        ;восстанавливаем адрес возврата
        ld hl,#0001    ;HL=1
        im 2           ;второй режим прерываний
        ret            ;возврат                  
l1fff   call l1fe6     ;вызов процедуры установки прерываний
        ei             ;вкл. прерывания
        halt           ;ждем прихода прерывания
        ld b,#14       ;пропускаем несколько тактов
l2006   djnz l2006
        or a           ;очищаем флаг C
        ei             ;вкл. прерывания (пропускаем еще 4 такта)
l200a   inc hl         ;в цикле увеличиваем HL на 1, пока не придет прерывание
        jr nc,l200a
        ld (#5f74),hl  ;сохраняем HL по адресу #5F74
;Процедура восстановления старого режима прерываний
l2010   di             ;запрещаем прерывания
        im 1           ;устанавливаем 1-й режим
        pop de         ;берем из стека старый вектор прерывания
        ld (#f9ff),de  ;восстанавливаем его
        pop af         ;восстанавливаем страницу памяти
        rst #18
        ei             ;прерывания вкл.
        ret            ;возврат
l201c   scf            ;обработчик прерываний для расксорки
        ret            ;он просто сигнализирует о приходе прерывания флагом C
;Хитрая процедура, формирующая в HL неизвестное число
l201e   call l1fe6     ;вызов процедуры установки прерываний
        ld hl,#0001    ;HL=1
        ei             ;вкл. прерывания
        halt           ;ждем прерывания
        nop            ;пропуск 4 такта
l2027   dec de         ;уменьшаем DE до тех пор, пока DE не станет равным 0
        ld a,d
        or e
        jr nz,l2027
l202c   in a,(#fe)     ;читаем порт #FE
        add a,a        ;A=A+A
        adc hl,hl      ;HL=HL+HL+C
        jr nc,l202c    ;выполняем до тех пор, пока HL не переполнится
        jr l2010       ;или не возникнет прерывание и возврат
;Процедура вызывается из #1FC1
l2035   pop hl         ;в HL адрес возврата
        ld e,(hl)      ;E=#2E
        inc hl
        ld d,(hl)      ;D=#03
        inc hl
        push de        ;#032E в стек
        ld e,(hl)      ;E=#01
        inc hl
        ld d,(hl)      ;D=#01
        inc hl
        ld c,(hl)      ;C=#82
        inc hl
        ld b,(hl)      ;B=#00
        inc hl
        ex (sp),hl     ;адрес возврата в стек, HL=#032E 
        bit 4,(ix+#35) ;проверка бита 4 #5F40+#35=#5F75
        jr z,l201e     ;а это старший бит неизвестного слова в #5F74
        ex de,hl       ;если bit4(#5f74)!=0, то HL<>DE
        push bc
        call l201e     ;вызов еще одной хитрой процедуры
        pop bc         
        add hl,bc      ;HL=HL+BC
        ret            ;возврат
;- Конец процедур расксорки -
l2052   defb #ff,#02,#00,#01
        defb #01,#00,#1b,#00
        defb #80,#80,#00,#01
        defb #00,#00,#80,#0d
        defb #80,#00,#1b,#00
        defb #08,#80,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#ff,#02
        defb #00,#01,#01,#00
        defb #03,#00,#80,#80
        defb #00,#01,#00,#00
        defb #80,#01,#80,#00
        defb #03,#00,#08,#80
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
;!- Этот блок перекидывается по адресу #F800 в банк 3 -!
l208e   jp #f835
        jp #f8a9
        jp #f833
        jp #f89a
        jp #f833
        jp #f84a
        jp #f8b5
        jp #f8c5
        jp #f8c0
        jp #f857
        jp #f833
        jp #f83b
        jp #f88f
        jp #f872
        jp #f87e
        jp #f882
        jp #f83f
        nop             ;<-#F833
        ret             
        call #f8c9      ;<-#F835
        jp l16f5
        call #f8c9      ;<-#F83B
        rst #00
        call #f8e5
        call l1803
        call #f920
        ei
        ret
;- О! Никак это вывод на принтер! -
l20d8   in a,(#fb)      ;<-F84A
        rlca
        jr c,l20d8
        ld a,c
        out (#fb),a
        out (#7b),a
        out (#fb),a
        ret
;----------------------------------
        ld b,#f8        ;<-#F857
        ld a,#00
        ret
        call #f900      ;<-#F85C
        im 2
        jp #ea00
        call #f900      ;<-#F864
        im 2
        call #ea03
        call #f8c9
        im 1
        ret
        call #f8e5      ;<-#F872
        ld (ix+#60),#ff
        call #f920
        ei
        ret
        ld a,#07        ;<-#F87E
        jr l2112
        ld a,#08        ;<-#F882
l2112   call #f8e5      
        call l18a6
        call #f920
        ei
        ret
        call #f8e5      ;<-#F88F
        call l188f
        call #f920
        ei
        ret
        call #f8e5      ;<-#F89A
        ei
        push af
        ld a,c
        call l123e
        pop af
        call #f920
        ei
        ret
        call #f8e5      ;<-#F8A9
        ei
        call l153b
        call #f920
        ei
        ret             
        call #f8e5      ;<-#F8B5
        call l1580
        call #f920
        ei
        ret
        ld a,c          ;<-#F8C0
        ld (#0003),a
        ret
        ld a,(#0003)    ;<-#F8C5
        ret
        di              ;<-#F8C9
        ex (sp),hl      
        ld (#f8e3),hl
        pop hl
        ld (#f8df),a
        ld a,c
        ld (#f8e1),a
        ld c,#00
        set 7,c
        ld a,#00
        out (c),a
l216c   ld a,#00
        ld c,#00
        jp l0000
        di              ;<-#F8E5
        ex (sp),hl
        ld (#f8fe),hl
        pop hl
        call #f8c9
        ld (#f994),sp
        ld sp,#6000
        im 1
        push ix
        ld ix,#5f40
        jp l0000
        di              ;<-#F900
        ex (sp),hl
        ld (#f8e3),hl
        pop hl
        ld (#f8df),a
        ld a,c
        ld (#f8e1),a
        ld a,(#5f54)
        ld (#f8d7),a
        res 7,a
        ld c,a
        ld a,(#5f55)
        ld (#f8db),a
        out (c),a
        jr l216c
        di              ;<-#F920
        ex (sp),hl
        ld (#f932),hl
        pop hl
        pop ix
        call #f900
        ld sp,(#f994)
        im 2
        jp l0000
        ld (#f994),sp   ;<-#F934
        ld sp,#6000
        im 1
        ld (#f964),a
        ld a,c
        ld (#f966),a
        ld a,(#f8d7)
        set 7,a
        ld c,a
        ld a,(#f8db)
        out (c),a
        call l17c3
        ld a,(#5f54)
        ld (#f8d7),a
        res 7,a
        ld c,a
        ld a,(#5f55)
        ld (#f8db),a
        out (c),a
        ld a,#00
        ld c,#00
        di
        ld sp,(#f994)
        im 2
        ei
        ret
        defw #fa01      ;<-#F970
        defw l2052
        defw #fa24
        defw #fa47
        defw #fa6a
        defw #fa8d
        defw #fab0
        defw #fad3
        defw #faf6
        defw #fb19
        defw l0000
        defw l0000
        defw l1e72
        defw l1aa7
        defb #00        ;<-#F98C
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,"4",#f9
        defb #ff,#03,#00,#00
        defb #00,#02,"P",#00
        defb #10,#00,#01,#02
        defb #00,#00,#00,#14
        defb " ",#00,#a0,#00
        defb #08,#80,#00,#02
        defb #02,#02,#00,#00
        defb #ff,#01,"PP",#ff
        defb #00,#00
;!-----------------------------------------------------!
l22b2   ret
l22b3   defb "7vX",#b3,#d4
        defb #10,#97,#00,#df
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?",#9c,#f3
        defb #e0,#f6,#f4,#e5
        defb #f3,#f5,#e8,#9d
        defb #db,#cc,"%",#96
        defb ".w",#f1,#f1,#ea
        defb #f3,#9b,#f3,#f3
        defb #f4,#e9,#fc,#de
        defb #cb,"=",#88,")i"
        defb #fb,#ec,#ee,#f4
        defb #97,#fe,#dd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9f,"?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#f7
        defb "#+",#ff,#a0,#af
        defb #f1,";2",#ec,#16
        defb #af,#0e,#c7,"*w"
        defb #08,#cc,"?",#a0
        defb #b9,#14,#c9,"3"
        defb #a5,#af,"9",#b9
        defb #ac,#ce,"yn",#f7
        defb #aa,#b3,#ca,"`7"
        defb #82,#11,"2",#c1
        defb #92,#ff,"z",#bd
        defb "P",#07,"%",#fc
        defb "19",#fa,#a1,#ac
        defb #fa,"9/",#d6,"j"
        defb #87,#9a,#0d,#a3
        defb #ca,#18,#0a,"8"
        defb #fe,"2",#fd,#ed
        defb #8f,"t",#0c,#91
        defb #85,"C)g",#f7,#e0
        defb "%",#e1,",",#fe
        defb #ea," ",#eb,";"
        defb #d3,#b0,#95,#83
        defb #ee,"",#e8,":#"
        defb #e9,#e7,#e2,#f6
        defb " ",#e9,"9",#15
        defb #a2,#82,"W:",#c8
        defb #81,"8",#e5,"("
        defb #c8,#de,"8&",#e2
        defb #f1,#e9,#8a,#95
        defb #84,#e9,"H",#df
        defb "%",#e7,"*",#ff
        defb #e9,"'",#e3," /"
        defb #d6,#b9,#ae,"n"
        defb #11,#9c,"9",#fa
        defb "2!9",#ac,#fd,#fa
        defb #f4,"O",#1d,#93
        defb #22,#1b,#09,"{6"
        defb #0c,"*",#cb,#16
        defb #c8,#f9,"3",#c3
        defb "vj",#81,#ca,"4"
        defb #09,#c6,"i",#0c
        defb "n",#8f,#93,#83
        defb #a1,#b9,#1b,"<"
        defb #e7,#cb,#c6,#a1
        defb #fb,#06,#96,":B"
        defb #88,#e9,#f8,#e2
        defb #e4,#a8,#aa,"<&/y0"
        defb #81,#e8,"5B",#88
        defb #e9,#ca,#d0,#ec
        defb #a0,#aa,#17,#b1
        defb #9c,"j",#9e,#ff
        defb #f9,"y",#b2,"pe"
        defb #07,"f",#9b,#19
        defb #df,#f0,#b1,"k"
        defb #22,"Hi",#e8,#f1
        defb #e1,#a3,#bc,#11
        defb "(",#ce,#98,#9a
        defb #aa,#ce,#ba,#b6
        defb #e3,"f",#9e,#87
        defb #e6,#f0,#e8,#e1
        defb #90,#88,#ec,#f9
        defb #db,#b1,#0e,#ca
        defb "%o",#f7,#e7,"(0$"
        defb #fa,#e6,#ed,"&"
        defb #f0,#1b,#a2,#82
        defb "{",#c3,#8b,#d9
        defb ",m",#9a,#a4,"1"
        defb #80,#8a,#9b,"B`Z"
        defb #aa,"=M",#b9,#97
        defb #81,"]",#a9,#d6
        defb #22,#0b,"P",#a8
        defb #f4,#14,#a2,#89
        defb "W:",#c8,#80,"9"
        defb #f0,"37",#fb,"J"
        defb #84,"3",#fe,#09
        defb "aJ",#8e,#ae,#ff
        defb #f1,#eb,"&9",#fa
        defb #df,"w",#8a,"Q "
        defb #ac,"Yy0]",#0f
        defb #96,":B",#88,#e9
        defb #dc,#c6,#14,"!"
        defb #dd,#cb,#d9,"&Z"
        defb #06,#80,#09,#de
        defb "#%",#ff,#e2,"Y"
        defb #86,#f9,#f1,#17
        defb #97,"iX",#00,"W"
        defb #e3,#fb,#aa,#b3
        defb #01,"^",#a3,"Pt79O"
        defb #bb,#fe,"B",#97
        defb #0b,#cc,#d7,#be
        defb #a7,#cb,"?",#1a
        defb "80;",#a6,#bd,#de
        defb "gf",#aa,#b3,#e6
        defb #ef,#f7,#e8,#bc
        defb #af,"9D",#ac,#91
        defb #91,"e",#ec,#a0
        defb #e1,#c9,"<",#0a
        defb #c9,"_j",#cc,"$"
        defb #0f,#e5,"c",#bd
        defb #a9,#fa,#8c,#c9
        defb "=",#0b,#c9,"?"
        defb #08,#fc,")Y",#96
        defb #e5,"y",#af,"L"
        defb #ef,#f3,"f",#ac
        defb #15,"@",#0b,#13
        defb #0a,#c4,#d5,#05
        defb #c5,#b1,#db,#10
        defb #0c,"",#b5,"b="
        defb #d4,#0e,"\",#a1
        defb #c5,#d2,"kJ",#9a
        defb #86,"7a@",#f5,#04
        defb "R",#82,#bc,#a1
        defb #f5,"d",#f3,#bd
        defb #da,"C",#8b,"oe92"
        defb #de,"*",#cb,"SJ"
        defb #a8,#ba,"Z",#a3
        defb #11,#8c,#e4,#fc
        defb "*q:",#02,#19,#e3
        defb #8c,#91,#08,"' "
        defb #01,#b8,#d8,#af
        defb #96,#c3,#17,#82
        defb "^",#9b,#e9,"8"
        defb #a4,#b3,#e1,#09
        defb #0f,#cf,#ad,"YZ"
        defb #ef,#13,#86,#0a
        defb #ea,#e9,#da,"9"
        defb #86,#95,"$",#ec
        defb ".w",#a3,#b4,#00
        defb #ba,"!",#02,#19
        defb #e3,#dc,#c1,#08
        defb "' ",#01,#c8,#a8
        defb #af,#96,#c3,"g"
        defb #f2,"^",#9b,#e9
        defb "8",#f4,#e3,#e1
        defb #09,#0f,#cf,#9d
        defb "iZ",#ef,"c",#f6
        defb #0a,#ea,#e9,#da
        defb "9",#d6,#c5,"$"
        defb #ec,#f3,#b2,"y"
        defb #9a,#f8,"O",#db
        defb #c2,"6U",#a3,#cb
        defb #1d,#f0,#ff,#ca
        defb #8e,"'",#8e,"b"
        defb #f4,#a1,",",#f6
        defb "0<)Q2",#84,"y"
        defb #e4,#c8,#d5,"*"
        defb #88,",",#1e,#8b
        defb #f2,#f6,#ea,#e9
        defb #ec,#ea,#e9,#e3
        defb #fe,#d8,#c9,":"
        defb #99,")hT",#10,#e9
        defb #ff,#ff,#95,#b7
        defb #cb,"30",#dd,#de
        defb #c8,"g",#e9,#be
        defb " ",#ea,#22,#fd
        defb #e1,"Z",#81,"wl-"
        defb #e3,#81,#88,"a"
        defb #d4,#b2,#1b,"!"
        defb #1d,"i|PM",#10
        defb #d2,".^?",#94,"P"
        defb #cf,#9b,#87,"b"
        defb #ca,",",#1a,"d"
        defb #8d,#e4,"H",#8f
        defb #d3,#a7,"Of",#d6
        defb "/m'?",#e7,#8a
        defb #92,#1b,"c",#84
        defb #f3,"k8",#a6,#a2
        defb #e2,"K",#e9,#8f
        defb #96,#11,#c2,"-"
        defb #9e,#8f,#ae,#a6
        defb "5=?",#89,"j3",#e6
        defb #e2,#fa,#ec,"xr"
        defb #bc,#a2,#1e,#e9
        defb " ",#e6,#17,#86
        defb #cb,#93,";n2",#ea
        defb #f3,#e5,#e7,#f1
        defb #0e,#0e,#93,"Y"
        defb #0c,#b7,"m2 ",#13
        defb "5",#d4,#92,#88
        defb #9d,#8b,#fe,"0^"
        defb #b9,")",#f7,#b6
        defb #e9,#e6,#ff,#98
        defb #a3,#b8,#f3,"rw|`"
        defb #89,#1b,#bb,#0b
        defb #8b,"65",#ab,#ab
        defb #81,#82,#01,"&l"
        defb #87,#85,#9b,"j"
        defb #1e,#ab,#c2,#17
        defb "!",#f7,#eb,#9a
        defb #8e,"|",#e3,#ed
        defb #d6,#c3,"*",#88
        defb "?b",#e2,#ad,#fe
        defb #0e,#d8,#ea,#99
        defb #89,"n",#e8,#bc
        defb #c1,"@",#9a,"6:2lw"
        defb #13,"5",#d5,#91
        defb #8f,"?6$HZE5t",#81
        defb "!",#15,#06,#15
        defb #06,#0f,#12,"''"
        defb #94,"@",#be,"Pa"
        defb #f9,#dd,"4 P",#82
        defb #fa,#f4,"n",#89
        defb "t",#90,#c9,"e"
        defb #ac," ",#ab,#a7
        defb ", o",#b7,"5>9"
        defb #c2,#10,#cf,"A"
        defb #dd,#b4," ",#0a
        defb #d1,"0",#0e,#15
        defb "]K;",#ec,#ae,#cb
        defb "~",#af,")",#b8
        defb "e",#ee,#17,"^~|"
        defb #b6,"`f{",#10,")"
        defb #02,#c0,"i",#1e
        defb "5",#d4,#93,#80
        defb #0b,#e1,"4",#c0
        defb #8c,#a5,#ac,"1"
        defb #f6,#d1,#b5,#d4
        defb #93,#80,#0a,#e3
        defb "0",#c9,#9f,#82
        defb #1b,#06,#93,"W"
        defb #e1,"Vflw",#e4
        defb "fs",#07,#12,#ef
        defb "Qi",#0d,"E",#02
        defb #c8,#e1,"r",#c2
        defb #f6,#e3,#d9,"8"
        defb #b4,#ad,"<",#ea
        defb "<",#cb,#83,"r"
        defb #87,#19,"B",#e2
        defb ".=",#1c,"+",#cb
        defb ")",#fa,#f4,#00
        defb "U",#88,">",#ab
        defb #f8,#f9,"l02*)"
        defb #f6,"W",#9d,"="
        defb #da,"6Qx",#91,"+j"
        defb #aa,#b3,#ee,#f7
        defb #e2,#fb,#e9,#fd
        defb "se",#8c,#e1,#a5
        defb #9b,#c8," ",#b9
        defb #e8,#e8,#f3,#ea
        defb #91,#8b,#10,#f0
        defb #1e,#8c,#e1,"V"
        defb #f0,"I",#ad,#f8
        defb #86,"Jyl",#c0,"d{*"
        defb #0b,#e8,#86,"f"
        defb #9b,"4",#82,">"
        defb #ca,#d0,#19,#c8
        defb ":{i",#ca,"pRy"
        defb #a5,"[",#e8,#98
        defb #e1,#12,#a0,#b9
        defb "/",#82,"{",#08
        defb "*5",#04,#80,#b8
        defb "T$~",#ea,#90,#89
        defb #e8,#e5,#ff,#d4
        defb #c6,#fb,#fe,#c4
        defb "~",#8d,#8b,#16
        defb "O",#e8,#a4,#bf
        defb #f6,#ed,#bb,#a0
        defb #ec,"ga",#fb,"R"
        defb #86,#1f,#a4,#a7
        defb #ac,"t",#eb,#95
        defb #8c,#e7,#09,#16
        defb #00,#cf,#00,"F"
        defb #b8,#df,"j",#8b
        defb #a2,"Xd",#bf,#ab
        defb #09,#fb,"^",#b5
        defb #ca,">",#c3,"V"
        defb #e3,"i",#e9,#dd
        defb #c4,#17,#0f,#d8
        defb #c0,#ee,#b1,#b4
        defb "I",#aa,"O",#f3
        defb "7",#0e,#89,#9e
        defb #98,#e9,#c0,"3nr"
        defb #e0,#22,#0c,#bc
        defb #d6,#13,"*b",#fb
        defb #e1,#92,#81,#eb
        defb #ab,#b1,#0f,"$"
        defb #c3,">n",#91,"O"
        defb #15,#da,"",#81
        defb #a5,#a2,#a1,#c2
        defb #d5,#c9,#de,#dc
        defb #f0,#c5,"6",#e9
        defb #e7,"<",#ea,"^2kqUz"
        defb #10,"9",#9f,#fa
        defb "Y",#de,"gf",#f0
        defb #e8,#e8,#bb,#a2
        defb #e6,"JW",#10,#1e
        defb #9f,#fa,"Y",#8b
        defb "1eTA",#e4,"5 "
        defb #e5,#c8,#d5,#d6
        defb #d1,"@/[T",#e0
        defb "dfs6#",#e9,#f0
        defb #e5,#d8,#cf,#ec
        defb #cf,"c",#93,#80
        defb #0e,"]",#89,"b "
        defb #c9,#d5,"`",#b4
        defb #dc,#dd,#d1,#c2
        defb #a6,"2V@D",#d7
        defb #0d,"1;^~",#e4
        defb #06,#dc,#fc,#de
        defb "c",#93,#89,")"
        defb #b6,".",#fb,#cf
        defb #dc,#c6,#dc,#e7
        defb #ed,#f9,"!",#0f
        defb #b1,"Y",#88,"1"
        defb #97,#01,"<$$",#f9
        defb "#",#ea,#90,#87
        defb #f0,#cb,#a7,"Y"
        defb #da,"b",#ea,#fe
        defb #90,#8c,#fc,#ee
        defb #fc,#fb,#bf,"9z["
        defb #b3,#84,"@",#d3
        defb #b5,#d4,#d1,#c7
        defb "fs",#eb,#d9,#c7
        defb #e2,"Rp\",#a3,#89
        defb #f5,#b3,#f9,#22
        defb #e9,#22,"pd",#0f
        defb "X",#a8,#d6,#f5
        defb "%",#d6,#b7,#fc
        defb #88,#0a,#1a,#db
        defb "^bOT",#cb,"<",#e8
        defb "y",#fb,"V",#0c
        defb #b7,"kNV",#d4,"I"
        defb #99,"/",#d6,"_="
        defb #94,"@$-W",#8d
        defb #ce,"VU b",#00
        defb #e8,#eb,#de,#c9
        defb #f7,"t",#10,#84
        defb "C)i<$",#e9,#ba
        defb #a2,#e8,#da,#c7
        defb #e0,#ac,#8e,#b1
        defb #e4,"!$",#b5," (|"
        defb #a7,#e8,#94,#8e
        defb #ed,#b1,#b4,"N"
        defb #a8,"J",#96,"Z"
        defb #1a,#e2,#ee,#e5
        defb #f8,#f8,#ad,"0"
        defb #cf,#db,#c0,"=e"
        defb #94,"@",#b6,#1a
        defb #0b,#ea,#da,"!"
        defb #15,"=",#22,#e1
        defb ",)",#c5,#ed,#1d
        defb #89,#07,"_",#10
        defb #0b,#ea,#da,"!"
        defb #1c,#fb,#e4,#14
        defb "#",#f8,#cb,"2"
        defb #dc,"m",#99,#f0
        defb #22,#cb,#e9,#1b
        defb #02,#e5,#8a,#9d
        defb #fe,#99,#f5,#85
        defb "X2",#be,#1b,"!"
        defb #1d,"4 ",#fd,#e5
        defb "cx",#e0,"#",#05
        defb #17,#89,#b2,#e7
        defb #ea,#e2,#fb,#e1
        defb "^N",#07,#db,#f5
        defb #0d,#dd,#81,"Z"
        defb #92,#fb,#a3,#e9
        defb #e9,#cb,#d2,#e9
        defb "='",#c0,#04,"xS"
        defb #be,"G",#8e,#eb
        defb #d6,#11,#10,#19
        defb #b7,"\T",#e5,#d8
        defb #cf,#d2,#0f,"X"
        defb #fc,"5)",#d4,"A"
        defb #ea,"lw",#08,"/"
        defb #d6,#c4,"o",#a5
        defb ",",#b1,#aa,#b1
        defb #e2,#d2,"I",#c8
        defb "`",#b3,#10,#f8
        defb #89,"g+",#df,#19
        defb #ea,#13,#be,#d3
        defb "i",#22,#d8,#13
        defb "pe",#07,#d4,"&^ "
        defb #ae,"S",#aa,#ba
        defb #e1,#95,#0b,#1a
        defb #07,#1f,#0c,#15
        defb " ",#fc,#e5,"yR"
        defb #d9,"#:B",#fa,"k "
        defb #d8,#cf,"/~eY",#be
        defb "[Sj",#1a,#d3,"&g"
        defb #ff,#e7,"(0",#e7
        defb "3",#fc,#ca,"n"
        defb #99,#c5,"C",#b3
        defb #87,"O",#16,#e8
        defb #be,#aa,#e5,"T@"
        defb #e6,"0+>",#a8,#06
        defb "Y",#f5,"Lh",#ba
        defb #a2,"f",#fc,#fa
        defb #9a,#91,#f9,#fa
        defb #ec,#97,#e4,"C"
        defb #9d,#bf,#d4,"A"
        defb #ea,"lw",#13,#0a
        defb #e8,#f7,#02,#e8
        defb #02,#8c,#22,#eb
        defb #f4,#a0,#ea,#be
        defb #aa,"(",#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#da,#fd
        defb #fa,#f0,#e9,#d3
        defb #a7,"O",#ec,"9h"
        defb #bd,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9f,"?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #0d,#06,#c5,#a7
        defb "O",#f4,#97,#ad
        defb "2",#ba,#ba,#86
        defb #86,#89,#8a,#97
        defb #99,#de,#1a,#c6
        defb #d3,#ab,#af,"6"
        defb #1b,#c0,"7",#de
        defb #ff,#dc,#9a,"`"
        defb #12,#f2,#fe,"w"
        defb #a1,#ef,#a1,#0f
        defb "b-",#f6,"$",#13
        defb #c9,"5",#af,"i"
        defb #e5,"O ",#98,"f"
        defb #a4,#15,#99,"d|"
        defb #b6,#e9,#e7,#fd
        defb #bd,#89,#9c,#af
        defb #ce,#d3,#ab,"="
        defb #95,#16,#dd,#e9
        defb #b1,#b2,#ed,#ed
        defb "6",#0c,#0c,"6"
        defb #99,"E",#ac,#0c
        defb "R",#d2,#d9,#d9
        defb #c0,#c3,#dd,#dd
        defb "Zb",#82,#b8,#0a
        defb #e2,#eb,"K2",#b2
        defb #bc,#bc,#df,#df
        defb #c1,#c2,#f2,#fc
        defb #e7,#dd,#a3,"K"
        defb #82,#22,"i",#e9
        defb #13,#12,#1c,#1c
        defb #06,#05,"?9",#1f
        defb "-S",#bb,"P",#f0
        defb #bb,";WWQQZY",#1d
        defb #12,"RiJ",#94,"D"
        defb #e4,";",#8d,"7"
        defb #14,#e9,#ee,#d6
        defb #c4,#d8,#09," "
        defb #19,#a7,#86,"w"
        defb #cb,"v",#e0,#88
        defb #97,#02,"?",#c3
        defb #e2,#8d,#9c,#14
        defb ".",#a7,"^",#b7
        defb #06,"`<",#ff,#bd
        defb #d9,#f4,#e2,#ae
        defb #9f,#c3,#e9,#81
        defb #c8,"n",#d1,"?e"
        defb #e5,#fb,#99,#dc
        defb #fa,#ba,#8e,#cc
        defb #f2,#fe,#c8,#ba
        defb #19,#e8,#09,"v"
        defb #f6,#f9,#e8,#af
        defb #9d,#d1,#f8,#f3
        defb #b1,#9b,#ae,#c7
        defb "$^",#17,"{",#eb
        defb #18,#87,"b",#e6
        defb "y",#8e,#0e,#ee
        defb "4h",#c1,"^",#81
        defb "1c",#f3,#e1,#f1
        defb #03,#d0,"/\",#b2
        defb #c2,"^",#a4,#a4
        defb #85,"|",#18,"I"
        defb #d8,#ee,"&6",#fa
        defb #d3,"Gx",#a9,#a4
        defb #ff,#9f,"xl",#fa
        defb "I",#0b,"=",#c9
        defb #08,">",#c8,#0b
        defb ":",#c2,"7:T{NW"
        defb #0a,"xg",#ef,"4"
        defb #13,#f2,#1a,"3"
        defb #f1,"-0",#b3,#a2
        defb "N",#bf,#e0,#ef
        defb ";",#1c,#eb,#02
        defb "77",#fa,"[",#8f
        defb "(",#9b,#9e,"~"
        defb #00,#b7,#0c,#cf
        defb "*",#97,#8a,"^B"
        defb #e2,#fc,#07,"-"
        defb #bb,"K",#97,#fe
        defb #99,#d4,#fb,#00
        defb #c8,"-",#96,#8e
        defb "1",#11,#c2,"k"
        defb #ff,"bL",#1e,#fe
        defb "H",#03,"5!",#0f
        defb #1b,#b6,"3",#8b
        defb "XTQ",#85,"$",#9b
        defb #97,#03,#c8,#0b
        defb "5",#09,#c8,"4J@0"
        defb #1a,#a8,#0d,#d2
        defb #17,#84,#af,"lzj"
        defb #d3,#f9,"K",#f5
        defb #c2,"n$l",#c5,#0a
        defb #ec,"Q",#12,"zj"
        defb #18,#c9,"-",#c4
        defb #1b,"1",#bd,#98
        defb #b3,"K",#fe,"N"
        defb #ac,#d1,#12,">"
        defb #19,#1b,#f8,"65"
        defb #12,#0d,#fe,"I"
        defb #ca,#0a,"/{",#eb
        defb #18,#c9,",",#01
        defb #d4,")",#9b,#9a
        defb "7",#fd,"J",#ca
        defb #0a,"!",#05,#9b
        defb ",",#fc,"?zk.",#fe
        defb "=bFp",#bb,"E",#d3
        defb #b4,"9u}",#a2,#b2
        defb #e2,#ff,#ea,#fa
        defb #0e,#e5,"t",#a2
        defb #a6,#eb,#8a,#96
        defb "cn",#92,"9",#1d
        defb #fb,"?",#d4,#c1
        defb #e5,#80,"u",#06
        defb #a1,"_",#c0,#0c
        defb "8",#f4,#e0,#de
        defb #09,":",#ff,#f6
        defb #f3,"Q",#85,"K"
        defb #f7,#d9,"0",#82
        defb #da,#cd,"'",#c1
        defb #cb,")",#19,#d1
        defb #06,#bb,#fc,"1"
        defb #1f,#fe,"B",#1b
        defb #07,"Y0",#83,#d8
        defb #c8,"W",#92,#fd
        defb "O%",#e8,#1f,#84
        defb "8",#0a,#16,#e4
        defb #df,#d6,#f9,#ee
        defb #86,"t",#ea,"sS"
        defb #ad,#13,"\",#11
        defb "-ui",#c4,":",#d1
        defb "(",#15,#d6,"DF"
        defb #d9,#bd,#13,"M"
        defb #dc,#19,"%b~",#c1
        defb "&",#cb," ",#17
        defb #fe,"t.",#f3,#0c
        defb "C",#17,#07,#96
        defb #86,#e1,"sm",#da
        defb #1f,">z",#12,"\"
        defb #e3,"SC",#dd,#dd
        defb #c3,#dc,#13,"."
        defb #99,#82,#ef,#e1
        defb #af,#cb,"S",#bf
        defb ";_B0",#82,#bf
        defb #ab,#03,#90,#b1
        defb "4",#c9,#fb,#15
        defb #ed,#a3,#1f,"}DY"
        defb #c4," ",#cf,"+"
        defb #95,#87,#cf,#c5
        defb "/",#8a,#9c,#d6
        defb #9b,"G*",#ed,#96
        defb #86,#03,#d5,"("
        defb #10,#03,#b2,#94
        defb #ba,"}",#b3,#c1
        defb "+",#8c,">",#df
        defb "U}L_",#c6,#d4
        defb "VSZ4%@",#1c,#df
        defb #00,"45",#ff,"G"
        defb #9e,#cf,#c6,#d5
        defb "B",#d9,"LQ",#b4
        defb #ea,#ef,"4$",#e1
        defb "= ",#ef,#22,#0b
        defb #c0,#11,"y",#e9
        defb #da,#c9,"U",#c1
        defb #1d,#09,"3",#13
        defb #d7,"2",#1c,#d3
        defb #22,"?",#fa,"2"
        defb #c4,"G[;",#1c,#d6
        defb "=!",#1b,#c4,#f9
        defb "7+",#0d,"Ym",#9c
        defb "N",#c7,#dd,"Y"
        defb #f6,"x",#ef,#f0
        defb #ed,#14,#0a,#06
        defb #a4,"=Yh",#00,#bd
        defb "=! ",#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9f,"?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?^",#d5,"(}"
        defb #82,#8a,"C",#ff
        defb #1f,#f5,",",#01
        defb #ca,"+",#af,#df
        defb #ec,"p",#1a,#87
        defb "bo|+",#0b,"b "
        defb #ae,"12",#ea,"J~n"
        defb #a5,"5",#ff,#fe
        defb "i",#a1,"0",#f4
        defb #e8,"F",#f9,#85
        defb #9f,#f7,#b6,#0d
        defb #c6,"7g",#af,#19
        defb #fb,"?vy&6",#1d
        defb #9d,#f5,#9f,#d7
        defb #18,#fe,"=}n",#08
        defb #16,#db,"|",#8e
        defb "[{@",#f6,"7",#82
        defb #a8,#bd,#16,#c9
        defb #c0,"<",#b2,#8a
        defb #ed,#06,"U",#0a
        defb #1a,#a0,"#a",#ab
        defb #ab,#a2,"b",#a0
        defb "c",#ae,#a0,"W"
        defb #d7,"M",#82,#b6
        defb "G",#1b,#ed,#18
        defb "?",#a2,#80,#17
        defb #d5,"/",#eb,"`FR"
        defb #8f,#9c,#d8,"s0"
        defb #d8,#f5,"=8",#f2
        defb "64",#f1,"!",#17
        defb #ab,#e8,#f2,"Z"
        defb #13,"b",#a1,"H"
        defb #82,#8a,#82,"b"
        defb #a6,"c",#b4,#96
        defb #ae,"Yu",#d4,#9d
        defb #b7,#d7,#da,#c5
        defb "0",#15,#d5,"h"
        defb #1a,"#",#f6,"A"
        defb #84,")",#f5,#97
        defb #d8,#c4,#c5,"0"
        defb #14,#d6,#0d,"9!"
        defb #06,"JK",#a2,"{y"
        defb #aa,#10,#f4,#f5
        defb "=",#1f,#c7,#d8
        defb #c4,#d0,#f9,#e3
        defb #a9,#8e,"{",#18
        defb #8f,#a2,#f6,","
        defb #0b,#c5,#06,"e"
        defb #a8,"s",#83,#f6
        defb #ec,"d",#a2,"!e"
        defb #af,#ae,"LG",#14
        defb "!",#cd,#16,"4"
        defb #be,"]v",#9d,#19
        defb #82,"%X",#f6,"x"
        defb #1d,"56",#18,#de
        defb "N",#a7,"~E",#c1
        defb #97,"m0xZX",#86
        defb #c8,"c#",#81,"1"
        defb #d8,"C",#88,#09
        defb #83,"(_+oL",#9f
        defb #b7,#1e,#93,"h'"
        defb #d2,#b7,"V",#8f
        defb #0c,#98,#cb,#a1
        defb #82,"Dnp",#b5,#dc
        defb "=)",#84,#da,":"
        defb #22,#1d,"{",#0c
        defb "!P",#b6,#f9,"3nD6."
        defb #df,#87,#ac,"P3"
        defb #eb,"6",#82,#0c
        defb #06,#d5,"=2",#f6
        defb "4",#fd,",",#f5
        defb "?]",#fa,"q,",#01
        defb #d2,"Y",#8a,"'"
        defb #f7,#b2,#e0,"3"
        defb #9e,"`C",#bf,#dc
        defb #16,"c1",#e2,#f3
        defb #e6,".",#1e,#93
        defb "h'",#cd,#a8,"Vm"
        defb #f5,"O",#ee,#e6
        defb "/",#fb,#9c,#b0
        defb "c",#b6,"%",#e3
        defb #d1,"2",#03,"L7["
        defb #94,#b9,"%",#00
        defb #d3,#b1,"i*",#ff
        defb #c9,#d7,#c4,#01
        defb "E",#d0,"C",#e8
        defb #03,"?",#e3,#c1
        defb #b1,#1d,#8f,"-"
        defb #e3,#bb,"Q",#d3
        defb "N",#e4,"waA:",#fe
        defb ":J6R",#8c,#f3
        defb #b1,#d7,#e3,#b7
        defb "4",#91,"qUl",#af
        defb #b9,#d7,"X",#d4
        defb ";",#d6,#ce,#8e
        defb #8a,#9e,#fa,#9e
        defb #15,"9",#1b,#db
        defb #00,#86,"`j",#9a
        defb #c9,#d2,"j",#86
        defb "z",#1f,#c7,"3%"
        defb #e8,"3,P",#1e,"}"
        defb #b0,":",#ab,":"
        defb #df,#1d,#18,"ubd"
        defb #18,"7",#17,"r"
        defb #b9,"]",#99,#8c
        defb "Xa",#a5,"\",#b0
        defb ";<",#1d,#de,"57?d"
        defb #a0,"n",#b9,#82
        defb #1c,"K",#0c,#80
        defb #8f,#e7,#f6,#e6
        defb #98,#96,"9",#0c
        defb #d4,"'",#f6,"Z2]L"
        defb #c0,"V",#16,#d3
        defb ".",#e0,"vk",#08
        defb "i",#a4,":",#00
        defb #a7,"#u",#80,#8b
        defb #12,#1c,#96,"c1"
        defb #e1,#f3,#e3,#93
        defb "^",#d7,#03,#c7
        defb "H",#09,#b6,#fb
        defb "[w",#e8,#89,#09
        defb "C",#19,"4",#ea
        defb #d1,"f",#d6,#c5
        defb #ad,#92,"J",#a6
        defb #1b,#a8,#fb,"Lc"
        defb #c3,"?",#88,#8a
        defb #ff,#f5,"-",#d1
        defb #85,#ea,#19,#04
        defb "Q8",#0f,"(<",#f1
        defb #eb,#12,"Aj",#bb
        defb "g",#0b,#ce,#ea
        defb #f7,#c5,#e8,"4j"
        defb #ae,#f6,"(",#15
        defb #a2,#bf,"G",#f2
        defb #b9,#f1,#da,#a0
        defb #89,#fa,"Lc",#cb
        defb #e9,#08,#1e,#8f
        defb #f1,"!;.",#82,#d3
        defb #d2,#fe,#10,#f1
        defb "1",#8f,#93,#f5
        defb #ca,#9c,"c",#b2
        defb ">S",#80,#92,#01
        defb "o",#a7,#d4,#dd
        defb #f8,"4q",#83,#00
        defb #22,#fa,#ba,#98
        defb "1?l",#af,#fd,"?f"
        defb #a2,#13,"g",#90
        defb "+",#df,"a",#f4
        defb "|h",#a2,"b",#81
        defb #03,#0b,#15,"$"
        defb #f4,"4",#1b,#a4
        defb "o|",#dd,"^",#fd
        defb ">?",#fc,"5",#ff
        defb "5",#f9,#d0,#b1
        defb #a7,#94,#84,"d"
        defb #1e,"B",#e0,"$/"
        defb #fc,#f0,#1b,#f8
        defb #f9,"vk",#14,"E"
        defb #8d,"O",#e4,""
        defb #a1,#88,#fa,#f7
        defb #f1,#e2,#ef,#e3
        defb #c1,#c9,#d1,#fa
        defb "0",#07,#a0,#9e
        defb #c4,#9c,#f7,#d1
        defb #89,#fe,#fd,#13
        defb #0d,#b9,#e4,"XO"
        defb #9f,"?",#c9,#01
        defb #c8,#88,#ff,#fe
        defb #14,#03,#ac,#84
        defb "F",#f1,#af,#e8
        defb "Fe kK",#d4,#e3
        defb #e6,#05,"-",#f0
        defb #f1,#ec,#d7,#f1
        defb #85,#e8,#d9,"yjA"
        defb #fb,"lA",#0d,#fb
        defb #e4,#f0,#0f,"lP_"
        defb #e3,#ba,#e2,#10
        defb #18,#cb,#a1,#83
        defb #bf,#90,#d3,#c9
        defb "x",#ef,"I\r",#13
        defb #10,"7t",#92,#9a
        defb "]a3",#8e,#be,#ac
        defb "o",#a3,#b0,#ab
        defb #93,#12,#1b,#b3
        defb "wA",#fd,"?",#18
        defb #f6,"_Do",#a3,#b0
        defb #d8,"r1",#d8,#f5
        defb "<",#98,#f7,#9a
        defb "o",#a2,"6",#e5
        defb #84,"g",#ec,#f6
        defb #0c,#8c,#ac,"7"
        defb #1f,#dc,#fc,"<o"
        defb #a2,"s",#83,#f6
        defb #f0,#f3,"A",#8a
        defb "f",#a5," ",#ca
        defb #df,#eb,#cb,"7"
        defb #c7,#f6,"<V}W",#d8
        defb "P",#c7,#eb,#d6
        defb #fa,"lA",#22,"!"
        defb #af,#9d,#cb,#97
        defb #97,#e4,#a1,#1e
        defb #83,#cb,#eb,">"
        defb #a2,"V",#0f,#1c
        defb #c0,#fd,#0c,#a8
        defb "8",#05,#ee,"p3Yv"
        defb #d0,#be,#93,#df
        defb #eb,#c4,"1=",#9a
        defb "e]",#e1,"e",#cf
        defb "0",#00,#d3,"9"
        defb #96,#c3,"#",#1b
        defb "W",#82,#96,"8f"
        defb #e1,"w",#08,">2"
        defb #19,#c2,"6",#04
        defb #cb,"l",#b2,#ba
        defb ";",#b2,"d",#0f
        defb "[",#cc,#e0,#d3
        defb #93,#81,"/",#f3
        defb "7<",#0e,#fc,#9f
        defb "[",#b4,"a",#08
        defb "6",#0c,#cf,#fd
        defb #0e,#1a,#e6,#d5
        defb "t@",#e5,#bf,#fd
        defb #01,#0f,"|",#b9
        defb #88,#d1,"l@%",#1f
        defb #cb,"R",#a0,#d5
        defb #de,#81,#e2,"v"
        defb #1f,#06,#1b,">"
        defb #0a,"Iaf|",#07
        defb ".e8Rm)",#af,"Fo"
        defb #8a,#8f,"fC",#12
        defb "4",#d4,"VL",#81
        defb #c4,#1c,#f5,#9b
        defb #dd,#fc,#10,"1"
        defb #0f,#ce,#da,#f3
        defb ":yc~",#9f,#9c
        defb "0",#9a,#ce,#88
        defb "e",#01,#0a,#c3
        defb "j",#93,"3",#96
        defb #0b,#19,"K",#ac
        defb " ",#a0,">",#c3
        defb "=!",#ed,"gH",#15
        defb #f6,"(",#06,"\a"
        defb #a7,"+V",#fa,"vZ"
        defb #d3,"lA*)",#1f
        defb #e7,#1e,#01,#c6
        defb #b0,"4X",#d3,#1f
        defb "1",#df,#98,#b9
        defb "N",#f3,#d4," "
        defb #a9,#bc,"}w",#e1
        defb "o",#f7,#07,"("
        defb #02,"2",#c0,#f2
        defb #d8,#e4,#12,"?"
        defb #88,#dd,"q",#d0
        defb #99,#b1,#d9,#e8
        defb #0f,")",#ee,"j"
        defb #f3,"r",#11,#04
        defb "Z",#82,#a1,"0M"
        defb #ef,#fd,#fc,#dc
        defb #0b,#d5,#0c,"Sr"
        defb #ea,#e3,#bf,#ff
        defb "VM}",#dc,"=",#de
        defb #ff,"69",#f3,#e4
        defb #ca,#1c,#00,#a1
        defb "e",#f6,#a3,#a9
        defb #1d,#d9,"l@",#df
        defb #f2,"j",#e6,#e7
        defb #cf,#bb,"J",#b8
        defb #13,#e6,"J",#10
        defb #fd,">*",#05,"4"
        defb #93,"hH",#bc,#a6
        defb "_",#86,"Q",#c5
        defb #c7,#eb,#d6,#fa
        defb "v[",#12,#e4,#fa
        defb #fb,#12,"k",#aa
        defb #b6,#df,#b1,#df
        defb #1b,"<",#15,#fd
        defb "?(",#01,#da,#d1
        defb #c7,#8e,#89,#91
        defb "!m>3",#1a,#d6
        defb #1f,"0",#dd,"yP"
        defb #03,#d2,"e",#9a
        defb "d",#11,"G",#eb
        defb #d6,#fa,#94,#b9
        defb "`v",#ea,#dc,"zl"
        defb #ad,#8e,#f6,#a3
        defb #ae,#d1,#0a,#e7
        defb "}o",#ec,"Hc",#c4
        defb #19,#fe,#ab,"V"
        defb #c8,"PQ",#f0,#e6
        defb #a0,"X",#ef,"x"
        defb #f3,"=2[",#92,#c8
        defb #95,#a1,#e5,"."
        defb #90,"%AU",#96,"b3"
        defb #e4,#fb,#f0,#bd
        defb #19,#f8,#c2,#aa
        defb #e2,#14,"%",#92
        defb #9b,#cf,#c7,#90
        defb #96,#c4,#0b,#b5
        defb ":8",#05,#d2,#a7
        defb #fc,"$&",#fd,#db
        defb "-",#02,#db,#f9
        defb "M[",#a0,")",#df
        defb #f1,"~=*",#04,#d1
        defb #c7,#ea,#d4,"3"
        defb #e5,#f9,#1e,"4"
        defb #f0,"w",#dd,#be
        defb #96,"c)",#f8,#e1
        defb #d4,#1a,#ce,#aa
        defb #94,#f1,#ab,#d5
        defb "V",#92,#a7,#e6
        defb #c0,"l?",#8a,#dd
        defb #f8,"`",#98,"E"
        defb #af,"z",#b5,#b9
        defb #01,"f",#d6,#a6
        defb #8f,#f0,#d9,#a7
        defb #8d,#f5,#05,"M"
        defb #af,"z",#b5,"i"
        defb #0f,"F[",#83,#22
        defb #05,#17,#e0,#cd
        defb #d4,";",#e6,#fa
        defb "B",#a2,#8c,#c9
        defb #9d,#1d,#ec,"["
        defb #9b,"2",#0c,"o"
        defb #8c,#f6,#ea,#da
        defb "E",#ad,#e8,"SS>2"
        defb #1f,#c4,#d5,"-"
        defb #09,"?",#90,"s9[K"
        defb #06,#8a,#b4,#96
        defb "c",#c5,";r",#bb
        defb "6",#9b,"h8",#dc
        defb "k",#9a,"d",#11
        defb "G",#eb,#ff,"<"
        defb #9e,"c",#e9,#de
        defb "0",#da,#e6,#ca
        defb #b0,"P!",#e7,"+"
        defb #d1,"0{\;",#d2
        defb #f0,#e3,#9a,"S"
        defb #92,#ca,"c",#af
        defb "!_Df",#b1,"b",#1f
        defb #c5,#d9,#95,#b2
        defb #c0,#eb,#b3,"f}V"
        defb #e3,"!",#f2,#f3
        defb #f6,#88,#bc,"'"
        defb #03,#9c,"T",#9a
        defb #c1,#ed,#e2,#c0
        defb "S",#b6,"~",#0c
        defb #c4,#b0,#92,#b9
        defb #91,#d2,#86,#9a
        defb "CL",#9d,"6B",#b5
        defb "g",#16,":",#83
        defb #ad,#16,#fb,"6<("
        defb #89,"w",#8b,#1c
        defb #11,#b6," ",#16
        defb #c5,"*",#08,#81
        defb #a9,#dc,#00,#12
        defb #8f,"w",#8b,#14
        defb #03,#ac,#d9,#93
        defb #b5,#d7,"iC",#d3
        defb #82,#b2,#9c,#cb
        defb #8d,"A-",#b7,"%"
        defb #e3,"Df ",#c1,#ce
        defb #1d,#c8,">",#12
        defb "j",#ae,#a5,#1b
        defb #09,#a4,"%&",#f5
        defb "7>",#f5,#ad,#90
        defb #d5,#d0,#bc,"1"
        defb #dd,#06,"a",#d7
        defb "h@",#b5,"b/",#f7
        defb ")",#8b,"s",#bb
        defb #d2,"v",#81,#17
        defb #c5,"h",#d2,#b6
        defb #9b,#d5,#cf,#e3
        defb #d2,#b3,#83,#fe
        defb #bb,"A",#8d,"@"
        defb #12,#e3,#ee,#cd
        defb #dc,"9$",#1c,#c5
        defb #c7,#0e,#ef,"pq"
        defb #ad,#de,"E",#db
        defb "fJ4",#96,"b",#ef
        defb "pR",#c5,#a5,#fc
        defb #95,"F5h",#81,#ad
        defb "(%",#ed,"Dj",#d7
        defb #bd,#8d,"=",#a9
        defb #8d,"3",#b7,"T"
        defb #0c,"!-",#1a,#c1
        defb #16,#fc,#fa,"C"
        defb #94,#22,"z",#e6
        defb #db,#f9,#ec,"A["
        defb #f6,"",#8c,#a3
        defb "c3",#82,"c}s^"
        defb #fd,#a1,#02,"8"
        defb #f3,#fd,">",#97
        defb "a$",#e5,#f9,#da
        defb #94,#a8,#ab,"a"
        defb #f2,#12,#c1,#dc
        defb "Q}",#d5,"TfY|-"
        defb #e6,#d6,"9v",#ff
        defb #85,#af,#ae,#83
        defb #f2,#c5,#85,"n"
        defb #81,#a4,#a2,"G"
        defb #d8,"U",#a5,#10
        defb #c3,"+",#ff,#00
        defb #87,#a0,#dd,#f0
        defb "U",#97,#a7,#b0
        defb #e6,"b|0l",#af
        defb "A",#df,#aa,#ca
        defb #1c,#8a,#83,#f8
        defb #8a,"NT",#f2,"q"
        defb #18,#f3,#df,"8"
        defb #f3,#d2,#f5,#e6
        defb #fa,#f7,#df,#d2
        defb "(j",#f0,"s",#18
        defb #f1,#c5,#01,#d2
        defb "P",#1f,#e7,"o"
        defb #08,#8b,#db,"H\"
        defb #f8,"s",#db,#e8
        defb #c4,#d3,#e3,#f0
        defb #e3,#fe,#fc,#9c
        defb #b4,#b9,#b4,"F5"
        defb #b7,"?",#f7,#a8
        defb #9b,#f7,#ca,"l"
        defb #b9,#ce,#e5,#dc
        defb #a7,#80,#82,#06
        defb "l",#c7,"[w",#f8
        defb "f",#f6,"{",#f5
        defb "uT",#11,"@",#92
        defb "p",#03,"h",#00
        defb "<=",#18,#d5,#e1
        defb #cf,#d7,"cV",#17
        defb #c3,#d5,">",#f6
        defb #0a,#c3,#e7,"$"
        defb #f0,".",#f4,#22
        defb #cc,"7",#f8,#e1
        defb #e8,#d2,"x",#03
        defb "S",#10,#96,"c"
        defb #cb,"5",#fe,#dc
        defb #e3,#93,"qJ-",#c4
        defb #f6,#0b,#22,#96
        defb #0e,#06,#af,#ce
        defb #9f,#fd,#fa,#f4
        defb #10,":",#ef,#f9
        defb "Mr=",#fe,#fc,#d7
        defb ";",#b6,#92,";"
        defb #fb,#d4,#f0,#bd
        defb #f1,"b",#93,"&"
        defb #1f,#10,#ab,"z_9"
        defb #d1,#f3,#e3,#95
        defb #07,#a3,">",#fa
        defb "*",#a7,"]",#ef
        defb #e7,#90,#b9,#ca
        defb #ee,#12,#d7,#cd
        defb #96,"ID",#b9,#d1
        defb "\",#b9,#d2,#f3
        defb #e6,#97,#af,#d1
        defb #f3,#e3,#9d,"TO"
        defb #12,#91,#e0,#a5
        defb #9c,#01,"Bg",#d9
        defb #fb,#15,#d7,#f2
        defb "2",#a7,#b0,#8d
        defb #a6,"^",#f4,"T"
        defb #c0,#80,"e",#1c
        defb #09,#b0,#9e,#dc
        defb #9a,#85,#11,"yu"
        defb #b7,#9b,#f7,"("
        defb #09,#de,#df,"C"
        defb #b1,#8a,"`",#e8
        defb "RJH",#be,#ad,#f1
        defb #9b,#d4,#f2,#db
        defb #d3,"8",#f0,"04"
        defb #10,#c2,#1c,"B`"
        defb #bd,#cd,"(",#b7
        defb #f9,#de,#d2,#f3
        defb #e7,#9a,#8b,#1d
        defb #8f,#d2,"i>",#a1
        defb #b7,#b0,#c6,#8e
        defb #16,#16,"p9",#9b
        defb #d5,#fa,#f0,#b4
        defb "^O",#9f,"?",#0d
        defb #8a,"8M",#eb,"cb"
        defb #a9,#a9,#13,"!"
        defb #14,#a5,#8e,"J"
        defb #c4,#b6,#96,"c1"
        defb #cf,#de,#e7,#01
        defb "m",#a5,#b8,#82
        defb #f6,#f0,#a7,"+T9"
        defb #1b,#da,"l@",#0e
        defb #e3,#f5,"9",#81
        defb #91,#a1,"K%",#19
        defb #90,"J",#a4,#19
        defb "B",#a7,#1b,#b9
        defb "&",#1a,"r",#8b
        defb #fc,#14,#c5,#83
        defb #9f,"1",#df,#d8
        defb #fc,#f9,#d6,#1e
        defb #93,"h'",#e2,#87
        defb #82,#f7,"}",#b9
        defb #ff,#de,#e6,#97
        defb #ad,#ad,#ae,#ae
        defb "J",#0a,"V",#e1
        defb #9c,#e7,#a2,#ef
        defb "}",#d8,#f5,#fa
        defb #f1,#d8,"i|",#ca
        defb #c4,"X?",#ed,#fd
        defb #f8,#8d,"z",#b9
        defb "[",#f6,"v8",#17
        defb "9y",#af,#f9,#c7
        defb #0e,"G",#d3,"@7"
        defb #9c,"b",#9e,#89
        defb "AI",#18,"=?",#12
        defb "j",#a3,#a8,#fc
        defb #16,"c^g",#06,#dd
        defb #f1,#19,#c5,#e3
        defb #09,#1f,#00,#d2
        defb "MG",#e2,#12,#12
        defb #c9,"h",#b3,","
        defb #f4,#f5,#f2,"~i/"
        defb #e2,"MD",#e1,#0a
        defb #96,"c",#96,">@"
        defb #0a,#e6,#15,"+"
        defb #0d,"Yn",#9f,#1d
        defb #f0,#bb,"4r",#b9
        defb #b9,"c",#8d,"g"
        defb #0a,"HS",#85,#dc
        defb #c7,#1b,"h",#c4
        defb #dd,#1d,"6",#da
        defb "An",#d6,"hP",#f8
        defb "5",#fa,#b6,#a3
        defb #c6,#d4,#9e,#b9
        defb #15,#f1,#15,"hz5"
        defb #1c,#db,#8d,"j"
        defb #f4,"y",#e1,">"
        defb #04,"Il",#d2,"aC"
        defb #12,#e8,#11,"r"
        defb #b4,#bf,#15,"w4"
        defb #0c,#cf,"4",#9e
        defb "b",#ef,"fM",#cc
        defb "3io",#b5,"7ScF"
        defb #da,#ae,#80,#de
        defb "?",#18,#da,"uj"
        defb #8c,"0",#c6,#17
        defb #e3,"F",#d4,#c2
        defb #e4,#d7,"An",#d6
        defb "hP",#f8,"@",#8e
        defb #b7,#a3,#c6,#da
        defb "$",#0d,#d8,"="
        defb #1c,"4",#b2,#c3
        defb "9g",#9c,#e7,#a2
        defb "c=!",#cb,"6l",#a6
        defb #d7,#e3,#cf,#22
        defb "F",#f1,"eu",#ff
        defb #bc,"x",#bb,#d5
        defb #15,"?",#da,"aC"
        defb #d1,#1f,#0c,#80
        defb #8d,"}",#f6,#ee
        defb #ad,"4",#98,"e"
        defb #e9,#0d,#11,#c5
        defb #e3,#e8,#ee,"^"
        defb #9d,"LD",#e1,#e3
        defb "=!",#c6,#06,#d3
        defb #8e,"d",#e2,#ed
        defb "O",#1e,"d",#cf
        defb "KUcF",#d4,#a0
        defb #84,#d4,"aC",#df
        defb #f8,#e6,"j&",#03
        defb #9d,"-",#8f,#dc
        defb #ac,#fa,"z",#b8
        defb #b0,#09,#de,"7/"
        defb #d2,#c8,#db,"="
        defb #b6,"r",#b9,"k!3"
        defb #ed,"#?",#b1,"f"
        defb #97,#87,#bc,"{"
        defb #08,"!",#82,#a4
        defb #87,"<",#96,"b"
        defb #14,#cc,#ce,"3"
        defb #da,#f9,"2",#c4
        defb "G",#e1,#b2,#1a
        defb #c9,"$",#1b,#c1
        defb #d9,"rY+",#f6,"wiLP"
        defb #e5,"]",#c6,"r"
        defb #fb,"cG+",#c6,#c4
        defb #0e,#ef,"@AR",#f5
        defb #9f,#d4,"0",#1a
        defb #d0,#d3,#1b,#fd
        defb #fa,#f4,"iS",#a7
        defb "O",#9f,"?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9f,"?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,"7]N"
        defb #8e,#12,#eb,#16
        defb #80,")",#d6,"kB"
        defb #d6,"gM",#d3,"Ym"
        defb #fa,#15,#d4,#b6
        defb #88,#e1,#d6,#f4
        defb #dd,#d6,#e8,#c0
        defb #d4,";",#1d,#c1
        defb #1a,"FgI",#c1,"W"
        defb #1d,"5",#d7,"'"
        defb #0f,#d6,"Vx",#dd
        defb ":(",#8f,"a",#99
        defb #17,"a",#c9,#d7
        defb #03,"*",#d6,"/"
        defb #17,#c9,"F[",#a1
        defb #dc,#bd,"W",#cb
        defb "~",#da,#d4,#c2
        defb ">",#c9,#da,"K"
        defb #e2,"\ ",#b2,#0f
        defb "O",#db,"Yu?",#04
        defb #c4,"5",#0e,"x4"
        defb #85,"skD",#17,#86
        defb "",#a1,#c8,#ce
        defb "_",#8b,#cf,"_"
        defb #a8,#f7,"6",#03
        defb #d2,#1c,"StZ",#c1
        defb #b6,"N",#04,#c9
        defb #cd,#ea,#07,"."
        defb #dc,#0a,#dc,"k"
        defb #a6,"C",#c9,"q2"
        defb #e6,#c1,#ba,"b"
        defb #cf,#fe,#c8,#c2
        defb #ed,#e1,"[lS",#01
        defb #8d,#df,"oH",#d6
        defb #9b,#b3,"&Kt",#12
        defb "&",#a8,#83,"b"
        defb #f7,#b9,#02,#0e
        defb #cd,#ff,#de,#dc
        defb #14,"2",#d7,#e8
        defb #e1,#90,"J",#be
        defb #18,#a5,#01,#db
        defb #f9,#fe,"~~0",#22
        defb #0a,"8",#ed,#a3
        defb #00,#13,#fc,#ab
        defb #0a,#de,#ff,#dd
        defb #15,#db,#11,#fb
        defb #f5,"+?c",#dd,#18
        defb #cb,#a7,#c8,#f0
        defb "4",#11,#dd,#15
        defb #fb,#f3,#83," "
        defb #96,#ba,"JT",#1e
        defb "",#c5,#0b,#dc
        defb " ",#c9,#fa,"4"
        defb #01,#03,#c1,"G"
        defb #ec,#b3,#bc,#bb
        defb "0",#d9,#d6,#ff
        defb #ff,#ff,#c6,"5"
        defb #ce,#00,"9;Nj",#03
        defb "m, ",#99,"O",#b4
        defb #07,#d9,#bf,#9c
        defb #1c,#c9,#d2,#ae
        defb #8f,"?6=",#11,#de
        defb #db,"7",#ff,#f9
        defb "8",#16,"0",#03
        defb #d3,#a2,#86,"}"
        defb #fb,"]",#d5,#d1
        defb "oH6>",#d7,#12
        defb #13,#c2,"N",#f4
        defb #1d,#ff,#eb,"W"
        defb #08,#aa,"}",#eb
        defb #cd,#a2,#82,"30"
        defb #c1,#f3,#0e,#c0
        defb #0d,#f1,#02,"6"
        defb #16,"(",#ea,#d5
        defb #c1,#09,#12,#13
        defb #c2,"@,",#8c,#aa
        defb "-",#ab,#d7,#08
        defb #aa,"}",#eb,#cc
        defb #e7,"9",#00,#c2
        defb "&nkK",#9f,#13
        defb #df,"oH",#e4,#c3
        defb #9f,#ba,"0Z",#8b
        defb #f3,"7",#f8,"O"
        defb #c0,"W",#df,#9e
        defb #b8,".",#03,#d5
        defb #dd,#9b,#b3,"8!"
        defb #82,"o",#fe,"x"
        defb #ae,#0f,#d8,#df
        defb #9e,#b8,"4H",#83
        defb #d4,"yd",#80,#d5
        defb #22,#18,"a",#c7
        defb "[}hO5t",#b9,#1e
        defb #ec,#d7,"J",#13
        defb #0e,#f9,"Pp",#f0
        defb #e4,#ec,"K",#04
        defb #fd,#fa,#f4,"+"
        defb #d9,#8b,"U",#a3
        defb "5S",#1a,#cb,#06
        defb "fOjN",#9b,#b3
        defb "!",#f5,"`0",#c9
        defb #1d,"P",#16,"6"
        defb #a9,"H",#16,"p"
        defb #9a,#92,"xpc",#b3
        defb #d1,"'1",#89,#16
        defb "OE",#18,"#'",#13
        defb #d8,#1f,#ef,#da
        defb #d0,#86,#d0,#88
        defb #f5,#f7,#1f,"*"
        defb #c6,#f7,#f2,#ed
        defb #e2,#13,";",#fa
        defb #b7,"9",#e8,#de
        defb #91,#dd,"k",#ce
        defb #b1,#f9,#f7,#83
        defb #ac,"n",#bd,#1e
        defb #94,#b1,"~1^",#11
        defb #dd,"0",#ce,#03
        defb "0",#05,#ce,";"
        defb #de,")",#8d,#a0
        defb #a6,#c3,#ee,"6"
        defb #b2,#01,#16,"]"
        defb #a0,#f5,#0c,#d6
        defb #09,#06,#95,#ae
        defb "X",#e5,#b6,#c3
        defb "8",#16,"8",#c0
        defb #04,#1c,#fc,"S1"
        defb #87,#89,#80,"l"
        defb #e2,#b0,#ff,#82
        defb #82,#8a,#8a,"82"
        defb #f8,"3",#ed,"K"
        defb #f7,#1e,#08,#fb
        defb "^",#ff,#f1,#f1
        defb #c5,#e6,"2",#a5
        defb #87,"f]&",#b2,"~`"
        defb #af,#c1,#f8,#f5
        defb "g",#87,#f2,#f2
        defb #f4,#84,"f&",#df
        defb "n",#dd,"q",#c3
        defb "l",#19,#02,#e5
        defb #8d,#ff,#fe,#fd
        defb #13,#1d,#89,#c0
        defb #d4,"O",#9f,"?"
        defb #17,"~",#e9,#ba
        defb "%",#ec,"d",#14
        defb #92,#b8,")",#d9
        defb "G",#b6,#98,#c9
        defb #05,#af,#ae,#a6
        defb #ff,#e2,#c8,#87
        defb "7",#81,#bf,#ab
        defb "",#d4,#db,#fd
        defb "A",#c1,#c1,#c1
        defb #c1,#c1,#c0,#c3
        defb #c4,#8f,#e2,#97
        defb #a6,"zg;q0",#f8
        defb "=;?",#f4,"?",#fa
        defb #f4,#b9,#83,#f6
        defb #d8,#91,#fd,""
        defb #c7,#ee,#ff,#db
        defb #ec,#b3,#98,#b2
        defb #d8,#8d,#93,#dd
        defb #a8,#e1,"or=",#ae
        defb #ae,#af,#af,"6,"
        defb #dd,#06,#b1,"E"
        defb #86,"OU",#1c,"z9"
        defb #f8,"=",#bf,","
        defb #9d,#85,#e0,#96
        defb #99,#13,"t,",#e7
        defb "%",#1d,#8f,"{g"
        defb #af,#ae,#a6,#c6
        defb #04,#f0,#e1,"C"
        defb #f7,#1e,#ce,#ff
        defb #85,"7",#c5,"g"
        defb #af,#ae,#a6,#c0
        defb #02,#02,#d2,#e0
        defb "Y",#8a,#a6,#c3
        defb #b3,#fe,#ce,#03
        defb ":",#c0,#04,#13
        defb #eb,#e4,#e0,#f8
        defb #90,#b5,#b1,#f2
        defb #0a,"x",#0b,"7."
        defb #00,#bd,#9b,"p"
        defb #e7,#96,#b1,#ca
        defb "O",#e9,"[c",#e3
        defb #ed,#ff,#ff,#ff
        defb #9d,#f1,#e5,#fd
        defb #e2,#d8,#b9,"@"
        defb #83,"C",#14,#95
        defb #f6,#ff,#9d,#e4
        defb #87,#fd,#9e,#f9
        defb #e7,#dd,#ba,"Z"
        defb #92,"S",#0d,#e8
        defb #e9,#e9,#fb,#ec
        defb #ef,#f6,#bf,#f3
        defb #a1,#d8,#a1,"S"
        defb #ec,"?",#09,#98
        defb #e0,#e1,#fc,#ec
        defb #fe,#fd,#99,#f8
        defb #f6,#da,#ac,"D"
        defb #81,"0c",#83,#94
        defb #95,#f6,#ff,#9c
        defb #e6,#83,#f4,#91
        defb #dd,#a3,"=",#92
        defb "2",#0f,#fd,#e2
        defb #f4,#ee,#e9,#e9
        defb #a4,#fd,#fe,#e4
        defb #d4,#ef,"D",#99
        defb "#",#0c,#9a,#e8
        defb #ff,#e2,#e2,#8c
        defb #dd,#da,#95,#fc
        defb #a7,#87,"B",#98
        defb #15,#0c,#e9,#f6
        defb #f6,#f9,#e8,#8a
        defb #f5,#fa,#8e,#92
        defb #bf,#b6,"I",#94
        defb "Js",#f7,#9e,#9f
        defb #91,#f6,#ff,#e0
        defb #ed,#9d,#e5,#db
        defb #ce,"'",#f4,"2b"
        defb #f9,#87,#f3,#f7
        defb #91,#91,#95,#f2
        defb #f1,#8c,#da,#bd
        defb "u",#9e,"<",#98
        defb #1b,#fe,#ff,#ff
        defb "~",#fd,#fb,#f5
        defb #16,#d3,#a7,"O"
        defb #9f,"?",#ff,#00
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#d2
        defb #07,"1",#d8,"q?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#d2,#07,#c0
        defb ")q?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#d2
        defb #07,#df,"6q?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #d2,#07,#ee,#07
        defb "q?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#d2,#07
        defb #fd,#14,"q?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #d2,#07,#8c,"eq?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#d2,#07,#9b
        defb "rq?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#d2
        defb #07,#aa,"Cq?",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #d2,#07,#b9,"Pq?"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#d2,#07,"H"
        defb #a0,"p?",#ff,#ff
        defb #ff,#fb,#f4,#f1
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb "?",#ff,#ff,#fb
        defb #f4,#f0,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9f,"?"
        defb #ff,#fb,#f4,#f0
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "O",#9f,"?",#fb
        defb #f4,#f0,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a7,"O"
        defb #9f,"?{",#f4,#f0
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d3,#a7,"O",#9f
        defb ";t",#f0,#ff,#ff
        defb #ff,#ff,#fe,#fd
        defb #fa,#f4,#e9,#d3
        defb #a7,"O",#9b,"4p"
        defb #ff,#ff,#ff,#ff
        defb #ff,#fe,#fd,#fa
        defb #f4,#e9,#d3,#a7
        defb "K",#94,"0",#ff
        defb #ff,#ff,#ff,#ff
        defb #fe,#fd,#fa,#f4
        defb #e9,#d3,#a3,"D"
        defb #90,"?",#ff,#ff
        defb #ff,#ff,#ff,#fe
        defb #fd,#fa,#f4,#e9
        defb #d7,#ac,"@",#9f
        defb "?",#ff,#ff,#ff
        defb #ff,#ff,#fe,#fd
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
l3dfd   nop
        ret
;#3dFF - вектор прерываний
        defw #10e6
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        defb #c0
l3fff   defb #00
        nop

;Дополнительные комментарии

;По адресу #5F40 видимо располагаются системные переменные CPM
;#5F46 - текущий номер банка памяти: %000XXXXX 
                                         ^^^^^
                                         |||||
                                         ||#7FFD
                                         ||
                                         #FDFD

;BIOS CP/M

ld400   jp ld75c
        jp ld758
ld406   defb ""
ld407   defb #00
ld408   defb "                "
        defb "COPYRIGHT (C) 1979, DIGITAL RESEARCH  "
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00
ld488   defw ld408
ld48a   defw #0000
ld48c   ld e,a
        ld c,#02
        jp #0005
ld492   push bc
        call ld48c
        pop bc
        ret
ld498   ld a,#0d
        call ld492
        ld a,#0a
        jp ld492
ld4a2   ld a,#20
        jp ld492
ld4a7   push bc
        call ld498
        pop hl
ld4ac   ld a,(hl)
        or a
        ret z
        inc hl
        push hl
        call ld48c
        pop hl
        jp ld4ac
ld4b8   ld c,#0d
        jp #0005
ld4bd   ld e,a
        ld c,#0e
        jp #0005
ld4c3   call #0005
        ld (ldbee),a
        inc a
        ret
ld4cb   ld c,#0f
        jp ld4c3
ld4d0   xor a
        ld (ldbed),a
        ld de,ldbcd
        jp ld4cb
ld4da   ld c,#10
        jp ld4c3
ld4df   ld c,#11
        jp ld4c3
ld4e4   ld c,#12
        jp ld4c3
ld4e9   ld de,ldbcd
        jp ld4df
ld4ef   ld c,#13
        jp #0005
ld4f4   call #0005
        or a
        ret
ld4f9   ld c,#14
        jp ld4f4
ld4fe   ld de,ldbcd
        jp ld4f9
ld504   ld c,#15
        jp ld4f4
ld509   ld c,#16
        jp ld4c3
ld50e   ld c,#17
        jp #0005
ld513   ld e,#ff
ld515   ld c,#20
        jp #0005
ld51a   call ld513
        add a,a
        add a,a
        add a,a
        add a,a
        ld hl,ldbef
        or (hl)
        ld (#0004),a
        ret
ld529   ld a,(ldbef)
        ld (#0004),a
        ret
ld530   cp #61
        ret c
        cp #7b
        ret nc
        and #5f
        ret
ld539   ld a,(ldbab)
        or a
        jp z,ld596
        ld a,(ldbef)
        or a
        ld a,#00
        call nz,ld4bd
        ld de,ldbac
        call ld4cb
        jp z,ld596
        ld a,(ldbbb)
        dec a
        ld (ldbcc),a
        ld de,ldbac
        call ld4f9
        jp nz,ld596
        ld de,ld407
        ld hl,#0080
        ld b,#80
        call ld842
        ld hl,ldbba
        ld (hl),#00
        inc hl
        dec (hl)
        ld de,ldbac
        call ld4da
        jp z,ld596
        ld a,(ldbef)
        or a
        call nz,ld4bd
        ld hl,ld408
        call ld4ac
        call ld5c2
        jp z,ld5a7
        call ld5dd
        jp ld782
ld596   call ld5dd
        call ld51a
        ld c,#0a
        ld de,ld406
        call #0005
        call ld529
ld5a7   ld hl,ld407
        ld b,(hl)
ld5ab   inc hl
        ld a,b
        or a
        jp z,ld5ba
        ld a,(hl)
        call ld530
        ld (hl),a
        dec b
        jp ld5ab
ld5ba   ld (hl),a
        ld hl,ld408
        ld (ld488),hl
        ret
ld5c2   ld c,#0b
        call #0005
        or a
        ret z
        ld c,#01
        call #0005
        or a
        ret
ld5d0   ld c,#19
        jp #0005
ld5d5   ld de,#0080
ld5d8   ld c,#1a
        jp #0005
ld5dd   ld hl,ldbab
        ld a,(hl)
        or a
        ret z
        ld (hl),#00
        xor a
        call ld4bd
        ld de,ldbac
        call ld4ef
        ld a,(ldbef)
        jp ld4bd
ld5f5   ld de,ld728
        ld hl,ldc00
        ld b,#06
ld5fd   ld a,(de)
        cp (hl)
        jp nz,ld7cf
        inc de
        inc hl
        dec b
        jp nz,ld5fd
        ret
ld609   call ld498
        ld hl,(ld48a)
ld60f   ld a,(hl)
        cp #20
        jp z,ld622
        or a
        jp z,ld622
        push hl
        call ld48c
        pop hl
        inc hl
        jp ld60f
ld622   ld a,#3f
        call ld48c
        call ld498
        call ld5dd
        jp ld782
ld630   ld a,(de)
        or a
        ret z
        cp #20
        jp c,ld609
        ret z
        cp #3d
        ret z
        cp #5f
        ret z
        cp #2e
        ret z
        cp #3a
        ret z
        cp #3b
        ret z
        cp #3c
        ret z
        cp #3e
        ret z
        ret
ld64f   ld a,(de)
        or a
        ret z
        cp #20
        ret nz
        inc de
        jp ld64f
ld659   add a,l
        ld l,a
        ret nc
        inc h
        ret
ld65e   ld a,#00
ld660   ld hl,ldbcd
        call ld659
        push hl
        push hl
        xor a
        ld (ldbf0),a
        ld hl,(ld488)
        ex de,hl
        call ld64f
        ex de,hl
        ld (ld48a),hl
        ex de,hl
        pop hl
        ld a,(de)
        or a
        jp z,ld689
        sbc a,#40
        ld b,a
        inc de
        ld a,(de)
        cp #3a
        jp z,ld690
        dec de
ld689   ld a,(ldbef)
        ld (hl),a
        jp ld696
ld690   ld a,b
        ld (ldbf0),a
        ld (hl),b
        inc de
ld696   ld b,#08
ld698   call ld630
        jp z,ld6b9
        inc hl
        cp #2a
        jp nz,ld6a9
        ld (hl),#3f
        jp ld6ab
ld6a9   ld (hl),a
        inc de
ld6ab   dec b
        jp nz,ld698
ld6af   call ld630
        jp z,ld6c0
        inc de
        jp ld6af
ld6b9   inc hl
        ld (hl),#20
        dec b
        jp nz,ld6b9
ld6c0   ld b,#03
        cp #2e
        jp nz,ld6e9
        inc de
ld6c8   call ld630
        jp z,ld6e9
        inc hl
        cp #2a
        jp nz,ld6d9
        ld (hl),#3f
        jp ld6db
ld6d9   ld (hl),a
        inc de
ld6db   dec b
        jp nz,ld6c8
ld6df   call ld630
        jp z,ld6f0
        inc de
        jp ld6df
ld6e9   inc hl
        ld (hl),#20
        dec b
        jp nz,ld6e9
ld6f0   ld b,#03
ld6f2   inc hl
        ld (hl),#00
        dec b
        jp nz,ld6f2
        ex de,hl
        ld (ld488),hl
        pop hl
        ld bc,#000b
ld701   inc hl
        ld a,(hl)
        cp #3f
        jp nz,ld709
        inc b
ld709   dec c
        jp nz,ld701
        ld a,b
        or a
        ret
ld710   defb "DIR ERA TYPESAVEREN USER"
ld728   defb #f9,#16,#00,#00
        defb #00,"k"
ld72e   ld hl,ld710
        ld c,#00
ld733   ld a,c
        cp #06
        ret nc
        ld de,ldbce
        ld b,#04
ld73c   ld a,(de)
        cp (hl)
        jp nz,ld74f
        inc de
        inc hl
        dec b
        jp nz,ld73c
        ld a,(de)
        cp #20
        jp nz,ld754
        ld a,c
        ret
ld74f   inc hl
        dec b
        jp nz,ld74f
ld754   inc c
        jp ld733
ld758   xor a
        ld (ld407),a
ld75c   ld sp,ldbab
        push bc
        ld a,c
        rra
        rra
        rra
        rra
        and #0f
        ld e,a
        call ld515
        call ld4b8
        ld (ldbab),a
        pop bc
        ld a,c
        and #0f
        ld (ldbef),a
        call ld4bd
        ld a,(ld407)
        or a
        jp nz,ld798
ld782   ld sp,ldbab
        call ld498
        call ld5d0
        add a,#41
        call ld48c
        ld a,#3e
        call ld48c
        call ld539
ld798   ld de,#0080
        call ld5d8
        call ld5d0
        ld (ldbef),a
        call ld65e
ld7a5   equ  $-#0002
        call nz,ld609
        ld a,(ldbf0)
        or a
        jp nz,ldaa5
        call ld72e
        ld hl,ld7c1
        ld e,a
        ld d,#00
        add hl,de
        add hl,de
        ld a,(hl)
        inc hl
        ld h,(hl)
        ld l,a
        jp (hl)
ld7c1   ld (hl),a
        ret c
        rra
        exx
        ld e,l
        exx
        xor l
        exx
        djnz ld7a5
        adc a,(hl)
        jp c,ldaa5
ld7cf   ld hl,#76f3
        ld (ld400),hl
        ld hl,ld400
        jp (hl)
ld7d9   ld bc,ld7df
        jp ld4a7
ld7df   defb "READ ERROR",#00
ld7ea   ld bc,ld7f0
        jp ld4a7
ld7f0   defb "NO FILE",#00
ld7f8   call ld65e
        ld a,(ldbf0)
        or a
        jp nz,ld609
        ld hl,ldbce
        ld bc,#000b
ld808   ld a,(hl)
        cp #20
        jp z,ld833
        inc hl
        sub #30
        cp #0a
        jp nc,ld609
        ld d,a
        ld a,b
        and #e0
        jp nz,ld609
        ld a,b
        rlca
        rlca
        rlca
        add a,b
        jp c,ld609
        add a,b
        jp c,ld609
        add a,d
        jp c,ld609
        ld b,a
        dec c
        jp nz,ld808
        ret
ld833   ld a,(hl)
        cp #20
        jp nz,ld609
        inc hl
        dec c
        jp nz,ld833
        ld a,b
        ret
ld840   ld b,#03
ld842   ld a,(hl)
        ld (de),a
        inc hl
        inc de
        dec b
        jp nz,ld842
        ret
ld84b   ld hl,#0080
        add a,c
        call ld659
        ld a,(hl)
        ret
ld854   xor a
        ld (ldbcd),a
        ld a,(ldbf0)
        or a
        ret z
        dec a
        ld hl,ldbef
        cp (hl)
        ret z
        jp ld4bd
ld866   ld a,(ldbf0)
        or a
        ret z
        dec a
        ld hl,ldbef
        cp (hl)
        ret z
        ld a,(ldbef)
        jp ld4bd
        call ld65e
        call ld854
        ld hl,ldbce
        ld a,(hl)
        cp #20
        jp nz,ld88f
        ld b,#0b
ld888   ld (hl),#3f
        inc hl
        dec b
        jp nz,ld888
ld88f   ld e,#00
        push de
        call ld4e9
        call z,ld7ea
ld898   jp z,ld91b
        ld a,(ldbee)
        rrca
        rrca
        rrca
        and #60
        ld c,a
        ld a,#0a
        call ld84b
        rla
        jp c,ld90f
        pop de
        ld a,e
        inc e
        push de
        and #03
        push af
        jp nz,ld8cc
        call ld498
        push bc
        call ld5d0
        pop bc
        add a,#41
        call ld492
        ld a,#3a
        call ld492
        jp ld8d4
ld8cc   call ld4a2
        ld a,#3a
        call ld492
ld8d4   call ld4a2
        ld b,#01
ld8d9   ld a,b
        call ld84b
        and #7f
        cp #20
        jp nz,ld8f9
        pop af
        push af
        cp #03
        jp nz,ld8f7
        ld a,#09
        call ld84b
        and #7f
        cp #20
        jp z,ld90e
ld8f7   ld a,#20
ld8f9   call ld492
        inc b
        ld a,b
        cp #0c
        jp nc,ld90e
        cp #09
        jp nz,ld8d9
        call ld4a2
        jp ld8d9
ld90e   pop af
ld90f   call ld5c2
        jp nz,ld91b
        call ld4e4
        jp ld898
ld91b   pop de
        jp ldb86
        call ld65e
        cp #0b
        jp nz,ld942
        ld bc,ld952
        call ld4a7
        call ld539
        ld hl,ld407
        dec (hl)
        jp nz,ld782
        inc hl
        ld a,(hl)
        cp #59
        jp nz,ld782
        inc hl
        ld (ld488),hl
ld942   call ld854
        ld de,ldbcd
        call ld4ef
        inc a
        call z,ld7ea
        jp ldb86
ld952   defb "ALL (Y/N)?",#00
        call ld65e
        jp nz,ld609
        call ld854
        call ld4d0
        jp z,ld9a7
        call ld498
        ld hl,ldbf1
        ld (hl),#ff
ld974   ld hl,ldbf1
        ld a,(hl)
        cp #80
        jp c,ld987
        push hl
        call ld4fe
        pop hl
        jp nz,ld9a0
        xor a
        ld (hl),a
ld987   inc (hl)
        ld hl,#0080
        call ld659
        ld a,(hl)
        cp #1a
        jp z,ldb86
        call ld48c
        call ld5c2
        jp nz,ldb86
        jp ld974
ld9a0   dec a
        jp z,ldb86
        call ld7d9
ld9a7   call ld866
        jp ld609
        call ld7f8
        push af
        call ld65e
        jp nz,ld609
        call ld854
        ld de,ldbcd
        push de
        call ld4ef
        pop de
        call ld509
        jp z,ld9fb
        xor a
        ld (ldbed),a
        pop af
        ld l,a
        ld h,#00
        add hl,hl
        ld de,#0100
ld9d4   ld a,h
        or l
        jp z,ld9f1
        dec hl
        push hl
        ld hl,#0080
        add hl,de
        push hl
        call ld5d8
        ld de,ldbcd
        call ld504
        pop de
        pop hl
        jp nz,ld9fb
        jp ld9d4
ld9f1   ld de,ldbcd
        call ld4da
        inc a
        jp nz,lda01
ld9fb   ld bc,lda07
        call ld4a7
lda01   call ld5d5
        jp ldb86
lda07   defb "NO SPACE",#00
        call ld65e
        jp nz,ld609
        ld a,(ldbf0)
        push af
        call ld854
        call ld4e9
        jp nz,lda79
        ld hl,ldbcd
        ld de,ldbdd
        ld b,#10
        call ld842
        ld hl,(ld488)
        ex de,hl
        call ld64f
        cp #3d
        jp z,lda3f
        cp #5f
        jp nz,lda73
lda3f   ex de,hl
        inc hl
        ld (ld488),hl
        call ld65e
        jp nz,lda73
        pop af
        ld b,a
        ld hl,ldbf0
        ld a,(hl)
        or a
        jp z,lda59
        cp b
        ld (hl),b
        jp nz,lda73
lda59   ld (hl),b
        xor a
        ld (ldbcd),a
        call ld4e9
        jp z,lda6d
        ld de,ldbcd
        call ld50e
        jp ldb86
lda6d   call ld7ea
        jp ldb86
lda73   call ld866
        jp ld609
lda79   ld bc,lda82
        call ld4a7
        jp ldb86
lda82   defb "FILE EXISTS",#00
        call ld7f8
        cp #10
        jp nc,ld609
        ld e,a
        ld a,(ldbce)
        cp #20
        jp z,ld609
        call ld515
        jp ldb89
ldaa5   call ld5f5
        ld a,(ldbce)
        cp #20
        jp nz,ldac4
        ld a,(ldbf0)
        or a
        jp z,ldb89
        dec a
        ld (ldbef),a
        call ld529
        call ld4bd
        jp ldb89
ldac4   ld de,ldbd6
        ld a,(de)
        cp #20
        jp nz,ld609
        push de
        call ld854
        pop de
        ld hl,ldb83
        call ld840
        call ld4d0
        jp z,ldb6b
        ld hl,#0100
ldae1   push hl
        ex de,hl
        call ld5d8
        ld de,ldbcd
        call ld4f9
        jp nz,ldb01
        pop hl
        ld de,#0080
        add hl,de
        ld de,ld400
        ld a,l
        sub e
        ld a,h
        sbc a,d
        jp nc,ldb71
        jp ldae1
ldb01   pop hl
        dec a
        jp nz,ldb71
        call ld866
        call ld65e
        ld hl,ldbf0
        push hl
        ld a,(hl)
        ld (ldbcd),a
        ld a,#10
        call ld660
        pop hl
        ld a,(hl)
        ld (ldbdd),a
        xor a
        ld (ldbed),a
        ld de,#005c
        ld hl,ldbcd
        ld b,#21
        call ld842
        ld hl,ld408
ldb30   ld a,(hl)
        or a
        jp z,ldb3e
        cp #20
        jp z,ldb3e
        inc hl
        jp ldb30
ldb3e   ld b,#00
        ld de,#0081
ldb43   ld a,(hl)
        ld (de),a
        or a
        jp z,ldb4f
        inc b
        inc hl
        inc de
        jp ldb43
ldb4f   ld a,b
        ld (#0080),a
        call ld498
        call ld5d5
        call ld51a
        call #0100
        ld sp,ldbab
        call ld529
        call ld4bd
        jp ld782
ldb6b   call ld866
        jp ld609
ldb71   ld bc,ldb7a
        call ld4a7
        jp ldb86
ldb7a   defb "BAD LOAD",#00
ldb83   defb "COM"
ldb86   call ld866
ldb89   call ld65e
        ld a,(ldbce)
        sub #20
        ld hl,ldbf0
        or (hl)
        jp nz,ld609
        jp ld782
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
ldbab   defb #00
ldbac   defb #00,"$$$     SUB"
        defb #00,#00
ldbba   defb #00
ldbbb   defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00
ldbcc   defb #00
ldbcd   defb #00
ldbce   defb #00,#00,#00,#00
        defb #00,#00,#00,#00
ldbd6   defb #00,#00,#00,#00
        defb #00,#00,#00
ldbdd   defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
ldbed   defb #00
ldbee   defb #00
ldbef   defb #00
ldbf0   defb #00
ldbf1   defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
ldc00   defb #f9,#16,#00,#00
        defb #00,"k"
ldc06   jp ldc11
ldc09   defw ldc99
ldc0b   defw ldca5
ldc0d   defw ldcab
ldc0f   defw ldcb1
ldc11   ex de,hl
        ld (ldf43),hl
        ex de,hl
        ld a,e
        ld (le9d6),a
        ld hl,#0000
        ld (ldf45),hl
        add hl,sp
        ld (ldf0f),hl
        ld sp,ldf41
        xor a
        ld (le9e0),a
        ld (le9de),a
        ld hl,le974
        push hl
        ld a,c
        cp #29
        ret nc
        ld c,e
        ld hl,ldc47
        ld e,a
        ld d,#00
        add hl,de
        add hl,de
        ld e,(hl)
        inc hl
        ld d,(hl)
        ld hl,(ldf43)
        ex de,hl
        jp (hl)
ldc47   defw lea03
        defw ldec8
        defw ldd90
        defw ldece
        defw lea12
        defw lea0f
        defw lded4
        defw ldeed
        defw ldef3
        defw ldef8
        defw ldde1
        defw ldefe
        defw le87e
        defw le883
        defw le845
        defw le89c
        defw le8a5
        defw le8ab
        defw le8c8
        defw le8d7
        defw le8e0
        defw le8e6
        defw le8ec
        defw le8f5
        defw le8fe
        defw le904
        defw le90a
        defw le911
        defw le12c
        defw le917
        defw le91d
        defw le926
        defw le92d
        defw le941
        defw le947
        defw le94d
        defw le80e
        defw le953
        defw ldf04
        defw ldf04
        defw le99b
ldc99   ld hl,ldcca
        call ldce5
        cp #03
        jp z,#0000
        ret
ldca5   ld hl,ldcd5
        jp ldcb4
ldcab   ld hl,ldce1
        jp ldcb4
ldcb1   ld hl,ldcdc
ldcb4   call ldce5
        jp #0000
ldcba   defb "Bdos Err On "
ldcc6   defb " : $"
ldcca   defb "Bad Sector$"
ldcd5   defb "Select$"
ldcdc   defb "File "
ldce1   defb "R/O$"
ldce5   push hl
        call lddc9
        ld a,(ldf42)
        add a,#41
        ld (ldcc6),a
        ld bc,ldcba
        call lddd3
        pop bc
        call lddd3
ldcfb   ld hl,ldf0e
        ld a,(hl)
        ld (hl),#00
        or a
        ret nz
        jp lea09
ldd06   call ldcfb
        call ldd14
        ret c
        push af
        ld c,a
        call ldd90
        pop af
        ret
ldd14   cp #0d
        ret z
        cp #0a
        ret z
        cp #09
        ret z
        cp #08
        ret z
        cp #20
        ret
ldd23   ld a,(ldf0e)
        or a
        jp nz,ldd45
        call lea06
        and #01
        ret z
        call lea09
        cp #13
        jp nz,ldd42
        call lea09
        cp #03
        jp z,#0000
        xor a
        ret
ldd42   ld (ldf0e),a
ldd45   ld a,#01
        ret
ldd48   ld a,(ldf0a)
        or a
        jp nz,ldd62
        push bc
        call ldd23
        pop bc
        push bc
        call lea0c
        pop bc
        push bc
        ld a,(ldf0d)
        or a
        call nz,lea0f
        pop bc
ldd62   ld a,c
        ld hl,ldf0c
        cp #7f
        ret z
        inc (hl)
        cp #20
        ret nc
        dec (hl)
        ld a,(hl)
        or a
        ret z
        ld a,c
        cp #08
        jp nz,ldd79
        dec (hl)
        ret
ldd79   cp #0a
        ret nz
        ld (hl),#00
        ret
ldd7f   ld a,c
        call ldd14
        jp nc,ldd90
        push af
        ld c,#5e
        call ldd48
        pop af
        or #40
        ld c,a
ldd90   ld a,c
        cp #09
        jp nz,ldd48
ldd96   ld c,#20
        call ldd48
        ld a,(ldf0c)
        and #07
        jp nz,ldd96
        ret
ldda4   call lddac
        ld c,#20
        call lea0c
lddac   ld c,#08
        jp lea0c
lddb1   ld c,#23
        call ldd48
        call lddc9
lddb9   ld a,(ldf0c)
        ld hl,ldf0b
        cp (hl)
        ret nc
        ld c,#20
        call ldd48
        jp lddb9
lddc9   ld c,#0d
        call ldd48
        ld c,#0a
        jp ldd48
lddd3   ld a,(bc)
        cp #24
        ret z
        inc bc
        push bc
        ld c,a
        call ldd90
        pop bc
        jp lddd3
ldde1   ld a,(ldf0c)
        ld (ldf0b),a
        ld hl,(ldf43)
        ld c,(hl)
        inc hl
        push hl
        ld b,#00
lddef   push bc
        push hl
lddf1   call ldcfb
        and #7f
        pop hl
        pop bc
        cp #0d
        jp z,ldec1
        cp #0a
        jp z,ldec1
        cp #08
        jp nz,lde16
        ld a,b
        or a
        jp z,lddef
        dec b
        ld a,(ldf0c)
        ld (ldf0a),a
        jp lde70
lde16   cp #7f
        jp nz,lde26
        ld a,b
        or a
        jp z,lddef
        ld a,(hl)
        dec b
        dec hl
        jp ldea9
lde26   cp #05
        jp nz,lde37
        push bc
        push hl
        call lddc9
        xor a
        ld (ldf0b),a
        jp lddf1
lde37   cp #10
        jp nz,lde48
        push hl
        ld hl,ldf0d
        ld a,#01
        sub (hl)
        ld (hl),a
        pop hl
        jp lddef
lde48   cp #18
        jp nz,lde5f
        pop hl
lde4e   ld a,(ldf0b)
        ld hl,ldf0c
        cp (hl)
        jp nc,ldde1
        dec (hl)
        call ldda4
        jp lde4e
lde5f   cp #15
        jp nz,lde6b
        call lddb1
        pop hl
        jp ldde1
lde6b   cp #12
        jp nz,ldea6
lde70   push bc
        call lddb1
        pop bc
        pop hl
        push hl
        push bc
lde78   ld a,b
        or a
        jp z,lde8a
        inc hl
        ld c,(hl)
        dec b
        push bc
        push hl
        call ldd7f
        pop hl
        pop bc
        jp lde78
lde8a   push hl
        ld a,(ldf0a)
        or a
        jp z,lddf1
        ld hl,ldf0c
        sub (hl)
        ld (ldf0a),a
lde99   call ldda4
        ld hl,ldf0a
        dec (hl)
        jp nz,lde99
        jp lddf1
ldea6   inc hl
        ld (hl),a
        inc b
ldea9   push bc
        push hl
        ld c,a
        call ldd7f
        pop hl
        pop bc
        ld a,(hl)
        cp #03
        ld a,b
        jp nz,ldebd
        cp #01
        jp z,#0000
ldebd   cp c
        jp c,lddef
ldec1   pop hl
        ld (hl),b
        ld c,#0d
        jp ldd48
ldec8   call ldd06
        jp ldf01
ldece   call lea15
        jp ldf01
lded4   ld a,c
        inc a
        jp z,ldee0
        inc a
        jp z,lea06
        jp lea0c
ldee0   call lea06
        or a
        jp z,le991
        call lea09
        jp ldf01
ldeed   ld a,(#0003)
        jp ldf01
ldef3   ld hl,#0003
        ld (hl),c
        ret
ldef8   ex de,hl
        ld c,l
        ld b,h
        jp lddd3
ldefe   call ldd23
ldf01   ld (ldf45),a
ldf04   ret
ldf05   ld a,#01
        jp ldf01
ldf0a   defb #00
ldf0b   defb #00
ldf0c   defb #00
ldf0d   defb #00
ldf0e   defb #00
ldf0f   defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
ldf41   defb #00
ldf42   defb #00
ldf43   defw #0000
ldf45   defw #0000
ldf47   ld hl,ldc0b
ldf4a   ld e,(hl)
        inc hl
        ld d,(hl)
        ex de,hl
        jp (hl)
ldf4f   inc c
ldf50   dec c
        ret z
        ld a,(de)
        ld (hl),a
        inc de
        inc hl
        jp ldf50
ldf59   ld a,(ldf42)
        ld c,a
        call lea1b
        ld a,h
        or l
        ret z
        ld e,(hl)
        inc hl
        ld d,(hl)
        inc hl
        ld (le9b3),hl
        inc hl
        inc hl
        ld (le9b5),hl
        inc hl
        inc hl
        ld (le9b7),hl
        inc hl
        inc hl
        ex de,hl
        ld (le9d0),hl
        ld hl,le9b9
        ld c,#08
        call ldf4f
        ld hl,(le9bb)
        ex de,hl
        ld hl,le9c1
        ld c,#0f
        call ldf4f
        ld hl,(le9c6)
        ld a,h
        ld hl,le9dd
        ld (hl),#ff
        or a
        jp z,ldf9d
        ld (hl),#00
ldf9d   ld a,#ff
        or a
        ret
ldfa1   call lea18
        xor a
        ld hl,(le9b5)
        ld (hl),a
        inc hl
        ld (hl),a
        ld hl,(le9b7)
        ld (hl),a
        inc hl
        ld (hl),a
        ret
ldfb2   call lea27
        jp ldfbb
ldfb8   call lea2a
ldfbb   or a
        ret z
        ld hl,ldc09
        jp ldf4a
ldfc3   ld hl,(le9ea)
        ld c,#02
        call le0ea
        ld (le9e5),hl
        ld (le9ec),hl
ldfd1   ld hl,le9e5
        ld c,(hl)
        inc hl
        ld b,(hl)
        ld hl,(le9b7)
        ld e,(hl)
        inc hl
        ld d,(hl)
        ld hl,(le9b5)
        ld a,(hl)
        inc hl
        ld h,(hl)
        ld l,a
ldfe4   ld a,c
        sub e
        ld a,b
        sbc a,d
        jp nc,ldffa
        push hl
        ld hl,(le9c1)
        ld a,e
        sub l
        ld e,a
        ld a,d
        sbc a,h
        ld d,a
        pop hl
        dec hl
        jp ldfe4
ldffa   push hl
        ld hl,(le9c1)
        add hl,de
        jp c,le00f
        ld a,c
        sub l
        ld a,b
        sbc a,h
        jp c,le00f
        ex de,hl
        pop hl
        inc hl
        jp ldffa
le00f   pop hl
        push bc
        push de
        push hl
        ex de,hl
        ld hl,(le9ce)
        add hl,de
        ld b,h
        ld c,l
        call lea1e
        pop de
        ld hl,(le9b5)
        ld (hl),e
        inc hl
        ld (hl),d
        pop de
        ld hl,(le9b7)
        ld (hl),e
        inc hl
        ld (hl),d
        pop bc
        ld a,c
        sub e
        ld c,a
        ld a,b
        sbc a,d
        ld b,a
        ld hl,(le9d0)
        ex de,hl
        call lea30
        ld c,l
        ld b,h
        jp lea21
le03e   ld hl,le9c3
        ld c,(hl)
        ld a,(le9e3)
le045   or a
        rra
        dec c
        jp nz,le045
        ld b,a
        ld a,#08
        sub (hl)
        ld c,a
        ld a,(le9e2)
le053   dec c
        jp z,le05c
        or a
        rla
        jp le053
le05c   add a,b
        ret
le05e   ld hl,(ldf43)
        ld de,#0010
        add hl,de
        add hl,bc
        ld a,(le9dd)
        or a
        jp z,le071
        ld l,(hl)
        ld h,#00
        ret
le071   add hl,bc
        ld e,(hl)
        inc hl
        ld d,(hl)
        ex de,hl
        ret
le077   call le03e
        ld c,a
        ld b,#00
        call le05e
        ld (le9e5),hl
        ret
le084   ld hl,(le9e5)
        ld a,l
        or h
        ret
le08a   ld a,(le9c3)
        ld hl,(le9e5)
le090   add hl,hl
        dec a
        jp nz,le090
        ld (le9e7),hl
        ld a,(le9c4)
        ld c,a
        ld a,(le9e3)
        and c
        or l
        ld l,a
        ld (le9e5),hl
        ret
le0a6   ld hl,(ldf43)
        ld de,#000c
        add hl,de
        ret
le0ae   ld hl,(ldf43)
        ld de,#000f
        add hl,de
        ex de,hl
        ld hl,#0011
        add hl,de
        ret
le0bb   call le0ae
        ld a,(hl)
        ld (le9e3),a
        ex de,hl
        ld a,(hl)
        ld (le9e1),a
        call le0a6
        ld a,(le9c5)
        and (hl)
        ld (le9e2),a
        ret
le0d2   call le0ae
        ld a,(le9d5)
        cp #02
        jp nz,le0de
        xor a
le0de   ld c,a
        ld a,(le9e3)
        add a,c
        ld (hl),a
        ex de,hl
        ld a,(le9e1)
        ld (hl),a
        ret
le0ea   inc c
le0eb   dec c
        ret z
        ld a,h
        or a
        rra
        ld h,a
        ld a,l
        rra
        ld l,a
        jp le0eb
le0f7   ld c,#80
        ld hl,(le9b9)
        xor a
le0fd   add a,(hl)
        inc hl
        dec c
        jp nz,le0fd
        ret
le104   inc c
le105   dec c
        ret z
        add hl,hl
        jp le105
le10b   push bc
        ld a,(ldf42)
        ld c,a
        ld hl,#0001
        call le104
        pop bc
        ld a,c
        or l
        ld l,a
        ld a,b
        or h
        ld h,a
        ret
le11e   ld hl,(le9ad)
        ld a,(ldf42)
        ld c,a
        call le0ea
        ld a,l
        and #01
        ret
le12c   ld hl,le9ad
        ld c,(hl)
        inc hl
        ld b,(hl)
        call le10b
        ld (le9ad),hl
        ld hl,(le9c8)
        inc hl
        ex de,hl
        ld hl,(le9b3)
        ld (hl),e
        inc hl
        ld (hl),d
        ret
le144   call le15e
le147   ld de,#0009
        add hl,de
        ld a,(hl)
        rla
        ret nc
        ld hl,ldc0f
        jp ldf4a
le154   call le11e
        ret z
        ld hl,ldc0d
        jp ldf4a
le15e   ld hl,(le9b9)
        ld a,(le9e9)
le164   add a,l
        ld l,a
        ret nc
        inc h
        ret
le169   ld hl,(ldf43)
        ld de,#000e
        add hl,de
        ld a,(hl)
        ret
le172   call le169
        ld (hl),#00
        ret
le178   call le169
        or #80
        ld (hl),a
        ret
le17f   ld hl,(le9ea)
        ex de,hl
        ld hl,(le9b3)
        ld a,e
        sub (hl)
        inc hl
        ld a,d
        sbc a,(hl)
        ret
le18c   call le17f
        ret c
        inc de
        ld (hl),d
        dec hl
        ld (hl),e
        ret
le195   ld a,e
        sub l
        ld l,a
        ld a,d
        sbc a,h
        ld h,a
        ret
le19c   ld c,#ff
le19e   ld hl,(le9ec)
        ex de,hl
        ld hl,(le9cc)
        call le195
        ret nc
        push bc
        call le0f7
        ld hl,(le9bd)
        ex de,hl
        ld hl,(le9ec)
        add hl,de
        pop bc
        inc c
        jp z,le1c4
        cp (hl)
        ret z
        call le17f
        ret nc
        call le12c
        ret
le1c4   ld (hl),a
        ret
le1c6   call le19c
        call le1e0
        ld c,#01
        call ldfb8
        jp le1da
le1d4   call le1e0
        call ldfb2
le1da   ld hl,le9b1
        jp le1e3
le1e0   ld hl,le9b9
le1e3   ld c,(hl)
        inc hl
        ld b,(hl)
        jp lea24
le1e9   ld hl,(le9b9)
        ex de,hl
        ld hl,(le9b1)
        ld c,#80
        jp ldf4f
le1f5   ld hl,le9ea
        ld a,(hl)
        inc hl
        cp (hl)
        ret nz
        inc a
        ret
le1fe   ld hl,#ffff
        ld (le9ea),hl
        ret
le205   ld hl,(le9c8)
        ex de,hl
        ld hl,(le9ea)
        inc hl
        ld (le9ea),hl
        call le195
        jp nc,le219
        jp le1fe
le219   ld a,(le9ea)
        and #03
        ld b,#05
le220   add a,a
        dec b
        jp nz,le220
        ld (le9e9),a
        or a
        ret nz
        push bc
        call ldfc3
        call le1d4
        pop bc
        jp le19e
le235   ld a,c
        and #07
        inc a
        ld e,a
        ld d,a
        ld a,c
        rrca
        rrca
        rrca
        and #1f
        ld c,a
        ld a,b
        add a,a
        add a,a
        add a,a
        add a,a
        add a,a
        or c
        ld c,a
        ld a,b
        rrca
        rrca
        rrca
        and #1f
        ld b,a
        ld hl,(le9bf)
        add hl,bc
        ld a,(hl)
le256   rlca
        dec e
        jp nz,le256
        ret
le25c   push de
        call le235
        and #fe
        pop bc
        or c
le264   rrca
        dec d
        jp nz,le264
        ld (hl),a
        ret
le26b   call le15e
        ld de,#0010
        add hl,de
        push bc
        ld c,#11
le275   pop de
        dec c
        ret z
        push de
        ld a,(le9dd)
        or a
        jp z,le288
        push bc
        push hl
        ld c,(hl)
        ld b,#00
        jp le28e
le288   dec c
        push bc
        ld c,(hl)
        inc hl
        ld b,(hl)
        push hl
le28e   ld a,c
        or b
        jp z,le29d
        ld hl,(le9c6)
        ld a,l
        sub c
        ld a,h
        sbc a,b
        call nc,le25c
le29d   pop hl
        inc hl
        pop bc
        jp le275
le2a3   ld hl,(le9c6)
        ld c,#03
        call le0ea
        inc hl
        ld b,h
        ld c,l
        ld hl,(le9bf)
le2b1   ld (hl),#00
        inc hl
        dec bc
        ld a,b
        or c
        jp nz,le2b1
        ld hl,(le9ca)
        ex de,hl
        ld hl,(le9bf)
        ld (hl),e
        inc hl
        ld (hl),d
        call ldfa1
        ld hl,(le9b3)
        ld (hl),#03
        inc hl
        ld (hl),#00
        call le1fe
le2d2   ld c,#ff
        call le205
        call le1f5
        ret z
        call le15e
        ld a,#e5
        cp (hl)
        jp z,le2d2
        ld a,(ldf41)
        cp (hl)
        jp nz,le2f6
        inc hl
        ld a,(hl)
        sub #24
        jp nz,le2f6
        dec a
        ld (ldf45),a
le2f6   ld c,#01
        call le26b
        call le18c
        jp le2d2
le301   ld a,(le9d4)
        jp ldf01
le307   push bc
        push af
        ld a,(le9c5)
        cpl
        ld b,a
        ld a,c
        and b
        ld c,a
        pop af
        and b
        sub c
        and #1f
        pop bc
        ret
le318   ld a,#ff
        ld (le9d4),a
        ld hl,le9d8
        ld (hl),c
        ld hl,(ldf43)
        ld (le9d9),hl
        call le1fe
        call ldfa1
le32d   ld c,#00
        call le205
        call le1f5
        jp z,le394
        ld hl,(le9d9)
        ex de,hl
        ld a,(de)
        cp #e5
        jp z,le34a
        push de
        call le17f
        pop de
        jp nc,le394
le34a   call le15e
        ld a,(le9d8)
        ld c,a
        ld b,#00
le353   ld a,c
        or a
        jp z,le383
        ld a,(de)
        cp #3f
        jp z,le37c
        ld a,b
        cp #0d
        jp z,le37c
        cp #0c
        ld a,(de)
        jp z,le373
        sub (hl)
        and #7f
        jp nz,le32d
        jp le37c
le373   push bc
        ld c,(hl)
        call le307
        pop bc
        jp nz,le32d
le37c   inc de
        inc hl
        inc b
        dec c
        jp le353
le383   ld a,(le9ea)
        and #03
        ld (ldf45),a
        ld hl,le9d4
        ld a,(hl)
        rla
        ret nc
        xor a
        ld (hl),a
        ret
le394   call le1fe
        ld a,#ff
        jp ldf01
le39c   call le154
        ld c,#0c
        call le318
le3a4   call le1f5
        ret z
        call le144
        call le15e
        ld (hl),#e5
        ld c,#00
        call le26b
        call le1c6
        call le32d
        jp le3a4
le3be   ld d,b
        ld e,c
le3c0   ld a,c
        or b
        jp z,le3d1
        dec bc
        push de
        push bc
        call le235
        rra
        jp nc,le3ec
        pop bc
        pop de
le3d1   ld hl,(le9c6)
        ld a,e
        sub l
        ld a,d
        sbc a,h
        jp nc,le3f4
        inc de
        push bc
        push de
        ld b,d
        ld c,e
        call le235
        rra
        jp nc,le3ec
        pop de
        pop bc
        jp le3c0
le3ec   rla
        inc a
        call le264
        pop hl
        pop de
        ret
le3f4   ld a,c
        or b
        jp nz,le3c0
        ld hl,#0000
        ret
le3fd   ld c,#00
        ld e,#20
le401   push de
        ld b,#00
        ld hl,(ldf43)
        add hl,bc
        ex de,hl
        call le15e
        pop bc
        call ldf4f
le410   call ldfc3
        jp le1c6
le416   call le154
        ld c,#0c
        call le318
        ld hl,(ldf43)
        ld a,(hl)
        ld de,#0010
        add hl,de
        ld (hl),a
le427   call le1f5
        ret z
        call le144
        ld c,#10
        ld e,#0c
        call le401
        call le32d
        jp le427
le43b   ld c,#0c
        call le318
le440   call le1f5
        ret z
        ld c,#00
        ld e,#0c
        call le401
        call le32d
        jp le440
le451   ld c,#0f
        call le318
        call le1f5
        ret z
le45a   call le0a6
        ld a,(hl)
        push af
        push hl
        call le15e
        ex de,hl
        ld hl,(ldf43)
        ld c,#20
        push de
        call ldf4f
        call le178
        pop de
        ld hl,#000c
        add hl,de
        ld c,(hl)
        ld hl,#000f
        add hl,de
        ld b,(hl)
        pop hl
        pop af
        ld (hl),a
        ld a,c
        cp (hl)
        ld a,b
        jp z,le48b
        ld a,#00
        jp c,le48b
        ld a,#80
le48b   ld hl,(ldf43)
        ld de,#000f
        add hl,de
        ld (hl),a
        ret
le494   ld a,(hl)
        inc hl
        or (hl)
        dec hl
        ret nz
        ld a,(de)
        ld (hl),a
        inc de
        inc hl
        ld a,(de)
        ld (hl),a
        dec de
        dec hl
        ret
le4a2   xor a
        ld (ldf45),a
        ld (le9ea),a
        ld (le9eb),a
        call le11e
        ret nz
        call le169
        and #80
        ret nz
        ld c,#0f
        call le318
        call le1f5
        ret z
        ld bc,#0010
        call le15e
        add hl,bc
        ex de,hl
        ld hl,(ldf43)
        add hl,bc
        ld c,#10
le4cd   ld a,(le9dd)
        or a
        jp z,le4e8
        ld a,(hl)
        or a
        ld a,(de)
        jp nz,le4db
        ld (hl),a
le4db   or a
        jp nz,le4e1
        ld a,(hl)
        ld (de),a
le4e1   cp (hl)
        jp nz,le51f
        jp le4fd
le4e8   call le494
        ex de,hl
        call le494
        ex de,hl
        ld a,(de)
        cp (hl)
        jp nz,le51f
        inc de
        inc hl
        ld a,(de)
        cp (hl)
        jp nz,le51f
        dec c
le4fd   inc de
        inc hl
        dec c
        jp nz,le4cd
        ld bc,#ffec
        add hl,bc
        ex de,hl
        add hl,bc
        ld a,(de)
        cp (hl)
        jp c,le517
        ld (hl),a
        ld bc,#0003
        add hl,bc
        ex de,hl
        add hl,bc
        ld a,(hl)
        ld (de),a
le517   ld a,#ff
        ld (le9d2),a
        jp le410
le51f   ld hl,ldf45
        dec (hl)
        ret
le524   call le154
        ld hl,(ldf43)
        push hl
        ld hl,le9ac
        ld (ldf43),hl
        ld c,#01
        call le318
        call le1f5
        pop hl
        ld (ldf43),hl
        ret z
        ex de,hl
        ld hl,#000f
        add hl,de
        ld c,#11
        xor a
le546   ld (hl),a
        inc hl
        dec c
        jp nz,le546
        ld hl,#000d
        add hl,de
        ld (hl),a
        call le18c
        call le3fd
        jp le178
le55a   xor a
        ld (le9d2),a
        call le4a2
        call le1f5
        ret z
        ld hl,(ldf43)
        ld bc,#000c
        add hl,bc
        ld a,(hl)
        inc a
        and #1f
        ld (hl),a
        jp z,le583
        ld b,a
        ld a,(le9c5)
        and b
        ld hl,le9d2
        and (hl)
        jp z,le58e
        jp le5ac
le583   ld bc,#0002
        add hl,bc
        inc (hl)
        ld a,(hl)
        and #0f
        jp z,le5b6
le58e   ld c,#0f
        call le318
        call le1f5
        jp nz,le5ac
        ld a,(le9d3)
        inc a
        jp z,le5b6
        call le524
        call le1f5
        jp z,le5b6
        jp le5af
le5ac   call le45a
le5af   call le0bb
        xor a
        jp ldf01
le5b6   call ldf05
        jp le178
le5bc   ld a,#01
        ld (le9d5),a
le5c1   ld a,#ff
        ld (le9d3),a
        call le0bb
        ld a,(le9e3)
        ld hl,le9e1
        cp (hl)
        jp c,le5e6
        cp #80
        jp nz,le5fb
        call le55a
        xor a
        ld (le9e3),a
        ld a,(ldf45)
        or a
        jp nz,le5fb
le5e6   call le077
        call le084
        jp z,le5fb
        call le08a
        call ldfd1
        call ldfb2
        jp le0d2
le5fb   jp ldf05
le5fe   ld a,#01
        ld (le9d5),a
le603   ld a,#00
        ld (le9d3),a
        call le154
        ld hl,(ldf43)
        call le147
        call le0bb
        ld a,(le9e3)
        cp #80
        jp nc,ldf05
        call le077
        call le084
        ld c,#00
        jp nz,le66e
        call le03e
        ld (le9d7),a
        ld bc,#0000
        or a
        jp z,le63b
        ld c,a
        dec bc
        call le05e
        ld b,h
        ld c,l
le63b   call le3be
        ld a,l
        or h
        jp nz,le648
        ld a,#02
        jp ldf01
le648   ld (le9e5),hl
        ex de,hl
        ld hl,(ldf43)
        ld bc,#0010
        add hl,bc
        ld a,(le9dd)
        or a
        ld a,(le9d7)
        jp z,le664
        call le164
        ld (hl),e
        jp le66c
le664   ld c,a
        ld b,#00
        add hl,bc
        add hl,bc
        ld (hl),e
        inc hl
        ld (hl),d
le66c   ld c,#02
le66e   ld a,(ldf45)
        or a
        ret nz
        push bc
        call le08a
        ld a,(le9d5)
        dec a
        dec a
        jp nz,le6bb
        pop bc
        push bc
        ld a,c
        dec a
        dec a
        jp nz,le6bb
        push hl
        ld hl,(le9b9)
        ld d,a
le68c   ld (hl),a
        inc hl
        inc d
        jp p,le68c
        call le1e0
        ld hl,(le9e7)
        ld c,#02
le69a   ld (le9e5),hl
        push bc
        call ldfd1
        pop bc
        call ldfb8
        ld hl,(le9e5)
        ld c,#00
        ld a,(le9c4)
        ld b,a
        and l
        cp b
        inc hl
        jp nz,le69a
        pop hl
        ld (le9e5),hl
        call le1da
le6bb   call ldfd1
        pop bc
        push bc
        call ldfb8
        pop bc
        ld a,(le9e3)
        ld hl,le9e1
        cp (hl)
        jp c,le6d2
        ld (hl),a
        inc (hl)
        ld c,#02
le6d2   dec c
        dec c
        jp nz,le6df
        push af
        call le169
        and #7f
        ld (hl),a
        pop af
le6df   cp #7f
        jp nz,le700
        ld a,(le9d5)
        cp #01
        jp nz,le700
        call le0d2
        call le55a
        ld hl,ldf45
        ld a,(hl)
        or a
        jp nz,le6fe
        dec a
        ld (le9e3),a
le6fe   ld (hl),#00
le700   jp le0d2
le703   xor a
        ld (le9d5),a
le707   push bc
        ld hl,(ldf43)
        ex de,hl
        ld hl,#0021
        add hl,de
        ld a,(hl)
        and #7f
        push af
        ld a,(hl)
        rla
        inc hl
        ld a,(hl)
        rla
        and #1f
        ld c,a
        ld a,(hl)
        rra
        rra
        rra
        rra
        and #0f
        ld b,a
        pop af
        inc hl
        ld l,(hl)
        inc l
        dec l
        ld l,#06
        jp nz,le78b
        ld hl,#0020
        add hl,de
        ld (hl),a
        ld hl,#000c
        add hl,de
        ld a,c
        sub (hl)
        jp nz,le747
        ld hl,#000e
        add hl,de
        ld a,b
        sub (hl)
        and #7f
        jp z,le77f
le747   push bc
        push de
        call le4a2
        pop de
        pop bc
        ld l,#03
        ld a,(ldf45)
        inc a
        jp z,le784
        ld hl,#000c
        add hl,de
        ld (hl),c
        ld hl,#000e
        add hl,de
        ld (hl),b
        call le451
        ld a,(ldf45)
        inc a
        jp nz,le77f
        pop bc
        push bc
        ld l,#04
        inc c
        jp z,le784
        call le524
        ld l,#05
        ld a,(ldf45)
        inc a
        jp z,le784
le77f   pop bc
        xor a
        jp ldf01
le784   push hl
        call le169
        ld (hl),#c0
        pop hl
le78b   pop bc
        ld a,l
        ld (ldf45),a
        jp le178
le793   ld c,#ff
        call le703
        call z,le5c1
        ret
le79c   ld c,#00
        call le703
        call z,le603
        ret
le7a5   ex de,hl
        add hl,de
        ld c,(hl)
        ld b,#00
        ld hl,#000c
        add hl,de
        ld a,(hl)
        rrca
        and #80
        add a,c
        ld c,a
        ld a,#00
        adc a,b
        ld b,a
        ld a,(hl)
        rrca
        and #0f
        add a,b
        ld b,a
        ld hl,#000e
        add hl,de
        ld a,(hl)
        add a,a
        add a,a
        add a,a
        add a,a
        push af
        add a,b
        ld b,a
        push af
        pop hl
        ld a,l
        pop hl
        or l
        and #01
        ret
le7d2   ld c,#0c
        call le318
        ld hl,(ldf43)
        ld de,#0021
        add hl,de
        push hl
        ld (hl),d
        inc hl
        ld (hl),d
        inc hl
        ld (hl),d
le7e4   call le1f5
        jp z,le80c
        call le15e
        ld de,#000f
        call le7a5
        pop hl
        push hl
        ld e,a
        ld a,c
        sub (hl)
        inc hl
        ld a,b
        sbc a,(hl)
        inc hl
        ld a,e
        sbc a,(hl)
        jp c,le806
        ld (hl),e
        dec hl
        ld (hl),b
        dec hl
        ld (hl),c
le806   call le32d
        jp le7e4
le80c   pop hl
        ret
le80e   ld hl,(ldf43)
        ld de,#0020
        call le7a5
        ld hl,#0021
        add hl,de
        ld (hl),c
        inc hl
        ld (hl),b
        inc hl
        ld (hl),a
        ret
le821   ld hl,(le9af)
        ld a,(ldf42)
        ld c,a
        call le0ea
        push hl
        ex de,hl
        call ldf59
        pop hl
        call z,ldf47
        ld a,l
        rra
        ret c
        ld hl,(le9af)
        ld c,l
        ld b,h
        call le10b
        ld (le9af),hl
        jp le2a3
le845   ld a,(le9d6)
        ld hl,ldf42
        cp (hl)
        ret z
        ld (hl),a
        jp le821
le851   ld a,#ff
        ld (le9de),a
        ld hl,(ldf43)
        ld a,(hl)
        and #1f
        dec a
        ld (le9d6),a
        cp #1e
        jp nc,le875
        ld a,(ldf42)
        ld (le9df),a
        ld a,(hl)
        ld (le9e0),a
        and #e0
        ld (hl),a
        call le845
le875   ld a,(ldf41)
        ld hl,(ldf43)
        or (hl)
        ld (hl),a
        ret
le87e   ld a,#22
        jp ldf01
le883   ld hl,#0000
        ld (le9ad),hl
        ld (le9af),hl
        xor a
        ld (ldf42),a
        ld hl,#0080
        ld (le9b1),hl
        call le1da
        jp le821
le89c   call le172
        call le851
        jp le451
le8a5   call le851
        jp le4a2
le8ab   ld c,#00
        ex de,hl
        ld a,(hl)
        cp #3f
        jp z,le8c2
        call le0a6
        ld a,(hl)
        cp #3f
        call nz,le172
        call le851
        ld c,#0f
le8c2   call le318
        jp le1e9
le8c8   ld hl,(le9d9)
        ld (ldf43),hl
        call le851
        call le32d
        jp le1e9
le8d7   call le851
        call le39c
        jp le301
le8e0   call le851
        jp le5bc
le8e6   call le851
        jp le5fe
le8ec   call le172
        call le851
        jp le524
le8f5   call le851
        call le416
        jp le301
le8fe   ld hl,(le9af)
        jp le929
le904   ld a,(ldf42)
        jp ldf01
le90a   ex de,hl
        ld (le9b1),hl
        jp le1da
le911   ld hl,(le9bf)
        jp le929
le917   ld hl,(le9ad)
        jp le929
le91d   call le851
        call le43b
        jp le301
le926   ld hl,(le9bb)
le929   ld (ldf45),hl
        ret
le92d   ld a,(le9d6)
        cp #ff
        jp nz,le93b
        ld a,(ldf41)
        jp ldf01
le93b   and #1f
        ld (ldf41),a
        ret
le941   call le851
        jp le793
le947   call le851
        jp le79c
le94d   call le851
        jp le7d2
le953   ld hl,(ldf43)
        ld a,l
        cpl
        ld e,a
        ld a,h
        cpl
        ld hl,(le9af)
        and h
        ld d,a
        ld a,l
        and e
        ld e,a
        ld hl,(le9ad)
        ex de,hl
        ld (le9af),hl
        ld a,l
        and e
        ld l,a
        ld a,h
        and d
        ld h,a
        ld (le9ad),hl
        ret
le974   ld a,(le9de)
        or a
        jp z,le991
        ld hl,(ldf43)
        ld (hl),#00
        ld a,(le9e0)
        or a
        jp z,le991
        ld (hl),a
        ld a,(le9df)
        ld (le9d6),a
        call le845
le991   ld hl,(ldf0f)
        ld sp,hl
        ld hl,(ldf45)
        ld a,l
        ld b,h
        ret
le99b   call le851
        ld a,#02
        ld (le9d5),a
        ld c,#00
        call le707
        call z,le603
        ret
le9ac   defb #e5
le9ad   defw #0000
le9af   defw #0000
le9b1   defw #0080
le9b3   defw #0000
le9b5   defw #0000
le9b7   defw #0000
le9b9   defw #0000
le9bb   defw #0000
le9bd   defw #0000
le9bf   defw #0000
le9c1   defw #0000
le9c3   defb #00
le9c4   defb #00
le9c5   defb #00
le9c6   defw #0000
le9c8   defw #0000
le9ca   defw #0000
le9cc   defw #0000
le9ce   defw #0000
le9d0   defw #0000
le9d2   defb #00
le9d3   defb #00
le9d4   defb #00
le9d5   defb #00
le9d6   defb #00
le9d7   defb #00
le9d8   defb #00
le9d9   defw #0000
        defw #0000
le9dd   defb #00
le9de   defb #00
le9df   defb #00
le9e0   defb #00
le9e1   defb #00
le9e2   defb #00
le9e3   defb #00,#00
le9e5   defw #0000
le9e7   defw #0000
le9e9   defb #00
le9ea   defw #0000
le9eb   equ  $-#0001
le9ec   defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        jp lea77
lea03   jp lea9e
lea06   jp lea3c
lea09   jp lea57
lea0c   jp lea5a
lea0f   jp lea6e
lea12   jp lea71
lea15   jp lea74
lea18   jp leac8
lea1b   jp lead4
lea1e   jp leb02
lea21   jp leb0a
lea24   jp leb15
lea27   jp leb21
lea2a   jp leb1b
        jp lea68
lea30   jp leb10
        jp lebed
        jp lebdd
        jp lea3f
lea3c   jp #f812
lea3f   bit 7,c
        res 7,c
        jp nz,#f830
        inc c
        dec c
        jr z,lea4d
        ld a,#ff
        ret
lea4d   ld de,(leb43)
        ld (leb43),hl
        ex de,hl
        xor a
        ret
lea57   jp #f803
lea5a   jp #f809
lea5d   ld a,(hl)
        or a
        ret z
        ld c,a
        call lea5a
        inc hl
        jp lea5d
lea68   in a,(#7b)
        rrca
        ccf
        sbc a,a
        ret
lea6e   jp #f80f
lea71   jp #f80c
lea74   jp #f806
lea77   ld sp,#0080
        ei
        call lebff
        ld de,ledc5
        ld c,#01
        call #f824
        ld c,#00
        call lead4
        xor a
        ld (#0003),a
        ld (#0004),a
        ld (ledce),a
        ld hl,led1f
        call lea5d
        jp leaa7
lea9e   ld sp,#0080
        ei
        ld c,#01
        call #f830
leaa7   ld a,#c3
        ld (#0000),a
        ld hl,lea03
        ld (#0001),hl
        ld (#0005),a
        ld hl,ldc06
        ld (#0006),hl
        ld bc,#0080
        call leb15
        ld a,(#0004)
        ld c,a
        jp ld400
leac8   ld hl,#0000
        ld (ledc8),hl
        ld bc,#0100
        jp leb2f
lead4   ld a,c
        cp #0a
        jp nc,leae5
        ld hl,ledcf
        ld b,#00
        add hl,bc
        ld a,(hl)
        or a
        jp p,leaef
leae5   ld hl,#0000
        ld a,(ledce)
        ld (#0004),a
        ret
leaef   ld (ledc5),a
        ld a,c
        ld (ledce),a
        ld l,c
        ld h,#00
        add hl,hl
        add hl,hl
        add hl,hl
        add hl,hl
        ld de,ledd9
        add hl,de
        ret
leb02   ld hl,ledc8
        ld (hl),c
        inc hl
        ld (hl),b
        xor a
        ret
leb0a   ld a,c
        ld (ledca),a
        xor a
        ret
leb10   ld hl,#0001
        add hl,bc
        ret
leb15   ld l,c
        ld h,b
        ld (ledcc),hl
        ret
leb1b   ld bc,#0601
        jp leb2f
leb21   ld bc,#0401
        call leb2f
        ret
        ex (sp),hl
        call lea5d
        inc hl
        ex (sp),hl
        ret
leb2f   ld hl,ledc6
        ld (hl),b
        inc hl
        ld (hl),c
leb35   ld de,ledc5
        ld a,(de)
        ld c,a
        call lebd9
        or a
        ret z
        ld bc,ledc5
        call leb64
leb43   equ  $-#0002
        ld a,c
        or a
        jp z,lea03
        dec a
        jr z,leb4f
        dec a
        ret
leb4f   ld hl,ledc6
        ld a,(hl)
        push af
        ld (hl),#03
        ld de,ledc5
        ld a,(de)
        ld c,a
        call lebd9
        pop af
        ld (ledc6),a
        jr leb35
leb64   push af
        ld hl,led81
        call lea5d
        pop af
        call lebac
        ld hl,led8f
        call lea5d
        ld a,(ledc5)
        call lebac
        ld a,(ledc6)
        call lebac
        ld a,(ledc8)
        call lebac
        ld a,(ledca)
        call lebac
leb8d   ld hl,led94
        call lea5d
        call lea57
        call lebd3
        ld c,a
        call lea5a
        ld hl,leba8
        ld bc,#0004
        cpir
        jr nz,leb8d
        ret
leba8   ld b,(hl)
        ld c,c
        ld d,d
        ld b,c
lebac   push af
        rrca
        rrca
        rrca
        rrca
        call lebc7
        pop af
        call lebc7
        ld c,#3a
        jp lea5a
lebbd   ld a,(hl)
        call lebac
        inc hl
        dec b
        jp nz,lebbd
        ret
lebc7   and #0f
        add a,#90
        daa
        adc a,#40
        daa
        ld c,a
        jp lea5a
lebd3   cp #60
        ret c
        sub #20
        ret
lebd9   ld a,c
        jp #f824
lebdd   ld hl,ledcf
        ld b,#00
        add hl,bc
        ld a,(hl)
        or a
        ret m
        ld c,a
        push bc
        call #f82d
        pop bc
        ret
lebed   push bc
        push de
        call #f82a
        pop de
        pop bc
        or a
        ret nz
        ld hl,ledcf
        ld a,c
        ld c,b
        ld b,#00
        add hl,bc
        ld (hl),a
lebff   ld hl,#efbb
        ld (#ef11),hl
        ld c,#00
        ld hl,ledcf
        ld (#ef13),hl
        ld hl,ledd9
        ld (#ef15),hl
lec13   push bc
        ld hl,(#ef13)
        ld a,(hl)
        or a
        jp m,led04
        ld c,a
        ld de,#ef19
        call #f82d
        jp z,lec2b
        ld (hl),#ff
        jp led04
lec2b   ld hl,(#ef15)
        ld c,#08
        xor a
lec31   ld (hl),a
        inc hl
        dec c
        jp nz,lec31
        inc hl
        inc hl
        ld e,(hl)
        inc hl
        ld d,(hl)
        inc hl
        push hl
        ld hl,(#ef28)
        ex de,hl
        ld (hl),e
        inc hl
        ld (hl),d
        push hl
        ld hl,#0000
        ld c,#00
        ld a,(#ef23)
        or a
        jp z,lec58
lec52   add hl,de
        inc c
        dec a
        jp nz,lec52
lec58   ex de,hl
        pop hl
        ld a,c
        ld bc,#000c
        add hl,bc
        ld (hl),a
        push hl
        ld hl,(#ef26)
        ld a,l
        sub e
        ld l,a
        ld a,h
        sbc a,d
        ld h,a
        ld a,l
        rrca
        rrca
        rrca
        rrca
        and #0f
        ld l,a
        ld a,h
        rrca
        rrca
        rrca
        rrca
        ld h,a
        and #f0
        or l
        ld l,a
        ld a,h
        and #0f
        ld h,a
        dec hl
        ex de,hl
        pop hl
        ld bc,#fff8
        add hl,bc
        ld (hl),e
        inc hl
        ld (hl),d
        dec hl
        dec hl
        ld (hl),#00
        ld a,d
        or a
        jp nz,lec94
        inc (hl)
lec94   xor a
        ex de,hl
        add hl,hl
        rla
        add hl,hl
        rla
        add hl,hl
        rla
        add hl,hl
        rla
        add hl,hl
        rla
        ld l,h
        ld h,a
        inc hl
        ld (#ef17),hl
        ex de,hl
        push hl
        ld hl,(#ef2d)
        dec hl
        ex de,hl
        pop hl
        inc hl
        inc hl
        inc hl
        ld (hl),e
        inc hl
        ld (hl),d
        push hl
        ex de,hl
        add hl,hl
        add hl,hl
        ld de,#0000
        inc h
lecbc   scf
        ld a,d
        rra
        ld d,a
        ld a,e
        rra
        ld e,a
        dec h
        jp nz,lecbc
        pop hl
        inc hl
        ld (hl),d
        inc hl
        ld (hl),e
        inc hl
        ex de,hl
        ld a,(#ef1d)
        or a
        ld hl,#0000
        jp z,lece9
        ld hl,(#ef2d)
        xor a
        ld a,h
        rra
        ld h,a
        ld a,l
        rra
        ld l,a
        xor a
        ld a,h
        rra
        ld h,a
        ld a,l
        rra
        ld l,a
lece9   ex de,hl
        ld (hl),e
        inc hl
        ld (hl),d
        ld hl,(#ef11)
        ex de,hl
        ex (sp),hl
        ld (hl),e
        inc hl
        ld (hl),d
        inc hl
        ex (sp),hl
        add hl,de
        pop de
        ex de,hl
        ld (hl),e
        inc hl
        ld (hl),d
        ld hl,(#ef17)
        add hl,de
        ld (#ef11),hl
led04   ld hl,(#ef13)
        inc hl
        ld (#ef13),hl
        ld hl,(#ef15)
        ld bc,#0010
        add hl,bc
        ld (#ef15),hl
        pop bc
        inc c
        ld a,c
        cp #0a
        jp nz,lec13
        xor a
        ret
led1f   defb "CP/M  V2.2    COPYRYGHT(C)  BY  DIGITAL RESEARCH",#0d,#0a
        defb "BIOS  V1.03   COPYRYGHT(C)  BY  XVR - PRODUCT",#0d,#0a,#00
led81   defb #0d,#0a,"BIOS ERROR ",#00
led8f   defb " AT ",#00
led94   defb #0d,#0a," SELECT ((R)ETRY, (I)GNORE, (A)BORT, (F)AIL) :",#00
ledc5   defb #01
ledc6   defw #e502
ledc8   defw #0001
ledca   defw #0000
ledcc   defw #0080
ledce   defb #00
ledcf   defb #01,#00,#ff,#ff
        defb #ff,#ff,#ff,#ff
        defb #ff,#ff
ledd9   defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw lee79
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw lee88
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw lee97
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leea6
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leeb5
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leec4
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leed3
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leee2
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw leef1
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #0000
        defw #ef3b
        defw lef00
        defw #0000
        defw #0000
lee79   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
lee88   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
lee97   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leea6   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leeb5   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leec4   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leed3   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leee2   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
leef1   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
lef00   defb #00,#00,#04,#0f
        defb #00,#00,#00,#00
        defb #00,#00,#00,#00
        defb #00,#00,#00
                                         