home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
ZCPR2
/
KP10NZ2.LBR
/
NAMEDIR.CQR
/
NAMEDIR.CPR
Wrap
Text File
|
2000-06-30
|
4KB
|
117 lines
Named Directory Prompt for ZCPR23
by Jay Denebeim
SYSOP Ovation Network
(606) 276-1957
Onσ oµ thσ mos⌠ powerfu∞ feature≤ oµ ZCP╥ i≤ thσ usσ oµ name≤á insteaΣ ì
oµ drive/use≥ pairs« Unfortunatly¼ thesσ arσ no⌠ supporteΣ b∙ ZCP╥ itselfí ì
Wheεá installinτá ZCP╥ oε m∙ systeφ ╔ pu⌠ patche≤ iε t∩ prin⌠ theε namσá in ì
thσá commanΣ prompt«á Thσ forφ i≤ DU:DIRNAME╛ iµ DUPRMP╘ i≤á enabled¼á anΣ ì
DIRNAME╛ iµ it≤ not.
Thi≤á patcΦ shoulΣ bσ ablσ t∩ bσ installeΣ oε an∙ versioε oµ ZCPR«á ╔ ì
aφá unablσá t∩ includσ ß .diµ filσ becausσ m∙ sourcσ t∩á ZCP╥á wa≤á garbleΣ ì
durinτ transmission«á Iµ anyonσ ha≤ thσ sourcσ t∩ thσ utilit∙ programs¼á ╔ ì
woulΣá appreciatσá i⌠á iµ yo⌡ coulΣ up-loaΣ theφ ont∩ m∙ board¼á s∩á ╔á caε ì
install named directory support to them too.
If there are any problems please contact me at:
Ovation Network RCPM
140 Moore Drive
Lexington, KY 40503
(606) 276-1957
.paè The first step is to install switches into the header file:
Thi≤á patcΦ caε bσ installeΣ anywhere¼á bu⌠ Θ thinδ thσ bes⌠ placσá t∩ ì
pu⌠ i⌠ i≤ righ⌠ afte≥ thσ DUPRMP╘ equate«á Tha⌠ i≤ thσ onl∙ onσ associateΣ ì
with command line prompt.
; The following equates enable the named directory options.
; NAMDIR enables the named directory buffer.
; NAMBUF specifies where in core the Buffer will reside.
; NAMDIR enables printing of the Dir's name on the command line.
; set it to TRUE and the prompt will be dn:name>
; set it to FALSE and the prompt will be dn>
;
NAMDIR equ TRUE ;ENABLE NAMED DIRS
NAMBUF equ 0F300H ;LOCATION OF BUFFER
NAMPMT equ TRUE ;PRINT NAME ON COMMAND LINE
Thσ othe≥ change≤ arσ madσ t∩ thσ ZCPR.AS═ file¼ pa∙ carefu∞ attentioε ì
to the relative jumps in the file.
Iµ al∞ thσ promp⌠ option≤ arσ enabled¼á thi≤ jum≡ commanΣ iε thσ CONT║ ì
routinσ iε sectioε ▓ oµ ZCP╥ shoulΣ bσ changeΣ t∩ thσ │ bytσ form:
Change this line:
JRNZ RS1
To this:
JNZ RS1
The jump on no print of 0 while in user 0 should be changed.
Changσá thi≤á linσ iε thσ SUPRE╙ conditiona∞ assembl∙ sectioεá oµá thσ ì
RESTRT: routine from:
JRZ RS000
To this:
JRZ RSJ00
.paè Finall∙á inser⌠ thσ followinτ routinσ betweeε thσ DUPRMP╘á conditiona∞ ì
assembly of the RESTRT routine, and the RS000: routine:
; PRINT DIRECTORY NAME IF THERE
;
RSJ00:
IF NAMPMT AND NAMDIR
LXI H,NAMBUF ;POINT TO NAMED DIR BUFFER
INX H ;POINT TO NUMBER OF ENTRIES
MOV B,M ;GET IT
XRA A ;TEST NUMBER OF ENTRIES
CMP B ;TO SEE IF ZERO
JRZ RS000 ;AND SKIP ROUTINE IF SO
LDA CURDR ;GET CURRENT DRIVE NUMBER
INX H ;POINT TO DRIVE OF FIRST ENTRY
LXI D,10 ;SET UP ENTRY LENGTH
RSJ01:
MOV C,M ;GET DISK FROM TABLE
CMP C ;IS THIS THE CURRENT ONE
JRZ RSJ02 ;TEST USER ROUTINE
DAD D ;POINT TO NEXT ENTRY
DCR B ;REDUCE COUNTER
JRNZ RSJ01 ;IF MORE, LOOP
JR RS000 ;ELSE NO ENTRY FOR THIS DISK
RSJ02:
LDA CURUSR ;GET CURRENT USER
INX H ;POINT TO USER IN THIS ENTRY
RSJ020:
MOV C,M ;GET USER FROM TABLE
CMP C ;IS THIS THE CURRENT ONE
JRZ RSJ03 ;PRINT NAME OUT
DAD D ;POINT TO NEXT ENTRY
DCR B ;REDUCE COUNTER
JRNZ RSJ020 ;IF MORE, LOOP
JR RS000 ;ELSE NO ENTRY FOR THIS USER
RSJ03:
IF DUPRMPT
MVI A,':' ;USE : AS SEPARATER
CALL CONOUT
ENDIF ;DUPRMPT
INX H ;POINT TO FIRST CHAR OF NAME
MVI B,8
RSJ030:
MOV A,M ;GET CHAR
CPI ' ' ;END OF NAME?
JRZ RS000 ;WE IS DONE
CALL CONOUT ;PUT CHAR ON SCREEN
INX H ;POINT TO NEXT
DCR B ;REDUCE CHAR COUNT
JRNZ RSJ030 ;GO FOR MORE
ENDIF ;NAMPMT
;
I hope you enjoy these changes to ZCPR.
è