home *** CD-ROM | disk | FTP | other *** search
- 1d 0
- 3c 17200
- * N Z C P R 206- Z80-Based Command Processor Replacement, Version 2.06 *
- .
- 16c 24427
- * *
- * This is DIF file Mod 0.6 to be combined with mod 0.1 VERS of ZCPR2. *
- * To obtain the full file do: *
- * SSED ZCPR2.ASM <NZCPR206.DIF >NZCPR206.ASM *
- * *
- * 11 MAR 1983 = VERS 2.06 ; BY PETER PINCHIS, TORONTO, ONT. *
- * All mods from ZCPR22.ASM by Rich Conn included . *
- * BREAK routine futher changed to run proprely. *
- * ERROR routine has new features: *
- * -When DIR or TYPE is interrupted by ^C in the midle *
- * of a multiple cmd line ,the user is prompted to abort*
- * or not the rest of the cmd line. *
- * -When ^C is typed during a submit file, the user is *
- * prompted to continue or not with the next cmd in the *
- * submit file. *
- * -When a file is not found during a submit file, the *
- * user is prompted to abort or not the submit file. *
- * -Note that in the last two cases when you answer 'Y', *
- * to the 'Abort?' prompt the rest of the cmd line is *
- * ignored. In order to avoid that you should answer 'N'*
- * and to type ^C after each cmd in the submit file. *
- * Use module NZCPRHDR.LIB ver 2.02 to compile this file.*
- * *
- * 28 FEB 1983 = VERS 2.05 ; BY PETER PINCHIS, 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.*
- * *
- * 25 FEB 1983 = VERS 2.04 ; BY PETER PINCHIS, TORONTO, ONT. *
- * Included in vers 2.05 *
- * *
- * 23 FEB 1983 = VERS 2.03 ; BY PETER PINCHIS, TORONTO, ONT. *
- * Included in vers 2.05 *
- * *
- * 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 *
- .
- 100,101c 41637
- ; NZCPR206 -- CP/M Z80 Command Processor Replacement (ZCPR) Version 2.06
- .
- 169c 44423
- MACLIB NZCPRHDR
- .
- 173a 57200
- ff equ 0ch ;form feed
- .
- 662c 8582
- call prnnf ;no file message
- .
- 666,668c 37082
- MOV A,M ;GET CHAR from current token of cmd line
- shld nxtchr ;set pointer
-
- if multcmd
- cpi cmdsep ;is a cmd separator ?
- jrz err3 ;yes , print abort msg
- endif ;multcmd
-
- cpi ' ' ;is less than <sp> ?
- jrc err2 ;yes , is the end of cmd line
- .
- 679,691c 34419
- err2:
- if subon
- lda rngsub ;is a submit file active ?
- ora a
- jrz rstcpr ;if not goto next cmd, otherwise print prompt
- else
- jr rstcpr ;if not submit facility goto next cmd
- endif ;subon
- err3:
- if multcmd
- call printc ;abort message
- db 'Abort','?'+80H
- exx ;save regs
- call conin ;get reply
- exx ;restore regs
- cpi 'Y' ;yes?
- jrnz rstcpr ;if not, goto next cmd
- endif ;multcmd
-
- IF SUBON ;IF SUBMIT FACILITY IS ON
- CALL SUBKIL ;TERMINATE ACTIVE $$$.SUB IF ANY
- ENDIF ;SUBON
-
- jmp restrt ;abort command line
- .
- 709c 10914
- DB 'No File',' '+80H
- .
- 727,728c 44137
- MVI C,1 ;INPUT CHAR
- CALL BDOS ;GET INPUT CHAR WITH ^S PROCESSING AND ECHO
- JMP UCASE ;CAPITALIZE
- .
- 732,734c 58191
- EXX ;SAVE CHAR
- cpi ff ;is a form feed ?
- jrz skipff ;skip char
- MVI C,2
- .
- 739,740c 49989
- skipff:
- EXX
- .
- 754,756c 33412
- EXX ;SAVE REGS
- MVI C,5
- .
- 790c 32648
- PUSH B ;SAVE REG
- .
- 990,992c 11990
- RNZ ;IF NO ^C, RETURN TO CALLER AND RUN
- ; CALL SUBKIL ;KILL $$$.SUB IF ABORT
- JMP rstcpr ;RESTART CPR
- .
- 1016c 18213
- ; CHECK FOR ANY CHAR FROM USER CONSOLE; RET W/ZERO SET IF ^C TYPED
- .
- 1019,1025c 25191
- exx ;save regs
- mvi c,11 ;check con status
- call bdos
- ora a ;set flags
- cnz conin ;input char
- exx ;restore regs
- cpi 'C'-'@' ;is ^C ?
- ret
- .
- 1493,1496d 63615
- 1544,1545c 45856
- MVI E,nrcol-1 ;SET COLUMN COUNTER TO ZERO
- PUSH D ;SAVE COLUMN COUNTER (E)
- mvi a,nlines
- sta pagcnt
- .
- 1550,1553c 38718
- ; CALL PRNNF ;PRINT NO FILE MSG; REG A NOT CHANGED
- ; XRA A ;SET ZERO FLAG
- POP D ;RESTORE DE
- jmp error
-
- ; RET
- .
- 1564,1566c 64924
- INR a
- cpi nrcol
- jrnz dir3a
- xra a
- dir3a:
- mov e,a
- PUSH D ;SAVE IT
- ; ANI 03H ;OUTPUT <CRLF> IF all ENTRIES PRINTED IN LINE
- .
- 1573a 13207
- push b
- call pager
- pop b
- .
- 1602c 24755
- JRZ dir8
- .
- 1609a 29946
- dir8:
- pop d
- jmp err3
- .
- 1687,1689c 11390
- ; 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.
- .
- 1703c 12907
- IF ERAOK ;OK? ENABLED?
- .
- 1712,1714d 21084
- 1714,1718c 9842
- ; RZ ;ABORT IF NO FILES
- .
- 1719,1720c 48582
-
- 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
- .
- 1860,1868c 48640
- CALL BREAK ;CHECK FOR ABORT
- jz err3 ;RESTART IF SO
- JR TYPE2
- .
- 1967c 52528
- JNZ rstcpr ;RESTART AS ERROR IF NO
- .
- 2025,2026c 22671
- ;REN3:
- ; CALL PRNNF ;PRINT NO FILE MSG
- .
- $a 6338
- .
-