;ъюфшЁютрэшх 9bit (8+1):
;plain chr 0..255=-0..FF
; rept 256 =+0
;olddisp 257..260=+1..4,len8
; len=2 261..268=+5..C,-disp8
; tree 269 =+D
;len3-10 270..277=+E..15,-disp16
; len>10 278..297=+16..29,len8,-disp16
;яЁш яхЁхяюыэхэшш 9bit сєЇхЁр эєцэ√ (todo) эют√х фхЁхт№
;todo ёьх°рээ√щ яюЄюъ (шыш юэ єцх ёьх°рээ√щ?)
PUT0
OR A
PUTBIT
PUSH HL
LD HL,PUTBITC
DEC (HL) ;??? TODO
JR Z,PUTBITZ
INC (HL)
RL (HL)
JR NC,POPHL
BITADR=$+1
LD HL,0
PUSH AF
PUTBITC=$+1
LD A,0
CALL CORRHL
POP AF
LD HL,PUTBITC
LD (HL),1
POP HL
RET
PUTBITZ INC (HL)
RL (HL)
LD HL,(PUTBITB)
LD (BITADR),HL
INCHL INC HL
LD (PUTBITB),HL
POPHL POP HL
RET
CORRHL
;hl=c000..>0 (яхЁхїюфшь эр pak9)??? TODO яЁюфюыцрЄ№ фры№°х т ёЄЁрэшЎрї
PUSH AF
LD A,H
ADD A,pak9/256
JR NC,_B0
EXX
;OUT (C),H
ld a,pgLZ
call OUTME
EXX
LD A,H
_B0 LD H,A
POP AF
LD (HL),A
EXX
;OUT (C),L
push af
call OUTpgTEXT
pop af ;TODO эрфю ыш?
EXX
RET
;todo LDAMINCHL (+18t/b)
INCH
INC H
RET NZ
LD H,pak9/256
PUSH AF
CALL OUTpgTEXT ;TODO яЁюфюыцрЄ№ яю ёЄЁрэшЎрь
POP AF
RET
NACH3
LD A,#7F
IN A,(-2)
RRA
jr C,$+7
LD A,#FE
IN A,(-2)
RRA ;TODO fix
JP NC,quitoperation;RELOAD
ld A,(KOLODIN)
OR A
JR NZ,LZPUT
LD HL,(TEKADR)
NEPAK ;NC
IF sureLE
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
LD A,(HL)
INC HL
PUTBYTi
PUSH AF,DE,HL
LD L,A
LD H,0
RL H
ADD HL,HL
LD DE,frqs
ADD HL,DE
INC (HL)
JR NZ,$+4
INC HL
INC (HL)
POP HL,DE,AF
CALL PUTBIT
PUTBYTE
PUSH HL
PUTBITB=$+1
LD HL,0
PUSH HL
CALL CORRHL
POP HL ;TODO эрфю ыш ёюїЁрэ Є№ A?
JR INCHL
LZPUT2
IF dolds
;¤Єє ш 3 яЁхф.ёё√ыъш яюЄюь эх яютЄюЁ Є№, шэрўх эхы№ч opt2s
LD A,#F0
LD (LZnorep+1),A
ENDIF
LD A,E
CALL LZLITPP
LD A,C
SCF
CALL PUTBYTi
LD A,E
CALL PUTBYTE
JP LZPUTQ
LZPUT
SMESH=$+1
LD DE,0
;;
IF dolds
LD HL,doldson
BIT 0,(HL) ;" "/"+"
JR Z,LZn256
LZnorep=$+1
LD HL,0
ADD HL,HL
LD (LZnorep),HL
OLDSMES=$+1
LD HL,0
JR C,LZn256
CP 5 ;10
JR C,LZn256
;OR A
SBC HL,DE
LD C,1
JR Z,LZ256
INC C
OL2SMES=$+1
LD HL,0
OR A
SBC HL,DE
JR Z,LZ257
INC C
OL3SMES=$+1
LD HL,0
OR A
SBC HL,DE
JR Z,LZ257
INC C
OL4SMES=$+1
LD HL,0
OR A
SBC HL,DE
JR NZ,LZn256
LZ257
LD H,D ;SMESH/256
INC H
JR Z,LZ257nd ;disp=1..256
DEC A ;disp>=257
LD HL,#1FFF
ADD HL,DE
JR C,$+3
DEC A ;disp>=#2000
LZ257nd
PUSH AF
LD A,C
SCF
CALL PUTBYTi
ld A,(KOLODIN)
CALL PUTBYTE
POP AF
CALL PUTBYTE
CALL LZMID
LD A,C
;A=rd code
ADD A,A
ADD A,rdfrq&0xff
LD L,A
LD H,rdfrq/256
INC (HL)
JR NZ,$+4
INC HL
INC (HL)
JR LZPUTQ
LZ256
OLDKOL=$+1
CP 0
JR NZ,LZ257
;;;CP 20
;;;JR C,LZn256
XOR A
SCF
CALL PUTBYTi
JR LZPUTQ
LZn256
ENDIF
CP 2
JP Z,LZPUT2
;;
LD HL,#1FFF
ADD HL,DE
JR C,$+3
DEC A ;>=#2000
CP 11
JR NC,LZPUT11
SUB 0xff&(3-270)
CALL PUTBYTi
LZDISP
LD A,E
CALL PUTBYTE
LD A,D
CALL PUTBYTE
;DE=-disp16
CALL LZDISPP
;A=dd code
ADD A,A
LD L,A
LD H,ddfrq/256
INC (HL)
JR NZ,$+4
INC HL
INC (HL)
LZPUTQ
ld A,(KOLODIN)
IF dolds
LD (OLDKOL),A
ENDIF
DEC A
LD LX,A
TEKADR=$+1
LD BC,0
;INC BC
;DEC A
;JR Z,oboitifilpo
;DEC BC
;LD (FILLSP),SP ;todo fix
;bc=Єхъє∙шщ рфЁхё
fILPO1 INC BC
LD H,B
ld L,C
IF sureLE
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
LD D,(HL)
RLC D
INC HL
LD A,(HL)
RRCA
XOR D
IF k3b
INC HL
XOR (HL)
DEC HL
ENDIF
LD E,A
XOR D
IF k256
OR #E0
ELSE
AND keymask
OR keys/512
ENDIF
LD D,A
EX DE,HL
ADD HL,HL
;LD SP,HL
IF k256
EXX
LD A,k256
;OUT (C),A
call OUTME
EXX
ENDIF
;hl=ъы■ў*2
;de=рфЁхё 3-ую ёшьтюыр
;POP HL
;PUSH DE
;EX DE,HL
push de
ld a,(hl)
ld (hl),e
ld e,a
inc l
ld a,(hl)
ld (hl),d ;юсэютшыш уюыютє Ўхяюўъш
ld d,a
pop hl
;hl=рфЁхё 3-ую ёшьтюыр
;de=ёЄрЁюх эрўрыю Ўхяюўъш, яЁюўшЄрээюх шч ї¤°-ЄрсышЎ√
ADD HL,HL ;яю 2 срщЄр эр ёшьтюы
LD A,H
RLCA
RLCA
SET 7,H
set 6,H
EXX
AND 3;D
;IF k256
;ADD A,E
;ELSE
; CP 2
; SBC A,E
;ENDIF
;OUT (C),A
call OUTME
EXX
;фюяюыэ хь Ўхяюўъє эют√ь рфЁхёюь:
;LD SP,HL
;POP HL ;эх трцэю
;PUSH DE
ld (hl),e
inc l
ld (hl),d ;ёё√ыър эр ёЄрЁюх эрўрыю Ўхяюўъш
IF sureLE==0
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
DEC LX
JR NZ,fILPO1
;FILLSP=$+1
; LD SP,0
;oboitifilpo
INC BC
IF dolds
;1:pkiNPOP
LZPUTQQ
LD HL,(OL3SMES)
LD (OL4SMES),HL
LD HL,(OL2SMES)
LD (OL3SMES),HL
LD HL,(OLDSMES)
LD (OL2SMES),HL
LD HL,(SMESH)
LD (OLDSMES),HL
ENDIF
LD H,B
ld L,C
;LZafter=$+1
;LD HL,0
RET
LZPUT11
;A=len (хёыш disp>=#2000, Єю len-1)
;;;DEC A ;фхяръхЁ єтхышўшЄ
PUSH AF
DEC A
CALL LZMIDPP
LD A,C
SUB 0xff&(-270)
CALL PUTBYTi
POP AF
CALL PUTBYTE
JP LZDISP
CRUN0 LD A,R
ADD A,A ;шэрўх +10s
CALL Z,PR1234
POP DE
LD L,-1
CRUN1
;L=ьръё.фышэр ёё√ыъш
;DE=TEKADR
;lazy evaluation
CALL POISKm0
;;хёыш Єрь эрщфхэр ёё√ыър, Єю юэр чрэхёхэр т ї¤°-ЄрсышЎє
;jr $
ld A,(KOLODIN)
OR A
CALL Z,FiND2
;;
CRUN2
LD HL,(TEKADR)
INC HL
EX DE,HL
LD HL,(INEND)
XOR A
SBC HL,DE
JP Z,NACH3 ;??? яюўхьє TODO
LD (TEKADR),DE ;!
OR H
JR NZ,CRUNLN1
LD A,L
ld (MAXPOSL),A
CRUNLN1
ld A,(KOLODIN)
IF fast0s
CP fast0s
CCF
JR C,NLQ ;яЁюяєёърхь LE, хёыш ёё√ыър >=fast0s
;(єёъюЁ хЄ фю 3 Ёрч!)
OR A
CCF
ELSE
SCF
INC A
JR Z,NLQ
DEC A
ENDIF
;CY=1
LEflag JR Z,NLQ ;JR/JZ
LD HL,(SMESH)
PUSH HL
PUSH AF
CALL POISK
IF sureLE
LD (NLhl),HL
LD (NLbc),BC
ENDIF
POP BC
POP HL
ld A,(KOLODIN)
SCF
SBC A,B
JR Z,LONGn2
NLCP JR NC,LONGER
LD A,B
ld (KOLODIN),A
LD (SMESH),HL
IF sureLE
;POISK яюыюцшы ёЄрЁ√щ ъы■ў т юъэю
;тюёёЄрэртыштрхь
NLbc=$+1
LD BC,0
NLhl=$+1
LD HL,0
SPoldky=$+1
LD DE,0
LD A,(HL)
LD (DE),A
LD (HL),C
INC L
inc E
LD A,(HL)
LD (DE),A
LD (HL),B
ELSE
IF k256
EXX
LD A,k256
;OUT (C),A
call OUTME
EXX
ENDIF
ld HL,(LZoldky)
SPoldky=$+1
LD (0),HL
IF k256
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
ENDIF
JR NLQ ;CY
;1
LONGER ;NC
;эютр ёё√ыър ыєў°х
;эх ъюфшЁютрЄ№ byte ш ёё√ыъє, р чръюфшЁютрЄ№ byte ш яюфюцфрЄ№
LD HL,(TEKADR)
DEC HL
CALL NEPAK ;hl++
LD (TEKADR),HL ;эх EOF, Є.ъ. фю 2-ую яюшёър с√ыр яЁютхЁър
JP CRUN2 ;яЁюяєёъ яюшёър, Є.ъ. юэ єцх яЁютхфхэ
;
NLQ ;CY
LD HL,(TEKADR)
DEC HL
CALL NC,NEPAK ;hl++
LD (TEKADR),HL
;чряшё№ т output
;эр юёэютх TEKADR,KOLODIN ш SMESH
CRUNNACH3
CALL NACH3
CRUNgo
;hl=TEKADR
LD (TEKADR),HL
EX DE,HL
INEND=$+1
LD HL,0
XOR A
SBC HL,DE
RET Z ;ъюэхЎ єяръют√трхьюую сыюър?
OR H
JR Z,CRUN1 ;юёЄрыюё№ <256 срщЄ ;L=ьръё.фышэр ёё√ыъш
INC A
PUSH DE
JP NZ,CRUN0 ;L сєфхЄ=255
;юёЄрыюё№ юЄЁшЎрЄхы№эюх ўшёыю срщЄ
jr $ ;TODO error
LONGn2
BIT 7,L
SETA=$+1
LD C,#FD
JR NZ,$+4 ;very short
SETB=$+1
LD C,#F4
LD A,H
INC A
JR Z,NO
BIT 7,L
SETC=$+1
LD C,#F0
IF nastr
JR NZ,$+4
SETD=$+1
LD C,#F0
ENDIF
INC A
JR Z,NO
SETE=$+1
LD C,#FA
IF nastr
INC A
JR Z,NO
INC A
SETF=$+1
LD C,#FA
JR Z,NO
ELSE
ADD A,2
JR C,NO
ENDIF
SETG=$+1
LD C,#F8
ADD A,2
JR C,NO
SETH=$+1
LD C,#F4
ADD A,2
JR C,NO
SETI=$+1
LD C,#F0
ADD A,4
JR C,NO
SETJ=$+1
LD C,#E8
ADD A,4
JR C,NO
SETK=$+1
LD C,#E0
ADD A,8
JR C,NO
SETL=$+1
LD C,#D0
ADD A,8
JR C,NO
SETM=$+1
LD C,#C0
ADD A,16
JR C,NO
SETN=$+1
LD C,#A0
ADD A,16
JR C,NO
SETO=$+1
LD C,#80
NO LD A,(SMESH+1)
CP C
JP NLCP
;;
;A=-dispL
LZLITPP
LD BC,#205
ADD A,4
RET C ;1..4
INC C
ADD A,4
RET C ;5..8
INC C
INC B ;3
ADD A,8
RET C ;9..#10
INC C
INC B ;4
ADD A,16
RET C ;11..20
INC C
INC B ;5
ADD A,32
RET C ;21..40
INC C
INC B ;6
ADD A,64
RET C ;41..80
INC C
ADD A,64
RET C ;81..C0
INC C
ADD A,64
RET ;C1..100
LZMID
LD B,0
CP 10
JR NC,LZMIDPP
SUB 2
LD C,A
XOR A
RET ;2..9
;;
LZMIDPP
NEG
LD BC,#108
ADD A,11
RET C ;A..B
INC C
ADD A,2
RET C ;C..D
INC C
ADD A,2
RET C ;E..F
INC C
ADD A,2
RET C ;10..11
INC C
INC B ;2
ADD A,4
RET C ;12..15
INC C
ADD A,4
RET C ;16..19
INC C
ADD A,4
RET C ;1A..1D
INC C
ADD A,4
RET C ;1E..21
INC C
INC B ;3
ADD A,8
RET C ;22..29
INC C
ADD A,8
RET C ;2A..31
INC C
ADD A,8
RET C ;32..39
INC C
ADD A,8
RET C ;3A..41
INC C
INC B ;4
ADD A,16
RET C ;42..51
INC C
ADD A,16
RET C ;52..61
INC C
ADD A,16
RET C ;62..71
INC C
ADD A,16
RET C ;72..81
INC C
INC B ;5
ADD A,32
RET C ;82..A1
INC C
ADD A,32
RET C ;A2..C1
INC C
ADD A,32
RET C ;C2..E1
INC C
ADD A,32
RET ;E2..101
LZDISPP
EX DE,HL
XOR A
LD DE,1
LD B,E;0+
ADD HL,DE
RET C ;1
INC A
ADD HL,DE
RET C ;2
INC A
ADD HL,DE
RET C ;3
INC A
ADD HL,DE
RET C ;4
INC A
INC B ;1+
INC E
ADD HL,DE
RET C ;5..6
INC A
ADD HL,DE
RET C ;7..8
INC A
INC B ;2+
LD E,4
ADD HL,DE
RET C ;9..C
INC A
ADD HL,DE
RET C ;D..10
INC A
INC B ;3+
LD E,8
ADD HL,DE
RET C ;11..18
INC A
ADD HL,DE
RET C ;19..20
INC A
INC B ;4+
LD E,#10
ADD HL,DE
RET C ;21..30
INC A
ADD HL,DE
RET C ;31..40
INC A
INC B ;5+
LD E,#20
ADD HL,DE
RET C ;41..60
INC A
ADD HL,DE
RET C ;61..80
INC A
INC B ;6+
LD E,#40
ADD HL,DE
RET C ;81..C0
INC A
ADD HL,DE
RET C ;C1..101
INC A
INC B ;7+
LD E,#80
ADD HL,DE
RET C ;101..180
INC A
ADD HL,DE
RET C ;181..200
INC A
INC B ;8+
INC H
RET Z ;201..300
INC A
INC H
RET Z ;301..400
INC A
INC B ;9+
LD DE,#200
ADD HL,DE
RET C ;401..600
INC A
ADD HL,DE
RET C ;601..800
INC A
INC B ;10+
SLA D
ADD HL,DE
RET C ;801..C00
INC A
ADD HL,DE
RET C ;C01..1000
INC A
INC B ;11+
SLA D
ADD HL,DE
RET C ;1001..1800
INC A
ADD HL,DE
RET C ;1801..2000
INC A
INC B ;12+
SLA D
ADD HL,DE
RET C ;2001..3000
INC A
ADD HL,DE
RET C ;3001..4000
INC A
INC B ;13+
SLA D
ADD HL,DE
RET C ;4001..6000
INC A
ADD HL,DE
RET ;6001..8000
POISKm0
;jr $
LD A,L
ld (MAXPOSL),A
XOR A
ld (KOLODIN),A
;DE=TEKADR
POISK ;ld (POISKSP),SP ;not fix
IF sureLE
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
LD A,(dicszM)
OR A
JR Z,$+6
LD A,(POISKIP)
OR A
jp Z,LZnfnd ;тьхёЄю dicsz=0k POISKIP=0
ld A,(MAXPOSL)
IF fastCPIQ
DEC A
ld (MAXPOSLm1),A
INC A
ENDIF
ADD A,-3
jp NC,LZnfnd
ld (MAXPOSLm3),A
ld HL,KOLODIN
SBC A,(HL)
jp C,LZnfnd
LD BC,(PUTBITB) ;#C000..>0
LD A,B
ADD A,pak9/256 ;#7C00
LD B,A
dicszM=$+2
LD HL,1-#8000 ;тьхёЄю 0 POISKIP=0
ADD HL,DE ;рЁшЇьхЄшў.эрў.юъэр
;ьюцхЄ яюыєўшЄ№ё <0
JR NC,pushbc
PUSH HL
SBC HL,BC
JR NC,$+4 ;HL>BC,схЁхь HL
POP HL ;HL<=BC,схЁхь BC
pushbc PUSH BC
POP IX ;Ёхры№эюх эрў.юъэр
LD A,(DE)
RLCA
LD C,A
INC DE
LD A,(DE)
ld (LZbyte2),A
RRCA
XOR C
IF k3b
EX DE,HL
INC HL
XOR (HL)
DEC HL
EX DE,HL
ENDIF
LD L,A
XOR C
IF k256
OR #E0
ELSE
AND keymask
OR keys/512
ENDIF
LD H,A
ADD HL,HL
LD (SPoldky),HL
;LD SP,HL
IF k256
EXX
LD A,k256
;OUT (C),A
call OUTME
EXX
ENDIF
;POP HL
;PUSH DE
push de
ld a,(hl)
ld (hl),e
ld e,a
inc l
ld a,(hl)
ld (hl),d ;юсэютшыш уюыютє Ўхяюўъш
ld d,a
ex de,hl
pop de
;hl=ёЄрЁюх эрўрыю Ўхяюўъш, яЁюўшЄрээюх шч ї¤°-ЄрсышЎ√
;de=рфЁхё 3-ую ёшьтюыр
ld (LZoldky),HL
EX DE,HL
ld (LZnxadr),HL
INC HL
ld (LZadol3),HL
EX DE,HL
jp LZGO
;cache эрўрыё
IF fastCPIQ
LZCPImx
MAXPOSL=$+1
LD A,0
ld (KOLODIN),A
OR A
SBC HL,DE
LD (SMESH),HL ;юЄЁшЎрЄхы№эюх ёьх∙хэшх
jp LZnfnd;SM
ENDIF
LZCPIQ
DEC HL
IF fastCPIQ==0
INC C
LZCPImx
MAXPOSL=$+1
LD A,0
ELSE
MAXPOSLm1=$+1
LD A,0
ENDIF
SUB C ;NC
SBC HL,DE
LZn3
ld (KOLODIN),A
LD (SMESH),HL ;юЄЁшЎрЄхы№эюх ёьх∙хэшх
IF fast0s
;todo:
;хёыш oldSMESH с√ыю SMESH+1, Єю ь√ шьххь фхыю ё яютЄ.срщЄрьш
;ёўшЄрхь шї ўшёыю юЄ ъєЁёюЁр =L
;фтшурхь SMESH эрчрф, шэъЁхьхэЄшЁє KOLODIN, until:
;срщЄ шчьхэшыё | KOLODIN>L
CP 64;fast0s
JR NC,LZnfnd
; JC LZnf0s ;уы■ъ эр tapecool.W яюёых 8 эєыхщ
; INC A
; j Z,LZnfnd
; LD A,H
; AND L
; INC A
;j Z,LZnfnd ;їюЄ ьюцхЄ с√Є№ ёё√ыър ыєў°х, тъы■ўр■∙р
;ёыхфє■∙шх эхяютЄ.срщЄ√
;JNZ LZnf0s
;LD HL,(LZadr3)
;LD A,(HL)
;DEC HL,HL,HL ;-1-щ срщЄ
;CP (HL)
;JNZ LZnf0s
;DEC HL
;CP (HL)
;JZ $-2
;INC HL
;INC HL ;2-щ срщЄ
;LD DE,(LZadol3)
;JR LZokn77
LZnf0s
ELSE
INC A
JR Z,LZnfnd
ENDIF
LZadol3=$+1
LZcont LD DE,0 ;рфЁхё ъєЁёюЁэюую 3 срщЄр
LZadr3=$+1
LD HL,0 ;рфЁхё 3-ую срщЄр
LZbad3 DEC HL
LZbad2 ADD HL,HL ;яю 2 срщЄр эр ёшьтюы
LD A,H
RLCA
RLCA
SET 7,H
set 6,H
EXX
AND 3;D
;IF k256
;ADD A,E
;ELSE
; CP 2
; SBC A,E
;ENDIF
;OUT (C),A
call OUTME
EXX
;LD SP,HL
;POP HL
ld a,(hl)
inc l
ld h,(hl)
ld l,a
LZGO
;hl=ёЄрЁюх эрўрыю Ўхяюўъш, яЁюўшЄрээюх шч ї¤°-ЄрсышЎ√
;de=рфЁхё 3-ую ёшьтюыр
EXX
;OUT (C),L
call OUTpgTEXT
EXX
LZokn77 LD A,HX
CP H
JR NC,LZokno7 ;ь.с.ъюэўшыюё№ юъэю?
LZbyte2=$+1
LZwokne LD A,0 ;яЁютхЁър 2-ую срщЄр, Є.ъ.
CP (HL) ;юэ с√ы ьрёъшЁютрэ т ъы■ўх
jp NZ,LZbad2
INC HL
;ёЁртэштрхь 3-щ срщЄ
LD A,(DE)
CP (HL)
jp NZ,LZbad3
ld (LZadr3),HL
INC HL
inc DE
MAXPOSLm3=$+1
LD BC,0
KOLODIN=$+1
LD A,0
SUB 3
JR NC,LZPREC
LZCPI_ LD A,(DE)
CPI
JR NZ,LZCPIQ
LZCPIi INC DE
jp PE,LZCPI_
jp LZCPImx
;KOLODIN>=4
LZPREC
;bc=MAXPOSLm3
CP C
JR NC,LZnfnd ;ёэрЁъ2
;KOLODIN+1<=MAXPOSL
INC A ;>=1
LD B,A ;KOLODIN-2 (3 єцх ёЁртэшыш)
LZPRE0 LD A,(DE)
CPI
JR NZ,LZcont
INC DE
DJNZ LZPRE0
;ёЁртэшыш KOLODIN+1 срщЄ юъ
INC C
DEC C
jp Z,LZCPImx ;ёэрЁъ2
LD A,(DE)
CPI
JR Z,LZCPIi
;+2-щ эх ёютяры - len=KOLODIN+1
SCF
SBC HL,DE
LD A,(SMESH+1)
INC A
JR Z,LZmF
INC A
;IFN cache
; LD A,(SET2)
;ENDIF
JR Z,LZmE
LZmEQ
ld A,(KOLODIN)
INC A
jp LZn3
LZokno7 JR NZ,LZnfnd
LD A,L
CP LX
JR NC,LZwokne
LZnfnd
ld A,(KOLODIN)
CP 3
JR NZ,LZnfnn3
LD HL,(SMESH)
DEC HL
LD A,H
CP #E0 ;#E000 єцх эхы№ч
JR NC,LZnfnn3
XOR A
ld (KOLODIN),A
LZnfnn3
LZnxadr=$+1
LD HL,0
LZoldky=$+1
LD DE,0
ADD HL,HL ;яю 2 срщЄр эр ёшьтюы
LD A,H
RLCA
RLCA
SET 7,H
set 6,H
EXX
AND 3;D
;IF k256
;ADD A,E
;ELSE
; CP 2
; SBC A,E
;ENDIF
;OUT (C),A
call OUTME
EXX
;LD SP,HL
;POP BC
;PUSH DE
ld c,(hl)
ld (hl),e
inc l
ld b,(hl)
ld (hl),d ;юсэютшыш уюыютє Ўхяюўъш
dec l
;hl=эх эєцэю? TODO
;bc=ёЄрЁюх эрўрыю Ўхяюўъш, яЁюўшЄрээюх шч ї¤°-ЄрсышЎ√
IF sureLE==0
EXX
;OUT (C),L
call OUTpgTEXT
EXX
ENDIF
;POISKSP=$+1
; LD SP,#F0F4
RET
LZmF LD A,H
SET1=$+1
CP #F4
LZmC JR NC,LZmEQ
jp LZcont
LZmE LD A,H
SET2=$+1
CP #F0
JR LZmC
FiND2
ret ;TODO ёфхырЄ№ яюЄюь ¤Єш 2-ёшьтюы№э√х ёё√ыъш
LD A,(POISKIP)
OR A
RET Z
LD A,(extext)
CP "a"
RET NZ
ld A,(MAXPOSL)
CP 2
RET C
LD HL,(TEKADR)
LD DE,(ADRfrom)
SBC HL,DE
RET Z
LD B,L
XOR A
CP H
ADD HL,DE
JR Z,$+3
LD B,A;-1
LD E,(HL)
INC HL
LD D,(HL)
DEC HL
LD A,D
FiND20 CP (HL)
DEC HL
JR NZ,FiND20N ;RET NZ
LD A,(HL)
CP E
JR Z,FiND20Y
LD A,D
FiND20N DJNZ FiND20
RET
FiND20Y
LD A,2
ld (KOLODIN),A
LD DE,(TEKADR)
SBC HL,DE
LD (SMESH),HL
RET