1d 0 3c 17200 * N Z C P R 205- Z80-Based Command Processor Replacement, Version 2.05 * . 16,17c 24427 * * * This is DIF file Mod 0.4 to be combined with mod 0.1 VERS of ZCPR2. * * To obtain the full file do: * * SSED ZCPR2.ASM NZCPR203.ASM * * * * 18 FEB 1983 = VERS 2.02 ; BY PETER PINCHIS, TORONTO, ONT. * * - DIR routine has been changed to provide user select- * * able number of columns for DIR and ERA display. * * DIR and ERA shall now page at each full screen. * * - CONOUT routine modified to ignore Form feeds. * * - ERAV has a new meaning : when FALSE the user is always* * prompted except when ERDFLG is present in the command * * line. * * - The module ZCPRHDR.LIB has been changed and renamed * * NZCPRHDR.LIB. * * Only this module shall be used to compile NZCPR202 * * * * 23 FEB 1983 = VERS 2.03 ; BY PETER PINCHIS, TORONTO, ONT. * * Included in vers 2.05 * * 25 FEB 1983 = VERS 2.04 ; BY PETER PINCHIS, TORONTO, ONT. * * Included in vers 2.05 * * 28 FEB 1983 = VERS 2.05 ; BY PETER [INCHIS, TORONTO, ONT. * * - Major bug fixed: in the original ZCPR2 mod 0.1 every * * time when a wrong command is issued in the multiple * * command line ( i.e : a file not found or a wild card * * in the save or ren cmd ) ,the ZCPR stops and the rest * * of the command line is ignored. * * Example of cmd line before the change: * * B1>type xxxxx.xxx;pip a:=b:yy.zz;dir * * ; xxxxx.xxx not found..... * * B1>XXXXX.XXX;PIP A:=B:YY.ZZ;DIR? * * B1> * * The present fix solves this problem : in the above * * example the execution continues with PIP and DIR... * * ERROR routine modified as follows: * * If a file is not found by the load,TYPE,REN,DIR,GET or* * ERA command then the file name is printed after * * "No File" prompt. * * If other commands follow the ofending one, then an * * other prompt "Abort?" is displayed. * * The user could abort or not the execution of the rest * * of command line. * * Example of cmd line after the change: * * B1>asmbl myprog a;type yyy;dir b5:xxx.com * * ;...asmbl and yyy not present * * ;...b5: empty * * B1>No File ASMBL MYPROG A * * B1>Abort?n * * B1>No file YYY * * B1>Abort?n * * B1>No File B5:XXX.COM * * B1> * * Other example: * * B1>era qqq.com;ren pp.txt=rr.txt * * ;..qqq.com not present; pp.txt exist'g * * B1>No File QQQ.COM * * B1>Abort?n * * B1>Erase PP .TXT?y * * B1>No File RR.TXT * * B1> * * Use module NZCPRHDR.LIB ver 2.02 to compile this file.* * * . 80,81c 27640 ; NZCPR205 -- CP/M Z80 Command Processor Replacement (ZCPR) Version 2.05 . 149c 30426 MACLIB NZCPRHDR . 153a 43203 ff equ 0ch ;form feed . 642c 60121 call prnnf ;no file message . 647,648c 32816 if multcmd cpi cmdsep ;is a cmd separator ? jrnz err1a ;no call printc db 'Abort','?'+80H call conin ;get reply cpi 'Y' ;yes? jz restrt ;abort and restart ccp jr err2 ;continue with next cmd endif ;multcmd err1a: cpi ' ' ;ret if less than JRC ERR2 . 667,668c 32607 shld nxtchr . 672,674c 21845 CALL SUBKIL ;TERMINATE ACTIVE $$$.SUB IF ANY . 675,676c 36387 if multcmd jr rcprnl ;go to next cmd else JMP RESTRT ;RESTART CPR endif . 685c 12872 DB 'No File',' '+80H . 707a 10001 cpi ff ;is a form feed ? jrz skipff ;skip char . 715a 11629 skipff: . 1470,1473d 55606 1521,1522c 37847 MVI E,nrcol-1 ;SET COLUMN COUNTER TO ZERO PUSH D ;SAVE COLUMN COUNTER (E) mvi a,nlines sta pagcnt . 1527,1530c 30709 ; CALL PRNNF ;PRINT NO FILE MSG; REG A NOT CHANGED ; XRA A ;SET ZERO FLAG POP D ;RESTORE DE jmp error ; RET . 1541,1543c 56915 INR a cpi nrcol jrnz dir3a xra a dir3a: mov e,a PUSH D ;SAVE IT ; ANI 03H ;OUTPUT IF all ENTRIES PRINTED IN LINE . 1550a 5198 push b call pager pop b . 1661,1663c 6685 ; If ERAV is FALSE, verification is always requested, except when ; V flag is present in the command line ,in wich case ; the user will not be prompted. . 1677c 8202 IF ERAOK ;OK? ENABLED? . 1686,1688d 16379 1688,1692c 5137 ; RZ ;ABORT IF NO FILES . 1693,1694c 43877 IF ERAV ;if ERAV is true then JRNZ ERA2 ;do not skip prompt if ERDFLG prezent else ;if ERAV is false then jrz era2 ;skip prompt if ERDFLG prezent . 2005,2006c 14007 ;REN3: ; CALL PRNNF ;PRINT NO FILE MSG . $a 63210 .