MCOM: DEFM 'COM',0 MPRSUB: DEFM 'SUB',0 MNUXM EQU 04C MNUYM EQU 017 DMNUL EQU 0D MNUXMM EQU 050 MNUYMM EQU 019 AKODL: DEFB 0,0,'12345678123' NRMENU: CALL FFIRST LD HL,CUSR1 LD DE,AKODL LD BC,0D LDIR CALL GETIXIY LD A,(CUSR1) NRMENU1: CALL STUSER LD DE,CUSR1 LD (DE),A LD A,(IX+HODISKL-HOL) CALL STDISK INC A INC DE LD (DE),A INC DE LD HL,MMNU CALL OLDIR LD HL,CUSR1 CALL FOTVOR JR NC,NRMENU2 CALL WPLX0 DEFW MNEM,MNAJST,5,0 RET NRMENU2: LD HL,CBUF LD D,H LD E,L INC DE LD BC,03FFF LD (HL),01A LDIR CALL CRBL JR C,NRMENU4 NRMENU3: CALL WPLX0 DEFW 5,MJE,MPRILIS,MDLHY,0 RET NRMENU4: CP 060 JR NC,NRMENU3 LD HL,AKODL LD DE,CUSR1 LD BC,0D LDIR CALL DDDGEN LD A,MNUXMM EXX PUSH BC EXX POP BC INC C INC C SUB C SRL A INC A LD L,A ADD A,C DEC A LD E,A LD A,MNUYMM SUB B SRL A INC A LD H,A ADD A,B DEC A LD D,A CALL SETWIN CALL FARMNU CALL CLRSCR CALL ORAMUJ LD HL,CBUF+03000 CALL MENU CALL CPESBR JR NZ,NRMENU6 NRMENU5: LD A,(HOHELP) OR A LD HL,MHELP CALL NZ,HELP CALL PLCL CALL PLCP CALL PLCAKP CALL PLCAKS RET NRMENU6: LD E,(HL) INC HL LD D,(HL) EX DE,HL INC HL INC HL LD E,(HL) INC HL LD D,(HL) EX DE,HL XOR A LD BC,0 CPIR INC HL PUSH HL LD B,0 NRMENU7: LD A,(HL) CP 9 JR Z,NRMENU9 CP ' ' JR NZ,NRMENU8 NRMENU9: CALL DDDNEXT INC B JR NRMENU7 NRMENU8: POP HL INC B DEC B JR Z,NRMENU5 CALL DDDSUB JR C,NRMENU5 CALL SAVEINS POP HL RET DDDGEN: CALL PUAL LD HL,CBUF EXX LD C,0 EXX LD B,MNUYM LD IY,CBUF+03002 PUSH IY POP IX LD (CBUF+03000),IY DDDGEN1: LD C,0 LD (IY+0),2 LD A,MNUYM+1 SUB B LD (IY+1),A XOR A LD (IY+2),L LD (IY+3),H PUSH IX POP DE LD (IY+4),E LD (IY+5),D LD (IY+6),A LD (IY+7),A LD (IY+0A),A LD (IY+0B),A PUSH IY POP IX LD DE,DMNUL ADD IY,DE PUSH IY POP DE LD (IX+8),E LD (IX+9),D LD A,(HL) CALL UPCASE LD (IX+0C),A DDDGEN2: LD A,(HL) CALL DDDCPE JR Z,DDDGEN3 INC HL INC C LD A,C CP MNUXM JR C,DDDGEN2 DDDGEN3: LD A,C EXX CP C JR C,DDDGEN4 LD C,A DDDGEN4: EXX LD (HL),0 INC HL INC HL DDDGEN5: LD A,(HL) CP 01A JR Z,DDDGEN8 CP 09 JR NZ,DDDGEN7 DDDGEN6: CALL DDDNEXT JR DDDGEN5 DDDGEN7: CP ' ' JR Z,DDDGEN6 DEC B JP NZ,DDDGEN1 INC B DDDGEN8: PUSH IX POP DE LD (IX+8),E LD (IX+9),D LD (IX+0D),0FF LD A,MNUYM+1 SUB B EXX LD B,A EXX RET DDDSUB: CALL PUA PUSH HL LD DE,MSUB CALL PRIPSUB CALL FVYMAZ CALL FZALOZ JR NC,DDDSUB1 DDDSUB2: POP HL DDDSUB3: CALL WPLX0 DEFW MNEM,MZIT,4,6,0 LD DE,MSUB CALL PRIPSUB CALL FZAVRI CALL FVYMAZ SCF JP DELINS DDDSUB1: LD A,(OLDDSK) ADD A,'A' LD HL,MNCINI LD (HL),A LD C,0 CALL ZAPSUB JR C,DDDSUB2 POP HL INC B DEC B JR Z,DDDSUB4 DDDSUB5: LD C,B CALL ZAPSUB JR C,DDDSUB3 DEC B JR Z,DDDSUB4 CALL DDDNEXT JR DDDSUB5 DDDSUB4: LD HL,CUSR2 CALL FZAVRI JR C,DDDSUB3 RET ZAPSUB: CALL PUA ZAPSUB1: LD A,(HL) OR A RET Z CP 9 JR NZ,ZAPSUB3 ZAPSUB2: INC HL JR ZAPSUB1 ZAPSUB3: CP ' ' JR Z,ZAPSUB2 LD DE,BUF2+025 PUSH BC PUSH DE PUSH HL LD H,D LD L,E INC DE LD BC,07F LD (HL),01A LDIR POP HL POP DE PUSH DE INC DE CALL VDIR POP HL CALL SUBU EX DE,HL BDOS DSDMA POP BC LD IX,CFCB2 XOR A LD (IX+021),C LD (IX+022),A LD (IX+023),A LD DE,CFCB2 BDOS DWDIR OR A RET Z SCF RET DDDNEXT: CALL PUHL DDDNEXT1: LD A,(HL) INC HL CALL DDDCPE JR NZ,DDDNEXT1 INC HL RET DDDCPE: OR A RET Z CP 0D RET Z CP 0A RET Z CP 01A RET PWEXEC: CALL PUH LD HL,0336 XOR A CALL OPENM CALL PUTSPC LD HL,MNREX LD BC,MNNREX CALL TEXT LD L,C LD H,B CALL MENUPR CALL KBDNUL LD HL,CBUF PWEXEC3: CALL ILND CP KODDOW JR NZ,PWEXEC2 PUSH HL LD L,C LD H,B CALL MENU POP HL CP KODUP JR Z,PWEXEC3 PWEXEC2: JP CLOSEW PRIPSUB: CALL PUHL CALL GETIX LD HL,CUSR2 PUSH HL LD A,(CUSR1) LD (HL),A INC HL LD A,(IX+HODISKL-HOL) INC A LD (HL),A INC HL EX DE,HL CALL OLDIR POP HL RET SUBU: EX DE,HL LD (HL),0 SCF SBC HL,DE EX DE,HL LD (HL),E RET NREXEC: CALL FFIRST RET C CALL GETIXIY LD HL,CFCB1+9 LD DE,MPRSUB LD B,3 CALL CMPRET JP Z,NREXEC11 LD DE,MCOM CALL CMPRET JP NZ,NREXEC3 LD HL,CFCB1+1 LD DE,FCNVBUF CALL FCNTOTXT EX DE,HL PUSH HL LD A,'.' LD BC,9 CPIR LD (HL),B DEC HL LD (HL),' ' LD DE,CBUF POP HL CALL OLDIR XOR A LD (DE),A CALL PWEXEC CP 'Z' RET Z CALL CPESBR RET Z NREXEC4: LD B,1 CALL DDDSUB RET C NREXEC15: CALL SAVEINS POP HL RET NREXEC3: LD HL,CUSR1 LD A,(HL) INC HL CALL STUSER LD DE,MEXT0 LD A,(HL) LD (DE),A ; DEC A ; CALL STDSK LD HL,BUF1 CALL RESET RET C NREXEC5: LD DE,CBUF LD HL,BUF1 LD B,080 NREXEC6: CALL READ JR C,NREXEC7 CP 0D JR Z,NREXEC7 CP 0A JR Z,NREXEC7 LD (DE),A INC DE DJNZ NREXEC6 RET NREXEC7: LD A,0 LD (DE),A NREXEC8: PUSH AF CALL READ LD HL,CBUF LD DE,CFCB1+9 LD B,3 CALL CMPRET JR Z,NREXEC9 POP AF JR NC,NREXEC5 RET NREXEC9: POP AF LD HL,CBUF+4 JP NREXEC4 NREXEC11: LD HL,CUSR1 CALL FOTVOR RET C LD HL,CBUF LD DE,CBUF+1 LD BC,03FFF LD (HL),01A LDIR CALL CRBL NREXEC12: JP NC,NRMENU3 OR A RET Z CP 060 JR NC,NREXEC12 LD HL,CBUF PUSH HL LD B,0 NREXEC13: LD A,(HL) CALL DDDCPE JR Z,NREXEC14 CALL DDDNEXT INC B JR NREXEC13 NREXEC14: POP HL INC B DEC B RET Z CALL DDDSUB RET C CALL SAVEINS POP HL RET VDIR: LD B,07E VDIR1: LD A,(HL) CALL DDDCPE RET Z INC HL CP '!' JR Z,VDIR3 LD (DE),A INC DE DJNZ VDIR1 RET VDIR3: DEC HL DEC HL LD A,(HL) INC HL INC HL PUSH HL CP '.' LD HL,CFCB1+9 LD A,B LD B,3 JR Z,VDIR6 LD HL,CFCB1+1 LD B,8 VDIR6: PUSH BC LD C,A VDIR4: LD A,(HL) AND 07F CP 020 JR Z,VDIR5 LD (DE),A INC HL INC DE DEC C JR Z,VDIR5 DJNZ VDIR4 VDIR5: LD A,C POP BC LD B,A POP HL INC B DJNZ VDIR1 RET NRUTIL: CALL GETIXIY LD DE,CUSR1 LD A,SYSUSER CALL STUSER LD DE,CUSR1 LD (DE),A LD A,(OLDDSK) CALL STDISK INC A INC DE LD (DE),A ADD A,'A'-1 LD (MTLSS),A INC DE LD HL,MTLS CALL OLDIR LD HL,CUSR1 CALL FOTVOR JR NC,NRUTIL1 CALL WPLX0 DEFW MNEM,MNAJST,5,0 RET NRUTIL1: CALL FFIRST LD HL,MTLSS LD B,1 CALL DDDSUB RET C LD A,YES LD (HOTLSO),A CALL SAVEINS CALL PWPLX0 DEFW MTAHU,MCAKAJ,0 POP HL RET