TABEK1: DEFB KODUP,KODDOW,KODRIG,KODLEF,KODHOM,KODEND DEFB KODSUP,KODSDO,KODCUP,KODCDO,KODDEL,KODBSP DEFB KODBRK,KODESC TABEA1: DEFW EDUP,EDDOW,EDRIG,EDLEF,EDHOM,EDEND DEFW EDSUP,EDSDO,EDCUP,EDCDO,EDDEL,EDBSP DEFW EDRET,EDRET TABEA2: DEFW EDRET DEFW EDSAV DEFW EDKOD DEFW EFINB DEFW EFIND ; ECPB,ECPE,ECPC ; ENEXT,EPREV,EBGN ; PUTEDT,PUTEDL ELNS EQU 013 WENOV EQU 0126 COND CESKY EDM: DEFB 1,02A,'Pozice:' DEFB 1,039,'D',0D7,'lka:' DEFB 1,047,'K',0CF,'d:#',0 ELSE EDM: DEFB 1,029,'Poz',0C9,'cia:' DEFB 1,039,'D',0CB,0DA,'ka:' DEFB 1,047,'K',0CF,'d:#',0 ENDC ESCR: DEFW 0 EAAK: DEFW 0 EX: DEFB 0 EY: DEFB 0 EXP: DEFB 0 EEND: DEFW CBUF EZMN: DEFB NO EATR: DEFW 0 ECNEXT: CP 04F RET Z CALL ECPE RET Z CALL ECPC RET Z PUSH BC LD C,A LD A,(HL) CALL CNV7 CP 9 JR Z,ECNEXT3 INC C ECNEXT1: INC HL ECNEXT2: LD A,C POP BC RET ECNEXT3: LD A,C ADD A,8 AND 0F8 CP 050 JR Z,ECNEXT2 LD C,A JR ECNEXT1 ECSET: CALL PUH LD BC,(EXP) ECSET1: LD E,L LD D,H LD B,A CALL ECNEXT RET Z CP C RET Z JR C,ECSET1 EX DE,HL LD A,B RET ECPB: PUSH DE LD DE,CBUF JR ECPE1 ECPE: PUSH DE LD DE,(EEND) ECPE1: OR A SBC HL,DE ADD HL,DE SCF CCF POP DE RET ECPC: PUSH BC PUSH AF LD A,(HL) CALL CNV7 CP 0D JR Z,ECPC1 CP 0A ECPC1: POP BC LD A,B POP BC RET ENEXT: CALL ECPE SCF RET Z ENEXT1: CALL ECPC INC HL JR Z,ENEXT2 CALL ECPE JR NZ,ENEXT1 SCF RET ENEXT2: CALL ECPE RET Z INC HL JR ECPE EPREV: CALL EBGN SCF RET Z DEC HL CALL ECPB RET Z DEC HL EBGN: CALL ECPB RET Z DEC HL CALL ECPC JR NZ,EBGN INC HL JR ECPB PUTEDT: CALL KODCNV CP 9 JR NZ,PUTED1 PUTED2: LD A,' ' CALL PUTED1 RET Z CALL WHEREX DEC A AND 7 JR NZ,PUTED2 INC A RET PUTED1: PUSH BC LD C,A CALL WHEREX CP 050 LD A,C POP BC JP Z,SETCHAR JP PUTCHAR PUTEDL: CALL PUAL CALL EBGN CALL CURDIS INC A CALL SETY LD A,1 CALL SETX PUTEDL1: CALL ECPE JR Z,PUTEDL2 CALL ECPC PUTEDL2: JP Z,CLREOL LD A,(HL) INC HL CALL PUTEDT JR NZ,PUTEDL1 RET ED: POP HL LD HL,NREDT14 PUSH HL CP 0D JR Z,ED3 CALL EFREE ED1: JP Z,PWMPAM LD HL,(EAAK) CALL EPUSH LD A,(EY) CALL PUTEDL JR EDRIG ED3: CALL EFREE JR Z,ED1 DEC HL LD A,H OR L JR Z,ED1 LD HL,(EAAK) LD A,0D CALL EPUSH INC HL LD A,0A CALL EPUSH CALL PUTEDA EDRIG: LD HL,(EAAK) CALL ECPE LD A,(EX) JR NZ,EDRIG2 LD (EXP),A RET EDRIG2: CALL ECNEXT JR Z,EDRIG1 LD (EXP),A JR EDUP3 EDRIG1: XOR A LD (EXP),A EDDOW: LD HL,(EAAK) CALL ENEXT RET C LD A,(EY) INC A CP ELNS JR NZ,EDUP2 ESOFH: CALL PUAL CALL HORESOF LD A,ELNS-1 LD (EY),A CALL PUTEDL CALL EDE LD HL,(ESCR) CALL ENEXT LD (ESCR),HL RET EDUP: LD A,(EY) OR A JR Z,EDUP1 LD HL,(EAAK) CALL EPREV DEC A EDUP2: LD (EY),A XOR A CALL ECSET EDUP3: LD (EX),A LD (EAAK),HL RET EDUP1: LD HL,(ESCR) CALL EPREV RET C ESOFD: CALL PUAL CALL DOLESOF XOR A LD (EY),A CALL PUTEDL LD (ESCR),HL CALL ECSET JR EDUP3 EDLEF: LD A,(EX) LD (EXP),A LD HL,(EAAK) CALL ECPB RET Z EDLEF1: OR A JR Z,EDLEF2 DEC A LD (EXP),A CALL EBGN XOR A CALL ECSET LD (EAAK),HL LD (EX),A JR EDLEF3 EDLEF2: LD A,04F LD (EXP),A CALL EDUP EDLEF4: LD A,(EX) EDLEF3: LD (EXP),A RET EDHOM: LD HL,(EAAK) CALL EBGN XOR A EDHOM1: LD (EXP),A JR EDUP3 EDEND: LD HL,(EAAK) LD A,04F LD (EXP),A LD A,(EX) CALL ECSET JR EDHOM1 EDSUP: XOR A LD (EXP),A EDSUP1: XOR A LD (EY),A LD HL,CBUF CALL ECSET LD (EX),A LD (EAAK),HL LD HL,(ESCR) CALL ECPB RET Z LD HL,CBUF LD (ESCR),HL PUTEDS: CALL PUAL LD B,ELNS PUTEDS2: CALL WIEW2 PUTEDS1: LD A,ELNS SUB B CALL PUTEDL CALL ENEXT JR C,PUTEDS3 DJNZ PUTEDS1 RET PUTEDS4: LD A,ELNS+1 SUB B LD H,A LD L,1 CALL SETXY CALL CLREOL PUTEDS3: DJNZ PUTEDS4 RET EDBSP: LD HL,(EAAK) LD DE,CBUF OR A SBC HL,DE RET Z CALL EDLEF EDDEL: LD HL,(EAAK) CALL EPOP RET C CP 0D LD A,(EY) JP NZ,PUTEDL CALL EPOP PUTEDA: CALL PUAL LD HL,(EAAK) LD A,(EY) LD B,A LD A,ELNS SUB B LD B,A JR PUTEDS2 EDSDO1: LD HL,(EEND) PUSH HL LD B,ELNS-1 LD A,B CALL EBGN EDSDO2: CALL EPREV JR C,EDSDO3 DJNZ EDSDO2 EDSDO3: LD DE,(ESCR) OR A SBC HL,DE ADD HL,DE LD (ESCR),HL CALL NZ,PUTEDS SUB B LD (EY),A POP HL CALL EBGN EDE: XOR A CALL ECSET LD (EX),A LD (EAAK),HL RET EDSDO: LD A,04F LD (EXP),A CALL EDSDO1 JP EDLEF4 EDCUP: LD A,(EY) OR A LD HL,(ESCR) JR Z,EDCUP1 XOR A LD (EY),A LD HL,(ESCR) JR EDE EDCUP1: LD B,ELNS LD A,B EDCUP2: CALL EPREV JR C,EDCUP3 DJNZ EDCUP2 EDCUP3: CP B CALL NZ,PUTEDS LD (ESCR),HL JR EDE EDCDO: LD A,(EY) CP ELNS-1 LD HL,(EAAK) JR Z,EDCDO2 EDCDO1: CALL ENEXT JR C,EDCDO7 INC A CP ELNS-1 JR NZ,EDCDO1 EDCDO7: LD (EY),A CALL EBGN JR EDE EDCDO2: LD B,ELNS LD A,B PUSH HL CALL ENEXT JR C,EDCDO4 LD (ESCR),HL EDCDO4: POP HL RET C EDCDO5: CALL ENEXT JR C,EDCDO6 DJNZ EDCDO5 EDCDO6: DEC A SUB B LD (EY),A PUSH HL LD HL,(ESCR) CALL PUTEDS POP HL JR EDE PED: LD DE,CBUF OR A SBC HL,DE CALL SETX JP PHLDEK EDNOV: LD HL,WENOV XOR A CALL OPENM CALL PUTSPC CALL PLX0 DEFW MEDITUJ,MSBRM EDNOV1: DEFW 0 LD HL,EDNOV1 CALL ILN CALL CLOSEW CALL CPESBR RET Z LD DE,FCNVBUF CALL TXTTOFCN EX DE,HL DEC HL CALL GENFCB CALL GETIX LD A,(IX+HOUSERL-HOL) CP 010 JR C,EDNOV2 XOR A EDNOV2: LD HL,CUSR1 LD (HL),A LD (CUSR2),A CALL FOTVOR LD HL,(CFCB1+9) JR NREDT13 EDEXT: LD HL,MEXT-1 JR EDMNU1 EDMNU: LD HL,MMNU-1 EDMNU1: CALL GENFCB CALL GETIX ; LD A,(IX+HOUSERL-HOL) ; CP 010 ; JR C,EDMNU2 ; XOR A LD A,SYSUSER EDMNU2: LD (CUSR1),A LD (CUSR2),A LD HL,(CFCB1+9) SET 7,H SET 7,L LD (EATR),HL JR NREDIT1 NREDIT: CALL FFIRST RET C PUSH HL POP IY LD L,(IY+9) LD H,(IY+0A) NREDT13: LD (EATR),HL LD A,(EATR) RLCA JR NC,NREDIT1 CALL PWERO CP 'E' RET NZ NREDIT1: XOR A LD (EZMN),A LD HL,CBUF LD E,L LD D,H INC DE LD BC,03FFF LD (HL),01A LDIR LD DE,(CUSR1) LD (CUSR2),DE CALL CLRALL LD HL,MHELPE CALL HELP CALL WIEW1 CALL CLRSCR CALL ORAMUJ CALL SETRIGHT CALL PLX0 DEFW 3,5,0 LD HL,EDM CALL PLCMHL CALL PUTWK CALL FDOFFD CALL PRACUJEM LD HL,CUSR1 CALL FOTVOR JR C,NREDIT3 CALL CRBL JR C,NREDIT4 CALL CRBL JR NC,NREDIT5 OR A JR Z,NREDIT4 NREDIT5: CALL CLOSEW CALL PWUSEK CP 'U' CALL NZ,VIRET CALL PRACUJEM NREDIT4: CALL FOTVOR JR C,NREDIT3 CALL CRBL JR C,NREDIT6 LD A,BUFRCS NREDIT6: OR A JR Z,NREDIT3 LD C,0 SRL A LD B,A RR C LD HL,CBUF ADD HL,BC NREDIT7: LD A,01A DEC HL CP (HL) JR NZ,NREDIT8 DEC BC LD A,B OR C JR NZ,NREDIT7 DEC HL NREDIT8: INC HL JR NREDIT9 NREDIT3: LD HL,CBUF NREDIT9: LD (EEND),HL CALL CLOSEW CALL FDOFF LD HL,CBUF LD (ESCR),HL LD (EAAK),HL LD HL,0 LD (EX),HL LD A,L LD (EXP),A LD HL,CBUF CALL PUTEDS NREDT10: CALL KBDNUL NREDT14: CALL CURDIS CALL WIEW1 LD A,031 LD HL,(EAAK) PUSH HL CALL PED LD A,03F LD HL,(EEND) CALL PED LD A,04C CALL SETX POP HL LD A,(HL) CALL PAHEX CALL WIEW2 LD HL,(EX) INC H INC L CALL SETXY CALL CURENA CALL KBDREAD LD HL,NREDT10 PUSH HL LD HL,TABEK1 LD D,H LD E,L LD BC,TABEA1-TABEK1 CPIR JR NZ,NREDT11 SCF SBC HL,DE LD DE,TABEA1 NREDT12: ADD HL,HL ADD HL,DE LD E,(HL) INC HL LD D,(HL) PUSH DE RET NREDT11: CP 02 JP NZ,ED CALL KBDREAD CALL UPCASE SUB 'A' RET C CP 05 RET NC LD L,A LD H,0 LD DE,TABEA2 JR NREDT12 ;;;; EFREE: PUSH DE LD HL,CBUF+04000 LD DE,(EEND) OR A SBC HL,DE POP DE RET EPUSH: CALL PUAL PUSH HL LD C,L LD B,H LD HL,EZMN LD (HL),0FF LD HL,(EEND) INC HL LD (EEND),HL DEC HL LD E,L LD D,H OR A SBC HL,BC JR Z,EPUSH1 LD C,L LD B,H LD L,E LD H,D DEC HL LDDR EPUSH1: POP HL CALL CNVKOD LD (HL),A RET EPOP: CALL PUA LD E,L LD D,H LD HL,(EEND) PUSH HL OR A SBC HL,DE POP HL SCF RET Z LD A,(DE) CALL KODCNV DEC HL LD (EEND),HL OR A SBC HL,DE LD C,L LD B,H LD L,E LD H,D INC HL JR Z,EPOP1 LDIR EPOP1: DEC HL LD (HL),01A LD HL,EZMN LD (HL),0FF OR A RET EDRET: LD A,(EZMN) OR A JR Z,EDRET1 CALL PWZMN CALL CPESBR RET Z CP 'U' JR NZ,EDRET1 CALL EDSAV RET C EDRET1: JP VIRET EDSAV: CALL PUA LD HL,(EEND) LD DE,CBUF OR A SBC HL,DE JR Z,EDSAV1 DEC HL ADD HL,HL INC H EDSAV1: LD A,H CALL FDOFFD CALL SAVEBUF PUSH AF LD HL,(EATR) LD (CFCB2+9),HL LD HL,CUSR2 CALL FATRIB PUSH HL POP IY RES 7,(IY+0A) RES 7,(IY+0B) INC HL LD L,(HL) DEC L LD A,(HODISKL) CP L JR NZ,EDSAV2 LD A,(HOUSERL) CP 010 CALL NC,GENL CP (IY+0) CALL Z,GENL EDSAV2: LD A,(HODISKR) CP L JR NZ,EDSAV3 LD A,(HOUSERR) CP 010 CALL NC,GENP CP (IY+0) CALL Z,GENP EDSAV3: CALL FDOFF POP AF RET C XOR A LD (EZMN),A RET ECX: CALL PUH LD E,L LD D,H CALL EBGN XOR A ECX1: OR A SBC HL,DE ADD HL,DE RET Z CALL ECNEXT JR NZ,ECX1 RET CP0: PUSH HL LD DE,HOFBUF CP01: CALL ECPE JR NZ,CP02 POP HL XOR A INC A RET CP02: LD A,(DE) OR A JR Z,CP03 CALL CNVKOD CP (HL) INC HL INC DE JR Z,CP01 CP03: POP HL RET EFINB: CALL VIWF RET NZ LD HL,(EAAK) CALL VIWFH EFINB1: CALL ECPB JR Z,EFIND2 DEC HL CALL CP0 JR NZ,EFINB1 JR EFIND3 EFIND: CALL VIWF RET NZ LD HL,(EAAK) CALL VIWFH EFIND1: CALL ECPE JR Z,EFIND2 INC HL CALL CP0 JR NZ,EFIND1 EFIND3: CALL CLOSEW CALL ECX LD (EX),A LD (EXP),A LD (EAAK),HL XOR A LD (EY),A CALL EBGN EX DE,HL LD HL,(ESCR) OR A SBC HL,DE RET Z EX DE,HL LD (ESCR),HL JP PUTEDS EFIND2: CALL CLOSEW JP VIWFN EDKOD: LD A,(HOKOD) INC A AND 3 LD (HOKOD),A ; DEC A ; JR NZ,EDKOD1 XOR A LD L,A LD H,A LD (EX),HL LD (EXP),A LD HL,(ESCR) LD (EAAK),HL EDKOD1: CALL PUTWK LD HL,(ESCR) JP PUTEDS