.title KRTSHO.MIN The SHOW command .ident "V03.62" ; /62/ 31-May-93 Billy Youdelman .include "IN:KRTMAC.MIN" .iif ndf KRTINC .error <; .include for IN:KRTMAC.MIN failed> .include "IN:KRTCDF.MIN" .iif ndf KRTCDF .error <; .include for IN:KRTCDF.MIN failed> .mcall .PURGE .psect $code .sbttl SHOW command processor .enabl lsb c$show::tstb @argbuf beq 103$ upcase argbuf calls getcm0 , tst r0 bmi 110$ tst wasnul bne 199$ jsr pc ,@r1 199$: clr r0 return 103$: call sho$df br 199$ 110$: cmp r0 ,#cmd$un bne 189$ mov #er$tam ,r0 br 190$ 189$: mov #er$tun ,r0 190$: direrr r0 return .dsabl lsb $CMGLOB = 1 command sholst ,ALL ,2 ,sho$al command sholst ,ASSIGNS ,2 ,sho$df command sholst ,ATTRIBUTES ,2 ,sho$at command sholst ,BINARY_TYPE ,2 ,sho$bt command sholst ,BLOCK_CHECK_TYPE ,2 ,sho$bl command sholst ,DEBUG ,3 ,sho$de command sholst ,DEFAULT ,3 ,sho$df command sholst ,DELAY ,3 ,sho$dl command sholst ,FILE_TYPE ,1 ,sho$fi command sholst ,INCOMPLETE_FILE_DISPOSITION ,1 ,sho$in command sholst ,LINE ,1 ,sho$li command sholst ,PACKET ,3 ,sho$pk command sholst ,PARAMETERS ,3 ,sho$pa command sholst ,PARITY ,3 ,sho$pr command sholst ,PAUSE ,3 ,sho$ps command sholst ,REPEAT_QUOTING ,3 ,sho$rp command sholst ,RETRY ,3 ,sho$rt command sholst ,SERVER ,2 ,sho$sv command sholst ,SL ,2 ,sho$sl command sholst ,START_OF_PACKET,2 ,sho$so command sholst ,TERMINAL ,1 ,sho$tt command sholst ,TIME_OUT ,2 ,sho$to command sholst ,TT: ,2 ,sho$tt command sholst ,VERSION ,2 ,sho$ve command sholst .sbttl SHOW ALL sho$al: call sho$ve call sho$li call sho$tt call sho$at call sho$bt call sho$de call sho$fi call sho$in call sho$bl call sho$pa jmp sho$yy .sbttl SHOW DEBUG .enabl lsb sho$de: tst trace bne 10$ message ,cr br 100$ 10$: clr r0 20$: tst 200$(r0) beq 70$ wrtall 205$(r0) bit 200$(r0),trace beq 30$ message < ENABLED> br 40$ 30$: message < disabled> 40$: .newline tst (r0)+ br 20$ 70$: bit #log$op ,trace beq 73$ message wrtall #logfil message <, cur/max blk: > mov #lun.lo ,r1 asl r1 mov blknum(r1),r0 call L10266 message mov sizof(r1),r0 call L10266 br 79$ 73$: message 79$: .newline 100$: return .save .psect $pdata 200$: .word log$pa ,log$io ,0 205$: .word 220$ ,230$ 220$: .asciz "Packet logging to logfile:" 230$: .asciz "Raw Binary I/O logging:" .even .restore .dsabl lsb .sbttl SHOW DEFAULT, SHOW HOME .enabl lsb c$pwd:: sho$df::call sho$xx br sho$yy sho$xx: wrtall #hoslug wrtall #dkname .newline br 1$ c$home::strcpy #defdir ,#dkname sho$yy::wrtall #dkslug wrtall #defdir .newline 1$: clr r0 return .save .psect $pdata hoslug: .asciz "HOME--> " dkslug: .asciz "DK --> " .even .restore .dsabl lsb .sbttl SHOW VERSION .enabl lsb sho$ve::wrtall #100$ wrtall #sho.ve .newline return .save .psect $pdata 100$: .ascii "Kermit-11 for RX-based nonEIS RT-11SB,SJ,FB " .even .restore .dsabl lsb .sbttl SHOW FILE_TYPE .enabl lsb sho$fi: wrtall #210$ tst doauto beq 1$ mov #220$ ,r0 br 20$ 1$: mov $image ,r0 asl r0 mov 200$(r0),r0 20$: wrtall r0 .newline wrtall #260$ tst filprot beq 26$ mov #270$ ,r0 br 27$ 26$: mov #300$ ,r0 27$: wrtall r0 .newline wrtall #350$ tst rtvol beq 130$ mov #330$ ,r0 br 139$ 130$: mov #320$ ,r0 139$: wrtall r0 .newline wrtall #360$ tst csi.fake beq 140$ mov #400$ ,r0 br 199$ 140$: mov #370$ ,r0 199$: wrtall r0 .newline wrtall #410$ mov en$siz ,r0 call L10266 .newline wrtall #420$ wrtall #ininam .newline return .save .psect $pdata 200$: .word 230$ ,240$ ,250$ 210$: .asciz "FILE_TYPE set to " 220$: .asciz "Auto ASCII/Binary" 230$: .asciz "ASCII" 240$: .asciz "BINARY (fixed 512, no carriage control)" 250$: .asciz "DEC_Multinational (8-bit text)" 260$: .asciz "Existing file protection: " 270$: .asciz "ENABLED" 300$: .asciz "disabled" 320$: .asciz "DISABLED" 330$: .asciz "enabled" 350$: .asciz "Volume verification is: " 360$: .asciz "Local comma CSI_Parsing: " 370$: .asciz "real" 400$: .asciz "EMULATED" 410$: .asciz "File create_size blocks: " 420$: .asciz "Init file: " .even .restore .dsabl lsb .sbttl SHOW BLOCK_CHECK_TYPE .enabl lsb sho$bl: wrtall #105$ movb setchkt ,r0 sub #'1 ,r0 asl r0 wrtall 100$(r0) .newline return .save .psect $pdata 100$: .word 110$ ,120$ ,130$ 105$: .asciz "Block_check_type: " 110$: .asciz "1_Byte_Checksum" 120$: .asciz "2_Byte_Checksum" 130$: .asciz "3_Byte_CRC_CCITT" .even .restore .dsabl lsb .sbttl SHOW INCOMPLETE_FILE_DISPOSITION .enabl lsb sho$in: message tst incfile bne 1$ message br 3$ 1$: message 3$: .newline return .dsabl lsb .sbttl SHOW PARAMETERS sho$pa: call sho$pk call sho$dl call sho$ps call sho$to jmp sho$rt .sbttl SHOW PACKET .enabl lsb sho$pk: call sho$so message clr -(sp) bisb conpar+p.eol,@sp mov sp ,r0 call unfmts wrtall r0 call tag.it clr (sp) bisb senpar+p.eol,@sp message mov sp ,r0 call unfmts wrtall r0 call tag.it tst (sp)+ message movb conpar+p.spsiz,r0 decout r0 .newline message movb senpar+p.spsiz,r0 decout r0 .newline message decout senlen .newline message tst dolong bne 1$ message < OFF> br 2$ 1$: decout reclng 2$: .newline message decout senlng .newline message decout #maxlng .newline return .sbttl SHOW TIME_OUT sho$to: message decout rectim .newline message decout sentim .newline message movb conpar+p.time,r0 decout r0 .newline return .sbttl SHOW RETRY sho$rt: message decout initry .newline message decout maxtry .newline return .dsabl lsb .sbttl Display a control char in "^n" notation tag.it: message < ^> mov 2(sp) ,r0 movb lis.ct(r0),r0 call writ1char .newline return .save .psect $pdata lis.ct: .ascii "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]~?" .even .restore .sbttl STATUS .enabl lsb c$stat::sub #120 ,sp wrtall #300$ clr r3 mov #27. ,r4 mov sp ,r5 br 15$ 10$: mov sp ,r5 tst pcnt.r+2(r3) bne 15$ tst pcnt.s+2(r3) bne 15$ mov totp.s ,r1 add r3 ,r1 tst 2(r1) bne 15$ mov totp.r ,r1 add r3 ,r1 tst 2(r1) beq 90$ 15$: mov r5 ,r1 mov #110 ,r2 20$: movb #space ,(r1)+ sob r2 ,20$ mov r3 ,r1 beq 30$ asr r1 asr r1 add #100 ,r1 movb r1 ,(r5)+ br 40$ 30$: movb #'A&137 ,(r5)+ movb #'L&137 ,(r5) movb #'L&137 ,1(r5) 40$: add #5 ,r5 mov #pcnt.s ,r1 call 200$ mov #pcnt.r ,r1 call 200$ mov totp.s ,r1 call 200$ mov totp.r ,r1 call 200$ movb #cr ,(r0)+ movb #lf ,(r0)+ clrb @r0 mov sp ,r0 wrtall r0 90$: add #4 ,r3 dec r4 beq 99$ jmp 10$ 99$: clr txflag wrtall #310$ mov sp ,r4 message tst charout bne 70$ tst charout+2 beq 77$ 70$: message mov #charout,r1 mov sp ,txflag br 79$ 77$: message mov #charin ,r1 79$: call 190$ message tst txflag bne 83$ mov #filein ,r1 br 85$ 83$: mov #fileout,r1 85$: call 190$ 100$: add #120 ,sp clr r0 return 190$: clr r2 mov r4 ,r0 call $cddmg movb #cr ,(r0)+ movb #lf ,(r0)+ clrb @r0 sub r4 ,r0 sub #15 ,r0 neg r0 mov r0 ,r2 mov #space ,r0 193$: call writ1ch sob r2 ,193$ wrtall r4 return 200$: add r3 ,r1 clr r2 mov r5 ,r0 call $cddmg add #14 ,r5 return .save .psect $rwdata ,rw,d,lcl,rel,con txflag: .word 0 .psect $pdata 300$: .ascii " ----------------- Packet Stats -----------------" .asciz "Type Last Sent Last Rec Prev Sent Prev Rec" 310$: .asciz " --- Last Transaction ---" .even .restore .dsabl lsb .sbttl SHOW DELAY, SHOW PAUSE sho$ps: message decout pauset .newline return sho$dl: message decout sendly .newline return .sbttl SHOW PARITY sho$pr: message mov parity ,r0 asl r0 wrtall parlst(r0) .newline return .save .psect $pdata parlst: .word 5$ ,10$ ,20$ ,30$ ,40$ 5$: .asciz "NONE" 10$: .asciz "ODD" 20$: .asciz "EVEN" 30$: .asciz "MARK" 40$: .asciz "SPACE" .even .restore .sbttl SHOW TERMINAL, SHOW ATTRIBUTES .enabl lsb sho$tt: mov vttype ,r0 message asl r0 wrtall ttlst(r0) message <, > tst infomsg beq 10$ message 10$: message call sho$sl return sho$at: message tst doattr bne 39$ message br 40$ 39$: message 40$: .newline return .save .psect $pdata ttlst: .word 1$ ,2$ ,3$ ,4$ 1$: .asciz "NOSCOPE" 2$: .asciz "TTY" 3$: .asciz "VT100" 4$: .asciz "VT200" .even .restore .dsabl lsb .sbttl SHOW START_OF_PACKET sho$so: message mov recsop ,-(sp) bic #^c177 ,@sp mov sp ,r0 call unfmts wrtall r0 call tag.it message mov sensop ,@sp bic #^c177 ,@sp mov sp ,r0 call unfmts wrtall r0 call tag.it tst (sp)+ return .sbttl SHOW BINARY_TYPE .enabl lsb HOWIDE = 10. sho$bt: message mov bintyp ,r1 20$: mov #howide ,r2 .newline 30$: tstb @r1 beq 40$ message < *> mov #4 ,r3 33$: movb (r1)+ ,r0 call writ1char sob r3 ,33$ sob r2 ,30$ br 20$ 40$: cmp #howide ,r2 beq 100$ .newline 100$: return .dsabl lsb .sbttl SHOW SL .enabl lsb sho$sl::message tst sl.on bne 1$ message br 2$ 1$: message 2$: mov #comma ,r0 call writ1char tst sl.ked bne 3$ message 3$: message .newline return .dsabl lsb .sbttl SHOW SERVER sho$sv: message mov serwait ,r0 call L10266 message < seconds>,cr return .sbttl SHOW REPEAT_QUOTING .enabl lsb sho$rp: message tst setrpt bne 10$ message br 100$ 10$: message 100$: .newline return .dsabl lsb .sbttl The RENAME command .enabl lsb c$rena::upcase argbuf call gettwo tst r0 bne 100$ upcase argbuf calls rename , tst r0 bne 90$ tst infomsg beq 100$ wrtall #srcnam wrtall #290$ wrtall #filnam .newline br 100$ 90$: direrr r0 100$: return .save .psect $pdata 290$: .asciz " renamed to " .even .restore .dsabl lsb .sbttl The DELETE command .enabl lsb c$del:: upcase argbuf calls delete , tst r0 bne 90$ tst infomsg beq 100$ wrtall #srcnam wrtall #290$ br 100$ 90$: direrr r0 100$: return .save .psect $pdata 290$: .asciz " deleted" .even .restore .dsabl lsb .sbttl PRINT, COPY commands .enabl lsb c$prin::upcase argbuf strcpy cmdbuf ,argbuf scan #'. ,cmdbuf tst r0 bne 2$ strcat cmdbuf ,#typdef 2$: strcpy argbuf ,#200$ br c.print c$copy::upcase argbuf call gettwo tst r0 bne 100$ upcase argbuf c.print:mov argbuf ,r2 calls namcvt , tstb spare1 bne 19$ calls namcvt , strcat r2 ,#spare1 19$: calls fparse , clr index calls lookup ,<#srcnam,#spare1> .purge #lun.sr calls copy , tst r0 bne 40$ tst infomsg beq 100$ mov r1 ,r0 call L10266 wrtall #210$ dec r1 beq 30$ mov #'s!40 ,r0 call writ1char 30$: wrtall #220$ wrtall #filnam .newline clr r0 br 100$ 40$: direrr r0 100$: return .save .psect $pdata 200$: .asciz "LP:" 210$: .asciz " block" 220$: .asciz " copied to " typdef: .asciz ".LST" .even .restore .dsabl lsb .sbttl Get second argument for a command .enabl lsb CVTARG = C.CRLF ! C.LSPA ! C.SSPA ! C.TSPA gettwo::save mov argbuf ,r2 tstb @r2 beq 100$ dec r2 10$: inc r2 tstb @r2 beq 20$ cmpb @r2 ,#space bne 10$ clrb (r2)+ strcpy cmdbuf ,argbuf strcpy argbuf ,r2 br 30$ 20$: mov argbuf ,r2 strcpy cmdbuf ,r2 calls readcmd , tst r0 bne 100$ calls cvt$$ , tst r0 beq 20$ add r2 ,r0 clrb @r0 30$: clr r0 100$: unsave return .save .psect $pdata 200$: .asciz "To: " .even .restore .dsabl lsb .end